机器人学之动力学笔记【9】—— 牛顿-欧拉 递推动力学方程

  • Post author:
  • Post category:其他




1. 定义线加速度

和之前一样,速度是位置的微分

在这里插入图片描述

把得到的速度表达在另一个坐标系下面

在这里插入图片描述

这里,加速度是速度的微分

在这里插入图片描述

把得到的加速度表达在另一个坐标系下面

在这里插入图片描述

{c} frame 的原点对地的加速度就简化表达成 ac

在这里插入图片描述



2. 定义角加速度

线速度线加速度有这样的关系之外,角速度角加速度也有这样的对应关系,角速度的微分就是角加速度

在这里插入图片描述

简化表达,针对某个 frame {C},它的旋转状态如果是对地的,就可以简化写为

在这里插入图片描述



3. 推导线加速度

由前面所学,知道A点对地的速度 = B点对地的速度 + 由B点看到A点的速度 + B所在坐标系在旋转过程中造成的向量 r(a对b) 的变化

在这里插入图片描述

对上边式子作微分

在这里插入图片描述

合并项之后,整理得

在这里插入图片描述

A点的加速度 = B点的加速度 + B相对于A看不到的部分,切向加速度(角加速度与r的叉积) + 法向加速度 + 人站在B坐标上看到的相对加速度 + 科式力

对应到机器人学中

在这里插入图片描述



4. 推导角加速度

{C} 对 {A} 的角速度 = {B} 对 {A} 的角速度 + {C} 对 {B} 的角速度(又因为在相加计算的过程中要转到同一个 frame 下,所以 {C} 对 {B} 的角速度前还要乘上一个旋转矩阵)

对这个式子作微分,这里 {C} 对 {B} 的部分有两个项,遵循前导乘后 + 前乘后导的原则,那对旋转矩阵求导是什么呢?

依照之前的想法,我们知道旋转矩阵是由三个单位向量所组成的,这三个单位向量互相正交,对旋转矩阵求导,相当于对三个单位向量求导,之前学过,对单位向量求导,它的长度不会变化,变化的只是它的方向。由于这里是旋转矩阵,所以单位向量的变化基本取决于整个坐标系旋转的状态,因此,

{B} 对 {A} 的旋转矩阵的倒数 = {B} 对 {A} 的角速度与旋转矩阵本身的叉积。(如红框部分所示)


在这里插入图片描述



5. 质量分布(Mass Distribution)

相对于 frame {A} 的惯性张量

在这里插入图片描述

惯性张量本身的特性:

  • 是常实对称矩阵,在数学上是可正交对角化的

    在这里插入图片描述

  • 对角线元素之和为定值

    在这里插入图片描述

  • 如果刚体的本身存在某个对称面,这个对阵面上下的值就会是零

    在这里插入图片描述

    在算惯性矩阵的时候,必须要有转轴

    平行轴定理:

    在这里插入图片描述

    在这里插入图片描述



6. 牛顿-欧拉递推动力学方程

【大学物理知识回顾】


转动惯量 J

由刚体的各个质元相对于固定转轴的分布决定,与物体的运动以及所受的外力无关,是用于描述刚体相对于确定转轴特征的物理量。


动量 P=mv

,动量的变化量是合外力;


角动量L=Jw

,角动量的变化量是定轴转动刚体所受的力矩

下图所示是机械手臂中杆件的一节

在这里插入图片描述

杆件有加速度,必须受到惯性力F,杆件要转动,必须要受到扭矩N;

  • 针对移动的部分,牛顿运动方程;

    线动量的变化量等于外力,牛顿第二运动定律;
  • 针对转动的部分,欧拉方程;

    角动量的变化量等于力矩;

    在这里插入图片描述

这里要特别小心

I

定义的 frame,因为在不同的 frame 下面,

I

的定义会不一样;和之前相反,我们不希望

I

定义在地坐标系下面,杆件在空间中是运动的,地坐标系不动,就等于说这个杆件以地坐标系来看的话,它和地坐标系之间的相对距离一直变动,所以它的

I

以地坐标来看的话就一直变动,这样取倒数的时候就需要考虑

I

的倒数,会使欧拉方程的求解变的复杂。

通常情况下我们会在质心的位置定义坐标系,由于这个坐标系与这个杆件固连,所以

I

不变

在这里插入图片描述

推导后的力矩由两项组成,第一项就是杆件的角加速度造成的,注意这里的

I

是对于建立在质心处的坐标系而言的,还有一部分就是由于系统的角速度造成的。

在 frame {i} 中表达连杆 i 的线加速度和角加速度,并且找到相邻连杆之间的线加速度以及角加速度关系。

在这里插入图片描述



6.1 外推法——计算速度和加速度



6.1.1 角加速度传递(旋转关节)

