机载计算机控制APM固件飞控的缺点

APM固件:

机载计算机通过mavlink控制apm飞控的能力有限。经过尝试,mavros控制apm飞控情况如下
目前只支持:

  • 控制三个姿态角和推力(需要自己写姿态控制环),且所有姿态角和推力必须同时给出(setpoint_raw/attitude)
  • ‌在飞机靠遥控飞起来后,控制三个方向的速度,且xyz速度需要同时给出(setpoint_velocity/cmd_vel)
  • ‌也许还可以支持飞起来之后给三个方向的位置(没试成功)(setpoint_postition/local)

不支持:

  • ‌gazebo仿真
  • ‌加速度控制
  • ‌角速度控制
  • ‌从怠速开始guided控制(这意味着无法自动起飞)
  • ‌同时控制速度,高度。或者同时控制位置,航向角等,不支持setpoint_raw/local
  • ‌自动广播飞控姿态和位置,速度。需要输入rosservice命令手动打开

px4固件:

机载计算机利用mavros控制px4固件:
优势:

  • ‌支持位置,加速度,速度,角速度,姿态角和推力控制以及上述部分组合的混合控制
  • ‌支持gazebo仿真
  • ‌自动广播飞控数据
  • ‌可以offboard模式下解锁,切换模式,能自动起降
  • ‌px4固件支持北醒tfmini plus激光定高,设置方便

待解决:

  • ‌不支持nmea的gps协议,因此不能使用nooploop的伪gps直接连接飞控(但是可以通过机载计算机向飞控发送uwb位置来解决)
  • ‌加速度控制性能未知
  • ‌飞控发布的速度准确度未知

总之,APM飞控完全无法胜任我们对机载计算机控制飞行的要求,不仅不能利用机载计算机实现加速度控制、位置控制、位置速度混合控制等,还要求飞机起飞后再切换guided模式、不自动广播飞控数据,也不支持gazebo仿真。

px4显然是更加契合ros,gazebo以及机载计算机控制的飞控固件。

参考:

https://ardupilot.org/dev/docs/copter-commands-in-guided-mode.html

https://ardupilot.org/dev/docs/using-gazebo-simulator-with-sitl.html#using-gazebo-simulator-with-sitl

https://docs.px4.io/master/en/flight_modes/offboard.html

猜你喜欢

转载自blog.csdn.net/benchuspx/article/details/111147654