在前文,已经验证二自由度机械臂在静止状态下,不同方法得到的末端点P的位置坐标值是一致的,此文将简单介绍一下二自由度机械臂正运动学、逆运动学分析。
2.1 正运动学
给出二自由度机械臂两个关节的运动曲线,让机械臂运动,得到末端点P的位置曲线。两个关节角度变化如下所示:
让机械臂按照上述关节角度曲线运动,对比几种方法计算的末端点P的位置曲线。
(1)RT & MDH & MATLAB对比
采用前文所述的机器人工具箱(RT)、改进DH法(MDH)和几何法(MATLAB),根据上文的关节角度轨迹,计算机械臂末端点P的位置变化曲线。三种方法的结果如下图所示:
为了更方便对比不同方法的计算结果,分别对RT&MDH、RT&MATLAB计算的结果进行作差,具体如下:
RT和MDH计算结果的差值:
RT和MATLAB计算结果的差值:
可以看到,RT、MDH和MATLAB这三种方法计算的结果十分接近,误差几乎为零!
(2)RT和Solidworks对比
以机器人工具箱(RT)为基准,与Soldiworks仿真结果进行对比。在Solidworks中,利用Motion模块进行运动学仿真,如下所示:
采集末端点P的位置曲线,与RT计算的结果进行对比,如下所示:
RT和Solidworks计算结果的差值:
可以看出,利用Solidworks进行运动学仿真,其仿真结果准确性虽然不如机器人工具箱,但两者的误差也较小,用来做简单的运动学仿真足以(由于利用Solidworks可以很方便的做运动学、动力学仿真,笔者使用该方法进行仿真较多)。
(3)RT和Simscape对比
以机器人工具箱(RT)为基准,与Simscape仿真结果进行对比。在Simscape中进行运动学仿真,如下所示:
采集末端点P的位置曲线,与RT计算的结果进行对比,如下所示:
RT和Simscape计算结果的差值:
可以看出,利用Simscape进行运动学仿真,其仿真结果准确性较高,但是前期搭建Simscape仿真模型较为麻烦,不过后期如果要做控制相关的课题,离不开Simscape仿真平台。
2.2 逆运动学
给定末端点P的位置坐标( x p , y p x_p,y_p xp,yp),求解二自由度机械臂的关节角度( θ 1 , θ 2 \theta_1,\theta_2 θ1,θ2)
(1)公式推导
在直角三角形OPC中有: L 0 = x p 2 + y p 2 L _ { 0 } = \sqrt { x _ { p } ^ { 2 } + y _ { p } ^ { 2 } } L0=xp2+yp2