机械臂运动学笔记(一):正向运动学

正向运动学指的是通过相邻关节间的转动和移动坐标,将末端的坐标计算出来。

反向运动学指的是已知机械臂末端的坐标,反算每个关节可能的转动和移动参数。

参考资料:4.机械臂几何法与DH表示法_哔哩哔哩_bilibili

一.任意连杆连接的变量定义(Craig DH)

假设对于任意轴,只存在转动或移动。

对于任意多个轴连接,相邻两个轴之间,其连杆(绿色),轴的夹角(橙色),连杆的偏距(紫色),关节角(红色)如下图所示。

其方向为X轴沿着连杆方向,Y轴为右手定则方向,Z轴为旋转方向右手定则指向的大拇指方向

多杆连接时,一共有四个参数(\alpha _{i-1},a _{i-1},d _{i}\theta _{i}

\alpha _{i-1}:表示从第frame_i-1坐标系的X _{i-1}向其坐标系原点看过去Z_{i}相对于Z _{i-1}的旋转角度,若为顺时针K _{i}度,\alpha _{i-1}=-K _{i}(顺时针为负,逆时针为正)

a _{i-1}:表示沿着第frame_i-1坐标系的X _{i-1}方向两个坐标系原点发生位移量为La _{i-1}=L

d _{i}:表示沿着第frame_i坐标系的Z_{i}方向两个坐标系的原点发生了d的位移d _{i}=d

\theta _{i}:从第frame_i坐标系的Z_{i}向其坐标原点看过去X _{i}相较于X _{i-1}顺时针旋转M_{i}\theta _{i}=-M_{i}(顺时针为负,逆时针为正)

二.不同坐标系间的坐标变换

对于两个坐标系间的坐标变换,存在:点Pa为A系下的坐标,若要变成B系,则=R+=,其中为A系到B系的变换矩阵;相当于A系在B系中的位姿坐标;相当于B系经过平移旋转和A系重合时,该平移旋转的组成为变换矩阵

那么对于两个轴之间的坐标转换,若要将第i个坐标系的点P_{i}转换到i-1坐标系下P_{i-1},其变换矩阵相当于第i-1个坐标系,经过变换矩阵T^{_{i}^{i-1}}(一系列旋转平移)变成第i个坐标系。那么这一系列变换可分为连续的四个步骤,1)先将i-1坐标系经过a _{i-1}旋转变为R坐标系,使得i-1坐标系与i坐标系的Z轴平行。2)将R系经过a _{i-1}平移变成Q坐标系,使得i-1坐标系与i坐标系的原点的X,Y坐标相同

3)将Q坐标系经过\theta _{i}的旋转变为P坐标系,使得i-1坐标系与i坐标系姿态完全相同

4)将P坐标系经过d _{i}平移,使得i-1坐标系与i坐标系位置完全相同

三.通用的变换矩阵计算

按照上述的变换方式,计算变换矩阵如下:

四:例1:对于RRR(3转轴)平面机械臂

平面机械臂:其Z轴互相平行,则所有的Z轴夹角=0;其连杆都在同一平面上,连杆的偏距=0;

地杆frame0坐标系不动(可理解为基座标),其坐标原点与第一个杆坐标系重合,沿着X0方向,两个坐标系的位移为0,故=0,转角=

机械臂末端(爪子),相对于最后一个坐标系frame3的坐标为(L3,0,0)

将上述的四个参数代入通用表达式,可以得到对应的变换矩阵

五.例2:RRR非平面三转轴机械臂

其Z轴和X轴各有两种选择方案,共有四种选择方案

以第一种为例:

图中,以i=2为例,即2轴与1轴的坐标系转换关系

:从第frame_1坐标系的X1向其坐标系原点看过去Z2相对于Z1的旋转角度为顺时针90度,=-90

:沿着第frame_1坐标系的X1方向两个坐标系原点未发生位移=0

:沿着第frame_2坐标系的Z2方向两个坐标系的原点发生了L1的位移=L1

从第frame_2坐标系的Z2向其坐标原点看过去X2轴相较于X1轴顺时针旋转90度

六.例3:六轴机械臂的正向运动学推理

6.1DH参数推导

机械臂结构尺寸:

其DH参数可以表示为:

6.2各关节变换矩阵

计算各Ti的具体数值为:

注意以下的theat为经过三角恒等变换后的,实际的关节角

在这里强烈推荐Wolfram用于数学计算

总的变换矩阵T_total=T_{6}^{0}=T_{1}^{0}T_{2}^{1}T_{3}^{2}T_{4}^{3}T_{5}^{4}T_{6}^{5}

1)T_{2}^{0}=T_{1}^{0}T_{2}^{1}

2)T_{3}^{0}=T_{1}^{0}T_{2}^{1}T_{3}^{2}

3)T_{4}^{0}=T_{1}^{0}T_{2}^{1}T_{3}^{2}T_{4}^{3}

4)T_{5}^{0}=T_{1}^{0}T_{2}^{1}T_{3}^{2}T_{4}^{3}T_{5}^{4}

5)T_{6}^{0}=T_{1}^{0}T_{2}^{1}T_{3}^{2}T_{4}^{3}T_{5}^{4}T_{6}^{5}

其中矩阵1-6的关节角为a,b,c,d,f,h

输入(5和6用的是f和h,不是e,f):

6.3矩阵验证

1) T_{1}^{0},代入关节角a=-1.52

矩阵计算:

moveit仿真结果:

2)T_{2}^{0}代入关节角a=-1.52,b=0.622

3)T_{3}^{0},代入关节角a=-1.52,b=0.622,c=-0.908

4)T_{4}^{0},代入关节角a=-1.52,b=0.622,c=-0.908,d=0

5)T_{5}^{0},代入关节角a=-1.52,b=0.622,c=-0.908,d=0,f=0.286

6)T_{6}^{0}代入关节角a=-1.52,b=0.622,c=-0.908,d=0,f=0.286,h=1.520

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值