无人机坐标系定义与转换
- [x]作者简介:热爱科研的无人机(机器人)导航、制导、控制开发者。
如有错误,请指正,不吝感谢!
1、前言
我们在研究无人机、机器人、无人车等相关领域的导航、制导与控制算法时,需要了解各个坐标系的定义与相互转换关系。因为坐标系是为了更准确的描述无人机的位置和运动规律而选取的参考基准。譬如:我们知道牛顿力学方程是在惯性系下才成立的;多旋翼无人机的拉力(由螺旋桨旋转产生)则更容易表达在机体坐标系下;mems imu则固定在无人机机身,其敏感的力也常用机体坐标系表示;我们做无人机路径规划时,其规划的航点则基本表示为惯性系;当研究对象为固定翼无人机或导弹时,由于涉及到空气动力,更延伸出了速度坐标系和弹道坐标系(参见导弹飞行力学)。
2、坐标系定义
很多教程上直接给与了各个坐标系的定义,然后直接告诉各坐标系之间的转换关系。中间的细节进行了省略,导致很多从业者对各个坐标系的转换顺序很困惑。在此我们以最常用的321与231转换顺序进行举例,和大家一起了解各个坐标系的具体转换过程以及转换顺序与角度定义的关系。
2.1 导航坐标系
在此采用北东地坐标系,即正北为x轴,正东为y轴,z轴为右手原则确立。常采用无人机起飞前时刻的坐标点为坐标系原点,与地球固连,非绝对意义上的惯性坐标系,因为随地球转动而运动。
2.2 机体坐标系
我们以常用的前右下为机体坐标系,即无人机纵轴(前向)为x轴,右侧为y轴,z轴为右手原则确立,原点为无人机瞬时重心位置。其具体图形如下:
我们首先确立坐标系转换顺序为321,即依次绕zyx三个轴方向进行旋转。在此定义的姿态角度为:
偏航角yawyawyaw: 无人机纵轴在平面xoy的投影与ox轴之间的夹角,绕z轴右手旋转方向为正;
俯仰角pitchpitchpitch: 无人机纵轴(这里即x轴)与平面xoy之间的夹角,且绕y轴右手旋转方向为正;
滚转角rollrollroll: 机体坐标系z轴与包含无人机纵轴的铅垂面之间的夹角,同样绕x轴右手旋转方向为正;
需要注意的是:321与231的偏航角与俯仰角定义有所区别
若是231旋转顺序,则偏航角是纵轴与xoz平面的夹角,俯仰角则为纵轴的投影与ox轴间夹角
2.3 速度坐标系(风速坐标系)
对于旋翼机来说,该坐标系可以不考虑,该坐标系主要是用来表达气动力。该坐标系定义如下:以无人机相对风的速度矢量(注意与地速相区分)为x轴,无人机纵向对称面内且与x轴垂直方向为z轴,向下指向为正,y轴服从右手原则,原点为无人机瞬时重心。
该坐标系需要掌握的是攻角α\alphaα、侧滑角β\betaβ的计算方法。
攻角定义:无人机相对风的速度矢量在无人机纵向对称面的投影与纵轴之间的夹角;
侧滑角定义:无人机相对风的速度矢量与无人机纵向对称面之间的夹角;
其计算公式可以见matlab航天模块中flight parameters。
2.4 弹道坐标系
该坐标系定义如下:以无人机的速度矢量为x轴,在包含x轴的铅垂面内且与x轴垂直方向为z轴,y轴服从右手原则。
该坐标系主要是与制导律相关,理想情况下(即不考虑传感器误差),该坐标系的比例制导律效果最优。
弹道坐标系与导航坐标系之间的角度定义如下:
弹道偏角:无人机速度矢量在平面xoy的投影与ox轴之间的夹角;
弹道倾角:无人机的速度矢量与导航坐标系xoy间的夹角;
上述角度定义同样是与321转换顺序相互对应。
不考虑风矢量的情形下,该坐标系与速度坐标系之间只有一个旋转角度γs\gamma_sγs,记作速度倾斜角。
2.5 视线坐标系
视线坐标系主要是用来描述导引头或类似功能的传感器设备。其光轴方向为设备(常与无人机绑定)与目标点的连线方向,该方向为视线坐标系x轴,z轴为包含x轴的铅垂面内且与x轴垂直,y轴即右手坐标系确立。坐标系原点为设备光心位置。
当用单目相机对目标进行跟踪时,虽然单目相机不可以测距,但可以提取视线角度信息,然后利用视线信息对目标进行跟踪。
视线坐标系与导航坐标系之间的角度定义如下:
高低视线角qfq_fqf:光轴与导航坐标系xoy平面间的夹角;
水平视线角qhq_hqh:光轴在导航坐标系xoy平面间的投影与ox轴之间的夹角;
该角度的旋转顺序同样为321顺序。
Cqn=C(qf)∗C(qh)C_{qn} = C(q_f)*C(q_h)Cqn=C(qf)∗C(qh)
CqnC_{qn}Cqn为导航坐标系旋转至视线坐标系的旋转矩阵。
视线坐标系制导律相对弹道坐标系的优点在于其对传感器精度要求相对较低,因为其坐标转换关系相对更少
后续会详细介绍基于相机对目标的跟踪。
2.6 框架坐标系
框架坐标系主要是用来描述有些导引头的原始测量信息。其光轴方向为设备(常与无人机绑定)与目标点的连线方向,该方向为视线坐标系x轴,z轴为包含x轴的纵向对称面内且与x轴垂直,y轴即右手坐标系确立。坐标系原点为设备光心位置。
该坐标系与视线坐标系之间只有一个倾斜旋转角度。该坐标系与机体坐标系之间的角度为测量原始值,其定义如下:
高低框架角qθq_{\theta}qθ:光轴在无人机纵向对称面的投影与纵轴之间的夹角;
水平视线角qβq_{\beta}qβ:光轴与无人机纵向对称面之间的夹角;
3. 坐标转换
上述坐标转换总共涉及八个角度,知道任意5个,则可以获取其他三个。
上述经常根据已知的qθq_{\theta}qθ、qβq_{\beta}qβ,求取导引律所需要的qfq_fqf、qhq_hqh
上述坐标转换的旋转矩阵可以通过matlab获取,比如导航坐标系至机体坐标系的旋转矩阵,可以由以下方式获取:
DCM = angle2dcm(yaw,pitch,roll,'zyx')
open angle2dcm %%查看转换公式
然后在该函数下寻找对应的旋转次数,比如本示例中是321旋转顺序,即对应的case为zyx。
坐标转换中常见的函数如下:
lla = ecef2lla(p, model) %地球地固坐标系转换至地理坐标系p = lla2ecef(lla, model) %地理坐标系转换至地球地固坐标系lla = eci2lla(position,utc) %地心惯性坐标系转换至地理坐标系position = lla2eci(lla,utc) %地理坐标系转换至地心惯性坐标系
通过上述公式即可以ecef/eci/lla坐标系间的数值转换,其转换公式同样可以通过open函数查看。
4、下节内容介绍旋转矩阵、四元数、旋转向量、欧拉角的含义及工程应用,敬请期待。
❤️ 关注我领取海量matlab电子书和相关资料
❤️ 扫一扫,添加我的公众号
无人机坐标系定义与转换相关推荐
- GIS中的坐标系定义与转换
GIS中的坐标系定义与转换 青岛海洋地质研究所 戴勤奋 2002-3-27 14:22:47 ----------------------------------------------------- ...
- ArcGIS中的坐标系定义与转换 (转载)
原文:ArcGIS中的坐标系定义与转换 (转载) 1.基准面概念: GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定,因此欲正确定义GIS系统坐 ...
- GIS中的坐标系定义与转换【转】
1. 椭球体.基准面及地图投影 GIS中的坐标系定义是GIS系统的 基础,正确定义GIS系统的坐标系非常重要.GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对 ...
- 数据集转换_“2000坐标”成了标配,你还不懂坐标系定义和转换吗?
国土空间规划明确要求"统一采用2000国家大地坐标系"和"1985年国家高程基准"作为空间定位基础,可是很多时候我们拿到的数据坐标并不是"2000国家 ...
- gis投影中未定义的地理转换_“2000坐标”成了标配,你还不懂坐标系定义和转换吗?...
国土空间规划明确要求"统一采用2000国家大地坐标系"和"1985年国家高程基准"作为空间定位基础,可是很多时候我们拿到的数据坐标并不是"2000国家 ...
- 【踩坑记录】colmap中的相机位姿的坐标系定义及其可视化结果的隐含转换
这个问题来自于我想要使用colmap的稀疏重建结果,然后发现由于相机坐标系的定义没弄清楚,导致我获取的结果存在问题. 1 问题引出 下面先从我们还不知道坐标系定义的视角开始理解,引出问题 ...
- 车载GNSS/INS/LiDAR坐标系定义与理解
目录 一.基本坐标系 1.1 地心惯性坐标系(Inertial coordinate system,i系) 1.2 地心地固坐标系(Earth-Centered, Earth-Fixed,e系) 1. ...
- proj4经纬度bl转换xy_多种坐标系之间的转换之Proj.NET_转载
Proj.NET (http://www.codeplex.com/ProjNET)是一个.NET下开源的空间参照和投影引擎,遵循OGC相关标准.负责人(Coordinators )是D_Guidi ...
- 坐标系转换工具_借助工具实现不同坐标系之间的转换
在设计院日常工作中避免不了不同坐标系之间矢量数据.栅格数据等的转换,由于涉及到不同的参考椭球可能在某些情况要转换需要额外的参数,实现转换.但是有时候却受限于一些原因需要我们自己进行转换,下面就工作中的 ...
最新文章
- 哈哈哈哈哈哈!当前的人工智能有多智障?
- Nature news: 未来40年,DNA测序将走向何方?
- 安卓一键新机_安卓福音!微信终于推出这个功能,再也不用羡慕iPhone
- linux 内核日志等级,Linux系统中日志级别详情
- 荣耀变鸿蒙系统,鸿蒙系统首批升级机型曝光!荣耀手机遗憾缺席,原因很简单...
- MongoDB3.xxx 用户创建
- (https)nginx - tomcat(http)
- JDBC连接错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。。。
- 大数据的价值体现有哪些
- 使django与数据库保持长连接
- 产品能力提升|《金字塔原理》
- 成都电子信息学校计算机专业,成都电子信息学校2020招生简章
- OpenSSL 生成CA证书及终端用户证书
- 【BZOJ】【P1406】【AHOI2007】【密码箱】【题解】【数论】
- [ABAP] 把两个RADIOBUTTON放在同一行
- request_threaded_irq
- python中var是什么变量_python变量
- C语言far远程指针,C语言近程型(near)和远程型(far)的区别是什么?
- 完整版MYSQL 使用基础 - 这么用就对了
- 中学课程01课程概述02课程组织03基础教育课程改革
热门文章
- C# 文字转换最简单的方法
- 从程序员到asp.net架构师转变(转载)
- “银行家算法”讲解,在前端表格中利用自定义公式实现“四舍六入五成双”
- c语言拆字程序2000h单元,《C51运算符》PPT课件.ppt
- 2023年全国最新会计专业技术资格精选真题及答案11
- ubuntu backup-manager 高效备份工具
- 移动端 vue 个人组件库
- 用shell手撸容器实现批量用openssl签证书
- 【历史上的今天】12 月 6 日:微波炉问世;多媒体格式 Mkv 诞生;日立环球存储科技公司成立
- coding平台简易操作