【机器人学的数学基础】(2)使用指数积公式对SCARA和拟人(肘)机械臂进行正运动学建模

一般的机器人学教材中,首先介绍的是使用DH方法对机械臂进行正运动学建模,DH方法是对每个连杆给定4个参数,建立齐次矩阵相乘后即可得到机械臂末端的位置和姿态的表达式,另外一种建模方法是指数积公式,这种方法的知名度不高,是因为它的前提是要掌握李群、李代数和螺旋理论,但是我觉得这种方法较DH方法来说,是更直观的。

本文介绍使用指数积方法对SCARA机械臂和拟人机械臂(有时也被称为肘机械臂)这两种构型的机械臂进行正运动学建模。

一、SCARA机械臂

【机器人学的数学基础】(2)使用指数积公式对SCARA和拟人(肘)机械臂进行正运动学建模_第1张图片
step1:
求解 θ=0 的时候工具坐标在基坐标中的位形的齐次变换矩阵。

gst(0)=I00l1+l2l01

step2:
设关节1,2,3的角速度的方向为沿z轴,所以 w1=w2=w3 = [0 0 1 ]T ;
step3:
wi 写成反对称矩阵的形式:
w1=w2=w3=010100000

step4:
相应的坐标系原点在基座标系中的位置:
q1=000;q2=0l10;q3=0l1+l20;

step5:
旋转关节1,2,3运动旋量坐标:
ξ1=000001ξ2=l100001ξ3=l1+l200001;

step6:
移动关节4的运动旋量坐标:
ξ4=[v40]=001000;

step7:
求解各个关节运动的刚体运动的李代数的矩阵形式:
ξ1=[w10v10]=0100100000000000;
ξ2=[w20v20]=010010000000l1000;
ξ3=[w30v30]=010010000000l1+l2000;
ξ4=[w40v40]=0000000000000010;

step8:
求解各个关节的指数映射( se(3)SE(3) ):
eξ1θ1=[ew1θ10(Iew1θ1)(w1×v1)1]=cosθ1sinθ100sinθ1cosθ10000100001

eξ2θ2=[ew2θ20(Iew2θ2)(w2×v2)1]=cosθ2sinθ200sinθ2cosθ2000010l1sinθ2l1(1cosθ2)01;

eξ3θ3=[ew3θ30(Iew3θ3)(w3×v3)1]=cosθ3sinθ300sinθ3cosθ3000010(l1+l2)sinθ3(l1+l2)(1cosθ3)01;

eξ4θ4=[ew4θ40(Iew4θ4)(w4×v4)1]=10000100001000θ41;

step9:
根据指数积公式可求得机械臂的正运动学模型:
gst(θ)=eξ1θ1eξ2θ2eξ3θ3eξ4θ4gst(0)=[R(θ)0p(θ)1]

机械臂末端的姿态矩阵:
R(θ)=cos(θ1+θ2+θ3)sin(θ1+θ2+θ3)0sin(θ1+θ2+θ3)cos(θ1+θ2+θ3)0001

机械臂末端的位置向量:
p(θ)=l1sinθ1l2sin(θ1+θ2)l1cosθ1+l2cos(θ1+θ2)l0+θ4

二、拟人机械臂

【机器人学的数学基础】(2)使用指数积公式对SCARA和拟人(肘)机械臂进行正运动学建模_第2张图片
拟人机械臂(肘机械臂)的正运动学建模方法和scara机械臂建模方法的步骤是一致的:
step1:
求解工具坐标系在基座标系中的位形的齐次矩阵:

gst(0)=I00l1+l2l1;

step2-step4:
根据建立的坐标系系统来确定每个关节的轴的向量 wi 和每个坐标系在基座标系中的位置 pi
step5:
6个旋转关节的旋量坐标
ξ1=001×00l0001=000001;

ξ2=101×00l0100=0l00100;

ξ3=0l0l1100ξ4=l1+l200001ξ5=0l0l1+l2100ξ6=l000010

step6:
该机械臂的构型中不含有移动关节,故省略。
step7:
将step5中的运动旋量坐标转换为矩阵形式。
step8:
根据指数积公式可求得机械臂的正运动学模型:
gst(θ)=eξ1θ1eξ2θ2eξ6θ6gst(0)=[R(θ)0p(θ)1]


机械臂末端的姿态矩阵和位置向量:
R(θ)=r11r21r31r12r22r32r13r23r33

p(θ)=sinθ1(l1cosθ2+l2cos(θ2+θ3))cosθ1(l1cosθ2+l2cos(θ2+θ3))l0l1sinθ2l2sin(θ2+θ3)

其中:
【机器人学的数学基础】(2)使用指数积公式对SCARA和拟人(肘)机械臂进行正运动学建模_第3张图片

参考文献:
A Mathematical Introduction to Robotic Manipulation.

你可能感兴趣的:(【机器人学的数学基础】)