CN113580135A - 一种有偏置七轴机器人实时逆解算法 - Google Patents

一种有偏置七轴机器人实时逆解算法 Download PDF

Info

Publication number
CN113580135A
CN113580135A CN202110909430.5A CN202110909430A CN113580135A CN 113580135 A CN113580135 A CN 113580135A CN 202110909430 A CN202110909430 A CN 202110909430A CN 113580135 A CN113580135 A CN 113580135A
Authority
CN
China
Prior art keywords
theta
axis robot
predict
offset
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110909430.5A
Other languages
English (en)
Other versions
CN113580135B (zh
Inventor
宋宝
唐小琦
陈晨
王国栋
周向东
刘永兴
熊硕
漆满江
陈立林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN202110909430.5A priority Critical patent/CN113580135B/zh
Publication of CN113580135A publication Critical patent/CN113580135A/zh
Application granted granted Critical
Publication of CN113580135B publication Critical patent/CN113580135B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Abstract

本发明提供一种有偏置七轴机器人实时逆解算法,包括:基于有偏置七轴机器人,对应建立一个满足piper准则的虚拟六轴机器人;重建虚拟六轴机器人的D‑H参数模型;对于给定的
Figure DDA0003203161240000011
和有偏置七轴机器人的每一个探测点θ7‑predict,计算出
Figure DDA0003203161240000012
Figure DDA0003203161240000013
代入虚拟六轴机器人中计算运动学逆解,求解出虚拟六轴机器人的关节角θ6‑result;计算abs(θ7‑predict‑θ6‑result),将所有abs(θ7‑predict‑θ6‑result)中的最小值对应的θ7‑predict为目标θ7‑predict,基于目标θ7‑predict,采用数值迭代方法,确定有偏置七轴机器人的一组最优关节角。

Description

一种有偏置七轴机器人实时逆解算法
技术领域
本发明涉及机器人领域,更具体地,涉及一种有偏置七轴机器人实时逆解算法。
背景技术
工业机器人在喷涂、码垛、冲压、焊接、上下料等工作中的应用愈发广泛,七轴机器人是在传统的六轴工业机器人上增加一个旋转轴,相较于六轴机器人,其具有更好的灵活性和避障能力。有偏置机器人的定义是机器人末端三关节轴线不交于一点,机器人末端连杆的偏置可以增加机器人的工作空间、减少奇异点,但代价是使逆运动学算法变得复杂。
七轴机器人的逆运动学算法取决于其构型,其按照构型主要可以分为存在末端偏置和不存在末端偏置的两类机器人,两者分别对应一类机器人逆解算法,如无偏的七轴机器人可以采用“几何法+解析法”、“固定关节角法”等,而有偏的机器人可以采用“纯数值解法”、“同构型拟合法等”,这些求解算法都比较复杂。
发明内容
本发明针对现有技术中存在的有偏置的机器人的逆解算法复杂的问题,提供一种有偏置七轴机器人实时逆解算法,通过为有偏置七轴机器人对应建立一个满足piper准则的虚拟六轴机器人,基于虚拟六轴机器人的运动学逆解,以及结合探测拟合法,解决了有偏七轴机器人的实时逆运动学运算问题,该方法包括:
基于有偏置七轴机器人,对应建立一个满足piper准则的虚拟六轴机器人;
将虚拟六轴机器人的第三轴设为臂型角ω,重建虚拟六轴机器人的D-H参数模型,以及建立七轴有偏置机器人与虚拟六轴机器人的关节对应关系;
对于给定的
Figure BDA0003203161220000021
和有偏置七轴机器人的一个探测点θ7-predict,计算出
Figure BDA0003203161220000022
Figure BDA0003203161220000023
代入虚拟六轴机器人中计算运动学逆解,求解出虚拟六轴机器人的一组关节角[θ1,θ2,θ3,θ4,θ5,θ6-result];
计算abs(θ7-predict6-result),其中,abs表示绝对值;
对于每一个探测点θ7-predict,均计算对应的abs(θ7-predict6-result),确定所有abs(θ7-predict6-result)中的最小值对应的θ7-predict为目标θ7-predict
基于目标θ7-predict,采用数值迭代方法,确定有偏置七轴机器人的一组最优关节角。
本发明提供的一种有偏置七轴机器人实时逆解算法,由于有偏置七轴机器人的逆运动学算法非常复杂,为有偏置七轴机器人对应建立一个满足piper准则的虚拟六轴机器人,基于虚拟六轴机器人的运动学逆解,以及结合探测拟合法,确定最优的θ7预测值,基于最优的θ7预测值,确定有偏置七轴机器人的一组最优关节角,此种算法具有实时性高、收敛性好、能处理多解问题等优点,适用于工业场景。
附图说明
图1为七轴机器人模型示意图;
图2为七轴机器人D-H参数模型示意图;
图3为本发明提供的一种有偏置七轴机器人实时逆解算法流程图;
图4为建立的虚拟六轴机器人的D-H参数模型示意图;
图5为有偏置七轴机器人的D-H参数模型示意图;
图6为虚拟六轴机器人的八组解的示意图;
图7为虚拟六轴机器人正运动学算法流程图;
图8为虚拟六轴机器人逆运动学算法流程图;
图9为数值迭代算法的具体流程示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
在对本发明实施例提供的有偏置七轴机器人实时逆解算法进行详细介绍之前,对有偏置七轴机器人进行介绍,比如,如图1,机器人采用串联形式,由于其任意三关节的轴线不交于一点,所以是关节耦合度最高的一类机器人,具有代表性。
采用改进D-H参数模型表示机器人,如图2所示,图2中坐标系{0}为基坐标系,与杆i固连的坐标系为坐标系{i}。同时对照参数模型建立参数表,如表1所示。
表1七轴机器人D-H参数表
Figure BDA0003203161220000031
Figure BDA0003203161220000041
根据表1中的D-H参数表,可以得到相连杆间的齐次变换矩阵:
Figure BDA0003203161220000042
Figure BDA0003203161220000043
Figure BDA0003203161220000044
Figure BDA0003203161220000045
Figure BDA0003203161220000046
可得
Figure BDA0003203161220000047
各项如下:
nx=((((c1c2c3-s1s3)c4-c1s2s4)c5-(c1c2s3+s1c3)s5)c6-c1c2c3-s1s3s4+c1s2c4s6c7+-c1c2c3-s1s3c4-c1s2s4s5-c1c2s3+s1c3c5s7;
ny=((((s1c2c3+c1s3)c4-s1s2s4)c5-(s1c2s3-c1c3)s5)c6-s1c2c3+c1s3s4+s1s2c4s6c7+-s1c2c3+c1s3c4-s1s2s4s5-s1c2s3-c1c3c5s7;
nz=((-(s2c3c4+c2s4)c5+s2s3s5)c6-(-s2c3s4+c2c4)s6)c7+((s2c3c4+c2s4)s5+s2s3c5)s7;
ox=(-(((c1c2c3-s1s3)c4-c1s2s4)c5-(c1c2s3+s1c3)s5)c6+((c1c2c3-s1s3)s4+c1s2c4)s6)s7+(-((c1c2c3-s1s3)c4-c1s2s4)s5-(c1c2s3+s1c3)c5)c7;
oy=(-(((s1c2c3+c1s3)c4-s1s2s4)c5-(s1c2s3-c1c3)s5)c6+s1c2c3+c1s3s4+s1s2c4s6s7+-s1c2c3+c1s3c4-s1s2s4s5-s1c2s3-c1c3c5c7;
oz=(((s2c3c4+c2s4)c5-s2s3s5)c6+(-s2c3s4+c2c4)s6)s7+((s2c3c4+c2s4)s5-s2s3c5)c7;
ax=(((c1c2c3-s1s3)c4-c1s2s4)c5-(c1c2s3-s1c3)s5)s6+((c1c2c3-s1s3)s4+c1s2c4)c6;
ay=(((s1c2c3+c1s3)c4-s1s2s4)c5+(-s1c2s3+c1c3)s5)s6+((s1c2c3+c1s3)s4+s1s2c4)c6;
az=(-(s2c3c4+c2s4)c5+s2s3s5)s6+(-s2c3s4+c2c4)c6;
px=((((c1c2c3-s1s3)c4-c1s2s4)c5-(c1c2s3+s1c3)s5)s6+c1c2c3-s1s3s4+c1s2c4c6d7-c1c2c3-s1s3c4-c1s2s4s5+c1c2s3+s1c3c5d6+c1c2c3-s1s3s4+c1s2c4d5-c1c2s3+s1c3d4+c1s2d3-s1d2;
py=((((s1c2c3+c1s3)c4-s1s2s4)c5-(s1c2s3-c1c3)s5)s6+s1c2c3+c1s3s4+s1s2c4c6d7-s1c2c3+c1s3c4+s1s2s4s5+s1c2s3-c1c3c5d6+s1c2c3-c1s3s4+s1s2c4d5-s1c2s3-c1c3d4+s1s2d3+c1d2;
pz=((-(s2c3c4+c2s4)c5+s2s3s5)s6-(s2c3s4-c2c4)c6)d7+((s2c3c4+c2s4)s5+s2s3c5)d6-(s2c3s4-c2c4)d5+s2s3d4+c2d3+d1
其中sn=sinθn,cn=cosθn
对于有偏置七轴机器人,在求运动学逆解时,存在两个难点:1、有偏置机器人由于不满足piper准则,所以不具备解析解,需要结合其他优化算法与启发式算法进行求解;2、关节空间与笛卡尔空间维度不同:机器人的关节空间为七维空间,笛卡尔空间为六维空间,根据正运动学的齐次变换矩阵,可以列出含有7个未知数的6个独立方程,这种不定方程组理论上具有无数个解。
基于上述难点1,本发明实施例提出了采用“探测拟合算法”进行解决;对于难点2,本发明实施例采用“实时重建D-H参数模型法”进行解决
参见图3,图3为本发明提供的一种有偏置七轴机器人实时逆解算法流程图,如图3所示,逆解算法主要包括:101、基于有偏置七轴机器人,对应建立一个满足piper准则的虚拟六轴机器人。
可以理解的是,为了解决有偏置七轴机器人不存在封闭解的问题,为其建立一个满足piper准则的虚拟机器人以辅助计算:
1、令d1=d6=d7=0,虚拟机器人的第七轴与第五轴共线,此时机器人的末端三关节交于一点,虚拟机器人的坐标系{0}与坐标系{1}原点重合,其余关节和连杆与原机器人相同。
2、将机器人的第三轴设为“臂型角”,记为ω,此时机器人关节空间降为六维,构型等效为一个满足piper准则的六轴机器人;当臂型角改变时,算法需要重建D-H参数模型,并且同时触发机器人在零空间中的运动。
虚拟六轴机器人的D-H参数模型如图4所示,D-H参数表如表2所示。
表2虚拟六轴机器人D-H参数表
Figure BDA0003203161220000061
Figure BDA0003203161220000071
其中,a表示连杆偏距,αi-1表示从(i-1)连杆到第i连杆的扭角,di表示第i连杆的长度,θi表示从第(i-1)连杆到第i连杆的转动角度。
102、将虚拟六轴机器人的第三轴设为臂型角ω,重建虚拟六轴机器人的D-H参数模型,以及建立七轴有偏置机器人与虚拟六轴机器人的关节对应关系。
基于有偏置七轴机器人,建立对应的虚拟六轴机器人,虚拟机器人与真实机器人的对应关系如表3所示,虚拟六轴机器人与真实的有偏七轴机器人的对应关节角度相等,虚拟六轴机器人的坐标系{0}与真实有偏七轴机器人的坐标系{1}原点重合、与真实有偏置七轴机器人坐标系{0}的方向重合。令真实有偏置七轴机器人为机器人A,虚拟六轴机器人为机器人B,分别参见图5和图4。
表3真实有偏置七轴机器人与虚拟六轴机器人关节对应关系
Figure BDA0003203161220000072
103、对于给定的
Figure BDA0003203161220000073
和有偏置七轴机器人的一个探测点θ7-predict,计算出
Figure BDA0003203161220000074
Figure BDA0003203161220000075
代入虚拟六轴机器人中计算运动学逆解,求解出虚拟六轴机器人的一组关节角[θ123456-result]。
可以理解的是,对于有偏置七轴机器人的逆解运算,设机器人的工件坐标系为坐标系{G},工具坐标系为坐标系{T},已知工件坐标系与机器人基坐标系之间的变换关系
Figure BDA0003203161220000081
机器人末端坐标系与工具坐标系之间的变换关系
Figure BDA0003203161220000082
对于给定的
Figure BDA0003203161220000083
由矩阵运算可以求得:
Figure BDA0003203161220000084
于是对有偏置七轴机器人的逆解问题转换为寻找一组关节角,使其正运动学的解为
Figure BDA0003203161220000085
对有偏置七轴机器人的逆解算法的原理为,假设对于给定
Figure BDA0003203161220000086
存在一组机器人关节角,使得
Figure BDA0003203161220000087
此时机器人构型如图4所示。随机在[-π,π]区间内选择一个探测点θ7-predict,真实有偏置七轴机器人坐标系{5}的位置T5为:
Figure BDA0003203161220000088
将坐标系{6}的姿态和坐标系{5}的位置融合,得到新的坐标系{P},坐标系{P}的原点位于真实机器人的坐标系{5}原点处;
Figure BDA0003203161220000089
Figure BDA00032031612200000810
减掉d1连杆长度,然后带入到虚拟六轴机器人中计算运动学逆解
Figure BDA00032031612200000811
求解出对应的一组[θ123456-result]。
其中,根据
Figure BDA00032031612200000812
ω求解对应的[θ123456-result]的算法原理具体为,对满足piper准则的机器人采用反变换法计算反解,当
Figure BDA00032031612200000813
中的数值已知时,希望通过下列方程求解[θ123456]。
Figure BDA0003203161220000091
对式(1-1)求解,得到[θ1,θ2,θ3,θ4,θ5,θ6],其具体的求解过程为:
(1)首先求解θ3(对应真实有偏置七轴机器人的θ4),将式(1-1)中含有θ1的项
Figure BDA0003203161220000092
移动到等式左边:
Figure BDA0003203161220000093
根据左右矩阵的(1,4),(2,4),(3,4)三项平方和相等建立方程:
px 2+py 2+pz 2=a2 2+d2 2+d3 2+d4 2+2d2d3cω+2a2d4c3+2d2d4sωs3
式中:cω=cos(ω),sω=sin(ω)。
令m=px 2+py 2+pz 2-(a2 2+d2 2+d3 2+d4 2+2d2d3cω);
k1=2a2d4;k2=2d2d4sω,构造三角函数
Figure BDA0003203161220000094
Figure BDA0003203161220000095
则式(1-1)变为
Figure BDA0003203161220000096
则有:
Figure BDA0003203161220000097
通过反正切运算,可以求得θ3的两个解为
Figure BDA0003203161220000098
(2)然后求解θ1,由式(1-1)方程左右矩阵的(2,2)元素相等建立方程
pyc1+pxs1=d2+d3cω+d4sωs3
令m=d2+d3cω+d4sωs3
构造三角函数
Figure BDA0003203161220000101
则式(1-1)变为
Figure BDA0003203161220000102
则有:
Figure BDA0003203161220000103
通过反正切运算,可以求得θ1的两个解为
Figure BDA0003203161220000104
(3)下一步求解θ2,由式(1-1)方程左右矩阵的(1,4)元素与(3,4)元素对应相等建立方程
Figure BDA0003203161220000105
化简得
Figure BDA0003203161220000106
通过解此二元方程组得
Figure BDA0003203161220000107
θ2=Atan2(s2,c2)。
(4)求解θ5,目前[θ1,θ2,θ3]已经求解完成,可以根据位姿变化得到
Figure BDA0003203161220000108
Figure BDA0003203161220000111
由式(1-1)中(2,3)元素对应相等建立方程
cos(θ5)=ax(c1c3s2-sωs1s3+cωc1c2s3)+ay(sωc1s3+c3s1s2+cωc2s1s3+azc2c3-cωs2s3;
由方程解出
θ5=±acos(ax(c1c3s2-sωs1s3+cωc1c2s3)+ay(sωc1s3+c3s1s2+cωc2s1s3)+az(c2c3-cωs2s3))
(5)求解θ4,由式(1-1)中(3,1)元素和(3,3)元素对应相等建立方程
c4s5=ax(-c3sωs1-c1s2s3+cωc1c2c3)+ay(c1c3sω-s1s2s3+cωc2c3s1+az-c2s3-cωc3s2;
s4s5=ax(-cωs1-c1c2sω)+ay(cωc1-c2sωs1)+az(sωs2)。
令k1=ax(-c3sωs1-c1s2s3+cωc1c2c3)+ay(c1c3sω-s1s2s3+cωc2c3s1+az-c2s3-cωc3s2,
令k2=ax(-cωs1-c1c2sω)+ay(cωc1-c2sωs1)+az(sωs2),
则θ4=atan2(k2,k1)或θ4=atan2(-k2,-k1)。
(6)求解θ6,由式(1-1)中(2,1)元素和(2,2)元素对应相等建立方程
c6s5=nx(-c1c3s2+sωs1s3-cωc1c2s3)+ny(-c1sωs3-c3s1s2-cωc2s1s3+nzCws2s3-c2c3;
s6s5=ox(c1c3s2-sωs1s3+cωc1c2s3)+oy(c1sωs3+c3s1s2+cωc2s1s3+ozc2c3-cωs2s3。
令k1=nx(-c1c3s2+sωs1s3-cωc1c2s3)+ny(-c1sωs3-c3s1s2-cωc2s1s3)+nz(cws2s3-c2c3),
令k2=ox(c1c3s2-sωs1s3+cωc1c2s3)+oy(c1sωs3+c3s1s2+cωc2s1s3+ozc2c3-cωs2s3,
则θ6=atan2(k2,k1)或θ6=atan2(-k2,-k1)。
可以理解的是,对于6个轴都为旋转关节的6轴机器人来说,给定末端工具坐标系,至多可能存在16组解,由于本发明实施例的虚拟六轴机器人姿态矩阵解耦,故存在8组解,其计算逻辑如图6所示。尽管有多组解存在,但机器人在实际运行的过程中只会选择其中一组解;常用的多解选择原则有能耗最小原则、受力合理原则、行程最短原则等,其中行程最短原则更为合理。
基于此,本发明实施例提出一种划分多组解的方法,将多组解编码为关节属性,然后通过分析多解产生的原因,将关节属性与多组解一一对应起来。
其中,值所以会产生八组的原因主要是肘关节角度θ3、肩关节角度θ1以及腕关节角度θ5存在双解,因此,本发明实施例定义θ3的角度为肘关节角度,θ1的角度为肩关节角度,θ5的角度为腕关节角度,定义关节属性为一个包含三个数的数组[Bit3,Bit2,Bit1],数组中的每一位可以取值为0或1。通过分析肘关节角度θ3双解产生的原因,定义Bit1的取值,通过分析肩关节角度θ1双解产生的原因,定义Bit2的取值,以及分析腕关节角度θ5双解产生的原因,定义Bit3的取值;根据给定的关节属性[Bit1、Bit2、Bit3],确定八组解中对应的一组解[θ1、θ2、θ3、θ4、θ5和θ6]。
具体的过程为:
(1)定义θ3的角度为肘关节角度,定义θ1的角度为肩关节角度,定义θ5的角度为腕关节角度,定义关节属性为一个包含三个数的数组[Bit3,Bit2,Bit1],数组中的每一位可以取值为0或1,分别表示肘关节角度θ3、肩关节角度θ1和腕关节角度θ5的取值。
机器人的正运动学函数除了需要计算齐次变换矩阵之外,还需要同时计算当前这组关节角所属的关节属性,其程序流程图如图7所示。
在逆运动学算法中,算法输入齐次变换矩阵和关节属性,输出唯一一组关节角,其流程图如图8所示;值得注意的是,当机器人执行器在一条直线上运行时,若输入的关节属性相同,那么连续的多组逆解结果满足行程最短原则。
(2)通过分析肘关节角度θ2、肩关节角度θ1和腕关节角度θ4双解产生的原因,确定Bit1、Bit2和Bit3的取值。
(21)首先分析肘关节角度θ3双解产生的原因,根据式(1-1)可知,
Figure BDA0003203161220000131
的双解是与
Figure BDA0003203161220000132
的两个解一一对应的;由三角函数公式
Figure BDA0003203161220000133
在正解计算中,k1、k2、θ3都是已知量,所以令
Figure BDA0003203161220000134
同理在计算逆运动学时,可以根据Bit1的值选定其中一组解
Figure BDA0003203161220000135
(22)然后分析肩关节角度θ1双解产生的原因,根据式(1-1)可知,
Figure BDA0003203161220000141
的双解是与
Figure BDA0003203161220000142
的两个解一一对应的;由三角函数公式
Figure BDA0003203161220000143
在正解计算中θ1已知,px、py可由正运动学公式求得,所以令
Figure BDA0003203161220000144
同理在计算逆运动学时,可以根据Bit2的值选定其中一组解
Figure BDA0003203161220000145
(23)最后分析腕关节角度θ5双解产生的原因,根据式(1-1)可知,θ5的双解是与反余弦函数对应的;
令k1=ax(c1c3s2-sωs1s3+cωc1c2s3)+ay(sωc1s3+c3s1s2+cωc2s1s3+azc2c3-cωs2s3,则有:
Figure BDA0003203161220000146
同理在计算逆运动学时,可以根据Bit3的值选定其中一组解
Figure BDA0003203161220000147
由上述的整个分析过程可知,如果给定了机器人的关节属性,则机器人肘关节角度θ3、肩关节角度θ1和腕关节角度θ5就确定了,那么就确定了一组解[θ1,θ2,θ3,θ4,θ5,θ6]。对于θ7-predict,也就是求解出一组[θ1,θ2,θ3,θ4,θ5,θ6-result]。
104、计算abs(θ7-predict6-result),其中,abs表示绝对值;105、对于每一个探测点θ7-predict,均计算对应的abs(θ7-predict6-result),确定所有abs(θ7-predict6-result)中的最小值对应的θ7-predict为目标θ7-predict;106、基于目标θ7-predict,采用数值迭代方法,确定有偏置七轴机器人的一组最优关节角。
可以理解的是,对于真实有偏置七轴机器人,假设随机选择的θ7-predict和真实的θ7-true相等,那么此时计算出虚拟六轴机器人的θ6-result就等于对真实有偏置七轴机器人的猜测值θ7-predict,相应的虚拟六轴机器人的其他关节角也等于待求解的真实有偏置七轴机器人的相应关节角。在实际应用中,当abs(θ7-predict6-result)小于一个阈值,即可认为当前θ7-predict是真实值的近似值。
对于每一个探测点θ7-predict,均可求解出一个对应的θ6-result,均计算对应的abs(θ7-predict6-result),并判断abs(θ7-predict6-result)是否小于一个阈值。
其中,对于多个探测点θ7-predict,满足abs(θ7-predict6-result)小于一个阈值的解[θ7-predict,θ6-result]可能有多个,具体的,选取abs(θ7-predict6-result)最小的一组解[θ7-predict,θ6-result]作为目标解。其中,在选取探测点θ7-predict可能角度时,在机器人控制中,运动学逆解算法会在两种情况下使用:
情况1:目标关节角度与当前关节角度相差较大(也就是说,机器人的两个连续的关节点的关节角度相差较大),当前关节角度不能作为参考,需要在θ7-predict∈[-π,π]等分探测,等分探测的策略是每隔10°取一个探测点;这种情况包括计算与当前末端位姿相距较远的一个坐标系的逆解、插补器验证一个坐标系是否可达、待求解的坐标系对应的关节属性与当前关节属性不相等、机械臂处于初始奇异姿态。
情况2:末端执行器在笛卡尔空间内连续运动,此时相邻两次逆解对应的关节角度差值相对较小,所以对θ7-predict∈[θ7-10°,θ7+10°]等分探测,策略是每隔2°取一个探测点。
其中,创建一个记录表,对于每个探测点θ7-predict,计算相应的
Figure BDA0003203161220000161
带入虚拟机器人逆运动学算法中计算[θ1,θ2,θ3,θ4,θ5,θ6-result],在记录表中添加记录[θ1,θ2,θ3,θ4,θ5,θ6-result,θ7-predict,(abs(θ6-result-θ7-predict。找到记录表中absθ6-result-θ7-predict一项最小的一组记录,将其中的[θ1,θ2,θ3,θ4,θ5,θ6-result]作为求得的目标解,对应到有偏置七轴机器人中,即为[θ1,θ2,ω,θ4,θ5,θ6,θ7],该组解最接近真实解。考虑到算法时间复杂度的问题,探测点数不宜过多;此时真实θ7的近似解精度还较差,所以下一步通过数值迭代的方法,提高结果精度直至符合精度要求。
在一种具体的实施例方式中,基于目标θ7-predict,采用数值迭代方法,确定有偏置七轴机器人的一组最优关节角,包括:将目标θ7-predict、对应的[θ1,θ2,θ3,θ4,θ5,θ6-result]和
Figure BDA0003203161220000162
作为初始关节角,经过多次数值迭代,输出有偏置七轴机器人的一组最优关节角。
可以理解的是,数值迭代的算法采用Levenberg-Marquart算法,它是高斯牛顿法与梯度下降法的结合体,解决了牛顿法在初始值距离最小值较远时不能保证收敛和黑森矩阵近似奇异时逆解无法计算的问题。LM算法通过在黑森矩阵中添加阻尼系数λ来控制迭代的步长和方向:
Figure BDA0003203161220000171
数值迭代的基本程序流程图如图9所示,本发明实施例的具体迭代过程为:以目标解为初始值,进行数值迭代,每迭代一次,生成一组[θ1,θ2,θ3,θ4,θ5,θ6,θ7],根据[θ1,θ2,θ3,θ4,θ5,θ6,θ7],通过正运动学解算,求得相连杆间的齐次变换矩阵,基于齐次变换矩阵,计算迭代过程中产生的误差;重复进行迭代,直到迭代产生的误差小于设定的误差阈值,最后一次迭代产生的[θ1,θ2,θ3,θ4,θ5,θ6,θ7]即为最终求得的一组最优解,该组解非常接近于真实解,精度非常高。
本发明提供的一种有偏置七轴机器人实时逆解算法,由于有偏置七轴机器人的逆运动学算法非常复杂,为有偏置七轴机器人对应建立一个满足piper准则的虚拟六轴机器人,基于虚拟六轴机器人的运动学逆解,以及结合探测拟合法,确定最优的θ7预测值,基于最优的θ7预测值,确定有偏置七轴机器人的一组最优关节角,此种算法具有实时性高、收敛性好、能处理多解问题等优点,适用于工业场景。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (9)

1.一种有偏置七轴机器人实时逆解算法,其特征在于,包括:
基于有偏置七轴机器人,对应建立一个满足piper准则的虚拟六轴机器人;
将虚拟六轴机器人的第三轴设为臂型角ω,重建虚拟六轴机器人的D-H参数模型,以及建立七轴有偏置机器人与虚拟六轴机器人的关节对应关系;
对于给定的
Figure FDA0003203161210000011
和有偏置七轴机器人的一个探测点θ7-predict,计算出
Figure FDA0003203161210000012
Figure FDA0003203161210000013
代入虚拟六轴机器人中计算运动学逆解,求解出虚拟六轴机器人的一组关节角[θ123456-result];
计算abs(θ7-predict6-result),其中,abs表示绝对值;
对于每一个探测点θ7-predict,均计算对应的abs(θ7-predict6-result),确定所有abs(θ7-predict6-result)中的最小值对应的θ7-predict为目标θ7-predict
基于目标θ7-predict,采用数值迭代方法,确定有偏置七轴机器人的一组最优关节角。
2.根据权利要求1所述的有偏置七轴机器人实时逆解算法,其特征在于,所述基于有偏置七轴机器人,对应建立一个满足piper准则的虚拟六轴机器人,包括:
建立的虚拟六轴机器人与有偏置七轴机器人的对应关节角度相等,虚拟六轴机器人的基坐标系{0}与有偏置七轴机器人的坐标系{1}原点重合、与有偏置七轴机器人坐标系{0}的方向重合。
3.根据权利要求1所述的有偏置七轴机器人实时逆解算法,其特征在于,所述对于给定的
Figure FDA0003203161210000021
和有偏置七轴机器人的一个探测点θ7-predict,计算出
Figure FDA0003203161210000022
包括:
在θ7的角度区间范围内选择一个探测点θ7-predict,有偏置七轴机器人坐标系{5}的位置T5为:
Figure FDA0003203161210000023
将坐标系{6}的姿态和坐标系{5}的位置融合,得到新的坐标系{P},坐标系{P}的原点位于有偏置七轴机器人的坐标系{5}原点处;
Figure FDA0003203161210000024
所述将
Figure FDA0003203161210000025
代入虚拟六轴机器人中计算运动学逆解,求解出虚拟六
轴机器人的一组关节角[θ123456-result],包括:
Figure FDA0003203161210000026
其中,ω为给定的臂型角,Bit[3]为虚拟六轴机器人的关节属性。
4.根据权利要求3所述的有偏置七轴机器人实时逆解算法,其特征在于,所述所述将
Figure FDA0003203161210000027
代入虚拟六轴机器人中计算运动学逆解,求解出虚拟六轴机器人的一组关节角[θ123456-result],包括:
对于满足piper准则的虚拟六轴机器人,当
Figure FDA0003203161210000028
中的数值已知时,可通过下列方程求解[θ123456]:
Figure FDA0003203161210000031
其中,
Figure FDA0003203161210000032
Figure FDA0003203161210000033
均为齐次变换矩阵;
基于上述方程,依次求解θ3、θ1、θ2、θ5、θ4和θ6,分别对应有偏置七轴机器人的θ4、θ1、θ2、θ6、θ5和θ7
其中,求解出的[θ1、θ2、θ3、θ4、θ5和θ6]有八组解,根据给定的关节属性,确定对应的一组解。
5.根据权利要求4所述的有偏置七轴机器人实时逆解算法,其特征在于,还包括:
定义θ3的角度为肘关节角度,θ1的角度为肩关节角度,θ5的角度为腕关节角度,定义关节属性为一个包含三个数的数组[Bit3,Bit2,Bit1],数组中的每一位可以取值为0或1;
其中,通过分析肘关节角度θ3双解产生的原因,定义Bit1的取值,通过分析肩关节角度θ1双解产生的原因,定义Bit2的取值,以及分析腕关节角度θ5双解产生的原因,定义Bit3的取值;
根据给定的关节属性[Bit1、Bit2、Bit3],确定八组解中对应的一组解[θ1、θ2、θ3、θ4、θ5和θ6]。
6.根据权利要求5所述的有偏置七轴机器人实时逆解算法,其特征在于,通过如下方式确定有偏置七轴机器人每一个探测点θ7-predict
如果有偏置七轴机器人的连续两个关节角度相差大,则在θ7-predict的探测范围[-π,π]内,每隔10°取一个探测点θ7-predict
如果有偏置七轴机器人的连续两个关节角度相差小,θ7-predict在探测范围[θ7-10°,θ7+10°]内,每隔2°取一个探测点θ7-predict
7.根据权利要求6所述的有偏置七轴机器人实时逆解算法,其特征在于,还包括:
创建一个记录表,对于每个探测点θ7-predict,计算相应的
Figure FDA0003203161210000041
带入虚拟机器人逆运动学算法中计算[θ123456-result],在记录表中添加记录[θ123456-result7-predict,(abs(θ6-result-θ7-predict;
找到记录表中(abs(θ6-result7-predict))最小的一组记录,以确定目标θ7-predict
8.根据权利要求1所述的有偏置七轴机器人实时逆解算法,其特征在于,所述基于目标θ7-predict,采用数值迭代方法,确定有偏置七轴机器人的一组最优关节角,包括:
将目标θ7-predict、对应的[θ123456-result]和
Figure FDA0003203161210000042
作为初始关节角,经过多次数值迭代,输出有偏置七轴机器人的一组最优关节角。
9.根据权利要求8所述的有偏置七轴机器人实时逆解算法,其特征在于,所述基于目标θ7-predict、对应的[θ123456-result]和
Figure FDA0003203161210000051
作为初始关节角,经过多次数值迭代,输出有偏置七轴机器人的一组最优关节角,包括:
每迭代一次,生成一组[θ123,θ456,θ7],根据[θ123456,θ7],通过正运动学解算,求得相连杆间的齐次变换矩阵,基于齐次变换矩阵,计算迭代过程中产生的误差;
重复进行迭代,直到迭代产生的误差小于设定的误差阈值。
CN202110909430.5A 2021-08-09 2021-08-09 一种有偏置七轴机器人实时逆解算法 Active CN113580135B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110909430.5A CN113580135B (zh) 2021-08-09 2021-08-09 一种有偏置七轴机器人实时逆解算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110909430.5A CN113580135B (zh) 2021-08-09 2021-08-09 一种有偏置七轴机器人实时逆解算法

Publications (2)

Publication Number Publication Date
CN113580135A true CN113580135A (zh) 2021-11-02
CN113580135B CN113580135B (zh) 2022-08-26

Family

ID=78256513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110909430.5A Active CN113580135B (zh) 2021-08-09 2021-08-09 一种有偏置七轴机器人实时逆解算法

Country Status (1)

Country Link
CN (1) CN113580135B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116038702A (zh) * 2022-12-30 2023-05-02 成都卡诺普机器人技术股份有限公司 一种七轴机器人逆解方法及七轴机器人

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001138279A (ja) * 1999-11-10 2001-05-22 Natl Aerospace Lab 多関節ロボットとその制御方法
CN206296912U (zh) * 2016-11-04 2017-07-04 武汉海默机器人有限公司 一种六轴协作机器人多回路控制系统
CN107066645A (zh) * 2016-12-01 2017-08-18 西北工业大学 一种七自由度偏置机械臂逆解方法
CN107791248A (zh) * 2017-09-28 2018-03-13 浙江理工大学 基于不满足pipper准则的六自由度串联机器人的控制方法
CN108406769A (zh) * 2018-03-09 2018-08-17 首都师范大学 串联机器人的关节旋转角度确定方法及装置
CN110181482A (zh) * 2019-05-23 2019-08-30 北京邮电大学 一种模块化七自由度上肢外骨骼机器人
US20210039259A1 (en) * 2018-02-26 2021-02-11 Renishaw Plc Coordinate positioning machine

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001138279A (ja) * 1999-11-10 2001-05-22 Natl Aerospace Lab 多関節ロボットとその制御方法
CN206296912U (zh) * 2016-11-04 2017-07-04 武汉海默机器人有限公司 一种六轴协作机器人多回路控制系统
CN107066645A (zh) * 2016-12-01 2017-08-18 西北工业大学 一种七自由度偏置机械臂逆解方法
CN107791248A (zh) * 2017-09-28 2018-03-13 浙江理工大学 基于不满足pipper准则的六自由度串联机器人的控制方法
US20210039259A1 (en) * 2018-02-26 2021-02-11 Renishaw Plc Coordinate positioning machine
CN108406769A (zh) * 2018-03-09 2018-08-17 首都师范大学 串联机器人的关节旋转角度确定方法及装置
CN110181482A (zh) * 2019-05-23 2019-08-30 北京邮电大学 一种模块化七自由度上肢外骨骼机器人

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116038702A (zh) * 2022-12-30 2023-05-02 成都卡诺普机器人技术股份有限公司 一种七轴机器人逆解方法及七轴机器人
CN116038702B (zh) * 2022-12-30 2023-12-19 成都卡诺普机器人技术股份有限公司 一种七轴机器人逆解方法及七轴机器人

Also Published As

Publication number Publication date
CN113580135B (zh) 2022-08-26

Similar Documents

Publication Publication Date Title
CN107589934B (zh) 一种关节型机械臂逆运动学解析解的求取方法
Gong et al. Analytical inverse kinematics and self-motion application for 7-DOF redundant manipulator
CN107457783B (zh) 基于pd控制器的六自由度机械臂自适应智能检测方法
CN111300420B (zh) 一种机械臂关节空间转角最小路径求取方法
CN113510690B (zh) 四自由度串联机器人逆运动学求解方法和系统
CN107791248B (zh) 基于不满足Pieper准则的六自由度串联机器人的控制方法
CN111975771A (zh) 一种基于偏差重定义神经网络的机械臂运动规划方法
CN110722562B (zh) 一种用于机器人参数辨识的空间雅克比矩阵构造方法
WO2023024317A1 (zh) 一种机器人避障方法、装置和机器人
CN113580135B (zh) 一种有偏置七轴机器人实时逆解算法
CN116038702B (zh) 一种七轴机器人逆解方法及七轴机器人
CN111914980A (zh) 一种基于解析解和改进遗传算法的冗余机械臂运动学解算方法
CN114714335A (zh) 一种七关节冗余自由度机器人的逆解方法及装置
Li et al. Solving inverse kinematics model for 7-DoF robot arms based on space vector
Gharahsofloo et al. An efficient algorithm for workspace generation of delta robot
CN109159124B (zh) 采用快速双幂次终态神经网络的冗余机器人重复运动规划方法
CN109866224A (zh) 一种机器人雅可比矩阵计算方法、装置及存储介质
CN113878571B (zh) 一种七自由度协作机器人构型优化综合方法
CN111958602B (zh) 一种手腕偏置型6轴机器人实时逆解算法
Brandstötter Adaptable serial manipulators in modular design
CN112276940A (zh) 一种六自由度非球型手腕机器人逆运动学求解方法
CN112643658A (zh) 基于sir降维dh模型的串联机器人自适应误差建模的标定方法
CN114800491A (zh) 一种冗余机械臂零空间避障规划方法
Kang et al. Coordinated workspace analysis and trajectory planning of redundant dual-arm robot
Chaparro-Altamirano et al. Kinematic and workspace analysis of a parallel robot used in security applications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant