控制机器人操作的方法和装置的利记博彩app

文档序号:2335616阅读:211来源:国知局
专利名称:控制机器人操作的方法和装置的利记博彩app
技术领域
本发明涉及机器人领域,特别涉及一种控制机器人操作的方法和装置。

背景技术
自由度少于六的机器人称为少自由度机器人。少自由度机器人不能进行完全的空间位置定位和姿态调整,但是在某些特定的工作情况下,诸如医疗穿刺、弧焊、点焊、喷涂、搬运、涂胶作业等,少自由度已经能够满足任务要求,并且相对于六自由度甚至具有冗余自由度的机器人来说,少自由度工业机器人在构型设计和控制方面更具优势。因此,针对具体的应用环境,可综合出不同的机械臂构型。
在对机器人进行运动规划和轨迹控制的过程中,逆运动学求解是基础。对于逆运动学求解而言,理想的情况是能够得到封闭解。封闭解是指具有解析形式的解,或指对于不高于四次的多项式不用迭代便可完全求解。由于用四阶(或低于四阶)的代数方程求解是相当简单的,因此,自由度小于等于四的机器人无论构型多么复杂,总可以得到机器人的封闭解。
但是对于五自由度或者更高自由度的机器人来说,则需要满足一定的构型要求之后,它的封闭解才会存在。如对于自由度为六且运动副均为转动副的机械臂来说,存在封闭解的充分条件是相邻的三个关节轴线相交于一点或者相互平行。目前,针对机器人的逆运动学求解,有一种通用的封闭解算法,但是这种算法只能对有解析解的机器人结构进行求解,但是对没有解析解的机器人结构则无法进行求解。另外,还有一种数值算法,是根据逆运动学方程在关节拓扑空间进行搜索,直到找到解为止,该算法耗费时间长,效率较低,从而影响了机器人的运动规划和轨迹控制。


