机器人的控制方法及控制装置、机器人设备与流程

文档序号:31691138发布日期:2022-09-30 23:15阅读:162来源:国知局
机器人的控制方法及控制装置、机器人设备与流程

1.本发明涉及机器人控制技术领域,具体而言,涉及一种机器人的控制方法及控制装置、机器人设备。


背景技术:

2.相关技术中,越来越多的机器人应用于到实际生产中,在机器人设计中,需要在确定待到达的目标轨迹点后,基于该目标轨迹点,逆运动计算得到各个关节的关节运动角度,尤其是对于关节较多(例如,6轴机器人)时,机器人的逆运动计算是轨迹规划中必不可少一环。
3.多自由度机械臂的逆运动求解问题是一个典型的高维求解问题,对于一个关节角的求解相当于一个维度上的搜索,当自由度超过3自由度称为多自由度,超过6自由度称为超自由度,此时机械臂具有冗余,能达到更多的姿态。机器人的轨迹规划往往离不开逆运动学求解,在轨迹规划中,往往空间姿态点会提前规划好,这时候主控制器会直接调用逆运动算法对规划好的空间点进行求解每个关节角,但是,当前,机器人的逆运算主要以传统的d-h矩阵进行计算,这种逆运动运输存在多个缺陷,包括:第一点,计算过程繁琐复杂;第二点,不同的机器人逆运动方程需要重新列写;第三点,传统的d-h法只适合标准的机器人,遇到设计不标准的机器人可能无法算出标准解;第四点,很难解算出多自由度机械臂。
4.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本发明实施例提供了一种机器人的控制方法及控制装置、机器人设备,以至少解决相关技术中在求解机器人的关节运动角时,存在计算过程繁琐复杂的技术问题。
6.根据本发明实施例的一个方面,提供了一种机器人的控制方法,包括:获取机器人的关节数量和目标位置点的空间坐标;基于所述目标位置点的空间坐标,构造与所述关节数量对应的齐次矩阵方程;采用预设加强学习蜂群算法求解所述齐次矩阵方程,得到所述机器人各个关节的转动角度;控制各个关节的电机按照所述转动角度运转。
7.可选地,采用预设加强学习蜂群算法求解所述齐次矩阵方程,得到所述机器人各个关节的转动角度的步骤,包括:确定蜜源集合以及与蜜源数量对应的迭代总次数,其中,所述蜜源集合中的每个蜜源表示一组关节的转动角度;采用多种类型的蜂群迭代搜索所述蜜源集合中每个蜜源的合适度,直至迭代搜索次数达到所述迭代总次数,其中,所述合适度用于指示蜜源中各个关节的转动角度与目标位置点的空间坐标的适应度;寻找所有合适度中数值最大的合适度所对应的目标蜜源;基于所述目标蜜源,确定所述机器人各个关节的转动角度。
8.可选地,蜂群的类型包括:雇佣蜂、观察蜂、侦查蜂,所述采用多种类型的蜂群迭代搜索所述蜜源集合中每个蜜源的合适度的步骤,包括:确定所述蜜源集合中各个蜜源的蜜源维度和当前蜜源的合适度;采用所述雇佣蜂搜索下一蜜源的合适度;若所述下一蜜源的
合适度大于所述当前蜜源的合适度,控制所述雇佣蜂遗弃所述当前蜜源,并重新记录所述下一蜜源;将当前所选的蜜源维度增加强化向量;若所述下一蜜源的合适度小于等于所述当前蜜源的合适度,控制雇佣蜂维持所述当前蜜源,并将当前所选的蜜源维度降低强化向量。
9.可选地,在采用所述雇佣蜂搜索下一蜜源的合适度之后,所述控制方法还包括:计算所述机器人各个关节选择当前蜜源的概率值,并采用所述观察蜂基于所述概率值确定各个蜜源的权重值;采用所述观察蜂基于所述权重值更新所有蜜源维度;采用所述观察蜂基于更新后的蜜源维度搜索下一蜜源的合适度;若所述下一蜜源的合适度大于所述当前蜜源的合适度,控制所述观察蜂将所述当前蜜源替换为所述下一蜜源,并将当前所选的蜜源维度增加强化向量;若所述下一蜜源的合适度小于等于所述当前蜜源的合适度,控制所述观察蜂维持所述当前蜜源,并将当前所选的蜜源维度降低强化向量。
10.可选地,所述控制方法还包括:对于每个蜜源,在迭代搜索次数超出所述迭代总次数时,采用所述侦查蜂随机选取下一目标蜜源,并更新所述下一目标蜜源的蜜源维度的强化向量。
11.可选地,在得到所述机器人各个关节的转动角度之后,所述控制方法还包括:基于各个关节的转动角度,分析所述机器人的末端执行器的空间坐标点和法向朝向。
12.可选地,所述机器人的控制方法应用于车辆的轨迹规划环境。
13.根据本发明实施例的另一方面,还提供了一种机器人的控制装置,包括:获取单元,用于获取机器人的关节数量和目标位置点的空间坐标;构造单元,用于基于所述目标位置点的空间坐标,构造与所述关节数量对应的齐次矩阵方程;确定单元,用于采用预设加强学习蜂群算法求解所述齐次矩阵方程,得到所述机器人各个关节的转动角度;控制单元,用于控制各个关节的电机按照所述转动角度运转。
14.可选地,所述确定单元包括:第一确定模块,用于确定蜜源集合以及与蜜源数量对应的迭代总次数,其中,所述蜜源集合中的每个蜜源表示一组关节的转动角度;第一搜索模块,用于采用多种类型的蜂群迭代搜索所述蜜源集合中每个蜜源的合适度,直至迭代搜索次数达到所述迭代总次数,其中,所述合适度用于指示蜜源中各个关节的转动角度与目标位置点的空间坐标的适应度;第一寻找模块,用于寻找所有合适度中数值最大的合适度所对应的目标蜜源;第二确定模块,用于基于所述目标蜜源,确定所述机器人各个关节的转动角度。
15.可选地,蜂群的类型包括:雇佣蜂、观察蜂、侦查蜂,所述第一搜索模块包括:第一确定子模块,用于确定所述蜜源集合中各个蜜源的蜜源维度和当前蜜源的合适度;第一搜索子模块,用于采用所述雇佣蜂搜索下一蜜源的合适度;第一控制子模块,用于在所述下一蜜源的合适度大于所述当前蜜源的合适度时,控制所述雇佣蜂遗弃所述当前蜜源,并重新记录所述下一蜜源;第一增强子模块,用于将当前所选的蜜源维度增加强化向量;第二控制子模块,用于在所述下一蜜源的合适度小于等于所述当前蜜源的合适度时,控制雇佣蜂维持所述当前蜜源,并将当前所选的蜜源维度降低强化向量。
16.可选地,所述控制装置还包括:第一计算子模块,用于在采用所述雇佣蜂搜索下一蜜源的合适度之后,计算所述机器人各个关节选择当前蜜源的概率值,并采用所述观察蜂基于所述概率值确定各个蜜源的权重值;第一更新子模块,用于采用所述观察蜂基于所述
权重值更新所有蜜源维度;第二搜索子模块,用于采用所述观察蜂基于更新后的蜜源维度搜索下一蜜源的合适度;第三控制子模块,用于在所述下一蜜源的合适度大于所述当前蜜源的合适度,控制所述观察蜂将所述当前蜜源替换为所述下一蜜源,并将当前所选的蜜源维度增加强化向量;第四控制子模块,用于在所述下一蜜源的合适度小于等于所述当前蜜源的合适度,控制所述观察蜂维持所述当前蜜源,并将当前所选的蜜源维度降低强化向量。
17.可选地,所述控制装置还包括:选取子模块,用于对于每个蜜源,在迭代搜索次数超出所述迭代总次数时,采用所述侦查蜂随机选取下一目标蜜源,并更新所述下一目标蜜源的蜜源维度的强化向量。
18.可选地,所述机器人的控制装置还包括:分析单元,用于在得到所述机器人各个关节的转动角度之后,基于各个关节的转动角度,分析所述机器人的末端执行器的空间坐标点和法向朝向。
19.可选地,所述机器人的控制方法应用于车辆的轨迹规划环境。
20.根据本发明实施例的另一方面,还提供了一种机器人设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的机器人的控制方法。
21.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项所述的机器人的控制方法。
22.本发明实施例中,采用先获取机器人的关节数量和目标位置点的空间坐标,然后基于目标位置点的空间坐标,构造与关节数量对应的齐次矩阵方程,进而采用预设加强学习蜂群算法求解齐次矩阵方程,得到机器人各个关节的转动角度,最后控制各个关节的电机按照转动角度运转。在该实施例中,可以采用加强学习蜂群算法对规划好的空间位置点逆运动求解出机器人的各个关节转动角度,进而控制机器人的机械臂末端到达目标位置点,实现机器人的轨迹运动控制,适用于高维度的关节角求解,不仅可以减少求解时间,而且计算过程简单,从而解决相关技术中在求解机器人的关节运动角时,存在计算过程繁琐复杂的技术问题。
附图说明
23.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
24.图1是根据本发明实施例的一种可选的机器人的控制方法的流程图;
25.图2是根据本发明实施例的一种蜂群寻找最优解的示意图;
26.图3是根据本发明实施例的一种可选的机器人的控制装置的示意图。
具体实施方式
27.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范
围。
28.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
29.为便于本领域技术人员理解本发明,下面对本发明各实施例中涉及的部分术语或者名词做出解释:
30.齐次矩阵方程:与机器人的关节数量相同的多层矩阵方程。在本技术中,求解的齐次矩阵方程最优解可理解为最优蜜源,即寻找到机器人各关节最优转动角度。
31.加强学习蜂群算法:简称为r-abc,是指在现有人工蜂群算法基础上,进行强化学习,给出强化向量,并沿着强化向量快速寻找最优蜜源的算法。
32.蜜源集合,在本技术中是指寻找的机器人各关节最优转动角度,以机器人关节数量为基准,寻找到与机器人关节数量相同的多个转动角度。
33.本发明实施例适用于多自由度(例如,6自由度、7自由度)机械臂的逆运动求解,实现关节角的高维搜索,在多自由度下,机器人的机械臂存在冗余,此时,通过求解各关节角,使得机器人达到更多的位置点,到达更多的姿态。在实现多自由度逆运动求解时,需要采用加强学习的蜂群算法,以得到一组最优的关节角。下面结合各个实施例来详细说明本发明。
34.实施例一
35.根据本发明实施例,提供了一种机器人的控制的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
36.图1是根据本发明实施例的一种可选的机器人的控制方法的流程图,如图1所示,该方法包括如下步骤:
37.步骤s102,获取机器人的关节数量和目标位置点的空间坐标;
38.步骤s104,基于目标位置点的空间坐标,构造与关节数量对应的齐次矩阵方程;
39.步骤s106,采用预设加强学习蜂群算法求解齐次矩阵方程,得到机器人各个关节的转动角度;
40.步骤s108,控制各个关节的电机按照转动角度运转。
41.通过上述步骤,可以获取机器人的关节数量和目标位置点的空间坐标;基于目标位置点的空间坐标,构造与关节数量对应的齐次矩阵方程;采用预设加强学习蜂群算法求解齐次矩阵方程,得到机器人各个关节的转动角度;控制各个关节的电机按照转动角度运转。在该实施例中,可以采用加强学习蜂群算法对规划好的空间位置点逆运动求解出机器人的各个关节转动角度,进而控制机器人的机械臂末端到达目标位置点,实现机器人的轨迹运动控制,适用于高维度的关节角求解,不仅可以减少求解时间,而且计算过程简单,从而解决相关技术中在求解机器人的关节运动角时,存在计算过程繁琐复杂的技术问题。
42.本发明实施例中,机器人的控制方法可以应用于车辆的轨迹规划环境,包括但不限于:自动导引车轨迹规划、无人作业车轨迹规划、自主导航车辆agv轨迹规划。
43.采用加强学习的蜂群算法(简称为r-abc),可以实现机器人的逆运动学求解,即可以在得到机器人下一次待达到的空间位置点的坐标后,逆运动求解出机器人各个关节的运动角度,驱动机器人各个关节的关节电机转动对应角度,适用于不标准的机器人,且不同机器人的求解也可以使用同一个设计框架。
44.下面结合上述各实施步骤来详细说明本发明。
45.步骤s102,获取机器人的关节数量和目标位置点的空间坐标。
46.在本发明实施例,可以预先确定机器人的初始空间点和待到达的终止空间点,并基于该初始空间点和终止空间点规划处一条机器人轨迹路线,在该条机器人轨迹路线上包括位置点,机器人每到达一个位置点,可以确定下一个目标位置点的空间坐标,目标位置点是通过机器人轨迹路线确定,从而逆运动求解出各个关节的运动角度。该目标位置点可以理解为机器人待到达的空间预定位置,通过输入当前机械臂执行器末端的空间点位置以及待到达的目标位置点的空间坐标,得到各个关节的转动角度。
47.机器人的关节数量是在机器人出厂时确定的,例如,包括6个关节。
48.通过确定机器人的当前位置和目标位置点,构造逆运动求解目标方程,例如,机械臂末端执行器的向量可以用距底端的距离表示机械臂的末端执行器,而所需的位置矢量表示任务点。如果当前位置向量与目标位置矢量之间的差为零,则末端位置为任务点即为正确位置。这个逆运动求解目标方程f为:其中,该公式中ci代表当前位置,d代表目标位置点,算法的目的在于使f尽可能地小。
49.步骤s104,基于目标位置点的空间坐标,构造与关节数量对应的齐次矩阵方程。
50.本实施例中,齐次矩阵方程是指:与机器人的关节数量相同的矩阵方程。
51.在得到机器人待到达目标位置点的空间坐标后,可以构造与关节数量对应的齐次矩阵方程,以六轴机械臂为例,利用机器人正运动方程与目标位置点的空间坐标构造齐次矩阵方程,t(x1,x2,x3,x4,x5,x6)=mat,其中x1至x6为六个关节需要的空间角度,方程左边为一个关于机械臂结构的齐次矩阵方程,是关于6个关节角的未知数,该方程构造是基于机械臂运用正运动学构造,右边mat为给定的空间坐标构造成的矩阵,通过预设加强学习蜂群算法一次性迭代算出所有关节的转动角度,再由损失函数评估转动角度的合理性,等到迭代出的一组角度解低于预设误差,可以将所有关节角度发送至对应的关节电机。
52.本发明实施例中,在确定齐次矩阵方程时,还需要限定各个关节的转动角度的角度范围,然后通过预设加强学习蜂群算法求解齐次矩阵方程,得到机器人各个关节的转动角度。例如,对于六轴机械臂,需要给定六个关节角的运动范围,给定三种蜂数量,随机产生一系列关节解,并且分配各种蜂群给这些解,估计解的合适度,找到最好的解,当终止条件不满足继续执行蜜蜂寻解环节。
53.在构建好齐次矩阵方程后,通过预设加强学习蜂群算法求解该齐次矩阵方程,得到机器人各个关节的转动角度。
54.步骤s106,采用预设加强学习蜂群算法求解齐次矩阵方程,得到机器人各个关节的转动角度。
55.可选的,采用预设加强学习蜂群算法求解齐次矩阵方程,得到机器人各个关节的
转动角度的步骤,包括:确定蜜源集合以及与蜜源数量对应的迭代总次数,其中,蜜源集合中的每个蜜源表示一组关节的转动角度;采用多种类型的蜂群迭代搜索蜜源集合中每个蜜源的合适度,直至迭代搜索次数达到迭代总次数,其中,合适度用于指示蜜源中各个关节的转动角度与目标位置点的空间坐标的适应度;寻找所有合适度中数值最大的合适度所对应的目标蜜源;基于目标蜜源,确定机器人各个关节的转动角度。
56.每个蜜源代表一组关节角度解,本发明实施例求取的是最优的蜜源。在求取最优蜜源之前,需要初始化加强学习蜂群算法,其初始化方式包括:
57.在第t次迭代时,采用第一公式x
t
表示蜜源集合,表示在第t次迭代第i个蜜源,其中i∈{1,2,3,...,sn},其中,第一公式为:
[0058][0059]
对于d维问题,通过第二公式表示每个蜜源该蜜源有d个优化参数,表示中的第j个优化参数,其中j∈{1,2,3,...,d},其中,第二公式为:
[0060][0061]
通过第三公式表示合适度,表示的合适度,本发明实施例寻找各个合适的优化参数使得合适度值最小,合适度定义在公式(3),其中是蜜源的目标值:
[0062][0063]
相较于现有的人工蜂群abc算法,本发明实施例中引入了强化学习去进行更新解,简称为r-abc。本发明实施例中引入强化向量,可以通过第四公式定义该强化向量,强化向量被定义为:
[0064][0065]
其中,强化值被用作x
t
中所有蜜源的第j个优化参数的增强,换句话说,优化参数共享同一个强化值
[0066]
在初始化过程中间,蜜源被第五公式(5)随机产生,然后雇佣蜂与这些蜜源所关联,这个初始的强化值在第六公式(6)中产生,其中,第五公式为:
[0067]
而第六公式为:
[0068][0069]
其中,第i个优化参数的最大值,第i个优化参数的最小值。
[0070]
除了初始化部份外,本发明实施例中,可分为雇佣蜂阶段,观察蜂阶段,侦察蜂阶段,这三个阶段会一直重复,直到达到迭代搜索次数或者达到最大数量的合适度评估。雇佣蜂主要负责采蜜,与蜜源一一对应,负责搜索蜜源周围邻域内的其他蜜源;观察蜂刚开始什么都不干,躺在蜂巢里面等雇佣蜂回到蜂巢后,根据其提供的信息,使用贪婪策略选择去哪一个蜜源采蜜(当然,去了蜜源之后,也会在其领域周围随机搜索新蜜源);当某个蜜源在限定的次数内都没有搜索到其周围更好的蜜源时,需要抛弃该蜜源,雇佣蜂成为侦察蜂,随机
搜索新的蜜源。下面分别对这三种蜂群的加强学习搜索方式进行详细说明。
[0071]
可选的,蜂群的类型包括:雇佣蜂、观察蜂、侦查蜂,采用多种类型的蜂群迭代搜索蜜源集合中每个蜜源的合适度的步骤,包括:确定蜜源集合中各个蜜源的蜜源维度和当前蜜源的合适度;采用雇佣蜂搜索下一蜜源的合适度;若下一蜜源的合适度大于当前蜜源的合适度,控制雇佣蜂遗弃当前蜜源,并重新记录下一蜜源;将当前所选的蜜源维度增加强化向量;若下一蜜源的合适度小于等于当前蜜源的合适度,控制雇佣蜂维持当前蜜源,并将当前所选的蜜源维度降低强化向量。
[0072]
在雇佣蜂阶段,当前蜜源的下一个(新)蜜源被雇佣蜂决定,表达在第七公式(7):
[0073][0074]
其中,是新蜜源的第j个优化参数。整数j随机从[1,d]中选择。蜜源k是随机从整数区间[1,sn]中选择,其中k不能和i相等,导致与相等。当这个新的蜜源的合适度值大于当前蜜源的和适度时,雇佣蜂会遗忘当前的蜜源去记录新的蜜源。
[0075]
在下一次迭代过程中,强化向量用第八公式(8)和第九公式(9)进行更新。如果新的蜜源有更好的合适度值,雇佣蜂不仅会将新的蜜源替代当前的蜜源,还根据第八公式(8)给被选择的维度一个更大的强化值作为奖励,其他维度一个更小的强化值。相反的,如果新的蜜源的合适度值比当前蜜源的合适度低,新的蜜源将会被忽略,并且本发明实施例中,还会根据第九公式(9)给被选择的维度一个更小的强化值作为惩罚,其他维度一个更大的强化值。
[0076][0077][0078]
其中,j和d属于{1,2,3,...,d}其中d是雇佣蜂选择的一个随机维度,α和β分别代表奖励等级与惩罚等级。当雇佣蜂每次找到一个候选蜜源,强化向量就会更新一次。因此,在每次迭代中这个强化向量会更新雇佣蜂个数的次数。每次更新,强化向量的值和为1,其中α和β定义在第十公式(10):
[0079][0080]
在本发明实施例中,采用雇佣蜂搜索下一蜜源的合适度之后,还包括:计算机器人各个关节选择当前蜜源的概率值,并采用观察蜂基于概率值确定各个蜜源的权重值;采用观察蜂基于权重值更新所有蜜源维度;采用观察蜂基于更新后的蜜源维度搜索下一蜜源的合适度;若下一蜜源的合适度大于当前蜜源的合适度,控制观察蜂将当前蜜源替换为下一蜜源,并将当前所选的蜜源维度增加强化向量;若下一蜜源的合适度小于等于当前蜜源的合适度,控制观察蜂维持当前蜜源,并将当前所选的蜜源维度降低强化向量。
[0081]
在观察蜂阶段,每个侦察蜂选择一个候补蜜源,然后根据上述第三公式(3)中的合适度值相关的概率,其中,候补蜜源由侦察蜂提供。与现有abc算法相比较,这个算法中的观
察蜂用第十一公式(11)发现新的蜜源,如果新的蜜源的更优,则选择新的蜜源。第十一公式(11)为:
[0082][0083]
其中,是新蜜源的优化参数在维度j上在第t次迭代中,其中,j∈{1,2,3,...,d}。k∈{1,2,3,...,d}是一个随机数,指示了所有j的随机维数。ω∈[-1,1]是一个随机实数。表示是迄今为止在随机维度k上找到的全局最佳蜜源时的优化参数。第十一公式(11)中的新搜索方程式旨在增强利用。观察蜂会利用当前蜜源通过不同的权重值来更新所有维度值,而不是像原始abc算法一样只更新某一维的数值。但是当所有维度中增强向量中的值是相似的,观察蜂会用相似的权重去更新所有维度,在这种情况下,观察蜂无法获得一个更好的蜜源。
[0084]
可选的,蜂群的类型还包括:侦查蜂,在侦查蜂阶段,该控制方法还包括:对于每个蜜源,在迭代搜索次数超出迭代总次数时,采用侦查蜂随机选取下一目标蜜源,并更新下一目标蜜源的蜜源维度的强化向量。
[0085]
在侦察蜂阶段,刚开始并没有侦查蜂的存在,如果找不到任何更好的新的蜜源且尝试次数超过了限制(即迭代搜索次数超出迭代总次数),则该蜜源将被抛弃,同时对应的雇佣蜂将变成侦查蜂,侦查蜂会随机发现一个蜜源,主要用初始化中第五公式(5)配备。
[0086]
通过上述雇佣蜂、观察蜂和侦查蜂,寻找最大的蜜源,即多关节角度的全局最优解,引用强化学习来提高解的质量,当雇佣蜂向某个维度移动并找到候选食物来源时,它不仅与观察蜂分享其食物来源的质量,而且还与其分享其搜索维度,然后雇佣蜂用正或负强化值更新强化向量,如果雇佣蜂找到更好的食物来源,则可以将一个正的强化值赋予这个维度以作奖励,相反的,如果雇佣蜂找不到更好的食物来源,则将一个负的强化值赋予这个维度以作惩罚,从而得到最优的蜜源解。
[0087]
本发明实施例中,可以通过加强学习蜂群算法求解出一组最优的空间关节转动角度,然后可向正运动方程提交可能的空间关节解,再通过齐次变换矩阵获取机械臂末端执行器的x,y和z坐标,再由损失函数评估转动角度的合理性,等到迭代出的一组角度解低于预设误差,可以将所有关节角度发送至对应的关节电机。
[0088]
图2是根据本发明实施例的一种蜂群寻找最优解的示意图,如图2所示,在创建随机蜜源,并给定初始范围后,可以判断其是否满足条件,若是不满足条件,则进入雇佣蜂阶段,在雇佣蜂阶段,需要先更新雇佣蜂位置,然后判断是否有新的更好的合适值,若有,则使用新的蜜源替换,并对于所选蜜源维度赋予正的增强值,然后重置测试;若没有,则维持当前蜜源,并对于所选蜜源维度赋予负的增强值,累加测试次数;然后进入观察蜂阶段,在观察蜂阶段,可以更新观察蜂位置,然后判断是否有新的更好的合适值,若有,则使用新的蜜源替换,然后重置测试;若没有,则维持当前蜜源,累加测试次数;然后进入侦查蜂阶段,在侦查蜂阶段,可以判断测试次数是否与预设限制次数,若是,则更新侦查蜂位置,并重置测试,若否,则重新回到初始判断其是否满足条件的位置。在判断其是否满足条件时,若是满足条件,则结束寻找流程。
[0089]
步骤s108,控制各个关节的电机按照转动角度运转。
[0090]
可选的,在得到机器人各个关节的转动角度之后,控制方法还包括:基于各个关节
的转动角度,分析机器人的末端执行器的空间坐标点和法向朝向。
[0091]
通过分析机器人的末端执行器的空间坐标点和法向朝向,控制机器人的机械臂末端运行至目标位置点,不断重复这个过程,可以实现机器人轨迹规划运动。
[0092]
通过上述实施例,可以在轨迹规划过程中,基于已知轨迹路线上的各个位置点,可以逆运动求解出各个关节的转动角度,然后可通过控制器将各个关节的转动角度发送至关节电机,以控制机械臂达到各个位置点,实现轨迹规划运动。同时,可以减少机器人轨迹运行过程转动角度过大,减少关节部件的损伤,使得机器人在运动过程中能够以较为平滑的角度到达对应的轨迹点,提高机器人的工作效率。
[0093]
下面结合另一种可选的实施例来说明本发明。
[0094]
实施例二
[0095]
下述实施例中提供机器人的控制装置,该装置中包含的各个实施单元对应于上述实施例一中的各个实施步骤。
[0096]
图3是根据本发明实施例的一种可选的机器人的控制装置的示意图,如图3所示,该控制装置可以包括:获取单元31,构造单元33,确定单元35,控制单元37,其中,
[0097]
获取单元31,用于获取机器人的关节数量和目标位置点的空间坐标;
[0098]
构造单元33,用于基于目标位置点的空间坐标,构造与关节数量对应的齐次矩阵方程;
[0099]
确定单元35,用于采用预设加强学习蜂群算法求解齐次矩阵方程,得到机器人各个关节的转动角度;
[0100]
控制单元37,用于控制各个关节的电机按照转动角度运转。
[0101]
上述机器人的控制装置,可以通过获取单元31获取机器人的关节数量和目标位置点的空间坐标,通过构造单元33基于目标位置点的空间坐标,构造与关节数量对应的齐次矩阵方程,通过确定单元35采用预设加强学习蜂群算法求解齐次矩阵方程,得到机器人各个关节的转动角度,通过控制单元37控制各个关节的电机按照转动角度运转,以控制机器人到达目标位置点。在该实施例中,可以采用加强学习蜂群算法对规划好的空间位置点逆运动求解出机器人的各个关节转动角度,进而控制机器人的机械臂末端到达目标位置点,实现机器人的轨迹运动控制,适用于高维度的关节角求解,不仅可以减少求解时间,而且计算过程简单,从而解决相关技术中在求解机器人的关节运动角时,存在计算过程繁琐复杂的技术问题。
[0102]
可选的,确定单元包括:第一确定模块,用于确定蜜源集合以及与蜜源数量对应的迭代总次数,其中,蜜源集合中的每个蜜源表示一组关节的转动角度;第一搜索模块,用于采用多种类型的蜂群迭代搜索蜜源集合中每个蜜源的合适度,直至迭代搜索次数达到迭代总次数,其中,合适度用于指示蜜源中各个关节的转动角度与目标位置点的空间坐标的适应度;第一寻找模块,用于寻找所有合适度中数值最大的合适度所对应的目标蜜源;第二确定模块,用于基于目标蜜源,确定机器人各个关节的转动角度。
[0103]
可选的,蜂群的类型包括:雇佣蜂、观察蜂、侦查蜂,第一搜索模块包括:第一确定子模块,用于确定蜜源集合中各个蜜源的蜜源维度和当前蜜源的合适度;第一搜索子模块,用于采用雇佣蜂搜索下一蜜源的合适度;第一控制子模块,用于在下一蜜源的合适度大于当前蜜源的合适度时,控制雇佣蜂遗弃当前蜜源,并重新记录下一蜜源;第一增强子模块,
用于将当前所选的蜜源维度增加强化向量;第二控制子模块,用于在下一蜜源的合适度小于等于当前蜜源的合适度时,控制雇佣蜂维持当前蜜源,并将当前所选的蜜源维度降低强化向量。
[0104]
可选的,控制装置还包括:第一计算子模块,用于在采用雇佣蜂搜索下一蜜源的合适度之后,计算机器人各个关节选择当前蜜源的概率值,并采用观察蜂基于概率值确定各个蜜源的权重值;第一更新子模块,用于采用观察蜂基于权重值更新所有蜜源维度;第二搜索子模块,用于采用观察蜂基于更新后的蜜源维度搜索下一蜜源的合适度;第三控制子模块,用于在下一蜜源的合适度大于当前蜜源的合适度,控制观察蜂将当前蜜源替换为下一蜜源,并将当前所选的蜜源维度增加强化向量;第四控制子模块,用于在下一蜜源的合适度小于等于当前蜜源的合适度,控制观察蜂维持当前蜜源,并将当前所选的蜜源维度降低强化向量。
[0105]
可选的,控制装置还包括:选取子模块,用于对于每个蜜源,在迭代搜索次数超出迭代总次数时,采用侦查蜂随机选取下一目标蜜源,并更新下一目标蜜源的蜜源维度的强化向量。
[0106]
可选的,机器人的控制装置还包括:分析单元,用于在得到机器人各个关节的转动角度之后,基于各个关节的转动角度,分析机器人的末端执行器的空间坐标点和法向朝向。
[0107]
可选的,机器人的控制方法应用于车辆的轨迹规划环境。
[0108]
根据本发明实施例的另一方面,还提供了一种机器人设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的机器人的控制方法。
[0109]
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项的机器人的控制方法。
[0110]
上述的机器人的控制装置还可以包括处理器和存储器,上述获取单元31,构造单元33,确定单元35,控制单元37等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0111]
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来控制各个关节的电机按照转动角度运转,以控制机器人到达目标位置点。
[0112]
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
[0113]
本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取机器人的关节数量和目标位置点的空间坐标;基于目标位置点的空间坐标,构造与关节数量对应的齐次矩阵方程;采用预设加强学习蜂群算法求解齐次矩阵方程,得到机器人各个关节的转动角度;控制各个关节的电机按照转动角度运转。
[0114]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0115]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有
详述的部分,可以参见其他实施例的相关描述。
[0116]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0117]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0118]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0119]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0120]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1