写在前面
PX4飞控默认的惯性坐标系方向是“北东下”,Offboard指令中的local坐标系方向是“东北上”,Offboard指令中的setpoint_velocity指令是相对于机体坐标系的。
px4使用的坐标系为NED(北东地)坐标系或者FRD(前右下)坐标系。
mavros中常使用的是ENU(东北天)坐标系或者body系(前左上)。
mavros会自动将输入的ENU坐标值或者body系坐标值转换到NED坐标系中,再通过mavlink发送给飞控。mavros的local系指当地坐标系,一般是ENU坐标系,坐标原点一般在起飞点。
mavros的body坐标系比较乱。如果你用apt安装的ros-kinetic-mavros(二进制安装),即kinetic版本的mavros,则body系是RFU(右前上)坐标系,坐标原点在机体上。这个RFU坐标系表面上和ENU系有点像,但其实在工程领域和各大教材中都没有采用。因此在melodic版本中,body系已经改成了FLU(前左上)坐标系。在最新的mavros源码里,body系也已经更换成了FLU坐标系,因此是如果用源码编译的mavros,body系都是FLU系。

几个坐标系转来转去,时间一长又搞混了。
px4使用的坐标系为NED(北东地)坐标系或者FRD(前右下)坐标系。然而mavros(melodic版本)中常使用的是ENU(东北天)坐标系或者body系FLU(前左上),mavros会自动将输入的ENU坐标值或者body系坐标值转换到NED坐标系中,再通过mavlink发送给飞控
mavros中经常出现的FCU 不是代表坐标系缩写,Flight Control Unit 直译就是飞行控制单元

文章详细阐述了PX4飞控的惯性坐标系(NED/FRD)与mavros中使用的ENU和body(FLU)坐标系之间的差异和转换规则。mavros会自动将输入的ENU或body坐标转换为NED坐标,以便与飞控通信。此外,还提到了yaw角度与指南针方向的关系以及ROS中的坐标系统。
最低0.47元/天 解锁文章
7580

被折叠的 条评论
为什么被折叠?



