02-二自由度机械臂—运动学分析

在前文,已经验证二自由度机械臂在静止状态下,不同方法得到的末端点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 , θ 0 = arctan ⁡ ( y p / x p ) \theta_0=\arctan(y_p/x_p) θ0=arctan(yp/xp), x p = L 0 cos ⁡ θ 0 x_p=L_0\cos\theta_0 xp=L0cosθ0, y p = L 0 sin ⁡ θ 0 y_p=L_0\sin\theta_0 yp=L0sinθ0

求解 θ 1 \theta_1 θ1,有公式:

平方相加后为:

由于: x p = L 0 cos ⁡ θ 0 x_p=L_0\cos\theta_0 xp=L0cosθ0, y p = L 0 sin ⁡ θ 0 y_p=L_0\sin\theta_0 yp=L0sinθ0,上式可以写成:

也即:

解得:

求解 θ 2 \theta_2 θ2:

<1> 当 x p − L 1 cos ⁡ θ 1 = 0 x_p-L_1\cos{\theta_1}=0 xp−L1cosθ1=0时,有 cos ⁡ ( θ 1 + θ 2 ) = 0 \cos(\theta_1 + \theta_2) = 0 cos(θ1+θ2)=0,即:

当 y p > L 1 sin ⁡ θ 1 y_p\ >\ L_1\sin\theta_1 yp > L1sinθ1,满足 θ 1 + θ 2 = 9 0 ∘ \theta_1 + \theta_2=90^{\circ} θ1+θ2=90∘,有以下四类情况:

此时,可得:

当 y p < L 1 sin ⁡ θ 1 y_p\ <\ L_1\sin\theta_1 yp < L1sinθ1,满足 θ 1 + θ 2 = − 9 0 ∘ \theta_1 + \theta_2=-90^{\circ} θ1+θ2=−90∘,有以下四类情况:

此时,可得:

<2>当 x p − L 1 cos ⁡ θ 1 ≠ 0 x_p-L_1\cos{\theta_1}\neq0 xp−L1cosθ1=0时,根据下式:

两式相除,有:

因此可得:

(2)验证

验证轨迹1 :让二自由度机械臂末端点P以(0.1,0,1)m为圆心,0.02m为半径画圆,如下所示:

按照上一节的公式进行逆运动学计算,算出来了两组解,如下图所示:

为了验证逆运动学是否正确,将算出来的结果再代入正运动学中,看求解出来的末端点P的轨迹曲线是否为上述的圆形轨迹。根据两组解来进行正运动学计算,结果如下所示:

可以看出,理论值(给出的圆形轨迹)和验证值(利用两组解,按照正运动学计算末端点P的轨迹)重合度较高。为了更为直观的观察前后结果,这里通过对坐标值进行作差来进行观察,结果如下所示:

由图可知,在圆形轨迹中,通过逆运动学可算出来两组解。利用这两组解进行正运动学计算,得到的末端点轨迹与给出的圆形轨迹误差几乎为零!!

验证轨迹2 :让二自由度机械臂末端点P画8字曲线,如下所示:

同理,按照上一节的公式进行逆运动学计算,算出来了两组解,如下图所示:

可以看到,第二组解的 θ 2 \ \theta_2 θ2出现了两个畸变点,这种情况在实际实验、加工中是不允许有的,要注意规避这种情况,这里不做过多深究。同理,为了验证逆运动学是否正确,将算出来的结果再代入正运动学中,看求解出来的末端点P的轨迹曲线是否为上述的8字轨迹。根据两组解来进行正运动学计算,结果如下所示:

可以看出,理论值(给出的8字轨迹)和验证值(利用两组解,按照正运动学计算末端点P的轨迹)重合度较高。为了更为直观的观察前后结果,这里通过对坐标值进行作差来进行观察,结果如下所示:

图可知,在8字轨迹中,通过逆运动学可算出来两组解。利用这两组解进行正运动学计算,得到的末端点轨迹与给出的8字轨迹误差几乎为零!!

(3)小结

对二自由度串联机械臂而言,进行逆运动学求解一般有两组解,且通过本文验证实验表明,所推导的逆运动学公式准确性较高!!

我是木头人,以上全是个人见解,有问题请大家评论区指出,大家共同进步!!

相关推荐
kobesdu6 分钟前
〔ROS2 实战笔记-1〕Navigation2 导航框架解析
笔记·机器人·ros·路径规划
xiaoduo AI23 分钟前
客服机器人首响时长最快可优化至几秒?智能 Agent 预加载常用语,响应比人工快多少?
大数据·人工智能·机器人
机器学习之心1 小时前
ICEEMDAN-CMBE特征提取+Bayes-TCN-BiLSTM故障诊断+SHAP可解释分析!MATLAB完整代码
matlab·shap可解释分析·iceemdan-cmbe·bo-tcn-bilstm
Robot_Nav1 小时前
RC-ESDF 详解:以机器人为中心的欧几里得有符号距离场
人工智能·算法·机器人
Aaron15882 小时前
RFSOC+VU13P中在线部分可重构技术的应用分析
人工智能·算法·matlab·fpga开发·重构·信息与通信·信号处理
南京码讯光电技术有限公司2 小时前
AGV、巡检机器人运行频繁掉线?工业级无线AP,实现移动作业传输不中断
机器人
学测绘的小杨2 小时前
从磁偶极子建模到定位反演:一个完整 MATLAB 仿真系统解析
matlab
煜bart3 小时前
适合自动化任务的编程语言分类和分析
人工智能·机器人·ai编程
行如流水3 小时前
Real2Edit2Real:仅采1-5条真机数据,自动生成高质量的泛化视频数据,机器人学习效率提升10-50倍
机器人
厦门雄霸小赖总177500106833 小时前
伍德沃德 5466-409 产品介绍速率监测与调速控制
人工智能·机器人·自动化·制造·abb