我们知道相邻两连杆间角速度关系如下,求导得:

在这里插入图片描述

坐标系转化

在这里插入图片描述



6.1.2 线加速度传递(旋转关节)

i+1 杆件的线加速度 = i 杆件的线加速度 + 切向加速度 + 法向加速度(还应该有两项科式力和相对的加速度,要是仔细看的话会发现,该式子是为了找到 {i+1}杆件 frame 的原点相对于 {i}杆件 frame 原点的加速度,而{i+1} 旋转时并不改变原点的位置,所以后边两项就没有了)

在这里插入图片描述

坐标系转化

在这里插入图片描述



6.1.3 角加速度、线加速度传递(移动关节)

在这里插入图片描述



6.1.4 连杆质心的线加速度

除了上述的坐标原点的状态,连杆质心(COM)的状态也会用到,因为算惯性力的时候,就必须要算这个link 的COM的加速度是多少,我们才有办法借由这个加速度乘上质量m得到这个杆件受到的外力是多少(COM点在连杆的中部)

在这里插入图片描述



6.2 牛顿-欧拉方程

在找到了杆件和杆件之间加速度的关系后,现在要怎么跟力矩做一个连接?前面通过外推法计算出每个连杆质心的线加速度和角加速度后,运用牛顿-欧拉公式便可计算出作用在连杆质心上的惯性力和力矩:

在这里插入图片描述

假设 link(i) 有一个运动,那么基本上杆件所受的合力就等于运动的加速度乘上它的质量;

假设这个杆件有一个角加速度和角速度,假设也知道这个惯性张量对COM来看是已知的话,所受的外力矩就等于上述式子。



6.3 内推法——计算力和力矩

上面计算出每个连杆上的力和力矩后,我们就要计算出产生这些力和力矩的需要施加在关节上的关节力矩。

在这里插入图片描述

有了这个想法之后就可以分别来看力和力矩的状态。

以力的状态来说,力是由末端点往回算的(手臂末端点受到力,后面有力就代表前面关节都要承受住这个力,这个是和速度相反,速度是地的 link 不动,随着 link 往前增加,后面的 link 都要承载前面 link 的运动,然后再产生一个新的相对继续往后算)

将作用在连杆i ii上所有的力相加,得到力平衡方程:


frame {i} 所需要的力 = {i+1} 这个 frame 的力 + 让 {i} 本身产生运动所需要的惯性力

将所有作用在质心上的力矩相加,得到力矩平衡方程:

力矩是建立在相似的概念上的,力矩这里会有点复杂,在于杆件原本受到的力也会产生力矩,所以力矩所包含的项就会比较多。


i 杆件所要承受的力矩 = i+1 所要承受的力矩(i+1之后的杆件传到 i+1 的力矩) + 让 i 产生转动所需的惯性力矩 + 惯性力 Fi 所产生的力矩 + i+1 杆件的外力所产生的力矩

那么怎么求得关节力矩呢?

在静力学中,可以通过计算一个连杆施加于相邻连杆的力矩在Z方向上分量求得:

在这里插入图片描述

关节类型不同,计算马达负载的方式也会不同。针对旋转关节,会用力矩对 Z 轴做投影;针对移动关节,用力对 Z 轴做投影。让我们真正算出来在真正在动力学考量下面,我们的系统在完成运动时所需要的各个 joint 的力矩是什么。



7. 补充说明

针对这个,有几个其他的想法要补:

在这里插入图片描述

  • 包含重力场(在考虑的时候加上与重力场加速度g等大反向的加速度就可以抵消重力那部分的作用了,就不会不小心忽略掉重力场的作用)
  • 假设手臂在空中晃来晃去,手臂末端没有夹持东西或者做一些操作,那最后一个 joint 本身的力和力矩就可以设定为零,再借由这个为零的条件往回算。

    在这里插入图片描述

我们现在有了运动的状态,有了速度和加速度的公式,也有了力和力矩的公式,那也就是真正面对一个问题的时候,先把运动状态算完,运动状态是由地杆往上算,算到末端执行器之后,就可以获取整个手臂的速度和加速度状态。

有了这个之后再导入所谓的力,假设末端点会有某个力,再往回算,获取力和力矩。

上行是计算速度和加速度,下行是计算力和力矩,都计算完之后,我们才能由力和力矩去投影计算 每一个joint 所需要的出的力是多少。

在这里插入图片描述

注意:

  • 旋转关节和移动关节用的公式是不一样的,所以在推导的过程中要选对公式;
  • 这是一个通用的架构,可以应用于任意的手臂;
  • 适用于计算机迭代计算。

【资料分享】


中正平和的机器人学笔记——5. 机械臂动力学



版权声明:本文为huangjunsheng123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。