板载计算机外部控制主要是使用第三方机载计算机(如:Intel Aero、Jetson TX2、Jetson Nano、其他类型minipc)等通过mavlink协议实现对飞控参数的获取和机载端控制,相对于地面站控制来说,具有较高的稳定性和实时性,不会因为数据链路通讯等问题造成控制权失败等。
PX4官方配置机载计算机的方法可以参考以下链接:
Companion Computer for Pixhawk Series | PX4 User Guide
注意:修改参数从Disable改为Enable之后,如果地面站参数表中没有出现其他参数,重启飞行器后重新连接地面站即可看到。
重启飞控的方法可以通过mavlink command命令行中输入reboot,然后飞控会自动完成重启过程。
注:
- 官方提供的例程中posestamp对应的xyz三个坐标值为理想坐标值,实际发布的坐标值建议先读取飞机起飞前的实际坐标。进而进行位置增量控制。
- 板载计算机的offboard模式启动时,外部控制代码将自动接管飞机,此时地面站上面显示offboard,遥控器输入无效。
- 如果使用第三方定高设备(如tfmini、SR04超声波测高仪等)一定注意起飞原点高度数据,如果高度数据为负值或原地示数波动较为明显,则不能启动外部控制,必须等到定点位置数据稳定且准确后方可使用外部控制,否则会导致炸机危险。
- 外部控制非常危险,一定要保证遥控器上面有一个通道用于从自动控制模式转为人工控制。这里我将第五通道映射到遥控器的三位开关,用于从position和auto.land模式中切换。
Move_ENU和Move_Body区别:
move_enu和move_body都是同一个坐标系,move_enu坐标原点在起飞点,move_body坐标原点在飞机当前时刻。 飞机往前是x+,往左是y+,往上是z+,所以第一个点是右下方。