首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器人动力学:机械臂正向动力学与逆向动力学

1 机械臂正向动力学与逆向动力学

机器人的动力学按照求解量可以分为三种:

正向动力学:已知机器人的关节驱动力矩和上一时刻的运动状态(角度和角速度),计算得到机器人下一时刻的运动加速度,再积分得到速度和角度;

逆向动力学: 已知机器人各个时刻的运动状态(加速度,速度和角度等),求解得到机器人的驱动力和力矩;

混合动力学:已知机器人部分的驱动力矩和部分的运动状态,求解剩余的运动状态以及驱动力矩。

动力学类型

2 机器人动力学的具体用处

‘机器人动力学主要用于机器人的仿真和控制。根据不同的应用场景,需要采用不同的动力学建模方式。包括正向动力学和逆向动力学的利用。机器人的正向动力学主要用于机器人的仿真,包含adams或者matlab/Simmechanics中包含的动力学仿真,由于正向动力学计算得到的是加速度值,因而正向动力学需要有效且高效的数值积分器。

动力学类型

用途

已知量

求解量

数值积分

正向动力学

数值仿真,半实物仿真

驱动力矩

运动状态

包含

逆向动力学

前馈控制,反馈控制,重力补偿,零部件校核

运动状态

驱动状态

机器人控制基本的框图

3 机器人动力学的表现形式

最常见的动力学建模主要是拉格朗日方法和牛顿欧拉法,也是其他狠多算法具体实施的基本原理。

3.1 牛顿欧拉方法

牛顿-欧拉原理

3.2 拉格朗日方法

拉格朗日1
拉格朗日2
拉格朗日3

3.3 动力学的具体表现形式

由上述,二者在动力学建模的基本原理上是不相同的,但是二者得到的结果是完全一样的。最终得到的动力学模型均可以表示如下:

关节空间动力学表达式

4 正向动力学与逆向动力学形式

以正向动力学为例子,其在SimMechanics中搭建的具体框图如下所示:

SimMechanics中机器人动力学模型

上面所示的动力学模型与机器人的动力学方程是完全对应的。只是其采用了Simulink/SimMechanics中的图形化建模。

正逆动力学在整个控制系统中的关系
  • 轨迹规划: x=>\dot x, \ddot x ,根据笛卡尔位置生成平滑的速度和加速度;
  • 逆向运动学: x,\dot x, \ddot x=J^+=>q,\dot q, \ddot q ,根据笛卡尔轨迹生成生成关节空间轨迹;
  • 逆向动力学: \tau=M(\Theta)\ddot \Theta +V(\Theta,\dot\Theta)+G(\Theta) , 根据关节运动状态生成关节驱动力矩;
  • 正向动力学: \Theta=\iint \ddot \Theta=\iint {\tau-(V(\Theta,\dot\Theta)+G(\Theta))} ,根据驱动力矩生成机械臂运动状态;
  • 正向运动学: q,\dot q, \ddot q=>x,\dot x, \ddot x, 根据关节运动状态生成关节驱动力矩;

5 数值积分

对于正动力学, 需要通过数值积分根据当前时刻的角加速度来求解下一仿真。时刻的角速度和角度, 对于解常微分方程, 有多种数值解法, 其中由于 4 阶龙格库塔法具有计算精度高、 计算稳定、 以及容易编程等特点, 因此应用最为广泛求解, 本数值积分模块采用此方法, 具体解法如下

四阶龙格库塔

关键词: 机械臂动力学;正向动力学;逆向动力学

下一篇
举报
领券