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已将帮我们转换好了。
下面是转化公式供参考
Y a w N E D = − Y a w E N U + 90 Yaw_{NED} = -Yaw_{ENU}+90 Ya