ROS中ENU坐标系与无人机中NED坐标系的转换关系理解

项目地址

  • 无人机中NED坐标理解
  • ENU与NED转换

无人机中NED坐标理解

  • 机体坐标系:机体坐标系固连飞机,其原点 取在多旋翼的重心位置上。 x轴在多旋翼对称平面内指向机头(机头方向与多旋+字形或X字形相关)。 z轴在飞机对称平面内,垂直轴向下。然后,按右手定则确定y轴 。
  • 地球固联坐标系:通常以多旋翼起飞位置作为坐标原点 。先让x轴在水平面内指向某一方向,z轴垂直于地面向下。然后,按右手定则确定y轴,坐标原点还有用地心的?比如NED坐标系为x轴为正北方向,y轴为正东方向,z轴指向下。

飞机的欧拉角就是基于上面两个坐标系的转换。pitch+为抬头,roll+为右旋转,yaw+为右偏航。

Yaw与指南针角度的关系

  • 指南针的角度是确定不变的,北朝向为0度,东为90度,南为180度,西为270度。
  • Yaw角是当前机头方向与正北方向的夹角(若地球固联坐标系为NED)

也就是说当我们知道YAW角时我们就可以确定飞机当前的航向(东,北哪个方向),比如我们的vision通过mavros给飞控的Yaw的角度是90度,而且飞机的地球固联坐标系为NED,那么可以确定飞机机头当前指向为正东,即使我们没有磁力计测方向,但我们假设了一个方向,此时Yaw角与指南针的角度完全重合或者说相同。

但当我们的Yaw角为90度,机头朝向为正北方向,那么我们可以确定飞机地球固联坐标系采用的是WND(W为西)。

在PX4中用到的地球固联坐标轴是NED坐标系,即x,y,z的方向固定不变(Offboard模式下除外,但是在offboard模式下,初始上电后其东北方向由Yaw角决定)

ENU与NED转换

如下图

在ROS中用到的坐标系是ENU坐标系,而我们飞控中用到的坐标系是NED所有需要转换,好在mavros已将帮我们转换好了。

下面是转化公式供参考
YawNED=−YawENU+90Yaw_{NED} = -Yaw_{ENU}+90 YawNED​=−YawENU​+90

XNED=YENUX_{NED}=Y_{ENU} XNED​=YENU​

YNED=XENUY_{NED}=X_{ENU} YNED​=XENU​

ZNED=−ZENUZ_{NED}=-Z_{ENU} ZNED​=−ZENU​

ROS中ENU坐标系与无人机中NED坐标系的转换关系理解相关推荐

  1. 【踩坑记录】colmap中的相机位姿的坐标系定义及其可视化结果的隐含转换

      这个问题来自于我想要使用colmap的稀疏重建结果,然后发现由于相机坐标系的定义没弄清楚,导致我获取的结果存在问题.    1 问题引出   下面先从我们还不知道坐标系定义的视角开始理解,引出问题 ...

  2. AirSim(五)---理解篇: Airsim世界坐标系、NED坐标系、机体坐标系以及控制相关API接口函数

    目录 1. 坐标系 coordinate system (1) AirSim API的坐标系:NED 坐标系 with SI unit (2) Unreal Engine的坐标系 (3)AirSim全 ...

  3. ROS中map、odom、base_link坐标系的理解和这三个坐标系在AMCL中的关系

    学了ROS快一年了,依旧对map坐标系.odom坐标系.base_link坐标系之间的关系不是很清晰,这段时间下定决心要捋清楚他们之间的关系. map坐标系:地图坐标系,是一个固定的坐标系: base ...

  4. 【ROS学习】- tf学习 - tf中重要函数解析 (陆续更新....)

    文章目录 一.函数waitForTransform().lookupTransform() 具体解释 二.函数 tf::StampedTransform().sendTransform() 具体解释 ...

  5. 差分定位中控软件_无人机中的RTK差分定位技术解析,不懂得来科普吧

    一.什么是RTK 实时动态差分法(Real-time kinematic,RTK)又称为载波相位差分技术.这是一种新的常用的GPS测量方法.以前的静态.快速静态.动态测量都需要事后进行解算才能获得厘米 ...

  6. 相机标定原理 用ROS camera_calibration 功能包 在gazebo中进行 相机校准

    在gazebo中进行相机标定 相机标定原理 相机标定意义 相机标定原理 相机标定参数 相关坐标系 世界坐标系 相机坐标系 像素坐标系.图像坐标系 相机坐标系转换为世界坐标系 像素坐标系转换为图像坐标系 ...

  7. 免费公开课 | 强化学习及其在竞速无人机中的应用

    强化学习是机器学习的一个重要的领域.有别于监督学习和非监督学习,强化学习最突出的优势在于可以自主地探索出问题的解决方案. 近几年,深度强化学习把神经网络与强化学习算法进行结合,并且解决了许多人类之前无 ...

  8. fluent柱坐标系设定_Fluent中速度入口条件要设置哪些参数

    Fluent中速度入口条件要设置哪些参数 (2012-07-18 13:32:00) 标签: 杂谈 (1)速度值及方向,或速度分量. (2)二维轴对称问题中的旋转速度. (3)用于能量计算的温度值. ...

  9. 地理坐标系和投影坐标系详解(及坐标系在ArcGIS中的应用)

    标题地理坐标系和投影坐标系详解(及坐标系在ArcGIS中的应用)

最新文章

  1. dropout,batch norm 区别 顺序
  2. OS / Linux / 主线程退出了,子线程会退出吗?
  3. LiveVideoStackCon讲师热身分享 ( 十二 ) —— 微博短视频高并发架构
  4. Three.js的绘制流程(三)----地形
  5. Unity SRP自定义渲染管线 -- 2.Custom Shaders
  6. [转]最长回文字符串
  7. Win32项目生成的程序exe图标显示异常的问题
  8. thinkphp3.1 mysql5.6_ThinkPHP3.1新特性之多数据库操作更加完善
  9. 伍德里奇计量经济学导论pdf_伍德里奇 计量经济学导论 第三章第三节-1 MLR1-MLR4...
  10. vivado 下载bit报错End of startup status:LOW
  11. 计算机接口技术相关设计,计算机接口技术的特点与应用设计研究
  12. 如何提高公文写作水平?公文写作笔杆子写材料经典语句汇编(7类3800多字)
  13. 关于WEB服务器硬件配置,你了解多少
  14. Android面试之J2SE基础
  15. java解析加密excel,java poi 打开加密 excel?该怎么处理
  16. 创业投资——创新工场
  17. PDF转word之后的结果事图片格式,如何改成.doc或.docx格式
  18. 【TouchDesigner】三维渲染
  19. 如何换config.plist、换clover和添加引导的教程
  20. LVI-SAM imuPreintegration代码解析

热门文章

  1. JAVA一种获得泛型类泛型参数Class对象的方法
  2. STM32CUBEMX(13)--SPI,W25Q128外部Flash移植
  3. 教资注册后报名前,这个细节千万不要忘记!
  4. python基本语法搭建以及环境-第一课-by好想
  5. STM32CubeMX 简介
  6. 海龟画图,颜色的单词
  7. 网络工程师成长日记330-西安壳牌项目实习
  8. RedHat 7.3 DNS-unbound配置方法
  9. 发生在我们身边的灵异事件 - 发生在台湾奇萊山的一些灵异事件 1
  10. 人活着不是为了打工,因果倒置,确幸难至