CN117817654A - 一种重载机器人运动规划方法 - Google Patents
一种重载机器人运动规划方法 Download PDFInfo
- Publication number
- CN117817654A CN117817654A CN202311573892.XA CN202311573892A CN117817654A CN 117817654 A CN117817654 A CN 117817654A CN 202311573892 A CN202311573892 A CN 202311573892A CN 117817654 A CN117817654 A CN 117817654A
- Authority
- CN
- China
- Prior art keywords
- mechanical arm
- axis
- joint
- heavy
- sdh
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 210000000707 wrist Anatomy 0.000 claims abstract description 12
- 238000004088 simulation Methods 0.000 claims abstract description 9
- 238000012795 verification Methods 0.000 claims abstract description 8
- 239000011159 matrix material Substances 0.000 claims description 30
- 230000009466 transformation Effects 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000013461 design Methods 0.000 claims description 7
- 239000012636 effector Substances 0.000 claims description 7
- 239000013598 vector Substances 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 4
- 238000000342 Monte Carlo simulation Methods 0.000 claims description 3
- 238000012821 model calculation Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 238000011160 research Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 102220121088 rs146420268 Human genes 0.000 description 1
- 102220029634 rs199798127 Human genes 0.000 description 1
- 102220015659 rs201107982 Human genes 0.000 description 1
- 102220162701 rs201262353 Human genes 0.000 description 1
- 102220062467 rs745423387 Human genes 0.000 description 1
- 210000003857 wrist joint Anatomy 0.000 description 1
Landscapes
- Numerical Control (AREA)
Abstract
本发明公开了一种重载机器人运动规划方法,属于机械臂运动规划方法技术领域,采用Standard D‑H参数法构建机械臂的关节连杆坐标系,依据步骤一构建的关节连杆坐标系建立机械臂正运动学模型,依据步骤二机械臂正运动学模型建立机械臂逆运动学模型,对六轴重型机械臂的腕部奇异点、肩部奇异点和肘部奇异点进行分析,对六轴重型机械臂进行运动学仿真与验证,解决了机械臂逆运动学求解面临存在性与非唯一性的问题。
Description
技术领域
本发明涉及一种机械臂运动规划方法,特别是涉及一种重载机器人运动规划方法,属于机械臂运动规划方法技术领域。
背景技术
机械臂运动学是工业机器人研究领域的一个重要方向,是研究机械臂运动控制和路径规划的基础,通过机械臂运动学的研究,可以确定机械臂在空间中的位置和姿态,以及其每一个关节的角度或位置,为后续的路径规划、动力学分析和控制设计提供数据基础,因此,机械臂运动学分析对于机械臂在执行各种工作任务中的运动控制精度、速度和稳定性都起到至关重要的作用。
目前,机械臂运动学研究已经非常成熟,国内外研究学者也开发出多种求解算法和计算步骤,其中运动学分析包括了运动学正解问题和逆解问题,运动学正解问题是根据关节在空间坐标系上的位置及其设定速度推导出机械臂末端执行器的位姿和速度,在研究构建正运动学模型的方法主要有D-H参数法和旋量法,其中D-H参数法由于其通过采用齐次坐标变换矩阵的形式,使用4个参数将机器人的位置和姿态在矩阵中统一描述,思路灵活清晰,适应于各种类型的机器人,在运动学正解问题的研究中受到国内外学者的广泛应用。
在机械臂逆运动学分析的方法中,有解析法、迭代法和几何法等多种方法,其中解析法是一种直接求解方程的方法,以此得到解析表达式,但是使用解析法要求机械臂必须具有规则的结构和较简单的工作空间形态才能够有效使用,而且解析解种类往往比较有限,在遇到错综复杂的机械结构或者偏离设计范围的情况下,不能满足实际应用需求,为了克服解析法存在的缺陷,研究者们还提出了迭代法和几何法,迭代法采用数值计算进行逐步求解,不需要知道解析表达式,因此更加泛用性强,它适合求解复杂非线性问题,比如遇到机械臂出现奇异点时,也可以通过调整迭代次数等参数进行优化求解,然而,无论采用哪种方法,机械臂逆运动学求解面临存在性与非唯一性的问题,其问题的分析与研究也远比运动学正解问题更加复杂,为此设计一种重载机器人运动规划方法来解决上述问题。
发明内容
本发明的主要目的是为了提供一种重载机器人运动规划方法。
本发明的目的可以通过采用如下技术方案达到:
一种重载机器人运动规划方法,包括如下步骤:
步骤一:采用Standard D-H参数法构建机械臂的关节连杆坐标系;
步骤二:依据步骤一构建的关节连杆坐标系建立机械臂正运动学模型;
步骤三:依据步骤二机械臂正运动学模型建立机械臂逆运动学模型;
步骤四:对六轴重型机械臂的腕部奇异点、肩部奇异点和肘部奇异点进行分析;
步骤五:对六轴重型机械臂进行运动学仿真与验证。
优选的,在步骤一中关节连杆坐标系Zi轴与i关节的旋转中心轴线重合,且方向沿着其轴线方向;
Xi轴与沿着相邻的Zi轴与Zi-1轴之间的公垂线重合;
Yi轴与Xi轴和Zi轴垂直并遵循右手定则;
连杆转角θi为从Zi-1轴的方向看Xi-1轴与Xi轴之间的夹角;
连杆距离di为沿Zi-1轴的方向,Xi-1轴与Xi轴之间的距离为两杆件之间的距离;
连杆偏距ai为沿Xi轴的方向,Zi-1轴到Zi轴之间的距离为两关节轴线之间的距离;
连杆转角αi为从Xi轴的方向看,Zi-1轴到Zi轴之间的夹角。
优选的,步骤二中建立机械臂正运动学模型是将Standard D-H参数法构建的关节连杆坐标系拆分成多个变换过程,具体包括如下步骤:
S11:绕Zi-1轴旋转θi使Xi-1轴和Xi轴之间互相平行;
S12:沿Zi-1轴平移di使Xi-1轴与Xi轴共线;
S13:沿Xi轴平移ai使Xi-1轴与Xi轴原点重合;
S14:绕Xi轴旋转αi使Zi-1轴到Zi轴对齐,从而完成变换。
优选的,步骤三中的机械臂逆运动学模型是通过机械臂正运动学模型得到的机械臂末端执行器的位姿矩阵计算出机械臂各关节的旋转角度。
优选的,通过使用MATLAB基础代码来编写机械臂正运动学模型计算流程,并给定机械臂特定关节角度进行实例计算,将运行后的结果与实际结果进行对比,来验证构建的机械臂正运动学模型矩阵T06的准确性。
优选的,在步骤五中对六轴重型机械臂进行运动学验证,验证构建的机械臂正运动学模型矩阵T06的准确性具体包括如下步骤:
S21:设定各关节转动初始角度;
S22:代入正运动学模型求解机械臂末端位姿矩阵,采用MATLAB算法求解机械臂末端位姿矩阵;
S23:将S22中采用正运动学模型求解机械臂末端位姿矩阵与采用MATLAB算法求解机械臂末端位姿矩阵结合进行比较判断是否相等;
S24:相等则正运动学模型正确,不相等则正运动学模型错误。
优选的,通过Matlab的Robotics Toolbos插件对该机械臂进行计算和仿真具体包括如下步骤:
S31:通过Toolbox插件中的link()和Serialink()函数调用构建机械臂连杆关系,即该机械臂的D-H参数;
L(1)=Link('d',705,'a',400,'alpha',pi/2,'standard');
L(2)=Link('d',0,'a',1100,'alpha',0,'offset',pi/2,'standard');
L(3)=Link('d',0,'a',243,'alpha',pi/2,'standard');
L(4)=Link('d',1104.42,'a',0,'alpha',-pi/2,'standard');
L(5)=Link('d',0,'a',0,'alpha',pi/2,'standard');
L(6)=Link('d',217,'a',0,'alpha',0,'standard');
robot=SerialLink(L,'name','Six-axis-HeavyDutyRobot','manufacturer','XianXuanJian');
S32:根据S31中机械臂设计参数设定各关节角的转动范围;
L(1).qlim=[-180,180]/180*pi;
L(2).qlim=[-53,78]/180*pi;
L(3).qlim=[-193,78]/180*pi;
L(4).qlim=[-360,360]/180*pi;
L(5).qlim=[-123,123]/180*pi;
L(6).qlim=[-360,360]/180*pi;
S33:设定各关节转动初始角度为0°,并转换为弧度制,通过机器人工具箱中的fkine函数进行机械臂的正运动学求解;
theta=[0 0 0 0 0 0];
theta=theta/180*pi;
T=robot.fkine(theta);
S34:当设定各关节转动初始角度分别为0、30、0、0、0、0时,有theta=[0 30 0 0 00];
theta=theta/180*pi;
T=robot.fkine(theta);
S35:将程序计算结果与构建的正运动学模型的结果对比分析,发现结果一致,证明机械臂正运动学建模成立。
优选的,在步骤五中对六轴重型机械臂进行运动学仿真,具体是根据蒙特卡洛法在构建好的机械臂连杆模型的基础上,通过rand()函数设置10000个随机关节角度进行末端位姿求解,对机械臂末端工作空间进行绘制,步骤如下:
S41:设置N个随机数;
S42:使每个关节在其运动范围内产生N个分布均匀的随机数,并将其组合N个关节向量;
S43:随机选取一组关节向量;
S44:根据正运动学求解关节向量对应机械臂的末端位姿点;
S45:判断是否达到边界,当为否的时候则进行S42至S45的重复操作,当为是的时候则绘制工作空间。
本发明的有益技术效果:
本发明提供的一种重载机器人运动规划方法,采用Standard D-H参数法构建机械臂的关节连杆坐标系,依据步骤一构建的关节连杆坐标系建立机械臂正运动学模型,依据步骤二机械臂正运动学模型建立机械臂逆运动学模型,对六轴重型机械臂的腕部奇异点、肩部奇异点和肘部奇异点进行分析,对六轴重型机械臂进行运动学仿真与验证,解决了机械臂逆运动学求解面临存在性与非唯一性的问题。
附图说明
图1为按照本发明的一种重载机器人运动规划方法的一优选实施例的构建连杆坐标系图。
图2为按照本发明的一种重载机器人运动规划方法的一优选实施例的机械臂的D-H参数坐标系图。
图3为按照本发明的一种重载机器人运动规划方法的一优选实施例的StandardD-H方法构建连杆间关系图。
图4为按照本发明的一种重载机器人运动规划方法的一优选实施例的变换过程流程图。
图5为按照本发明的一种重载机器人运动规划方法的一优选实施例的关节坐标系与笛卡尔坐标系间的关系图。
图6为按照本发明的一种重载机器人运动规划方法的一优选实施例的机械臂关节位置示意图。
图7为按照本发明的一种重载机器人运动规划方法的一优选实施例的关节5(W点)在基座表系下的投影图。
图8为按照本发明的一种重载机器人运动规划方法的一优选实施例的关节角θ1在x0Oy0平面上投影图。
图9为按照本发明的一种重载机器人运动规划方法的一优选实施例的求解关节角几何分析图。
图10为按照本发明的一种重载机器人运动规划方法的一优选实施例的求解关节角几何分析图。
图11为按照本发明的一种重载机器人运动规划方法的一优选实施例的求解关节角几何分析图。
图12为按照本发明的一种重载机器人运动规划方法的一优选实施例的腕部奇异点示意图。
图13为按照本发明的一种重载机器人运动规划方法的一优选实施例的肩部奇异点示意图。
图14为按照本发明的一种重载机器人运动规划方法的一优选实施例的肘部奇异点示意图。
图15为按照本发明的一种重载机器人运动规划方法的一优选实施例的正运动学方程的验证流程图。
图16为按照本发明的一种重载机器人运动规划方法的一优选实施例的Matlab程序计算结果示意图。
图17为按照本发明的一种重载机器人运动规划方法的一优选实施例的Matlab程序计算结果示意图。
图18为按照本发明的一种重载机器人运动规划方法的一优选实施例的Matlab程序计算结果示意图。
图19为按照本发明的一种重载机器人运动规划方法的一优选实施例的Matlab程序计算结果示意图。
图20为按照本发明的一种重载机器人运动规划方法的一优选实施例的机械臂连杆模型示意图。
图21为按照本发明的一种重载机器人运动规划方法的一优选实施例的蒙特卡洛算法绘制工作空间流程图。
图22为按照本发明的一种重载机器人运动规划方法的一优选实施例的机械臂工作空间点云图。
图23为按照本发明的一种重载机器人运动规划方法的一优选实施例的xoy平面投影图。
图24为按照本发明的一种重载机器人运动规划方法的一优选实施例的xoz平面投影图。
图25为按照本发明的一种重载机器人运动规划方法的一优选实施例的yoz平面投影图。
具体实施方式
为使本领域技术人员更加清楚和明确本发明的技术方案,下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
本发明对六轴重型机械臂,采用Standard D-H参数建模方法构建空间坐标系,然后获取确切参数,并分别对其进行正运动学和逆运动学求解,通过仿真软件进行进一步验证和完善,具体方案如下;
本发明研究的六轴重型机械臂的主要规格参数如表1所示:
表1为重型机械臂规格参数
如图1所示采用Standard D-H参数法构建机械臂的关节连杆坐标系:
如图2所示,Standard D-H方法构建连杆之间关系的规则如下:
关节连杆坐标系Zi轴与i关节的旋转中心轴线重合,且方向沿着其轴线方向;
Xi轴与沿着相邻的Zi轴与Zi-1轴之间的公垂线重合;
Yi轴与Xi轴和Zi轴垂直并遵循右手定则;
根据上述Standard D-H方法构建的关节连杆坐标系,按照如下规则:
连杆转角θi为从Zi-1轴的方向看Xi-1轴与Xi轴之间的夹角;
连杆距离di为沿Zi-1轴的方向,Xi-1轴与Xi轴之间的距离为两杆件之间的距离;
连杆偏距ai为沿Xi轴的方向,Zi-1轴到Zi轴之间的距离为两关节轴线之间的距离;
连杆转角αi为从Xi轴的方向看,Zi-1轴到Zi轴之间的夹角;
即可通过Standard D-H方法得到机械臂的D-H参数,如表2所示:
表2 D-H参数表
建立机械臂正运动学模型;
机械臂正运动学是指根据机械臂各关节的运动参数,计算机械臂末端执行器的位置、姿态和运动轨迹信息的过程;
如图4所示,通过机械臂相邻两杆件之间的空间几何关系,可以将Standard D-H参数方法构建的关节连杆坐标系拆分成多个变换过程;
根据其变换过程可以用下列齐次变换矩阵来表示(其中i=1-6):
;
;
(1)
将表2中建立好的机械臂D-H参数依次带入式1中,可得:
(2)
(3)
(4)
(5)
(6)
(7)
将上述式2到式7的六个齐次变换矩阵相乘,进而得到了该六轴重型机械臂的正运动学模型方程如下:
(8)
式中:
;
;
;
;
;
;
;
;
;
;
;
;
将表2中的机械臂初始位姿所对应的各关节角度分别带入式8中,通过矩阵计算,其结果为:
;
(9)
建立机械臂逆运动学模型;
上述内容完成了机械臂正运动学求解问题,将已知的关节角度变量去求解计算,从而获得了机械臂末端位姿信息在空间笛卡尔坐标系下的变换关系。
在机械臂接受信号完成运动控制的过程中,其内部程序所要解决的问题正好相反,需要由末端位姿反过来推导出关节角度变量,来驱动机械臂各关节的电机旋转,其关节坐标系与笛卡尔空间坐标系的关系如图5所示;
因此,机械臂逆运动学是机械臂运动求解最重要的一部分,也是机械臂运动控制分析最困难的问题之一,现已知机械臂末端执行器的位姿矩阵,来计算出机械臂各关节的旋转角度,但在分析求解过程中,会出现得到多个解的情况,无法准确地分析出一个封闭解,为了得到这个封闭形式的解,机械臂运动学模型需要遵循以下两个充分条件:
三个相邻的关节轴相交于一点;
三个相邻的关节轴互相平行;
本发明分析的六轴重型机械臂上关节4、关节5和关节6三个关节轴相交于同一个点,即符合第一个条件。
正因如此,该机械臂可以得到逆运动学封闭解,且本发明使用的是几何法和解析法相结合的形式求解机械臂运动学逆解,具体来说,就是使用几何法求解θ1至θ3,然后利用解析法求解θ4至θ6,使其计算量大大减少。
求解关节角θ1、θ2和θ3;
根据图6可知,该机械臂由六个转动副构成,其中机械臂上关节4、关节5和关节6三个关节的轴线相交于一点,便可以假设该点为三个关节坐标系的原点W,W点的位置即可表示为一个机械臂末端执行器的位姿与D-H参数d6的函数,也可以表示为一个关节变量的函数。
求解关节角;
当给定机械臂末端位姿,通过齐次变换获得关节5(W点)相对于基座坐标系下的变换关系,在根据图7就能求解出关节角θ1。
将式2进行矩阵求逆,可以得到:
(10)
再将式10求得的逆矩阵,获得如下形式:
;
(11)
分析式11,将矩阵中第一行和第二行的第4个元素相除可以得到:
(12)
根据图8所示,关节角θ1的取值由机械臂末端执行器所在基坐标系x0Oy0平面上的投影所在象限决定,即有:
(13)
(14)
(15)/>
求解关节角、/>;
此时当θ5=0时,关节轴4和关节轴6将会处于同一条直线上,便会有无穷多组θ4和θ6构成的运动学逆解,即下文提及的腕部奇异点。
这时,将末端位姿投影到m与基座坐标系的Z轴组成的平面上,则有三种情况出现,如图9、10和11所示,借此可以根据三角函数变换关系式求解出θ2和θ3。
图中m表示点O01到点O6(,/>,/>)在XOY平面上的矢量即:
;
当且/> 时有:
(16)
(17)
当且/> 时有:
(18)
(19)
当时有:
(20)
(21)
式中:
;
;
;
;/>
;
;
求解关节角θ4、θ5和θ6;
求解关节角、/>和/>后,通过解析法继续求解关节角/>、/>和/>,分别将式2、式3和式4进行矩阵求逆,可以得到:
(22)
(23)
(24)
借此,同式10,分别和式8的左右两边相乘,获得如下形式:
(25)
而式24左右两边分别为:
(26)
(27)
式中:
;
;
;
;
;
;
;
;
;
;
;
;
求解关节角
观察式26和式27,分析两矩阵中的第三行第2个元素,在关节角、/>和/>已知的情况下,求解出关节角/>的值。
(28)/>
对上式方程组进行求解,可以得到:
(29)
即
(30)
求解关节角、/>;
观察式26和式27,分析两矩阵中的第一行和第二行的第1个元素,在关节角、/>、和/>已知的情况下,求解出关节角/>的值。
(31)
化简可得:
(32)
即有
(33)
与求解关节角的过程相似,分析两矩阵中的第三行的第1个和第3个元素,在关节角/>、/>、/>和/>已知的情况下,求解出关节角/>的值。
(34)
转换形式可得:
(35)
即有
(36)
对于本发明中的六轴重型机械臂,其具有三种奇异点,分别为腕部奇异点、肩部奇异点和肘部奇异点。
通常机械臂运动到这些点上时可能会出现逆运动学求解计算中有无穷解的结果,所以通过了解和分析机械臂奇异点的位置信息,对机械臂关节角度多解进行判别,从而避免机械臂在运动过程中出现卡住或错转现象。
腕部奇异点;
如图12所示,当机械臂两个手腕轴(关节轴4和关节轴6)处于同一条直线上时,不管这两个手腕轴如何转动,在其他关节角度不变的情况下,机械臂末端点在空间坐标系上的位置是始终不变,从而出现无穷多组关节旋转角度的组合解。
肩部奇异点;
如图13所示,肩部奇异点是发生在机械臂的关节轴6和关节轴1处于同一条直线时,与腕部奇异点类似,当处于该位置时,关节轴1会有无穷多解,这可能会导致这些关节出现立即旋转180°的情况。
肘部奇异点
如图14所示,描述了肘部奇异点所处位置,即机械臂手腕关节的中心点C与关节轴2和关节轴3处于同一平面上,腕部奇异点看起来就像机器人“伸的太远”,导致腕部被锁定在某个空间位置上,造成关节3无法转动的现象。
通过使用MATLAB基础代码来编写机械臂正运动学模型计算流程,并给定机械臂特定关节角度进行实例计算,将运行后的结果与实际结果进行对比,来验证构建的机械臂正运动学模型矩阵T06的准确性,验证流程如图15所示。
具体步骤如下:
声明参数变量,分别为theta(关节角)、d(连杆偏距)、a(连杆长度)、alpha(连杆转角),并将这些参数组合成矩阵SDH,方便调用。
syms theta1 d1 a1 alpha1;
syms theta2 d2 a2 alpha2;
syms theta3 d3 a3 alpha3;
syms theta4 d4 a4 alpha4;
syms theta5 d5 a5 alpha5;
syms theta6 d6 a6 alpha6;
SDH=[theta1, d1, a1, alpha1;
theta2, d2, a2, alpha2;
theta3, d3, a3, alpha3;
theta4, d4, a4, alpha4;
theta5, d5, a5, alpha5;
theta6, d6, a6, alpha6];
根据式1用齐次坐标变换建立各坐标系间的旋转变换矩阵;
T01=[cos(SDH(1,1)),-sin(SDH(1,1))*cos(SDH(1,4)),sin(SDH(1,1))*sin(SDH(1,4)) ,cos(SDH(1,1))*SDH(1,3);
sin(SDH(1,1)),cos(SDH(1,1))*cos(SDH(1,4)),-cos(SDH(1,1))*sin(SDH(1,4)),sin(SDH(1,1))*SDH(1,3);
0,sin(SDH(1,4)) ,cos(SDH(1,4)),SDH(1,2);
0,0,0,1];
T12=[cos(SDH(2,1)),-sin(SDH(2,1))*cos(SDH(2,4)),sin(SDH(2,1))*sin(SDH(2,4)),cos(SDH(2,1))*SDH(2,3);
sin(SDH(2,1)),cos(SDH(2,1))*cos(SDH(2,4)),-cos(SDH(2,1))*sin(SDH(2,4)),sin(SDH(2,1))*SDH(2,3);
0,sin(SDH(2,4)),cos(SDH(2,4)),SDH(2,2);
0,0,0,1];
T23=[cos(SDH(3,1)),-sin(SDH(3,1))*cos(SDH(3,4)),sin(SDH(3,1))*sin(SDH(3,4)),cos(SDH(3,1))*SDH(3,3);
sin(SDH(3,1)),cos(SDH(3,1))*cos(SDH(3,4)),-cos(SDH(3,1))*sin(SDH(3,4)),sin(SDH(3,1)) *SDH(3,3);
0,sin(SDH(3,4)),cos(SDH(3,4)),SDH(3,2);
0,0,0,1];
T34=[cos(SDH(4,1)),-sin(SDH(4,1))*cos(SDH(4,4)),sin(SDH(4,1))*sin(SDH(4,4)),cos(SDH(4,1))*SDH(4,3);
sin(SDH(4,1)),cos(SDH(4,1))*cos(SDH(4,4)),-cos(SDH(4,1))*sin(SDH(4,4)),sin(SDH(4,1))*SDH(4,3);
0,sin(SDH(4,4)),cos(SDH(4,4)),SDH(4,2);
0,0,0,1];
T45=[cos(SDH(5,1)),-sin(SDH(5,1))*cos(SDH(5,4)),sin(SDH(5,1))*sin(SDH(5,4)),cos(SDH(5,1))*SDH(5,3);
sin(SDH(5,1)),cos(SDH(5,1))*cos(SDH(5,4)),-cos(SDH(5,1))*sin(SDH(5,4)),sin(SDH(5,1))*SDH(5,3);
0,sin(SDH(5,4)),cos(SDH(5,4)),SDH(5,2);
0,0,0,1];
T56=[cos(SDH(6,1)),-sin(SDH(6,1))*cos(SDH(6,4)),sin(SDH(6,1))*sin(SDH(6,4)),cos(SDH(6,1))*SDH(6,3);
sin(SDH(6,1)),cos(SDH(6,1))*cos(SDH(6,4)),-cos(SDH(6,1))*sin(SDH(6,4)),sin(SDH(6,1))*SDH(6,3);
0,sin(SDH(6,4)),cos(SDH(6,4)),SDH(6,2);
0,0,0,1];
矩阵相乘求解机械臂的正运动学齐次变换矩阵T06;
T02=T01*T12;
T03=T02*T23;
T04=T03*T34;
T05=T04*T45;
T06=T05*T56;
将表2的D-H参数分别定义各变量,设定各关节转动初始角度均为0°和各关节转动初始角度分别为0°、30°、0°、0°、0°、0°两种情况,运行程序,得出如图16和17所示的结果。
为了进一步验证机械臂运动学正解结果的正确性,通过Matlab的RoboticsToolbos插件对该机械臂进行计算和仿真步骤如下:
通过Toolbox插件中的link()和Serialink()函数调用构建机械臂连杆关系,即该机械臂的D-H参数;
L(1)=Link('d',705,'a',400,'alpha',pi/2,'standard');
L(2)=Link('d',0,'a',1100,'alpha',0,'offset',pi/2,'standard');
L(3)=Link('d',0,'a',243,'alpha',pi/2,'standard');
L(4)=Link('d',1104.42,'a',0,'alpha',-pi/2,'standard');
L(5)=Link('d',0,'a',0,'alpha',pi/2,'standard');
L(6)=Link('d',217,'a',0,'alpha',0,'standard');
robot=SerialLink(L ,'name' ,'Six-axis-HeavyDutyRobot','manufacturer','XianXuanJian');
根据表1机械臂设计参数设定各关节角的转动范围;
L(1).qlim=[-180,180]/180*pi;
L(2).qlim=[-53,78]/180*pi;
L(3).qlim=[-193,78]/180*pi;
L(4).qlim=[-360,360]/180*pi;
L(5).qlim=[-123,123]/180*pi;
L(6).qlim=[-360,360]/180*pi;
设定各关节转动初始角度为0°,并转换为弧度制,通过机器人工具箱中的fkine函数进行机械臂的正运动学求解,如图18所示;
theta=[0 0 0 0 0 0];
theta=theta/180*pi;
T=robot.fkine(theta);
如图19所示,而当设定各关节转动初始角度分别为0、30、0、0、0、0时,有theta=[030 0 0 0 0];
theta=theta/180*pi;
T=robot.fkine(theta);
将程序计算结果与构建的正运动学模型的结果对比分析,发现结果一致,证明机械臂正运动学建模成立。
如图20所示,下面继续通过机器人工具箱中的plot和teach函数分别对机械臂进行连杆建模和示教仿真;
W=[-4000,+4000,-4000,+4000,-4000,+4000];
robot.plot(theta,'tilesize',150,'workspace',W);
robot.teach(T);
根据蒙特卡洛法,在构建好的机械臂连杆模型的基础上,通过rand()函数设置10000个随机关节角度进行末端位姿求解,借此对机械臂末端工作空间进行绘制,步骤如图21所示。
设置10000个随机关节角度;
N=10000;
theta1=L(1).qlim(1)+rand(N,1)*(L(1).qlim(2)-L(1).qlim(1));
theta2=L(2).qlim(1)+rand(N,1)*(L(2).qlim(2)-L(2).qlim(1));
theta3=L(3).qlim(1)+rand(N,1)*(L(3).qlim(2)-L(3).qlim(1));
theta4=L(4).qlim(1)+rand(N,1)*(L(4).qlim(2)-L(4).qlim(1));
theta5=L(5).qlim(1)+rand(N,1)*(L(5).qlim(2)-L(5).qlim(1));
theta6=L(6).qlim(1)+rand(N,1)*(L(6).qlim(2)-L(6).qlim(1));
对设定好的关节角度通过fkine函数进行正运动学求解,并使用plot3函数画出机械臂工作空间点云图,如图22所示。
for n=1:1:N
q=[theta1(n) theta2(n) theta3(n) theta4(n) theta5(n) theta6(n)];
robot.plot(q);
Workspace=robot.fkine(q);
A=zeros(3,1);
A(:,1)=Workspace(1,1,1).t;
plot3(A(1,1),A(2,1),A(3,1),'b.','MarkerSize',1);
xlabel('X');
ylabel('Y');
zlabel('Z');
hold on;
end
为了将点云图形分别在xoy、xoz和yoz平面上进行投影,其投影图如图23、图24、图25所示;
通过图23、图24、图25中可以看出,机械臂末端可达区域基本覆盖该最大区域内的所有空间,证明该机械臂结构设计合理,符合设计要求。
以上,仅为本发明进一步的实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明所公开的范围内,根据本发明的技术方案及其构思加以等同替换或改变,都属于本发明的保护范围。
Claims (8)
1.一种重载机器人运动规划方法,其特征在于:包括如下步骤:
步骤一:采用Standard D-H参数法构建机械臂的关节连杆坐标系;
步骤二:依据步骤一构建的关节连杆坐标系建立机械臂正运动学模型;
步骤三:依据步骤二机械臂正运动学模型建立机械臂逆运动学模型;
步骤四:对六轴重型机械臂的腕部奇异点、肩部奇异点和肘部奇异点进行分析;
步骤五:对六轴重型机械臂进行运动学仿真与验证。
2.根据权利要求1所述的一种重载机器人运动规划方法,其特征在于:在步骤一中关节连杆坐标系Zi轴与i关节的旋转中心轴线重合,且方向沿着其轴线方向;
Xi轴与沿着相邻的Zi轴与Zi-1轴之间的公垂线重合;
Yi轴与Xi轴和Zi轴垂直并遵循右手定则;
连杆转角θi为从Zi-1轴的方向看Xi-1轴与Xi轴之间的夹角;
连杆距离di为沿Zi-1轴的方向,Xi-1轴与Xi轴之间的距离为两杆件之间的距离;
连杆偏距ai为沿Xi轴的方向,Zi-1轴到Zi轴之间的距离为两关节轴线之间的距离;
连杆转角αi为从Xi轴的方向看,Zi-1轴到Zi轴之间的夹角。
3.根据权利要求2所述的一种重载机器人运动规划方法,其特征在于:步骤二中建立机械臂正运动学模型是将Standard D-H参数法构建的关节连杆坐标系拆分成多个变换过程,具体包括如下步骤:
S11:绕Zi-1轴旋转θi使Xi-1轴和Xi轴之间互相平行;
S12:沿Zi-1轴平移di使Xi-1轴与Xi轴共线;
S13:沿Xi轴平移ai使Xi-1轴与Xi轴原点重合;
S14:绕Xi轴旋转αi使Zi-1轴到Zi轴对齐,从而完成变换。
4.根据权利要求3所述的一种重载机器人运动规划方法,其特征在于:步骤三中的机械臂逆运动学模型是通过机械臂正运动学模型得到的机械臂末端执行器的位姿矩阵计算出机械臂各关节的旋转角度。
5.根据权利要求4所述的一种重载机器人运动规划方法,其特征在于:通过使用MATLAB基础代码来编写机械臂正运动学模型计算流程,并给定机械臂特定关节角度进行实例计算,将运行后的结果与实际结果进行对比,来验证构建的机械臂正运动学模型矩阵T06的准确性。
6.根据权利要求5所述的一种重载机器人运动规划方法,其特征在于:在步骤五中对六轴重型机械臂进行运动学验证,验证构建的机械臂正运动学模型矩阵T06的准确性具体包括如下步骤:
S21:设定各关节转动初始角度;
S22:代入正运动学模型求解机械臂末端位姿矩阵,采用MATLAB算法求解机械臂末端位姿矩阵;
S23:将S22中采用正运动学模型求解机械臂末端位姿矩阵与采用MATLAB算法求解机械臂末端位姿矩阵结合进行比较判断是否相等;
S24:相等则正运动学模型正确,不相等则正运动学模型错误。
7.根据权利要求1所述的一种重载机器人运动规划方法,其特征在于:通过Matlab的Robotics Toolbos插件对该机械臂进行计算和仿真具体包括如下步骤:
S31:通过Toolbox插件中的link()和Serialink()函数调用构建机械臂连杆关系,即该机械臂的D-H参数;
L(1)=Link('d',705,'a',400,'alpha',pi/2,'standard');
L(2)=Link('d',0,'a',1100,'alpha',0,'offset',pi/2,'standard');
L(3)=Link('d',0,'a',243,'alpha',pi/2,'standard');
L(4)=Link('d',1104.42,'a',0,'alpha',-pi/2,'standard');
L(5)=Link('d',0,'a',0,'alpha',pi/2,'standard');
L(6)=Link('d',217,'a',0,'alpha',0,'standard');
robot=SerialLink(L,'name','Six-axis-HeavyDutyRobot','manufacturer','XianXuanJian');
S32:根据S31中机械臂设计参数设定各关节角的转动范围;
L(1).qlim=[-180,180]/180*pi;
L(2).qlim=[-53,78]/180*pi;
L(3).qlim=[-193,78]/180*pi;
L(4).qlim=[-360,360]/180*pi;
L(5).qlim=[-123,123]/180*pi;
L(6).qlim=[-360,360]/180*pi;
S33:设定各关节转动初始角度为0°,并转换为弧度制,通过机器人工具箱中的fkine函数进行机械臂的正运动学求解;
theta=[0 0 0 0 0 0];
theta=theta/180*pi;
T=robot.fkine(theta);
S34:当设定各关节转动初始角度分别为0、30、0、0、0、0时,有theta=[0 30 0 0 0 0];
theta=theta/180*pi;
T=robot.fkine(theta);
S35:将程序计算结果与构建的正运动学模型的结果对比分析,发现结果一致,证明机械臂正运动学建模成立。
8.根据权利要求1所述的一种重载机器人运动规划方法,其特征在于:在步骤五中对六轴重型机械臂进行运动学仿真,具体是根据蒙特卡洛法在构建好的机械臂连杆模型的基础上,通过rand()函数设置10000个随机关节角度进行末端位姿求解,对机械臂末端工作空间进行绘制,步骤如下:
S41:设置N个随机数;
S42:使每个关节在其运动范围内产生N个分布均匀的随机数,并将其组合N个关节向量;
S43:随机选取一组关节向量;
S44:根据正运动学求解关节向量对应机械臂的末端位姿点;
S45:判断是否达到边界,当为否的时候则进行S42至S45的重复操作,当为是的时候则绘制工作空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311573892.XA CN117817654A (zh) | 2023-11-23 | 2023-11-23 | 一种重载机器人运动规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311573892.XA CN117817654A (zh) | 2023-11-23 | 2023-11-23 | 一种重载机器人运动规划方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117817654A true CN117817654A (zh) | 2024-04-05 |
Family
ID=90521470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311573892.XA Pending CN117817654A (zh) | 2023-11-23 | 2023-11-23 | 一种重载机器人运动规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117817654A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109623811A (zh) * | 2018-11-28 | 2019-04-16 | 江苏聚缘机械设备有限公司 | 四自由度的自动装甑机器人的投料方法 |
US20190111562A1 (en) * | 2017-10-18 | 2019-04-18 | Foshan Huashu Robotics Co., Ltd. | Numerical method for obtaining the inverse kinematics of six-degree-of-freedom serial robot with an offset wrist |
CN109895101A (zh) * | 2019-04-09 | 2019-06-18 | 大连理工大学 | 一种关节型机械臂逆运动学数值唯一解求取方法 |
JP2020171989A (ja) * | 2019-04-10 | 2020-10-22 | 国立大学法人 名古屋工業大学 | ロボット教示システム |
CN112084576A (zh) * | 2020-08-17 | 2020-12-15 | 盐城工学院 | 车载机械臂运动学建模方法 |
CN112549017A (zh) * | 2020-10-27 | 2021-03-26 | 南京凌华微电子科技有限公司 | 避免关节极限的双臂机器人协作空间求解方法 |
CN113580135A (zh) * | 2021-08-09 | 2021-11-02 | 华中科技大学 | 一种有偏置七轴机器人实时逆解算法 |
CN115781677A (zh) * | 2022-11-29 | 2023-03-14 | 埃夫特智能装备股份有限公司 | 一种防止机械臂软管管路缠绕的轨迹规划算法 |
CN116038647A (zh) * | 2023-02-03 | 2023-05-02 | 五邑大学 | 代步车、机械臂的控制方法、电子设备及存储介质 |
CN116330267A (zh) * | 2021-12-23 | 2023-06-27 | 山东新松工业软件研究院股份有限公司 | 一种基于工业机器人腕部奇异点计算的控制方法 |
-
2023
- 2023-11-23 CN CN202311573892.XA patent/CN117817654A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190111562A1 (en) * | 2017-10-18 | 2019-04-18 | Foshan Huashu Robotics Co., Ltd. | Numerical method for obtaining the inverse kinematics of six-degree-of-freedom serial robot with an offset wrist |
CN109623811A (zh) * | 2018-11-28 | 2019-04-16 | 江苏聚缘机械设备有限公司 | 四自由度的自动装甑机器人的投料方法 |
CN109895101A (zh) * | 2019-04-09 | 2019-06-18 | 大连理工大学 | 一种关节型机械臂逆运动学数值唯一解求取方法 |
JP2020171989A (ja) * | 2019-04-10 | 2020-10-22 | 国立大学法人 名古屋工業大学 | ロボット教示システム |
CN112084576A (zh) * | 2020-08-17 | 2020-12-15 | 盐城工学院 | 车载机械臂运动学建模方法 |
CN112549017A (zh) * | 2020-10-27 | 2021-03-26 | 南京凌华微电子科技有限公司 | 避免关节极限的双臂机器人协作空间求解方法 |
CN113580135A (zh) * | 2021-08-09 | 2021-11-02 | 华中科技大学 | 一种有偏置七轴机器人实时逆解算法 |
CN116330267A (zh) * | 2021-12-23 | 2023-06-27 | 山东新松工业软件研究院股份有限公司 | 一种基于工业机器人腕部奇异点计算的控制方法 |
CN115781677A (zh) * | 2022-11-29 | 2023-03-14 | 埃夫特智能装备股份有限公司 | 一种防止机械臂软管管路缠绕的轨迹规划算法 |
CN116038647A (zh) * | 2023-02-03 | 2023-05-02 | 五邑大学 | 代步车、机械臂的控制方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107589934B (zh) | 一种关节型机械臂逆运动学解析解的求取方法 | |
CN109895101B (zh) | 一种关节型机械臂逆运动学数值唯一解求取方法 | |
Singh et al. | Forward and inverse kinematic analysis of robotic manipulators | |
CN110757454B (zh) | 一种双机器人协同旋转的路径规划方法和装置 | |
CN107584474B (zh) | 一种基于几何投影的球面关节双臂机器人协调运动方法 | |
CN111791234A (zh) | 一种狭窄空间内多机器人空间工作位置防撞控制算法 | |
Shimizu | Analytical inverse kinematics for 5-DOF humanoid manipulator under arbitrarily specified unconstrained orientation of end-effector | |
CN108527368B (zh) | 柔性支撑串联工业机器人作业最优初始位姿确定方法 | |
Xiao et al. | Simulation research of a six degrees of freedom manipulator kinematics based On MATLAB toolbox | |
CN116330267A (zh) | 一种基于工业机器人腕部奇异点计算的控制方法 | |
Siciliano et al. | Kinematics | |
CN111430022A (zh) | 一种穿刺手术机器人穿刺算法 | |
CN117817654A (zh) | 一种重载机器人运动规划方法 | |
Kang et al. | Coordinated workspace analysis and trajectory planning of redundant dual-arm robot | |
Haihua et al. | Cooperative motion planning of dual industrial robots via offline programming | |
Mehmood et al. | Analysis of end-effector position and orientation for 2P-3R planer pneumatic robotic arm | |
Yue | Kinematic modelling and simulation of LeArm robot | |
Jianjun et al. | Monte Carlo method for searching functional workspace of an underwater manipulator | |
Ge et al. | Kinematics modeling and analysis of manipulator using the dual quaternion | |
Wen et al. | Offline kinematics simulation of 6-DOF welding robot | |
Faulkner et al. | A generalised, modular, approach for the forward kinematics of continuum soft robots with sections of constant curvature | |
Asadi | Planning Arm with 5 Degrees of Freedom for Moving Objects Based on Geometric Coordinates and Color | |
Shen | Kinematics Analysis and Trajectory Planning of Robot Based on MATLAB | |
Yumbla et al. | Wire harness connectors mating process by dual-arm co-manipulation using maximum manipulability | |
Leniowski et al. | Algorithm for inverse kinematics of a multi-link manipulator |
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 |