发明内容
为了解决现有技术存在的问题,本发明实施例提供了一种控制机器人操作的方法和装置。所述技术方案如下 一种控制机器人操作的方法,所述方法包括 步骤1将机器人的运动学方程作为目标矩阵,并根据机器人的任务需求设置期望矩阵,在机器人的多个关节变量中指定一个关节变量,从关节拓扑空间中,取出一个值作为指定关节变量的当前值,开始迭代; 步骤2按照所述期望矩阵与目标矩阵相等的关系,根据所述指定关节变量的当前值计算所述多个关节变量中的其它关节变量,将当前求出的所有关节变量作为逆运动学的一组解; 步骤3根据预设的步长和关节拓扑空间,判断迭代是否结束,如果是,则用得到的逆运动学的解控制机器人的操作,否则,按照所述步长再次从关节拓扑空间中取值作为所述指定关节变量的当前值,执行步骤2。
将当前求出的所有关节变量作为逆运动学的一组解,具体包括 当所述其它关节变量具有三角函数值时,判断该三角函数值是否在关节变量的三角函数拓扑空间中,如果是,则将当前求出的所有关节变量作为逆运动学的一组解,然后执行步骤3;否则,直接执行步骤3。
用得到的逆运动学的解控制机器人的操作,具体包括 根据预设的精度要求和工作空间要求,对得到的逆运动学的多组解进行过滤; 用过滤后得到的逆运动学的解控制机器人的操作。
所述机器人为五自由度机器人,在机器人的多个关节变量中指定一个关节变量,具体包括 令所述机器人的第四关节的旋转角的正弦值,与所述机器人的第五关节的旋转角的正弦值均不为零,将所述第四关节的旋转角设置为指定的关节变量,或者将所述第五关节的旋转角设置为指定的关节变量。
所述机器人为五自由度机器人,在机器人的多个关节变量中指定一个关节变量,具体包括 令所述机器人的第四关节的旋转角的正弦值为零,将所述机器人的第五关节的旋转角设置为指定的关节变量; 或者,令所述机器人的第五关节的旋转角的正弦值为零,将所述机器人的第四关节的旋转角设置为指定的关节变量。
一种控制机器人操作的装置,所述装置包括 初始化模块,用于将机器人的运动学方程作为目标矩阵,并根据机器人的任务需求设置期望矩阵,在机器人的多个关节变量中指定一个关节变量,从关节拓扑空间中,取出一个值作为指定关节变量的当前值,开始迭代; 迭代模块,用于按照所述期望矩阵与目标矩阵相等的关系,根据所述指定关节变量的当前值计算所述多个关节变量中的其它关节变量,将当前求出的所有关节变量作为逆运动学的一组解,根据预设的步长和关节拓扑空间,判断迭代是否结束,如果是,则用得到的逆运动学的解控制机器人的操作,否则,按照所述步长再次从关节拓扑空间中取值作为所述指定关节变量的当前值,继续迭代。
所述迭代模块将当前求出的所有关节变量作为逆运动学的一组解,具体包括 当所述其它关节变量具有三角函数值时,判断该三角函数值是否在关节变量的三角函数拓扑空间中,如果是,则将当前求出的所有关节变量作为逆运动学的一组解,然后执行判断迭代是否结束的步骤;否则,直接执行判断迭代是否结束的步骤。
所述迭代模块用得到的逆运动学的解控制机器人的操作,具体包括 根据预设的精度要求和工作空间要求,对得到的逆运动学的多组解进行过滤; 用过滤后得到的逆运动学的解控制机器人的操作。
所述机器人为五自由度机器人,所述初始化模块在机器人的多个关节变量中指定一个关节变量,具体包括 令所述机器人的第四关节的旋转角的正弦值,与所述机器人的第五关节的旋转角的正弦值均不为零,将所述第四关节的旋转角设置为指定的关节变量,或者将所述第五关节的旋转角设置为指定的关节变量。
所述机器人为五自由度机器人,所述初始化模块在机器人的多个关节变量中指定一个关节变量,具体包括 令所述机器人的第四关节的旋转角的正弦值为零,将所述机器人的第五关节的旋转角设置为指定的关节变量; 或者,令所述机器人的第五关节的旋转角的正弦值为零,将所述机器人的第四关节的旋转角设置为指定的关节变量。
本发明实施例提供的上述方法和装置,采用解析求解与数值求解相结合的方式,求出机器人逆运动学的解,根据求解结果控制机器人的操作,从而使得机器人末端的位姿符合要求,其迭代方向明确,提高了逆运动学求解的速度和控制机器人操作的速度,减少了耗费的时间,提高了效率,可以适用于任意自由度的机器人。而且,克服了现有技术中不能对没有解析解的机器人结构求逆运动学解的缺陷,以及纯数值算法搜索范围大、耗费时间长、效率低下的缺陷。另外,本发明实施例提供的技术方案既适用于有解析解的机器人结构,也适用于没有解析解的机器人结构,具有较好的通用性。



图1是本发明实施例提供的控制机器人操作的方法流程图; 图2是本发明实施例提供的五自由度机械臂结构示意图; 图3是图2所示五自由度机械臂的连杆坐标示意图; 图4是本发明实施例提供的控制五自由度机器人操作的方法流程图; 图5是本发明实施例提供的控制机器人操作的装置结构图。

