无人机运动学控制中的坐标系,及惯性坐标系与机体坐标系之间的矩阵转换 欧拉角
一、无人机控制中的坐标系
无人机运动学中,有三种需要了解的坐标系
1.1、地球中心坐标系(ECEF)
地球中心坐标系,即坐标系原点位于地心。X轴通过格林尼治线和赤道线的交点,正方向为原点指向交点方向。 Z轴通过原点指向北极。 Y轴与X,Z轴构成右手坐标系。
而将该坐标系下的点,用GPS坐标表示出来即为WGS-84坐标系,其中在WGS-84坐标系中,X轴指向BIH(国际时间服务机构)1984.0定义的零子午面(Greenwich)和协议地球极(CTP)赤道的交点。Z轴指向CTP方向。Y轴与X,Z轴构成右手坐标系GPS可以获得在WGS-84中的速度向量,为了方便使用速度向量进行无人机控制,我们要把它转换在无人机所在位置的“平面坐标系”。
1.2、NED坐标系
由于地心坐标系建立产生的GPS信号是以前面的形式存在,而现实无人机控制中需要在平面,因此引入了NED坐标系,如图绿色部分即为NED坐标系。通常我们以NED为确定无人机位姿的参考坐标系,惯性系。
NED坐标系是在导航计算时使用的坐标系。向量分别指向北,东,地,因此NED坐标系也经常称为北东地坐标系。也就是NED坐标系的三个方向是不变的。
当无人机搜星满足起飞条件1,则该点所确定
1.3、机体坐标系
机体坐标系与飞行器固联,坐标系符合右手法则,原点在飞行器重心处,x轴指向飞行器机头前进方向,y轴由原点指向飞行器右侧,z轴方向通过x,y由右手法则确定。机体坐标系是无人机惯性导航的基础坐标系,IMU中获得的加速度状态信息就是该坐标系下的数值。当我们获取IMU输出的x轴加速度信息时不能直接应用在NED坐标系下。
无人机中的坐标转换,即为NED坐标系(惯性系)与机体坐标系之间的转换。
二、无人机IMU单元
IMU单元,惯性测量单元,用于测量物体三轴姿态角(角速率)以及加速度的装置。
IMU由陀螺仪和加速度计组成,其中:
陀螺仪:检测载体相对于导航坐标系的角速度信号;
加速度计:三个单轴的加速度计检测物体在坐标系独立三轴的加速度信号
其精度直接影响到惯性系统的精度。
三、无人机中矩阵的确定与变换
3.1、无人机的姿态
一个空间中的无人机可通过给定位置和方向而完全描述,令为标准正交坐标系,xyz为其单位向量。在上图中,设无人机为
,其在空间中的位置可表述为
的坐标可简洁的写为
通过坐标系以及可以约束无人机的位置,但无人机的方向仍没有约束,接下来大幅篇章将开始角度坐标系的描述。
为了确定无人机的方向,简便的方法即为加入一个附在无人机机身上的坐标系,,其中
为坐标系中的单位向量,与
的转换关系为
3.2、旋转矩阵(注:3.2中的旋转矩阵与3.1上式各分量定义不一致,可对比根据式子定义来理解)
将描述无人机方向的用矩阵表示为
这里第三个矩阵中,由于x为单位向量(1,0,0),故与向量的装置相乘,即为
的值。
上诉矩阵R被称为旋转矩阵。
由于是正交坐标系下的单位向量,所以他们之间彼此正交,且向量模为1
R是一个正交矩阵,故
如果坐标系是右手法则则det(R)=1,若为左手法则确定则det(R)=-1。
3.2.1、基本旋转(旋转回原坐标系下所需要相乘的矩阵,也可以理解为旋转量)
坐标系可被视为由坐标系
通过基本旋转而成。这些旋转如果是逆时针的,则其旋转值为正。
假定坐标系绕z轴旋转一定角度a,如图其单位向量可表述为:
因此,绕z轴旋转的矩阵可表述为
同样,按此方法可表述按x轴和按y轴旋转时的旋转矩阵
对于描述空间中容易一个旋转,这些矩阵将会是非常有用的。
通过上诉的矩阵,可很容易的证明,旋转矩阵有
3.2.2、一个向量的旋转表述
为了进一步理解旋转矩阵的几何意义,将两坐标系原点重合,即,其中0表示为0向量。点P能够表述为:
其中,和
分别对应于相同的点P在坐标系
和
的坐标。根据之前对于
下坐标转换至o,可得
即
旋转矩阵R表述了向量从矩阵转换至
,回顾
,可得
例3.1:
设两坐标系具有相同原点,且通过按z轴旋转而得,如图,由几何关系可得
由此可见,其坐标转换即为,旋转矩阵不仅仅描述了一个坐标系的方向,还描述了基于同一个原点的一个向量从一个坐标系到另一个坐标系的转换。
3.2.3 一个向量的旋转
上一节中,利用旋转矩阵实现了向量从坐标系转换到
坐标系下,旋转矩阵还可以表示为向量在同一个坐标系下的旋转。令
是坐标系
下的一个向量,
产生一个与
相同模的向量
,相同的模可以被证明由
和
。
例3.2:
在下图坐标系下,令位于xy平面的向量绕z轴旋转
角。(
)为向量
坐标,则向量
可表示为:
即可以简单的用旋转矩阵表示为
因此,可以得到一个旋转矩阵,首先描述两个坐标系之间的转换和两个坐标系向量之间的转换,此外还可以实现在同一坐标系下向量的旋转。
3.3、旋转矩阵的组合
为了得到旋转矩阵的组合规则,思考一个向量在不同坐标系下的表述是有用的。令,
,
为共同原点O所对应的三个坐标系。
,
,
为向量
在三个坐标系下的表述。
首先,思考坐标系2下与坐标系1下
之间的关系。如果
表示坐标系i转换至坐标系j的旋转矩阵,则
相似地,有
上诉三式中,将第一和第三代入第二式,可得关系
上一关系式可以表述为连续旋转的组合。思考一个坐标系最初为,通过
旋转能够被视为包含以下两步:
(1)基于现有坐标系根据旋转,以便与坐标系
相联系
(2)经过第一步的旋转,已于联系,根据
,以便与坐标系
进行联系
(这里这样表述可能大家感到不甚理解,不是由的坐标乘上
转换至
么,这样表述是为了在以后无人机坐标系转换理解更加便捷,如将之后的一个坐标系转换至最初的一个坐标系)
可注意到所有的旋转可表示为一系列微小旋转的组合。每一个旋转定义为基于之前的一个坐标系,将要发生转换的坐标系称为当前坐标系。连续旋转的组合是通过旋转矩阵自右乘来实现的,回顾可得:
连续的旋转也能够详述为不断的参考他们至最初的坐标系,在这种情况下,旋转可以被发生基于一个固定的坐标系。令为
基于固定坐标系
的旋转矩阵。令
表示坐标系
基于坐标系
的旋转矩阵,这其中包含了坐标系1基于矩阵
的旋转。
其中是不同于
的,
可表述为基于一个固定坐标系连续旋转的组合,其由单个旋转矩阵自左乘得到的。
旋转组合的一个重要问题是矩阵的产生是不可交换的。鉴于这一点,能够推断两个旋转矩阵一般是不能交换的并且它的组成取决于单个旋转的顺序。
例3.3:
思考在一个物体上系有坐标系,下图展示了该物体对于当前坐标系改变旋转次序的两次旋转变化,可以明显的注意在两种情形到最后物体的方向是不同的。
4、欧拉角
旋转矩阵对于坐标系的方向给予了一个过多的描述;事实上,由于正交矩阵的性质,所具有的九个特征元素收到六个约束,彼此之间并非独立的。这意味着对于描述一个刚性物体的方向有三个参数即是足够的。
(六个约束详解地址:3阶正交矩阵只有三个自由度/自由向量 欧拉角六个约束问题_国庆的博客-CSDN博客)
依据三个参数组成的方向描述为一个最小表示,一个最小表示能够被获得通过使用一个三个角度的集合。一个坐标系表述基本旋转的旋转矩阵(三种基本旋转矩阵)作为一个单个角度的功能且要保证两次连续的旋转,这意味着共有27种不同的组合共有12种符合,即第一次旋转有三个轴可以选择,第二次旋转要排除第一个轴已转的有两种选择,第三次旋转要排除第二次旋转的轴有两次旋转,共有12种可能。这12种每一种都为欧拉角的一种。接下来主要简绍的是ZYX(Roll-Pitch-Yaw)(滚转-俯仰-偏航)。
4.1、RPY角
RPY(最初起源于航海领域,他们属于(ZYX)角,也被称为Roll-Pitch-Yaw(滚转-俯仰-偏航),它能表述一个飞行器在空中姿态的变化。角可表示固定在飞行器质点上的坐标系。
翻滚-俯仰-偏航角度的获取可包括以下:
该图只为了让大家有一个具体空间角度变化的了解,将坐标系轴线位置设置不同则滚仰偏定义对应的轴线可能不同,如以下,定义中,设置绕x轴旋转为偏航,绕y轴旋转为俯仰,绕z轴旋转为翻滚,结合坐标系,判断一下坐标系在飞机上怎么固定呢?
机头方向指向z,x正方向为机身向上方向,如下图:
(1)绕z轴旋转角度,即偏航角,通过矩阵
来表示
(2)绕y轴旋转角度,即俯仰角,通过矩阵
来表示
(3)绕x轴旋转角度,即滚转角,通过矩阵
来表示
坐标系旋转的结果可由基于固定坐标系旋转的组合获得,能够通过基本旋转矩(上3.2.1)阵自左乘获得。
即
由以上对应给予一个旋转矩阵R,使得R为:
通过比较能够获得角度为:
若角度范围在
,则
若角度范围在
,则
其中为计算
反正切,即
,可通过y与x的正负来判别角度所在象限,从而判别在
范围内的角。
4.2、无人机中的欧拉角
经过上诉的部分已经将旋转矩阵方面的知识描述完毕,接下来为具体在无人机运用上的矩阵变换。
无人机中我们选择旋转z轴产生的为偏航角,旋转y轴产生的为俯仰角,旋转x轴为滚转角。
上文3.2.1中讲述了三种基本旋转矩阵,上述的旋转矩阵R可将变换后的位移、速度、力转换为变换前原坐标系下的位置、速度、力,由此我们如果获得无人机相对于惯性系(NED坐标系)的角度,即可得到在惯性系下的运动。当然我们也可以设定无人机的机体坐标系为原始坐标系,这时如果想要获得在惯性系下的相关量,则需要乘上旋转矩阵的逆,上面我们有旋转矩阵的装置为旋转矩阵的逆,固有如下:
表示为以机体坐标系为原坐标系,机体坐标系下相关量想要转换至惯性系下坐标量所需乘的旋转矩阵
4.3、无人机中的万向锁
陀螺仪的结构为一根轴线穿过一个圆盘,且圆盘处于高速旋转状态,为陀螺仪的转子。根据陀螺的定轴性,陀螺的自转轴即竖轴在惯性空间内的方向保持不变
无人机运动学控制中的坐标系,及惯性坐标系与机体坐标系之间的矩阵转换 欧拉角相关推荐
- MATLAB中数组的原始索引和线性索引之间相互进行转换
1 致谢 感谢MATLAB文档的帮助, 原文链接如下: https://ww2.mathworks.cn/help/matlab/math/array-indexing.html 2 前言 今天在学习 ...
- 惯性坐标系、物体坐标系、世界坐标系
一.坐标系的区别 1.世界坐标系 2.物体坐标系 3.惯性坐标系 二.坐标系之间的联系 一.坐标系的区别 1.世界坐标系 世界坐标系是一个特殊的坐标系,它建立了描述其他坐标系所需要的参考系.也就是说, ...
- 导航坐标系:地心惯性坐标系、地心地固坐标系、当地水平坐标系、载体/机体坐标系
导航中的几种常用坐标系 地心惯性坐标系(ECI) 地心地固坐标系(ECEF) 当地水平坐标系(LLF).东北天坐标系ENU 地平坐标系 载体/机体坐标系 机动目标跟踪/室内定位/导航/优化技术探讨:W ...
- 使用mocap在mujoco中实现逆运动学控制
使用mocap在mujoco中实现逆运动学控制 代码地址:https://github.com/kevincheng3/mocap-control 视频地址https://www.bilibili.c ...
- AirSim(五)---理解篇: Airsim世界坐标系、NED坐标系、机体坐标系以及控制相关API接口函数
目录 1. 坐标系 coordinate system (1) AirSim API的坐标系:NED 坐标系 with SI unit (2) Unreal Engine的坐标系 (3)AirSim全 ...
- 【控制】《多无人机协同控制技术》周伟老师-第3章-面向协同控制的无人机单机控制
第2章 回到目录 第4章 Link: [控制]四旋翼无人机姿态角分析 第3章-面向协同控制的无人机单机控制 3.1 无人机运动建模 3.1.1 参考坐标系 3.1.2 运动参数 3.1.3 无人机运动 ...
- Robotics: Aerial Robotics(空中机器人)笔记(三):无人机运动学建模
在这一章里,我们将探索四旋翼无人机的运动学原理. 这章将会讲机器人学中的坐标转换(Transformation).旋转(Rotation).欧拉角(Euler Angles).角-轴旋转表示(Axis ...
- 【UAV】从单个螺旋桨到四旋翼无人机运动学分析
文章目录 1 单个螺旋桨受力分析 2 坐标变化 3 四个螺旋桨对无人机的影响 3.1 旋翼对位置的影响 3.2 旋翼对姿态角影响 4 机体坐标下的输出量 5 位置变量转换到世界坐标系 6 简化分析 1 ...
- 【控制】《多无人机协同控制技术》周伟老师-第12章-基于 Multi-Agent 的多无人机协同控制仿真平台的设计与实现
第11章 回到目录 无 第12章-基于 Multi-Agent 的多无人机协同控制仿真平台的设计与实现 12.1 多无人机协同控制视景仿真系统设计 12.1.1 多无人机协同控制视景仿真系统功能描述 ...
最新文章
- VUE 事件获取当前组件的属性
- filewriter判断是否关闭_警示丨小伙用打火机检测煤气罐是否泄漏,瞬间被火焰吞噬!...
- 批处理详细教程(三)
- 零基础自学python看什么书-学习Python可以看书籍学习吗?老男孩Python入门课程
- linux 解压缩常用命令
- 好文推荐 | MySQL binlog应用场景与原理深度剖析
- [云炬创业基础笔记] 第三章测试1
- redis接口的二次封装
- GPU Gems1 - 13 使用遮挡区间映射产生模糊的阴影(Generating Soft Shadows Using Occlusion Interval Maps)
- 20180321选择排序-简单选择排序
- Java架构-高并发的解决实战总结方案
- eclipse 矩阵删除行列,也可以矩阵形式编辑
- meta几个常用的地方
- 重新学习《C++Primer5》第16章-模板与泛型编程
- HBuilder X 设置保存时编译
- Python调用OpenCV接口实现网络摄像头录像和抓拍图片
- 如何将pdf文件转换成word格式
- linux 64 输入法下载,搜狗输入法 for Linux
- 基于STM32F103C8T6与ESP8266的物联网智能温度采集与蓝牙OLED数字钟的设计与实现
- Python 入门经典必背的 18 个程序,学完就入门 Python 了
热门文章
- java bean生成_Java Bean 生成器
- 计算机教师招聘的技能展示,厦门市教师招考音体美计算机技能测试的通知(2)
- Java中final和static修饰的变量是在什么时候赋值的?
- FFmpeg video编码 yuv_h264 (多线程 和profile 定义)
- CC00019.python——|HadoopPython.v19|——|Arithmetic.v19|语法:进阶函数.V1|
- c语言标准io进程,IO系统-标准C的I/O和文件I/O
- 能源行业走向“双碳目标”,“标本双治”是关键
- 软件测试与质量保证 - 复习与面试题库(from hitwh)
- AWS Certified Solutions Architect Associate 学习笔记2
- 易观分析对《上海市促进人工智能产业发展条例》的解读