CN108673509A - 一种六自由度手腕偏置型串联机械臂的运动控制方法 - Google Patents
一种六自由度手腕偏置型串联机械臂的运动控制方法 Download PDFInfo
- Publication number
- CN108673509A CN108673509A CN201810618375.2A CN201810618375A CN108673509A CN 108673509 A CN108673509 A CN 108673509A CN 201810618375 A CN201810618375 A CN 201810618375A CN 108673509 A CN108673509 A CN 108673509A
- Authority
- CN
- China
- Prior art keywords
- joint
- mechanical arm
- pose
- axis
- wrist
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 210000000707 wrist Anatomy 0.000 title claims abstract description 19
- 239000012636 effector Substances 0.000 claims abstract description 34
- 239000011159 matrix material Substances 0.000 claims abstract description 8
- 210000002310 elbow joint Anatomy 0.000 claims description 48
- 210000000323 shoulder joint Anatomy 0.000 claims description 37
- 210000003857 wrist joint Anatomy 0.000 claims description 35
- 210000001503 joint Anatomy 0.000 claims description 11
- 238000006073 displacement reaction Methods 0.000 claims description 10
- 230000009466 transformation Effects 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 9
- 238000004364 calculation method Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 16
- 238000004458 analytical method Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1607—Calculation of inertia, jacobian matrixes and inverses
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1615—Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本发明提供一种六自由度手腕偏置型串联机械臂的运动控制方法,涉及机器人运动学控制方法技术领域。包括:建立机械臂的连杆坐标系;建立机械臂的正运动学方程;获取关节1的角度初始值;计算关节2到关节6的逆运动学解的角度值;计算末端执行器的位姿与给定位姿的误差;判断误差是否在误差阈值范围内;筛选出符合条件的一组逆运动学解的角度值;将机械臂各关节角度值输入到已知机器人的控制模块,完成对六自由度手腕偏置型串联机械臂的运动控制。本发明提供的一种六自由度手腕偏置型串联机械臂的运动控制方法,无需考虑基于雅克比矩阵的奇异解问题,简化了控制过程,有效降低了计算量,提高了收敛速度和计算精度,同时提升了机械臂的控制精度。
Description
技术领域
本发明涉及机器人运动学控制方法技术领域,具体涉及一种六自由度手腕偏置型串联机械臂的运动控制方法。
背景技术
机器人逆运动学求解是进行机器人控制的前提和基础。末端的三个关节不相交于一点或三轴不平行的机器人通常称为手腕偏置型机械臂,该类型机械臂具有结构强度高、运动灵活的特点,但是很难通过常规的解析法计算该类型机械臂的逆运动学解,从而数值类方法被广泛使用来解决上述问题。数值法本身存在诸多局限性,例如对于高维非线性问题收敛速度慢甚至有时无法收敛、初始值选择不当会严重降低收敛速度和计算精度、无法同时获得多重解以至于在轨迹规划中有些约束条件很难添加、必须避开奇异位姿否则无法收敛等等。这些局限性直接导致该类型机器人控制过程繁琐、计算量大、控制精度不高、很难实现在线实时控制等问题。
发明内容
针对现有技术存在的问题,本发明提供一种六自由度手腕偏置型串联机械臂的运动控制方法,根据数值法和解析混合的分层次运动学逆解算法来获得机械臂的运动学逆解,从运动学上对机械臂进行控制,具有计算简单、控制精度高、实施成本低等特点。
一种六自由度手腕偏置型串联机械臂的运动控制方法,包括以下步骤:
步骤1:根据D-H参数法建立六自由度手腕偏置型串联机械臂关节i的连杆坐标系{i},其中,i=1,2,3,4,5,6;
步骤2:根据机械臂的D-H参数采用齐次坐标变换矩阵建立机械臂的正运动学方程;
步骤3:采用启发式迭代方法获取精确的机械臂关节1的角度初始值,具体步骤如下:
步骤3.1:定义机械臂末端执行器的给定位姿为t、末端执行器为EE、腕关节为W、肘关节为E、肩关节为S、末端执行器EE与腕关节W之间的杆长距离为dt、肘关节E与肩关节S之间的杆长距离为d3、腕关节W与肘关节E之间的杆长距离为d5,其中,W包括关节5和关节6,E包括关节3和关节4,S包括关节1和关节2;
步骤3.2:取符合机械臂关节1限位的最大值;
步骤3.3:令机械臂末端执行器EE与末端执行器的给定位姿t重合,确定机械臂末端执行器EE的位姿EE’;
所述位姿为关节所在位置和姿态;
步骤3.4:令腕关节W沿机械臂末端执行器的位姿EE’的固定方向移动机械臂末端执行器EE与腕关节W之间的杆长距离dt,确定机械臂腕关节W的位姿W’;
步骤3.5:过机械臂肘关节E的中心在末端执行器的位姿EE’与腕关节W的位姿W’所在直线上作垂线,并根据腕关节W的关节限位在此垂线所在的平面内确定肘关节E的可行域;
步骤3.6:将机械臂肘关节E移动到可行域内得到肘关节E在可行域内的位姿Ec;
步骤3.7:令肘关节E沿腕关节W的位姿W’与肘关节E在可行域内的位姿Ec所在直线方向移动腕关节W与肘关节E之间的杆长距离d5,确定肘关节E的位姿E’;
步骤3.8:过机械臂肩关节S的中心在腕关节W的位姿W’与肘关节E的位姿E’所在直线上作垂线,并根据肘关节E的关节限位在此垂线所在的平面内确定肩关节S的可行域;
步骤3.9:将机械肩关节S移动到可行域内得到肩关节S在可行域内的位姿Sc;
步骤3.10:令肩关节S沿肘关节E的位姿E’与肩关节S在可行域内的位姿Sc所在直线方向移动肘关节E与肩关节S之间的杆长距离d3,确定肩关节S的位姿S’;
步骤3.9:令肩关节S的位姿S’与原肩关节S的位姿重合,保持其余关节角度不变,利用启发式迭代方法分别得到机械臂各关节的逆运动学解的位姿;
步骤3.10:取符合机械臂关节1限位的最小值,重复步骤3.3-步骤3.9,得到机械臂各关节的另一组逆运动学解的位姿;
步骤3.11:定义垂直于关节1轴线的平面为Φ,平面Φ内竖直向下的向量为v0,上臂的方向向量为v1,v1在平面Φ内的投影向量为v2;
步骤3.12:分别根据两组机械臂各关节的逆解位姿下平面Φ内竖直向下的向量v0和v1在平面Φ内的投影向量v2,计算机械臂关节1的两个角度初始值θ1和θ1’;
步骤4:根据机械臂关节1的两个角度初始值θ1和θ1’分别计算关节2到关节6的逆运动学解的角度值;
步骤5:根据机械臂的正运动学方程计算机械臂末端执行器EE的位姿EE’与末端执行器的给定位姿t的误差r;
步骤6:判断误差r是否小于误差阈值,若是,则继续步骤7,若否,则将步骤3中得到的关节1的角度初始值增加或减去一个微小的α角度,返回步骤4;
步骤7:在步骤6得到的多重解中筛选出符合关节限位和关节位移最小原则的一组逆运动学解的角度值;所述关节位移最小为机械臂各个关节的位移和最小;
步骤8:将步骤7得到的逆运动学解的角度值输入到已知机器人的运动控制模块,完成对六自由度手腕偏置型串联机械臂的运动控制。
进一步地,所述步骤2及步骤5中机械臂的正运动学方程如下:
其中,为坐标系{i}到坐标系{j}的4×4传递矩阵,nx、ny和nz分别为机械臂末端坐标系中x6轴与基坐标系的x0轴、y0轴和z0轴的夹角余弦值,ox、oy和oz分别为机械臂末端坐标系中y6轴与基坐标系的x0轴、y0轴和z0轴的夹角余弦值,ax、ay和az分别为机械臂末端坐标系中z6轴与基坐标系的x0轴、y0轴和z0轴的夹角余弦值,px、py和pz分别为机械臂末端执行器原点O6在基坐标系的x0轴、y0轴和z0轴上的坐标位置,其中:
nz=-cθ6[cθ5(cθ2sθ4-cθ3cθ4sθ2)+sθ2sθ3sθ5]-sθ6(cθ2cθ4+cθ3sθ2sθ4);
oz=sθ6[cθ5(cθ2sθ4-cθ3cθ4sθ2)+sθ2sθ3sθ5]-cθ6(cθ2cθ4+cθ3sθ2sθ4);
ax=sθ5[cθ4(sθ1sθ3-cθ1cθ2cθ3)-cθ1sθ2sθ4]-cθ5(cθ3sθ1+cθ1cθ2sθ3);
ay=-sθ5[cθ4(cθ1sθ3+sθ1cθ2cθ3)+sθ1sθ2sθ4]+cθ5(cθ3cθ1-sθ1cθ2sθ3);
az=sθ5(cθ2sθ4-cθ3cθ4sθ2)-sθ2sθ3cθ5;
px=d5[sθ4(sθ1sθ3-cθ1cθ2cθ3)+cθ1cθ4sθ2]+d3cθ1sθ2;
py=-d5[sθ4(cθ1sθ3+sθ1cθ2cθ3)-sθ1cθ4sθ2]+d3sθ1sθ2;
pz=-d5(cθ2cθ4+cθ3sθ4sθ2)-d3cθ2;
其中,θi为机械臂关节i的角度初始值,cθi为cosθi,sθi为sinθi。
进一步地,所述步骤4中计算关节2到关节6的逆运动学解的角度值的公式如下:
其中:
φ=Atan2(pz,pxcθ1+pysθ1);
θ3=Atan2(pxsθ1-pycθ1,-pzsθ2-pxcθ1cθ2-pycθ2sθ1);
其中:
χ=(pxcθ1sθ2+pysθ1sθ2-pzcθ2-d3)/d5;
θ5=Atan2(-ζ,η);
其中:
ζ=ax(cθ1sθ2sθ4-cθ4sθ1sθ3+cθ1cθ2cθ3cθ4)-az(cθ2sθ1-cθ3cθ4sθ2);
η=ay(cθ1cθ3-cθ2sθ1sθ3)-ax(cθ3sθ1+cθ1cθ2sθ3)-azsθ2sθ3;
θ6=Atan2(λ,τ);
其中:
其中,θi为机械臂关节i的角度初始值,cθi为cosθi,sθi为sinθi,nx、ny和nz分别为机械臂末端坐标系中x6轴与基坐标系的x0轴、y0轴和z0轴的夹角余弦值,ox、oy和oz分别为机械臂末端坐标系中y6轴与基坐标系的x0轴、y0轴和z0轴的夹角余弦值,ax、ay和az分别为机械臂末端坐标系中z6轴与基坐标系的x0轴、y0轴和z0轴的夹角余弦值,px、py和pz分别为机械臂末端执行器原点O6在基坐标系的x0、y0、z0轴上的坐标位置。
进一步地,所述步骤5和步骤6中对应的误差r和微小的α角度均根据实际情况具体设定。
本发明的有益效果:
本发明提出一种六自由度手腕偏置型串联机械臂的运动控制方法,无需考虑基于雅克比矩阵的奇异解问题,简化了控制过程,首先根据数值方法提供精度较高的初始估计值,提高数值方法的收敛速度和计算精度,然后将逆运动学的多变量迭代求解问题简化为一维变量迭代问题,有效降低数值迭代方法的计算量,在满足精度的前提下能够保证机器人的实时性控制,再把解析法融合到数值法当中,同时获得给定末端位姿的多重运动学逆解,其次利用正运动学校验末端位置误差和姿态误差,确定满足精度的多重运动学逆解,降低多重运动学逆解的误差,提升机械臂控制精度,最后采用关节限制和关节位移最小约束筛选多重运动学逆解,得到可行、合理的机械臂控制轨迹,具有计算简单、控制精度高、实施成本低等特点。
附图说明
图1为本发明实施例中六自由度手腕偏置型串联机械臂的运动控制方法的流程图;
图2为本发明实施例中建立的机械臂D-H坐标系示意图;
图3为本发明实施例中启发式迭代方法的单次迭代过程示意图;
其中,(a)为机械臂各关节初始位姿和末端目标位姿的示意图;(b)为启发式正向迭代过程中由目标位姿t和机构约束确定末端位姿EE和腕关节W的位姿示意图;(c)为启发式正向迭代过程中确定肘关节E相对于腕关节W的偏转角度示意图;(d)为启发式正向迭代过程中确定肘关节E的位姿示意图;(e)为采用启发式正向迭代得到机械臂各关节的位姿示意图;(f)为启发式反向迭代过程中确定肩关节S和肘关节E的位姿示意图;(g)为采用启发式反向迭代得到机械臂各关节的位姿示意图;(h)为采用完整的启发式迭代方法得到的机械臂各关节的位姿示意图;
图4为本发明实施例中机械臂关节1分别以最大值和最小值作为输入值由启发式迭代方法得到的不同结果示意图;
其中,(a)为机械臂关节1以最大值作为输入值时机械臂各关节初始位姿示意图;(b)为机械臂关节1以最大值作为输入值由启发式迭代方法得到的机械臂各关节位姿示意图;(c)为机械臂关节1以最小值作为输入值时机械臂各关节初始位姿示意图;(d)为机械臂关节1以最小值作为输入值由启发式迭代方法得到的机械臂各关节位姿示意图;
图5为本发明实施例中机械臂关节1的角度初始值计算方法示意图;
图6为本发明实施例中机械臂正方形轨迹运动规划。
具体实施方式
为了使本发明的目的、技术方案及优势更加清晰,下面结合附图和具体实施例对本发明做进一步详细说明。此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
一种六自由度手腕偏置型串联机械臂的运动控制方法,流程如图1所示,包括以下步骤:
步骤1:根据D-H参数法建立六自由度手腕偏置型串联机械臂关节i的连杆坐标系{i},其中,i=1,2,3,4,5,6。
本实施例中,所建立的机械臂D-H坐标系示意图如图2所示,坐标系{i}与坐标系{i-1}之间的变换由四个参数构成,如下表所示:
其中:
ai-1为从zi-1到zi沿xi-1测量的距离;
αi-1为从zi-1到zi绕xi-1旋转的角度;
di为从xi-1到xi沿zi-1测量的距离;
θi为从xi-1到xi绕zi-1旋转的角度;
步骤2:根据机械臂的D-H参数采用齐次坐标变换矩阵建立机械臂的正运动学方程。
所述机械臂的正运动学方程如公式(1)所示:
其中,为坐标系{i}到坐标系{j}的4×4传递矩阵,nx、ny和nz分别为机械臂末端坐标系中x6轴与基坐标系的x0轴、y0轴和z0轴的夹角余弦值,ox、oy和oz分别为机械臂末端坐标系中y6轴与基坐标系的x0轴、y0轴和z0轴的夹角余弦值,ax、ay和az分别为机械臂末端坐标系中z6轴与基坐标系的x0轴、y0轴和z0轴的夹角余弦值,px、py和pz分别为机械臂末端执行器原点O6在基坐标系的x0轴、y0轴和z0轴上的坐标位置,其中:
nz=-cθ6[cθ5(cθ2sθ4-cθ3cθ4sθ2)+sθ2sθ3sθ5]-sθ6(cθ2cθ4+cθ3sθ2sθ4);
oz=sθ6[cθ5(cθ2sθ4-cθ3cθ4sθ2)+sθ2sθ3sθ5]-cθ6(cθ2cθ4+cθ3sθ2sθ4);
ax=sθ5[cθ4(sθ1sθ3-cθ1cθ2cθ3)-cθ1sθ2sθ4]-cθ5(cθ3sθ1+cθ1cθ2sθ3);
ay=-sθ5[cθ4(cθ1sθ3+sθ1cθ2cθ3)+sθ1sθ2sθ4]+cθ5(cθ3cθ1-sθ1cθ2sθ3);
az=sθ5(cθ2sθ4-cθ3cθ4sθ2)-sθ2sθ3cθ5;
px=d5[sθ4(sθ1sθ3-cθ1cθ2cθ3)+cθ1cθ4sθ2]+d3cθ1sθ2;
py=-d5[sθ4(cθ1sθ3+sθ1cθ2cθ3)-sθ1cθ4sθ2]+d3sθ1sθ2;
pz=-d5(cθ2cθ4+cθ3sθ4sθ2)-d3cθ2;
其中,θi为机械臂关节i的角度初始值,cθi为cosθi,sθi为sinθi。
步骤3:采用启发式迭代方法获取精确的机械臂关节1的角度初始值,迭代过程示意图如图3所示,具体步骤如下:
步骤3.1:定义机械臂末端执行器的给定位姿为t、末端执行器为EE、腕关节为W、肘关节为E、肩关节为S、末端执行器EE与腕关节W之间的杆长距离为dt、肘关节E与肩关节S之间的杆长距离为d3、腕关节W与肘关节E之间的杆长距离为d5,其中,W包括关节5和关节6,E包括关节3和关节4,S包括关节1和关节2,如图3(a)所示。
步骤3.2:取符合机械臂关节1限位的最大值。
步骤3.3:令机械臂末端执行器EE与末端执行器的给定位姿t重合,确定机械臂末端执行器EE的位姿EE’。
所述位姿为关节所在位置和姿态。
步骤3.4:令腕关节W沿机械臂末端执行器的位姿EE’的固定方向移动机械臂末端执行器EE与腕关节W之间的杆长距离dt,确定机械臂腕关节W的位姿W’,如图3(b)所示。
步骤3.5:过机械臂肘关节E的中心在末端执行器的位姿EE’与腕关节W的位姿W’所在直线上作垂线,并根据腕关节W的关节限位在此垂线所在的平面内确定肘关节E的可行域;
步骤3.6:将机械臂肘关节E移动到可行域内得到肘关节E在可行域内的位姿Ec,如图3(c)所示。
步骤3.7:令肘关节E沿腕关节W的位姿W’与肘关节E在可行域内的位姿Ec所在直线方向移动腕关节W与肘关节E之间的杆长距离d5,确定肘关节E的位姿E’,如图3(d)所示。
步骤3.8:过机械臂肩关节S的中心在腕关节W的位姿W’与肘关节E的位姿E’所在直线上作垂线,并根据肘关节E的关节限位在此垂线所在的平面内确定肩关节S的可行域,如图3(d)所示;
步骤3.9:将机械肩关节S移动到可行域内得到肩关节S在可行域内的位姿Sc。
步骤3.10:令肩关节S沿肘关节E的位姿E’与肩关节S在可行域内的位姿Sc所在直线方向移动肘关节E与肩关节S之间的杆长距离d3,确定肩关节S的位姿S’,如图3(e)所示。
步骤3.9:令肩关节S的位姿S’与原肩关节S的位姿base重合为S”,保持其余关节角度不变,利用启发式迭代方法分别得到机械臂各关节的逆运动学解的位姿E”、W”和EE”,如图3(f)-(h)所示。
步骤3.10:取符合机械臂关节1限位的最小值,重复步骤3.3-步骤3.9,得到机械臂各关节的另一组逆运动学解的位姿。
本实施例中,取符合机械臂关节1限位的最大值和最小值如图4(a)和(c)所示,所得到的机械臂各关节逆运动学解的位姿如图4(b)和(d)所示。
步骤3.11:定义垂直于关节1轴线的平面为Φ,平面Φ内竖直向下的向量为v0,上臂的方向向量为v1,v1在平面Φ内的投影向量为v2,如图5所示。
步骤3.12:分别根据两组机械臂各关节的逆解位姿下平面Φ内竖直向下的向量v0和v1在平面Φ内的投影向量v2,计算机械臂关节1的两个角度初始值θ1和θ1’。
步骤4:根据机械臂关节1的两个角度初始值θ1和θ1’分别计算关节2到关节6的逆运动学解的角度值。
所述计算关节2到关节6的逆运动学解的角度值的公式如公式(2)-公式(6)所示:
其中:
φ=Atan2(pz,pxcθ1+pysθ1);
θ3=Atan2(pxsθ1-pycθ1,-pzsθ2-pxcθ1cθ2-pycθ2sθ1) (3)
其中:
χ=(pxcθ1sθ2+pysθ1sθ2-pzcθ2-d3)/d5;
θ5=Atan2(-ζ,η) (5)
其中:
ζ=ax(cθ1sθ2sθ4-cθ4sθ1sθ3+cθ1cθ2cθ3cθ4)-az(cθ2sθ1-cθ3cθ4sθ2);
η=ay(cθ1cθ3-cθ2sθ1sθ3)-ax(cθ3sθ1+cθ1cθ2sθ3)-azsθ2sθ3;
θ6=Atan2(λ,τ) (6)
其中:
其中,θi为机械臂关节i的角度初始值,cθi为cosθi,sθi为sinθi。
步骤5:根据机械臂的正运动学方程计算机械臂末端执行器EE的位姿EE’与末端执行器的给定位姿t的误差r。
所述误差r根据实际情况具体设定。
本实施例中,设定r=0.1°。
本实施例中,将所得到的机械臂各关节逆运动学解的位姿代入到公式(1)中进行验证。
步骤6:判断误差r是否小于误差阈值,若是,则继续步骤7,若否,则将步骤3中得到的关节1的角度初始值增加或减去一个微小的α角度,返回步骤4。
所述微小的α角度均根据实际情况具体设定。
本实施例中,设定α=0.001°。
步骤7:在步骤6得到的多重解中筛选出符合关节限位和关节位移最小原则的一组逆运动学解的角度值;所述关节位移最小为机械臂各个关节的位移和最小。
步骤8:将步骤7得到的逆运动学解的角度值输入到已知机器人的运动控制模块,完成对六自由度手腕偏置型串联机械臂的运动控制。
对本发明提供的控制方法进行实验验证,实验环境如下:
CPU:Intel Core i7-8700k 3.70GHz;内存:16GB RAM;实验平台:MATLAB 2016b。
本实施例中,根据本发明提出的控制方法进行正方形轨迹规划,规划100个插值点,实验结果如图6所示,其中,末端执行器位置误差为10-15m,姿态误差为0.1°,规划100个插值点共耗时1.768s,平均每个插值点耗时17.7ms。
由实验结果可知,本发明提出的六自由度手腕偏置型串联机械臂的运动控制方法能够满足机器人高精度实时性控制要求,具有很高的应用价值和可推广性。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;因而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
Claims (4)
1.一种六自由度手腕偏置型串联机械臂的运动控制方法,其特征在于,包括如下步骤:
步骤1:根据D-H参数法建立六自由度手腕偏置型串联机械臂关节i的连杆坐标系{i},其中,i=1,2,3,4,5,6;
步骤2:根据机械臂的D-H参数采用齐次坐标变换矩阵建立机械臂的正运动学方程;
步骤3:采用启发式迭代方法获取精确的机械臂关节1的角度初始值,具体步骤如下:
步骤3.1:定义机械臂末端执行器的给定位姿为t、末端执行器为EE、腕关节为W、肘关节为E、肩关节为S、末端执行器EE与腕关节W之间的杆长距离为dt、肘关节E与肩关节S之间的杆长距离为d3、腕关节W与肘关节E之间的杆长距离为d5,其中,W包括关节5和关节6,E包括关节3和关节4,S包括关节1和关节2;
步骤3.2:取符合机械臂关节1限位的最大值;
步骤3.3:令机械臂末端执行器EE与末端执行器的给定位姿t重合,确定机械臂末端执行器EE的位姿EE’;
所述位姿为关节所在位置和姿态;
步骤3.4:令腕关节W沿机械臂末端执行器的位姿EE’的固定方向移动机械臂末端执行器EE与腕关节W之间的杆长距离dt,确定机械臂腕关节W的位姿W’;
步骤3.5:过机械臂肘关节E的中心在末端执行器的位姿EE’与腕关节W的位姿W’所在直线上作垂线,并根据腕关节W的关节限位在此垂线所在的平面内确定肘关节E的可行域;
步骤3.6:将机械臂肘关节E移动到可行域内得到肘关节E在可行域内的位姿Ec;
步骤3.7:令肘关节E沿腕关节W的位姿W’与肘关节E在可行域内的位姿Ec所在直线方向移动腕关节W与肘关节E之间的杆长距离d5,确定肘关节E的位姿E’;
步骤3.8:过机械臂肩关节S的中心在腕关节W的位姿W’与肘关节E的位姿E’所在直线上作垂线,并根据肘关节E的关节限位在此垂线所在的平面内确定肩关节S的可行域;
步骤3.9:将机械肩关节S移动到可行域内得到肩关节S在可行域内的位姿Sc;
步骤3.10:令肩关节S沿肘关节E的位姿E’与肩关节S在可行域内的位姿Sc所在直线方向移动肘关节E与肩关节S之间的杆长距离d3,确定肩关节S的位姿S’;
步骤3.9:令肩关节S的位姿S’与原肩关节S的位姿重合,保持其余关节角度不变,利用启发式迭代方法分别得到机械臂各关节的逆运动学解的位姿;
步骤3.10:取符合机械臂关节1限位的最小值,重复步骤3.3-步骤3.9,得到机械臂各关节的另一组逆运动学解的位姿;
步骤3.11:定义垂直于关节1轴线的平面为Φ,平面Φ内竖直向下的向量为v0,上臂的方向向量为v1,v1在平面Φ内的投影向量为v2;
步骤3.12:分别根据两组机械臂各关节的逆解位姿下平面Φ内竖直向下的向量v0和v1在平面Φ内的投影向量v2,计算机械臂关节1的两个角度初始值θ1和θ1’;
步骤4:根据机械臂关节1的两个角度初始值θ1和θ1’分别计算关节2到关节6的逆运动学解的角度值;
步骤5:根据机械臂的正运动学方程计算机械臂末端执行器EE的位姿EE’与末端执行器的给定位姿t的误差r;
步骤6:判断误差r是否小于误差阈值,若是,则继续步骤7,若否,则将步骤3中得到的关节1的角度初始值增加或减去一个微小的α角度,返回步骤4;
步骤7:在步骤6得到的多重解中筛选出符合关节限位和关节位移最小原则的一组逆运动学解的角度值;所述关节位移最小为机械臂各个关节的位移和最小;
步骤8:将步骤7得到的逆运动学解的角度值输入到已知机器人的运动控制模块,完成对六自由度手腕偏置型串联机械臂的运动控制。
2.根据权利要求1所述的六自由度手腕偏置型串联机械臂的运动控制方法,其特征在于,所述步骤2及步骤5中机械臂的正运动学方程如下:
其中,为坐标系{i}到坐标系{j}的4×4传递矩阵,nx、ny和nz分别为机械臂末端坐标系中x6轴与基坐标系的x0轴、y0轴和z0轴的夹角余弦值,ox、oy和oz分别为机械臂末端坐标系中y6轴与基坐标系的x0轴、y0轴和z0轴的夹角余弦值,ax、ay和az分别为机械臂末端坐标系中z6轴与基坐标系的x0轴、y0轴和z0轴的夹角余弦值,px、py和pz分别为机械臂末端执行器原点O6在基坐标系的x0轴、y0轴和z0轴上的坐标位置,其中:
nz=-cθ6[cθ5(cθ2sθ4-cθ3cθ4sθ2)+sθ2sθ3sθ5]-sθ6(cθ2cθ4+cθ3sθ2sθ4);
oz=sθ6[cθ5(cθ2sθ4-cθ3cθ4sθ2)+sθ2sθ3sθ5]--Cθ6(cθ2cθ4+cθ3sθ2sθ4);
ax=sθ5[cθ4(sθ1sθ3-cθ1cθ2cθ3)-cθ1sθ2sθ4]-cθ5(cθ3sθ1+cθ1cθ2sθ3);
ay=-sθ5[cθ4(cθ1sθ3+sθ1cθ2cθ3)+sθ1sθ2sθ4]+cθ5(cθ3cθ1-sθ1cθ2sθ3);
az=sθ5(cθ2sθ4-cθ3cθ4sθ2)-sθ2sθ3cθ5;
px=d5[sθ4(sθ1sθ3-cθ1cθ2cθ3)+cθ1cθ4sθ2]+d3cθ1sθ2;
py=-d5[sθ4(cθ1sθ3+sθ1cθ2cθ3)-sθ1cθ4sθ2]+d3sθ1sθ2;
pz=-d5(cθ2cθ4+cθ3sθ4sθ2)-d3cθ2;
其中,θi为机械臂关节i的角度初始值,cθi为cosθi,sθi为sinθi。
3.根据权利要求1所述的六自由度手腕偏置型串联机械臂的运动控制方法,其特征在于,所述步骤4中计算关节2到关节6的逆运动学解的角度值的公式如下:
其中:
φ=Atan2(pz,pxcθ1+pysθ1);
θ3=Atan2(pxsθ1-pycθ1,-,zsθ2-pxcθ1cθ2-pycθ2sθ1);
其中:
χ=(pxcθ1sθ2+pysθ1sθ2-pzcθ2-d3)/d5;
θ5=Atan2(-ζ,η);
其中:
ζ=ax(cθ1sθ2sθ4-cθ4sθ1sθ3+cθ1cθ2cθ3cθ4)-az(cθ2sθ1-cθ3cθ4sθ2);
η=ay(cθ1cθ3-cθ2sθ1sθ3)-ax(cθ3sθ1+cθ1cθ2sθ3)-azsθ2sθ3;
θ6=Atan2(λ,τ);
其中:
其中,θi为机械臂关节i的角度初始值,cθi为cosθi,sθi为sinθi,nx、ny和nz分别为,ox、oy和oz分别为,ax、ay和az分别为,px、py和pz分别为机械臂末端执行器在x轴、y轴和z轴上的坐标位置。
4.根据权利要求1所述的六自由度手腕偏置型串联机械臂的运动控制方法,其特征在于,所述步骤5和步骤6中对应的误差r和微小的α角度均根据实际情况具体设定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810618375.2A CN108673509B (zh) | 2018-06-15 | 2018-06-15 | 一种六自由度手腕偏置型串联机械臂的运动控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810618375.2A CN108673509B (zh) | 2018-06-15 | 2018-06-15 | 一种六自由度手腕偏置型串联机械臂的运动控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108673509A true CN108673509A (zh) | 2018-10-19 |
CN108673509B CN108673509B (zh) | 2021-06-01 |
Family
ID=63811138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810618375.2A Active CN108673509B (zh) | 2018-06-15 | 2018-06-15 | 一种六自由度手腕偏置型串联机械臂的运动控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108673509B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110385718A (zh) * | 2019-06-24 | 2019-10-29 | 中国科学院合肥物质科学研究院 | 一种六自由度治疗床的运动控制方法 |
CN110576438A (zh) * | 2019-08-21 | 2019-12-17 | 哈尔滨工业大学(深圳) | 一种联动柔性机械臂的简化运动学求解方法、装置及系统 |
CN111452041A (zh) * | 2020-03-17 | 2020-07-28 | 湖南工业大学 | 一种非球腕6r机器人逆运动学求取方法 |
CN112975954A (zh) * | 2021-02-03 | 2021-06-18 | 武汉联影智融医疗科技有限公司 | 机械臂的控制方法、计算机设备和存储介质 |
CN113126568A (zh) * | 2021-03-10 | 2021-07-16 | 上海乾庾智能科技有限公司 | 一种基于增强现实技术的工业机器人操作和演示系统 |
CN113127989A (zh) * | 2021-04-22 | 2021-07-16 | 中国科学院沈阳自动化研究所 | 一种六自由度机械臂逆运动学解析求解控制方法 |
CN113352327A (zh) * | 2021-06-28 | 2021-09-07 | 深圳亿嘉和科技研发有限公司 | 五自由度机械臂关节变量确定方法 |
CN113524171A (zh) * | 2021-05-26 | 2021-10-22 | 南京玖玖教育科技有限公司 | 多自由度机器人的控制方法、系统、机器人、设备及介质 |
CN114147714A (zh) * | 2021-12-02 | 2022-03-08 | 浙江机电职业技术学院 | 自主机器人机械臂控制参数计算方法和系统 |
CN114714327A (zh) * | 2022-03-14 | 2022-07-08 | 北京精密机电控制设备研究所 | 一种机械臂与灵巧手的融合系统及运动控制方法 |
CN114888815A (zh) * | 2022-07-04 | 2022-08-12 | 北京航空航天大学 | 一种连续体机器人逆运动学求解方法 |
CN114922179A (zh) * | 2022-05-31 | 2022-08-19 | 中国矿业大学 | 一种侧夹式液压打桩机位姿监测系统及其位姿反解方法 |
CN118143948A (zh) * | 2024-04-10 | 2024-06-07 | 北京天智航医疗科技股份有限公司 | 一种七自由度机械臂运动的控制方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120239194A1 (en) * | 2011-03-18 | 2012-09-20 | Denso Wave Incorporated | Method of detecting an inter-axis offset of 6-axis robot |
CN106202713A (zh) * | 2016-07-11 | 2016-12-07 | 尔智机器人(上海)有限公司 | 一种偏置机械臂逆运动学求解方法 |
CN106426176A (zh) * | 2016-11-08 | 2017-02-22 | 北京邮电大学 | 一种六自由度空间机械臂动态负载能力工作空间分析方法 |
CN107589934A (zh) * | 2017-07-24 | 2018-01-16 | 大连理工大学 | 一种关节型机械臂逆运动学解析解的求取方法 |
CN107685330A (zh) * | 2017-10-18 | 2018-02-13 | 佛山华数机器人有限公司 | 一种六自由度手腕偏置串联机器人的运动学逆解求解方法 |
-
2018
- 2018-06-15 CN CN201810618375.2A patent/CN108673509B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120239194A1 (en) * | 2011-03-18 | 2012-09-20 | Denso Wave Incorporated | Method of detecting an inter-axis offset of 6-axis robot |
CN106202713A (zh) * | 2016-07-11 | 2016-12-07 | 尔智机器人(上海)有限公司 | 一种偏置机械臂逆运动学求解方法 |
CN106426176A (zh) * | 2016-11-08 | 2017-02-22 | 北京邮电大学 | 一种六自由度空间机械臂动态负载能力工作空间分析方法 |
CN107589934A (zh) * | 2017-07-24 | 2018-01-16 | 大连理工大学 | 一种关节型机械臂逆运动学解析解的求取方法 |
CN107685330A (zh) * | 2017-10-18 | 2018-02-13 | 佛山华数机器人有限公司 | 一种六自由度手腕偏置串联机器人的运动学逆解求解方法 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110385718A (zh) * | 2019-06-24 | 2019-10-29 | 中国科学院合肥物质科学研究院 | 一种六自由度治疗床的运动控制方法 |
CN110385718B (zh) * | 2019-06-24 | 2022-05-17 | 中国科学院合肥物质科学研究院 | 一种六自由度治疗床的运动控制方法 |
CN110576438A (zh) * | 2019-08-21 | 2019-12-17 | 哈尔滨工业大学(深圳) | 一种联动柔性机械臂的简化运动学求解方法、装置及系统 |
CN111452041A (zh) * | 2020-03-17 | 2020-07-28 | 湖南工业大学 | 一种非球腕6r机器人逆运动学求取方法 |
CN112975954B (zh) * | 2021-02-03 | 2022-07-26 | 武汉联影智融医疗科技有限公司 | 机械臂的控制方法、计算机设备和存储介质 |
CN112975954A (zh) * | 2021-02-03 | 2021-06-18 | 武汉联影智融医疗科技有限公司 | 机械臂的控制方法、计算机设备和存储介质 |
CN113126568A (zh) * | 2021-03-10 | 2021-07-16 | 上海乾庾智能科技有限公司 | 一种基于增强现实技术的工业机器人操作和演示系统 |
CN113127989A (zh) * | 2021-04-22 | 2021-07-16 | 中国科学院沈阳自动化研究所 | 一种六自由度机械臂逆运动学解析求解控制方法 |
CN113127989B (zh) * | 2021-04-22 | 2024-02-06 | 中国科学院沈阳自动化研究所 | 一种六自由度机械臂逆运动学解析求解控制方法 |
CN113524171A (zh) * | 2021-05-26 | 2021-10-22 | 南京玖玖教育科技有限公司 | 多自由度机器人的控制方法、系统、机器人、设备及介质 |
CN113352327A (zh) * | 2021-06-28 | 2021-09-07 | 深圳亿嘉和科技研发有限公司 | 五自由度机械臂关节变量确定方法 |
CN114147714A (zh) * | 2021-12-02 | 2022-03-08 | 浙江机电职业技术学院 | 自主机器人机械臂控制参数计算方法和系统 |
CN114147714B (zh) * | 2021-12-02 | 2023-06-09 | 浙江机电职业技术学院 | 自主机器人机械臂控制参数计算方法和系统 |
WO2023173764A1 (zh) * | 2022-03-14 | 2023-09-21 | 北京精密机电控制设备研究所 | 一种机械臂与灵巧手的融合系统及运动控制方法 |
CN114714327A (zh) * | 2022-03-14 | 2022-07-08 | 北京精密机电控制设备研究所 | 一种机械臂与灵巧手的融合系统及运动控制方法 |
CN114922179A (zh) * | 2022-05-31 | 2022-08-19 | 中国矿业大学 | 一种侧夹式液压打桩机位姿监测系统及其位姿反解方法 |
CN114888815A (zh) * | 2022-07-04 | 2022-08-12 | 北京航空航天大学 | 一种连续体机器人逆运动学求解方法 |
CN118143948A (zh) * | 2024-04-10 | 2024-06-07 | 北京天智航医疗科技股份有限公司 | 一种七自由度机械臂运动的控制方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108673509B (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108673509B (zh) | 一种六自由度手腕偏置型串联机械臂的运动控制方法 | |
CN107685330B (zh) | 一种六自由度手腕偏置串联机器人的运动学逆解求解方法 | |
Gong et al. | Analytical inverse kinematics and self-motion application for 7-DOF redundant manipulator | |
US9031699B2 (en) | Kinematic predictor for articulated mechanisms | |
CN114043087B (zh) | 一种三维轨迹激光焊接焊缝跟踪姿态规划方法 | |
CN109895101A (zh) | 一种关节型机械臂逆运动学数值唯一解求取方法 | |
CN112605996B (zh) | 一种面向冗余机械臂的无模型碰撞避免控制方法 | |
CN107363813A (zh) | 一种基于可穿戴设备的桌面工业机器人示教系统和方法 | |
CN108406769A (zh) | 串联机器人的关节旋转角度确定方法及装置 | |
CN107729637A (zh) | 基于臂形角区间的冗余自由度机械臂运动规划及评价方法 | |
CN108908347B (zh) | 一种面向冗余移动机械臂容错型重复运动规划方法 | |
CN107791248B (zh) | 基于不满足Pieper准则的六自由度串联机器人的控制方法 | |
CN113878581B (zh) | 一种五自由度混联机器人误差预测及实时补偿方法 | |
CN110802600A (zh) | 一种六自由度关节型机器人的奇异性处理方法 | |
CN111958602B (zh) | 一种手腕偏置型6轴机器人实时逆解算法 | |
CN115179306A (zh) | 一种复杂木模工业机器人铣削及控制方法 | |
CN115213898A (zh) | 一种基于逆解多目标优化的焊接机器人笛卡尔空间轨迹规划方法 | |
CN112894814B (zh) | 一种基于最小二乘法的机械臂dh参数辨识方法 | |
CN116330267A (zh) | 一种基于工业机器人腕部奇异点计算的控制方法 | |
CN110450165A (zh) | 一种基于零力控制的机器人标定方法 | |
CN111515954B (zh) | 一种机械臂高质量运动路径生成方法 | |
CN116276990A (zh) | 基于神经网络训练的两自由度并联结构运动学正解方法 | |
CN116587264A (zh) | 一种多自由度机械臂的轨迹规划方法及验证方法 | |
CN111347678B (zh) | 一种多关节工业机器人3d打印路径优化方法 | |
Bai et al. | Coordinated motion planning of the mobile redundant manipulator for processing large complex components |
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 |