具体实施例方式 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
参见图1,本发明实施例提供了一种控制机器人操作的方法,包括 步骤101将机器人的运动学方程作为目标矩阵,并根据机器人的自由度设置期望矩阵,在机器人的多个关节变量中指定一个关节变量,从关节拓扑空间中,取出一个值作为指定关节变量的当前值,开始迭代; 步骤102按照期望矩阵与目标矩阵相等的关系,根据指定关节变量的当前值计算多个关节变量中的其它关节变量,将当前求出的所有关节变量作为逆运动学的一组解; 步骤103根据预设的步长和关节拓扑空间,判断迭代是否结束,如果是,则执行步骤104,否则,执行步骤105; 步骤104用得到的逆运动学的解控制机器人的操作,流程结束。
步骤105按照步长再次从关节拓扑空间中取值作为指定关节变量的当前值,执行步骤102。
其中,将当前求出的所有关节变量作为逆运动学的一组解,可以具体包括 当其它关节变量具有三角函数值时,判断该三角函数值是否在关节变量的三角函数拓扑空间中,如果是,则将当前求出的所有关节变量作为逆运动学的一组解,然后执行步骤103;否则,直接执行步骤103。
本发明实施例提供的上述方法可以应用于任意自由度的机器人,如四自由度机器人、五自由度机器人、六自由度机器人等等。优选地,更适合于五自由度机器人。下面以五自由度机器人为例,具体说明。当对其它自由度的机器人应用上述方法时,其工作原理是相同的,区别仅在于不同自由度的机器人的正运动学方程是不同的,计算过程是类似的,都是根据期望矩阵与目标矩阵相等的关系,采用数值求解与解析求解相结合的方式进行计算,此处不赘述。
参见图2,为本发明实施例提供的五自由度机械臂示意图。该机械臂的连杆坐标如图3所示。该机械臂的D-H参数取值如表1所示。
表1 其中,θ为杆件的旋转角,d为杆件的距离,l为杆件的长度,α为杆件的扭转角。表中的第6个关节为机械臂的末端,在本实施例的逆运动学求解的过程中是已知的,即根据该末端已知的位姿信息来进行逆运动学求解,得到上述五个关节变量d1、θ2、θ3、θ4和θ5。除该五个关节变量外,表中的其它参数都是已知的。参见图4,根据表1中的参数对五自由度机器人进行逆运动学求解以及控制机器人操作的过程具体如下 步骤201根据表1中的参数取值,列出该五自由度机械臂的正运动学方程如下 将上述正运动学方程作为目标矩阵,其中,0T6表示机械臂末端的位姿信息,其它参数分别为各个角度的正弦或余弦函数 c4=cosθ4; c5=cosθ5; s4=sinθ4; s5=sinθ5; s12=sin(θ1+θ2); c12=cos(θ1+θ2); c123=cos(θ1+θ2+θ3); s123=sin(θ1+θ2+θ3)。
步骤202获取机器人末端的位姿信息,包括位置和姿态。根据五自由度机器人的任务需求,即末端的期望位姿,列出机器人末端的期望矩阵,表示如下 其中,机器人的末端位姿根据任务需求,可以预先获知,如让机械臂拿一个杯子,则机械臂的末端位姿即机械臂拿杯子时对应的位置和姿态。
对于五自由度机器人,根据末端的位姿可以获知上述期望矩阵中的第三列和第四列信息,因此,根据该第三列和第四列信息、以及期望矩阵与目标矩阵相等的关系进行求解。
步骤203由期望矩阵和目标矩阵第三行第三列相等的关系可知 s4s5=az(1) 为了计算方便,本实施例考虑两种情况即s4s5不为零的情况,以及s4s5为零的情况,对于第一种情况,执行步骤204;对于第二种情况,执行步骤211。
步骤204s4s5不为零的情况有多种,如s4s5≥10-5,本实施例不做具体限定,此时,可以将机器人第四关节的旋转角θ4设置为指定的关节变量,即s4为指定的变量,或者将第五关节的旋转角θ5设置为指定的关节变量,即s5为指定的变量,本实施例具体地以s5为指定的变量进行说明,如果以s4为指定的变量,其计算过程相同,此处不赘述。
根据关节拓扑空间,令s5在预设的变量范围内进行取值,根据正弦函数的取值范围可以将s5的变量范围设置为〔-1,1〕区间,先从该区间内任取一个值作为s5的当前值,开始迭代。
步骤205由s5的当前值可以直接得出第五个关节的旋转角 θ5=±arcsin(s5)(2) 由公式(1)可以得到 根据s5的当前值以及已知参数az,可以求出第四个关节的旋转角 本实施例中,为了提高逆运动学求解的准确性,进一步地,还可以在关节变量具有三角函数值时,判断该三角函数值是否在关节变量的三角函数拓扑空间中,如果是,则具有合法性,将对应的关节变量作为求解的结果,否则,不具有合法性,则丢弃当前求出的关节变量。
本步骤中,可以先判断机器人的第四关节的正弦值s4是否在〔-1,1〕区间,如果是,则将对应的θ4作为第四关节的旋转角结果,否则,丢弃当前求出的θ4值,结束当前迭代的过程,继续下一次迭代。
步骤206本步骤计算第二关节和第三关节的旋转角,具体如下 根据期望矩阵与目标矩阵的第1行第3列相等,以及第2行第3列相等,可以列出 c123c4s5+s123c5=ax s123c4s5-c123c5=ay(5) 由表1可知θ1=0,因此, c123=cos(θ1+θ2+θ3)=cos(θ2+θ3) s123=sin(θ1+θ2+θ3)=sin(θ2+θ3)(6) 令c23=cos(θ2+θ3),s23=sin(θ2+θ3),则公式(6)可以表示如下 c123=c23 s123=s23(7) 将公式(7)代入公式(5),可以得到 c23c4s5+s23c5=ax s23c4s5-c23c5=ay(8) 将上述两个式子合并后,可以得到 axc23+ays23=c4s5(9) 用上述式子除以

