一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第15天,点击查看活动详情。
1 平面2R机器人概述
如图所示为本文的研究本体——平面2R机器人。对参数进行如下定义:机器人广义坐标θ1为连杆1与y轴负半轴的夹角,逆时针为正;θ2为连杆2与连杆1延长线的夹角,逆时针为正;连杆1、2的关节力矩分别定义为τ1、τ2。设连杆质量均匀分布,长度都为l,质量都为M,末端执行器笛卡尔坐标为P(x,y)。

2 运动学建模
2.1 正运动学模型
指数积方法的核心原理是基于运动旋量的==指数积公式==:
TAT(θ)=e[V1]θ1e[V2]θ2⋯e[Vn]θnTAT(0)
可以证明,连杆变换之积(DH法)等价于指数积。对平面2R机器人,确定各个关节轴线的线矢量如图所示,不必建立连杆坐标系。

各轴线方向如下:
ω1=ω2=⎣⎡001⎦⎤,[ω1]=[ω2]=⎣⎡010−100000⎦⎤
取各个运动轴上的一点:
r1=⎣⎡000⎦⎤,r2=⎣⎡0−l0⎦⎤
可得各个运动旋量的指数形式
e[V1]θ1=⎣⎡cosθ1sinθ100−sinθ1cosθ10000100001⎦⎤,e[V2]θ2=⎣⎡cosθ2sinθ200−sinθ2cosθ2000010−lsinθ2−l(1−cosθ2)01⎦⎤
关节变量θ=[θ1θ2]为0时即为初始位姿:
TBT(0)=⎣⎡1000010000100−2l01⎦⎤
所以由_{T}^{B}\boldsymbol{T}\left( \boldsymbol{\theta } \right) =e^{\left[ \boldsymbol{V}_1 \right] \theta _1}e^{\left[ \boldsymbol{V}_2 \right] \theta _2}\!\:_{T}^{S}\boldsymbol{T}\left( 0 \right)即得
TBT(θ)=⎣⎡cos(θ1+θ2)sin(θ1+θ2)00−sin(θ1+θ2)cos(θ1+θ2)000010lsin(θ1+θ2)+lsinθ1−lcos(θ1+θ2)−lcosθ101⎦⎤
可以验证,基于运动旋量法的机器人正运动学模型,与基于D-H法的正运动学模型相同,可交叉验证正运动学模型的理论正确性。
2.2 逆运动学模型
以图所示的象限为例,以几何方法进行机器人运动学反解。

对于位形一,在ΔOAB中运用余弦定理可得2l2cos(π−θ2)=l2+l2−L2,其中L2=x2+y2,显然末端执行器坐标需要满足0<x2+y2⩽2l
解得:
θ2=arccos(2l2x2+y2−1)
有两个解,位形一对应正解,位形二对应负解。
同样在ΔOAB中运用余弦定理可得
ψ=arccos(2lx2+y2)
为方便起见,这里总是取ψ的正解。再根据
β=∣∣arctan(xy)∣∣
可得位形一下的关节参数θ1=2π−(β+ψ)。当机械臂运动到其他象限时同理,求得平面2R机器人运动学反解为:
⎩⎨⎧θ1=2π−(β±ψ),θ2>0时取+θ1=2π+(β±ψ),θ2>0时取−θ1=23π−(β±ψ),θ2>0时取+θ1=23π+(β±ψ),θ2>0时取−
2.3 机器人运动学仿真
基于Matlab Robotics工具箱进行平面2R机器人的运动学仿真验证。验证过程如下:分别选取位于四个象限的关节参数
[θ1θ2]=[35°55°],[θ1θ2]=[95°25°],[θ1θ2]=[230°20°],[θ1θ2]=[300°70°]
进行正运动的验证,而后基于四组末端执行器的坐标进行运动学反解,得到该坐标下的另一个位形对应的关节参数,将该参数代入Matlab机器人模型,验证此时末端执行器的坐标是否与位形一下的重合。将四组参数分别代入上式,得到
[xy]=[1.57−0.82],[xy]=[1.860.59],[xy]=[−1.710.99],[xy]=[−0.69−1.48]
将这四组笛卡尔坐标值代入式,得到另一位形的关节参数值
[θ1θ2]=[90°−55°],[θ1θ2]=[120°−25°],[θ1θ2]=[249°−20°],[θ1θ2]=[10°−70°]

