机器人的动力学按照求解量可以分为三种:
正向动力学:已知机器人的关节驱动力矩和上一时刻的运动状态(角度和角速度),计算得到机器人下一时刻的运动加速度,再积分得到速度和角度;
逆向动力学: 已知机器人各个时刻的运动状态(加速度,速度和角度等),求解得到机器人的驱动力和力矩;
混合动力学:已知机器人部分的驱动力矩和部分的运动状态,求解剩余的运动状态以及驱动力矩。
‘机器人动力学主要用于机器人的仿真和控制。根据不同的应用场景,需要采用不同的动力学建模方式。包括正向动力学和逆向动力学的利用。机器人的正向动力学主要用于机器人的仿真,包含adams或者matlab/Simmechanics中包含的动力学仿真,由于正向动力学计算得到的是加速度值,因而正向动力学需要有效且高效的数值积分器。
动力学类型 | 用途 | 已知量 | 求解量 | 数值积分 |
---|---|---|---|---|
正向动力学 | 数值仿真,半实物仿真 | 驱动力矩 | 运动状态 | 包含 |
逆向动力学 | 前馈控制,反馈控制,重力补偿,零部件校核 | 运动状态 | 驱动状态 | 无 |
最常见的动力学建模主要是拉格朗日方法和牛顿欧拉法,也是其他狠多算法具体实施的基本原理。
由上述,二者在动力学建模的基本原理上是不相同的,但是二者得到的结果是完全一样的。最终得到的动力学模型均可以表示如下:
以正向动力学为例子,其在SimMechanics中搭建的具体框图如下所示:
上面所示的动力学模型与机器人的动力学方程是完全对应的。只是其采用了Simulink/SimMechanics中的图形化建模。
对于正动力学, 需要通过数值积分根据当前时刻的角加速度来求解下一仿真。时刻的角速度和角度, 对于解常微分方程, 有多种数值解法, 其中由于 4 阶龙格库塔法具有计算精度高、 计算稳定、 以及容易编程等特点, 因此应用最为广泛求解, 本数值积分模块采用此方法, 具体解法如下
关键词: 机械臂动力学;正向动力学;逆向动力学
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。