并令其中,ε1为中间变量,其值根据ax和ay可以求出,则可以得到 则可以得到 由期望矩阵与目标矩阵的第2行第4列相等可知 (s123c4s5-c123c5)d6+(s123c4c5+c123s5)l5-s123s4d5-c123d4+s12l2=py 并且,θq=0,因此 其中,s23和c23的值由公式(11)可知,而其它参数均为已知的值,因此,可以计算出第二关节的旋转角 结合公式(10)可以得到第三关节的旋转角 本步骤中,与步骤205中合法性检验的过程类似,也可以先判断机器人的第二关节的正弦值s2是否在〔-1,1〕区间,如果是,则将对应的θ2作为第二关节的旋转角结果,否则,丢弃当前求出的θ2值,结束当前迭代的过程,继续下一次迭代。
步骤207根据期望矩阵与目标矩阵的第3行第4列相等的关系,列出 s4s5d6+s4c5l5+c4d5+d3+d1=pz(13) 因此,可以计算出第一关节杆件的距离 d1=pz-(s4s5d6+s4c5l5+c4d5+d3)(14) 步骤208将上述计算得到的五个关节变量d1、θ2、θ3、θ4和θ5,作为逆运动学的一组解,还可以存储该组解,然后根据预设的步长和关节拓扑空间,判断迭代是否结束,如果结束,则执行步骤209,否则,执行步骤210。
其中,预设的步长可以根据需要设置和更改,如预设步长为1°、2°等等,判断迭代是否结束可以具体如下根据关节拓扑空间和预设步长计算出迭代的总次数,从而判断当前迭代的次数是否达到该计算出的总次数,如果达到,则迭代结束,否则,未结束,继续迭代。根据指定变量第一次的取值,可以将预设的步长取递增方式或递减方式变化。
例如,关节拓扑空间为〔-1,+1〕,对应第五关节的旋转角为〔0°,360°〕,预设步长为1°,则迭代总次数为360次。如果第一次取值为0°,则按步长递增方式取值,如果第一次取值为360°,则按步长递减方式取值。
步骤209用得到的逆运动学的解控制机器人的操作,流程结束。
本实施例中涉及的机器人操作主要是指让机器人完成一个动作,如让机器人拿一本书等等。通过计算出的机器人各个关节的关节变量,可以控制机器人各个关节的动作,如第二个关节转动30°,第三个关节转动50°等等,从而可以完成机器人的操作。
进一步地,为了提高机器人控制的精度和效率,在控制机器人操作之前,还可以根据预设的精度要求和工作空间要求,对得到的逆运动学的多组解进行过滤,过滤出符合要求的逆运动学的解,然后用过滤后得到的逆运动学的解来控制机器人的操作。其中,过滤后的逆运动学的解可以为一组,也可以为多组。精度要求和空间要求举例如下要求机器人的某个关节的转角不得超过〔-30°,30°〕,第一关节的连杆的距离不得超过10cm等等。
步骤210按照预设的步长再次从〔-1,1〕区间取一个值作为s5的当前值,继续迭代,执行步骤205。
步骤211对于s4s5为零的情况,在本实施例中,也可以包括一些近似为零的情况,如s4s5<10-5等等,本实施例不做具体限定,重点描述s4和s5其中至少有一个为零的情况。其中,令机器人的第四关节的旋转角θ4的正弦值为零,即s4=0,则将机器人的第五关节的旋转角θ5设置为指定的关节变量,即s5为指定的变量;或者令机器人的第五关节的旋转角θ5的正弦值为零,即s5=0,则将机器人的第四关节的旋转角θ4设置为指定的关节变量,即s4为指定的变量,本实施例具体地以s4为指定的变量进行说明,如果以s5为指定的变量,其计算过程相同,此处不赘述。
由于s5=0,可知c5=±1,根据关节拓扑空间,令s4在预设的变量范围内进行取值,根据正弦函数的取值范围可以将s4的变量范围设置为〔-1,1〕区间,先从该区间内任取一值作为s4的当前值,开始迭代。
步骤212本步骤计算机器人的第四关节、第五关节、第二关节和第三关节的旋转角,具体如下由s4的当前值可以直接得出第四关节的旋转角 θ4=±arcsin(s4)(15) 根据s5=0,可以得出第五关节的旋转角 θ5=±arcsin(0)(16) 按照与步骤206中相同的方法获得公式(8),将上述关系s5=0、以及c5=±1代入公式(8),可以得到 将上述两个式子相除后可以得到 根据期望矩阵和目标矩阵的第1行第4列相等,以及第2行第4列相等,可以列出 (c123c4s5+s123c5)d6+(c123c4c5-s123s5)l5-c123s4d5+s123d4+c12l2=px (s123c4s5-c123c5)d6+(s123c4c5+c123s5)l5-s123s4d5-c123d4+s12l2=py 由于θ1=0、s5=0、且c5=±1,可以代入上式,同时将公式(17)也代入上式,则上式可以转换为如下表达式 从而,可以求出机器人的第二关节的旋转角 本步骤中,与步骤205中合法性检验的过程类似,也可以先判断机器人的第二关节的正弦值s2和余弦值c2是否合法,具体地,可以判断s2和c2是否均在〔-1,1〕区间内,并且判断s22+c22的值是否等于1,如果这些条件均满足,则认为具有合法性,将对应的θ2作为第二关节的旋转角结果,否则,丢弃当前求出的θ2值,结束当前迭代的过程,继续下一次迭代。
结合公式(18)和(20)可以得出机器人的第三关节的旋转角 步骤213根据期望矩阵与目标矩阵第3行第4列相等的关系,列出 s4s5d6+s4c5l5+c4d5+d3+d1=pz 由于s5=0,其它参数均已知,因此,可以计算出机器人的第一关节的连杆的距离 d1=pz-s4c5l5-c4d5-d3(22) 步骤214将上述计算得到的五个关节变量d1、θ2、θ3、θ4和θ5,作为逆运动学的一组解,还可以存储该组解,然后根据预设的步长和关节拓扑空间,判断迭代是否结束,如果结束,则执行步骤215,否则,执行步骤216。
其中,预设的步长可以根据需要设置和更改,判断迭代是否结束同步骤208中的描述。根据指定变量第一次的取值,可以将预设的步长取递增方式或递减方式变化。
步骤215用得到的逆运动学的解控制机器人的操作,流程结束。
进一步地,为了提高机器人控制的精度和效率,在控制机器人操作之前,还可以根据预设的精度要求和工作空间要求,对得到的逆运动学的多组解进行过滤,过滤出符号要求的逆运动学的解,然后用过滤后得到的逆运动学的解来控制机器人的操作。其中,过滤后的逆运动学的解可以为一组,也可以为多组。精度要求和空间要求举例如下要求机器人的某个关节的转角不得超过〔-30°,30°〕,第一关节的连杆的距离不得超过10cm等等。
步骤216按照预设的步长再次从〔-1,1〕区间取一个值作为s4的当前值,继续迭代,执行步骤212。
参见图5,本发明实施例还提供了一种控制机器人操作的装置,包括 初始化模块301,用于将机器人的运动学方程作为目标矩阵,并根据机器人的任务需求设置期望矩阵,在机器人的多个关节变量中指定一个关节变量,从关节拓扑空间中,取出一个值作为指定关节变量的当前值,开始迭代; 迭代模块302,用于按照期望矩阵与目标矩阵相等的关系,根据指定关节变量的当前值计算多个关节变量中的其它关节变量,将当前求出的所有关节变量作为逆运动学的一组解,根据预设的步长和关节拓扑空间,判断迭代是否结束,如果是,则用得到的逆运动学的解控制机器人的操作,否则,按照步长再次从关节拓扑空间中取值作为指定关节变量的当前值,继续迭代。
其中,迭代模块302将当前求出的所有关节变量作为逆运动学的一组解,具体包括 当其它关节变量具有三角函数值时,判断该三角函数值是否在关节变量的三角函数拓扑空间中,如果是,则将当前求出的所有关节变量作为逆运动学的一组解,然后执行判断迭代是否结束的步骤;否则,直接执行判断迭代是否结束的步骤。
本实施例中,迭代模块302用得到的逆运动学的解控制机器人的操作,具体包括 根据预设的精度要求和工作空间要求,对得到的逆运动学的多组解进行过滤; 用过滤后得到的逆运动学的解控制机器人的操作。
本实施例中,当机器人为五自由度机器人时,初始化模块301在机器人的多个关节变量中指定一个关节变量,可以具体包括 令机器人的第四关节的旋转角的正弦值,与机器人的第五关节的旋转角的正弦值均不为零,将第四关节的旋转角设置为指定的关节变量,或者将第五关节的旋转角设置为指定的关节变量。
或者,具体包括 令机器人的第四关节的旋转角的正弦值为零,将机器人的第五关节的旋转角设置为指定的关节变量;或,令机器人的第五关节的旋转角的正弦值为零,将机器人的第四关节的旋转角设置为指定的关节变量。
本发明实施例提供的上述方法和装置,采用解析求解与数值求解相结合的方式,求出机器人逆运动学的解,根据求解结果控制机器人的操作,从而使得机器人末端的位姿符合要求,其迭代方向明确,提高了逆运动学求解的速度和控制机器人操作的速度,减少了耗费的时间,提高了效率,可以适用于任意自由度的机器人。而且,克服了现有技术中不能对没有解析解的机器人结构求逆运动学解的缺陷,以及纯数值算法搜索范围大、耗费时间长、效率低下的缺陷。另外,本发明实施例提供的技术方案既适用于有解析解的机器人结构,也适用于没有解析解的机器人结构,具有较好的通用性。
本发明实施例提供的上述技术方案的全部或部分可以通过程序指令相关的硬件来完成,所述程序可以存储在可读取的存储介质中,该存储介质包括ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种控制机器人操作的方法,其特征在于,所述方法包括
步骤1将机器人的运动学方程作为目标矩阵,并根据机器人的任务需求设置期望矩阵,在机器人的多个关节变量中指定一个关节变量,从关节拓扑空间中,取出一个值作为指定关节变量的当前值,开始迭代;
步骤2按照所述期望矩阵与目标矩阵相等的关系,根据所述指定关节变量的当前值计算所述多个关节变量中的其它关节变量,将当前求出的所有关节变量作为逆运动学的一组解;
步骤3根据预设的步长和关节拓扑空间,判断迭代是否结束,如果是,则用得到的逆运动学的解控制机器人的操作,否则,按照所述步长再次从关节拓扑空间中取值作为所述指定关节变量的当前值,执行步骤2。
2、根据权利要求1所述的方法,其特征在于,将当前求出的所有关节变量作为逆运动学的一组解,具体包括
当所述其它关节变量具有三角函数值时,判断该三角函数值是否在关节变量的三角函数拓扑空间中,如果是,则将当前求出的所有关节变量作为逆运动学的一组解,然后执行步骤3;否则,直接执行步骤3。
3、根据权利要求1所述的方法,其特征在于,用得到的逆运动学的解控制机器人的操作,具体包括
根据预设的精度要求和工作空间要求,对得到的逆运动学的多组解进行过滤;
用过滤后得到的逆运动学的解控制机器人的操作。
4、根据权利要求1、2或3所述的方法,其特征在于,所述机器人为五自由度机器人,在机器人的多个关节变量中指定一个关节变量,具体包括
令所述机器人的第四关节的旋转角的正弦值,与所述机器人的第五关节的旋转角的正弦值均不为零,将所述第四关节的旋转角设置为指定的关节变量,或者将所述第五关节的旋转角设置为指定的关节变量。
5、根据权利要求1、2或3所述的方法,其特征在于,所述机器人为五自由度机器人,在机器人的多个关节变量中指定一个关节变量,具体包括
令所述机器人的第四关节的旋转角的正弦值为零,将所述机器人的第五关节的旋转角设置为指定的关节变量;
或者,令所述机器人的第五关节的旋转角的正弦值为零,将所述机器人的第四关节的旋转角设置为指定的关节变量。
6、一种控制机器人操作的装置,其特征在于,所述装置包括
初始化模块,用于将机器人的运动学方程作为目标矩阵,并根据机器人的任务需求设置期望矩阵,在机器人的多个关节变量中指定一个关节变量,从关节拓扑空间中,取出一个值作为指定关节变量的当前值,开始迭代;
迭代模块,用于按照所述期望矩阵与目标矩阵相等的关系,根据所述指定关节变量的当前值计算所述多个关节变量中的其它关节变量,将当前求出的所有关节变量作为逆运动学的一组解,根据预设的步长和关节拓扑空间,判断迭代是否结束,如果是,则用得到的逆运动学的解控制机器人的操作,否则,按照所述步长再次从关节拓扑空间中取值作为所述指定关节变量的当前值,继续迭代。
7、根据权利要求6所述的装置,其特征在于,所述迭代模块将当前求出的所有关节变量作为逆运动学的一组解,具体包括
当所述其它关节变量具有三角函数值时,判断该三角函数值是否在关节变量的三角函数拓扑空间中,如果是,则将当前求出的所有关节变量作为逆运动学的一组解,然后执行判断迭代是否结束的步骤;否则,直接执行判断迭代是否结束的步骤。
8、根据权利要求6所述的装置,其特征在于,所述迭代模块用得到的逆运动学的解控制机器人的操作,具体包括
根据预设的精度要求和工作空间要求,对得到的逆运动学的多组解进行过滤;
用过滤后得到的逆运动学的解控制机器人的操作。
9、根据权利要求6、7或8所述的装置,其特征在于,所述机器人为五自由度机器人,所述初始化模块在机器人的多个关节变量中指定一个关节变量,具体包括
令所述机器人的第四关节的旋转角的正弦值,与所述机器人的第五关节的旋转角的正弦值均不为零,将所述第四关节的旋转角设置为指定的关节变量,或者将所述第五关节的旋转角设置为指定的关节变量。
10、根据权利要求6、7或8所述的装置,其特征在于,所述机器人为五自由度机器人,所述初始化模块在机器人的多个关节变量中指定一个关节变量,具体包括
令所述机器人的第四关节的旋转角的正弦值为零,将所述机器人的第五关节的旋转角设置为指定的关节变量;
或者,令所述机器人的第五关节的旋转角的正弦值为零,将所述机器人的第四关节的旋转角设置为指定的关节变量。
全文摘要
本发明公开了一种控制机器人操作的方法和装置,属于机器人领域。所述方法包括步骤1将运动学方程作为目标矩阵,根据任务需求设置期望矩阵,在机器人的多个关节变量中指定一个关节变量,从关节拓扑空间中取一值作为当前值开始迭代;步骤2按照上述两个矩阵相等的关系计算其它关节变量,将求出的所有关节变量作为逆运动学的一组解;步骤3判断迭代是否结束,如果是,则用得到的解控制机器人的操作,否则,按照步长再从关节拓扑空间中取值作为指定关节变量的当前值,执行步骤2。所述装置包括初始化模块和迭代模块。本发明提高了逆运动学求解的速度和控制机器人操作的速度,减少了耗费的时间,提高了效率,具有较好的通用性。
文档编号B25J9/00GK101648376SQ20091009239
公开日2010年2月17日 申请日期2009年9月11日 优先权日2009年9月11日
发明者段星光, 强 黄, 边桂彬 申请人:北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1