3 动力学建模
3.1 计算动能
取定连杆上一质量微元dm,其位置坐标为(x,y),采用极坐标表示即为
连杆I{x=rsinθ1y=−rcosθ1连杆II{x=lsinθ1+rsin(θ1+θ2)y=−lcosθ1−rcos(θ1+θ2)
对时间求导,得到
连杆I{x˙=rθ˙1cosθ1y˙=rθ˙1sinθ1连杆II⎩⎨⎧x˙=lθ˙1cosθ1+r(θ˙1+θ˙2)cos(θ1+θ2)y˙=lθ˙1sinθ1+r(θ˙1+θ˙2)sin(θ1+θ2)
所以质量微元速度为
⎩⎨⎧连杆I:v12=x˙2+y˙2=r2θ˙12连杆II:v22=x˙2+y˙2=l2θ˙12+r2(θ˙1+θ˙2)2+2lrθ˙1(θ˙1+θ˙2)cosθ2
因此机器人动能为
Ek=21∫mdm⋅v2=21ρ[∫0lr2θ˙12dr+∫0ll2θ˙12+r2(θ˙1+θ˙2)2+2lrθ˙1(θ˙1+θ˙2)cosθ2dr]=21ml2[(35+cosθ2)θ˙12+(32+cosθ2)θ˙1θ˙2+31θ˙22]
3.2 势能计算与动力学方程
以基坐标系x轴为零势能面,则系统总势能为
Ep=−mgl[23cosθ1+21cos(θ1+θ2)]
对于任何机械系统.拉格朗日函数定义为系统总动能和势能之差,即
L=Ek−Ep=21ml2[(35+cosθ2)θ˙12+(32+cosθ2)θ˙1θ˙2+31θ˙22]+mgl[23cosθ1+21cos(θ1+θ2)]
基于拉格朗日函数可得
⎩⎨⎧∂θ1∂L=−mgl[23sinθ1+21sin(θ1+θ2)]∂θ˙1∂L=21ml2[(310+2cosθ2)θ˙1+(32+cosθ2)θ˙2]dtd(∂θ˙1∂L)=21ml2[(310+2cosθ2)θ¨1−2θ˙1θ˙2sinθ2+(32+cosθ2)θ¨2−θ˙22sinθ2]
⎩⎨⎧∂θ2∂L=−21mglsin(θ1+θ2)−21ml2(θ˙12+θ˙1θ˙2)sinθ2∂θ˙2∂L=21ml2[(32+cosθ2)θ˙1+32θ˙2]dtd(∂θ˙2∂L)=21ml2[(32+cosθ2)θ¨1−θ˙1θ˙2sinθ2+32θ¨2]
根据拉格朗日方程
⎩⎨⎧τ1=dtd(∂θ˙1∂L)−∂θ1∂Lτ2=dtd(∂θ˙2∂L)−∂θ2∂L
求得机器人动力学模型为
τ=惯性力项D1(θ)θ¨+向心力项D2(θ)θ˙2+科氏力项D3(θ)θ˙ij+重力项D4(θ)⇔[τ1τ2]=D1(θ)[θ¨1θ¨2]+D2(θ)[θ˙12θ˙22]+D3(θ)[θ˙1θ˙2θ˙1θ˙2]+D4(θ)
其中
⎩⎨⎧D1(θ)=ml2[35+cosθ231+21cosθ231+21cosθ231]D2(θ)=ml2[021sinθ2−21sinθ20]D3(θ)=ml2[−sinθ2000]D4(θ)=mgl[23sinθ1+21sin(θ1+θ2)21sin(θ1+θ2)]
3.3 动力学仿真
初始状态为[θ1θ2]=[180°0°]、[θ˙1θ˙2]=[00],输入力矩为[τ1τ2]=[20.5] 该初始条件下,平面2R机器人的角度、角速度、角加速度、能量、雅克比矩阵行列式数值波形图以及机器人末端执行器运动轨迹图如图所示

更多内容欢迎关注我的AI频道"AI技术社"