机器人动力学方程比较复杂,通常每一个参数矩阵都非常庞大,这里介绍几个简单结构的动力学方程,对于一般的控制算法,可以在这几个动力学方程中进行验证。
1、欧拉-拉格朗日动力学方程
(不考虑摩擦和末端受力)可以写成:
用矩阵形式表示为:
其中: cijk=12(∂bij∂qk+∂bik∂qj−∂bjk∂qi)cijk=12(∂bij∂qk+∂bik∂qj−∂bjk∂qi)
2、两连杆笛卡尔臂动力学方程
注:分别计算连杆和电机转子的质量、转动惯量。
D=[ml1+mm2+Im1+Il200ml2+Im2]D=[ml1+mm2+Im1+Il200ml2+Im2]
C=0C=0
G=[(ml1+ml2+mm2)g0]G=[(ml1+ml2+mm2)g0]
完整动力学方程为:
其中,mlimli 表示连杆的质量, mmimmi 表示电机转子的质量, ImiImi 表示电机转子关于其转动轴的转动惯量。gg 表示重力加速度矢量, didi 表示平动关节的关节变量。 τiτi 表示关节所需力矩。
两连杆笛卡尔臂应用实例
直角坐标机器人还广泛运用于教学演示、物料搬运、码垛、机床上下料、点胶、喷涂、检测、3c 装配、包装等领域。
2、两连杆平面臂动力学方程
注:连杆和电机看做整体。
d11=m1l2c1+m2(l21+l2c2+2l1lc2cos(θ2))+I1+I2d11=m1lc12+m2(l12+lc22+2l1lc2cos(θ2))+I1+I2
d12=d21=m2(l2c2+l1lc2cos(θ2))+I2d12=d21=m2(lc22+l1lc2cos(θ2))+I2
d22=m2l2c2+I2d22=m2lc22+I2
C=[hq2˙−hq1˙hq2˙+hq1˙0]C=[hq2˙hq2˙+hq1˙−hq1˙0]
其中, h=−m2l1lc2sin(q2)h=−m2l1lc2sin(q2)
g1=(m1lc1+m2l1)gcos(q1)+m2lc2gcos(q1+q2))g1=(m1lc1+m2l1)gcos(q1)+m2lc2gcos(q1+q2))
g2=m2lc2gcos(q1+q2)g2=m2lc2gcos(q1+q2)
完整动力学方程为:
其中,mimi 表示连杆的质量, lili 表示连杆的长度, lcilci 表示连杆质心的长度, IiIi 表示连杆关于其转动轴的转动惯量。gg 表示重力加速度矢量, qiqi 表示连杆的转动角度(转动关节的关节变量)。
两连杆机械臂是最简单的多连杆转动关节串联机器人,大量的控制算法研究和验证都是在两连杆机械臂上完成的。只要赋予其参数值,就可以完成控制算法的研究中模型的建模。
一组可行的赋值方案是:
g=9.81g=9.81
l1=l2=1l1=l2=1
lc1=lc2=0.5lc1=lc2=0.5
m1=m2=50m1=m2=50
I1=I2=10I1=I2=10
3、带远程驱动的两连杆平面臂动力学方程
注:连杆和电机看做整体。
D(p)=[m1l2c1+m2l2c2+I1m2l1lc2cos(p2−p1)m2l1lc2cos(p2−p1)m2l2c2+I2]D(p)=[m1lc12+m2lc22+I1m2l1lc2cos(p2−p1)m2l1lc2cos(p2−p1)m2lc22+I2]
C=[m2l1lc2sin(p2−p1)q˙20amp;0−m2l1lc2sin(p2−p1)q˙1]C=[m2l1lc2sin(p2−p1)q˙2amp;00−m2l1lc2sin(p2−p1)q˙1]
G=[(m1lc1+m2l1)gcos(p1)m2lc2cos(p2)]G=[(m1lc1+m2l1)gcos(p1)m2lc2cos(p2)]
完整动力学方程为:
其中,mimi 表示连杆的质量, lili 表示连杆的长度, lcilci 表示连杆质心的长度, IiIi 表示连杆关于其转动轴的转动惯量。gg 表示重力加速度矢量, pipi 表示连杆的转动角度(转动关节的关节变量)。
可以看到,当第二个连杆电机固定在基座上的时候,第一、二连杆之间的科氏力消失。
因此,具体分析的时候,当驱动该连杆的电机不在该连杆上的时候,要把连杆和电机拆开,分别进行计算。
参考文献
马克 W. 斯庞等著,贾振中译,机器人建模和控制(Robot Modeling and Control),机械工业出版社,2016.07
Bruno Siciliano etc 著,张国良等译,机器人学 建模、规划与控制(Robotics:Modelling,planning and Control),西安交通大学出版社,2015.11