一、相关概念

1.1 刚体运动

刚体和质点一样,是一种理想化的物理模型,但有所区别:

对象

概念

运动类型

质点

一个有质量但不考虑形状和体积的点

平动

刚体

在外力作用下,形状和大小都不会发生改变的物体

平动、转动(绕某一点/某一轴)

1.2 姿态描述

由于刚体的运动,会产生不同的状态。一个刚体在三维空间的状态可以分为位置和姿态。位置描述平移状态,可以用参考坐标系下的x、y、z表示;姿态对应转动,具体来说,"姿态描述"描述的是:刚体自身坐标系相对于某个参考坐标系的旋转关系。这种旋转关系,可以用后续四种方式来描述。

对于四轴飞行器,通常以机体坐标系作为刚体坐标系,以世界坐标系作为参考坐标系(机体坐标系、世界坐标系概念见1.3)。姿态描述刻画的是机体坐标系相对于世界坐标系的旋转关系。得到当前姿态后,可以将机体系下测得的加速度、角速度等信息转换到世界坐标系中,从而为导航、状态估计和姿态控制提供统一的方向参考。

1.3 世界坐标系和机体坐标系

无论是世界坐标系还是机体坐标系,我们统一遵循右手坐标系(大拇指x,食指y,中指z),因为①飞行器、机器人领域常用②右手坐标系的轴方向与向量叉乘规定的正方向相同(x X y = z)

  • 地球坐标系
    • 相对于地面固定、不跟着飞行器一起转动的参考坐标系
    • 方向在工程里有两种约定:
      • ENU(东-北-天:对应X-Y-Z), 在机器人、SLAM、地图等领域常见
      • NED(北-东-地:对应X-Y-Z),在航空航天和飞行器领域常见
  • 机体坐标系
    • 固定在飞行器本身上的坐标系,会随着飞行器一起平移和旋转
    • 方向常见的是(机头-机体右侧-下:对应X-Y-Z),和NED坐标系比较一致

二、欧拉角

在工程/应用中,描述姿态的角称之为姿态角。在飞行器场景下, 姿态角通常就指的是欧拉角 。欧拉角的好处是直观,便于理解。飞行器的陀螺仪测出它在飞机坐标系的三个角速度后,变换可求得欧拉角的变化率(推导可见2.2欧拉角变化率和机体角速度的关系),经过积分进一步得到欧拉角。有了欧拉角,人们可以直观知道飞行器当前姿态,从而根据目标姿态进行姿态控制。

2.1 欧拉角定义

  • 概念:⽤依次绕三个相互垂直坐标轴的旋转⻆度来描述⼀个坐标系相对于另⼀个坐标系的旋转。旋转的⻆度被称为欧拉⻆。旋转轴是待转动坐标系的某⼀对应坐标轴
  • 刚体空间状态用6个自由度(位置3,姿态3)描述,其中空间姿态可用三个角描述:
    • 偏航⻆ψ(Yaw):绕世界坐标系Z轴旋转,改变机体的朝向。(偏航角永远绕世界坐标系z轴转)
    • 俯仰⻆θ(Pitch):绕机体坐标系Y轴旋转,改变机体的上下倾斜。
    • 横滚⻆φ(Roll):绕机体坐标系X轴旋转,改变机体的左右倾斜。

自由度概念:指为了完全确定⼀个系统在空间中的位姿(位置和姿态)所需的独⽴参数的个数。(⾃变量的个数

2.2 欧拉角变化率和机体角速度的关系

2.3 欧拉角存在问题:万向节锁

如图所示,在ZYX坐标系中,先绕Z轴旋转,再绕Y轴旋转±90 度,此时,空间中X轴初始的Z轴完全重合。即如果第⼆次旋转的⻆度为±90度,那么在本次旋转中,就会失去⼀个⾃由度( 控制器很难准确区分 Roll 和 Yaw 误差 )。自由度缺失在数学上可用旋转矩阵证明,详细见后

这种几何上的退化,在数学上表现为欧拉角参数化出现奇异性,即角速度与欧拉角变化率之间的变换矩阵失去可逆性,欧拉角变化率可能出现发散或无法唯一确定的情况。(如2.2所述)

总之,万向节锁带来的问题有:

  • Roll 和 Yaw 不能再独立区分
    你想“只改变 Roll”或者“只改变 Yaw”,在欧拉角表示里会混在一起。
  • 同一个姿态可能对应多组欧拉角
    比如,(10,90,20)和(30,90,40)最后表达的姿态一样(由于ψ-φ=-10)。所以欧拉角不再唯一,可能出现角度突然跳变。
  • 欧拉角变化率会变得不稳定
    角速度转换成

    时,公式里会出现很大的数,甚至无法计算

三、旋转矩阵

旋转矩阵(英语:Rotation matrix)是在乘以一个向量的时候有改变向量的方向但不改变大小的效果并保持了手性的矩阵。旋转矩阵不包括点反演,点反演可以改变手性,也就是把右手坐标系改变成左手坐标系或反之。所有旋转加上反演形成了正交矩阵的集合。旋转可分为主动旋转与被动旋转。主动旋转是指将向量逆时针围绕旋转轴所做出的旋转。被动旋转是对坐标轴本身进行的逆时针旋转,它相当于主动旋转的逆操作。

——来自维基百科

旋转矩阵有两个含义:坐标变换旋转向量

  1. 旋转矩阵具有正交性,这样保证对于向量只是旋转,没有长度改变。

  1. 旋转矩阵的缺点

相对于欧拉角,不直观

相对于四元数,参数过多(9),计算和存储量太大

参考文献如下:

旋转矩阵及左右乘的意义,看这一篇就够了_旋转矩阵左乘和右乘的几何意义-CSDN博客

三、轴角法

欧拉定理

  • 概念:在三维空间中,刚体绕某个固定点的任意旋转,都等价于绕某⼀条过该点的轴的单⼀旋转。
  • 作⽤:任何三维空间中的旋转,都可以⽤⼀个唯⼀的旋转轴(⼀个⽅向向量)和⼀个绕该轴的旋转⻆度来描述
  • 旋转轴是⼀个在三维空间中的单位向量,我们⽤⼀个三维向量u= (x, y,z)T 来表⽰。
  • 旋转⻆是⼀个标量值,表⽰绕旋转轴转动的⻆度。我们可以使⽤右⼿法则来确定旋转的正⽅ 向:右⼿握住旋转轴,⼤拇指指向轴的正⽅向,四指弯曲的⽅向就是旋转的正⽅向。
  • 轴⻆旋转的数学表⽰可以表⽰为⼀个有序对:(u,θ)。

参考文献如下:

https://zhuanlan.zhihu.com/p/639468419

四、四元数

复数,四元数,模长,四元数乘法,纯四元数,逆和共轭

见下一节

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