PX4模块设计之九:PX4飞行模式简介
- 关于模式的探讨
- 1. 需求角度
- 1.1 多旋翼(MC, multi-copter)
- 1.1.1 RC控制模式
- 1.1.1.1 Position Mode
- 1.1.1.2 Altitude Mode
- 1.1.1.3 Manual/Stabilized Mode
- 1.1.1.4 Acro Mode (angle rate)
- 1.1.2 特殊控制模式
- 1.1.2.1 Orbit Mode
- 1.1.2.2 Follow Me Mode
- 1.1.2.3 Mission Mode
- 1.1.2.4 Offboard Mode
- 1.1.3 标准动作模式
- 1.1.3.1 Hold Mode
- 1.1.3.2 Return Mode
- 1.1.3.3 Takeoff Mode
- 1.1.3.4 Land Mode
- 1.2. 固定翼 (FW, Fixed-wing)
- 1.2.1 RC控制模式
- 1.2.1.1 Position Mode
- 1.2.1.2 Altitude Mode
- 1.2.1.3 Stabilized Mode (angle)
- 1.2.1.4 Acro Mode (angle rate)
- 1.2.1.5 Manual Mode
- 1.2.2 特殊控制模式
- 1.2.2.1 Mission Mode
- 1.2.2.2 Offboard Mode
- 1.2.3 标准动作模式
- 1.2.3.1 Hold Mode
- 1.2.3.2 Return Mode
- 1.2.3.3 Takeoff Mode
- 1.2.3.4 Land Mode
- 1.3. 垂直起降 (VTOL, Vertical Take Off and Landing)
- 1.4. 车辆/船 (Rover/Boat)
- 1.4.1 Manual Mode
- 1.4.2 Mission Mode
- 2. 设计角度
- 2.1 手动模式 (Manual flight modes)
- 2.1.1 多旋翼(MC, multi-copter)
- 2.1.2 固定翼 (FW, Fixed-wing)
- 2.1.3 车辆/船 (Rover/Boat)
- 2.2 辅助模式 (Assisted flight modes)
- 2.3 自动模式 (Auto flight modes)
- 2.4 飞行模式设计状态图
- 3. 参考资料
PX4的飞行模式从官网介绍上看感觉非常多且复杂,那是因为专业。为了方便理解,梳理一下有助于后续研读代码逻辑。
关于模式的探讨
有的时候看上去是这样的东西,而实际也许并不全是。回过头来说,设计的目的就是为了解决实际需求,因此我们这里从两个角度来考虑关于飞行模式的问题。
- 实际需求的角度:(总体来说,PX4支持几大类航模控制器)
- 多旋翼
- 固定翼
- 垂直起降
- 车辆(地面)/船(水面)
- 设计思路的角度:
- 手动控制
- 辅助控制
- 自动控制
1. 需求角度
1.1 多旋翼(MC, multi-copter)
1.1.1 RC控制模式
1.1.1.1 Position Mode
其主要功能点:
- 前进/后退
- 左移/右移
- 上升/下降
- 左旋/右旋
- 支持定高(GPS+/baro+/radar)
- 支持定点(GPS)
![](http://image109.360doc.cn/DownloadImg/2023/07/0320/268595297_6_20230703084012432.png)
1.1.1.2 Altitude Mode
其主要功能点:
- 前进/后退
- 左移/右移
- 上升/下降
- 左旋/右旋
- 支持定高(baro+/radar)
![](http://image109.360doc.cn/DownloadImg/2023/07/0320/268595297_7_20230703084012677.png)
1.1.1.3 Manual/Stabilized Mode
其主要功能点:
- 前进/后退 (注:遥感位置代表实际飞行姿态调整角度)
- 左移/右移 (注:遥感位置代表实际飞行姿态调整角度)
- 上升/下降
- 左旋/右旋
![](http://image109.360doc.cn/DownloadImg/2023/07/0320/268595297_8_2023070308401326.png)
1.1.1.4 Acro Mode (angle rate)
其主要功能点:
- 前倾/后仰 (注:遥感位置代表实际飞行姿态调整角速度)
- 左倾/右倾 (注:遥感位置代表实际飞行姿态调整角速度)
- 加速/减速
- 左旋/右旋
![](http://image109.360doc.cn/DownloadImg/2023/07/0320/268595297_9_20230703084013213.png)
1.1.2 特殊控制模式
1.1.2.1 Orbit Mode
其主要功能点:
- 缩小/扩大Orbit半径
- 加速/减速
- 上升/下降
1.1.2.2 Follow Me Mode
跟随模式使多翼机自动跟随并跟踪提供其当前位置设定点的用户。位置设定点可能来自运行QGroundControl的Android手机/平板电脑或MAVSDK应用程序。
1.1.2.3 Mission Mode
任务模式使飞行器执行已上传至飞行控制器的预定义自主任务(飞行计划)。任务通常通过地面控制站(GCS)应用程序创建和上传。
1.1.2.4 Offboard Mode
非车载模式使多翼机服从通过MAVLink提供的位置、速度或姿态设定点。
1.1.3 标准动作模式
1.1.3.1 Hold Mode
保持模式使多翼机停止并悬停在其当前位置和高度(在风力和其他力作用下保持位置)。该模式可用于暂停任务或帮助在紧急情况下重新获取控制权。可以使用预先编程的RC开关或QGroundControl暂停按钮激活。
1.1.3.2 Return Mode
该模式可以手动(通过预编程RC开关)或自动(即在触发故障保护的情况下)激活。返回行为取决于参数设置,并可能遵循任务路径和/或任务着陆模式。默认情况下,多旋翼机只需上升到安全高度,飞到原位,然后着陆。
1.1.3.3 Takeoff Mode
起飞模式使多翼机垂直爬升至起飞高度并悬停到位。
1.1.3.4 Land Mode
着陆模式使多翼机降落在模式激活的位置。
1.2. 固定翼 (FW, Fixed-wing)
1.2.1 RC控制模式
1.2.1.1 Position Mode
其主要功能点:
- 前倾/后仰
- 左倾/右倾
- 加速/减速
- 左旋/右旋
- 支持定高(GPS+/baro+/radar)
- 支持直线巡航(GPS)
![](http://pubimage.360doc.com/wz/default.gif)
1.2.1.2 Altitude Mode
其主要功能点:
- 前倾/后仰
- 左倾/右倾
- 加速/减速
- 左旋/右旋
- 支持定高(baro+/radar)
![](http://pubimage.360doc.com/wz/default.gif)
1.2.1.3 Stabilized Mode (angle)
其主要功能点:
- 前倾/后仰 (注:遥感位置代表实际飞行姿态调整角度)
- 左倾/右倾 (注:遥感位置代表实际飞行姿态调整角度)
- 加速/减速
- 左旋/右旋
![](http://pubimage.360doc.com/wz/default.gif)
1.2.1.4 Acro Mode (angle rate)
其主要功能点:
- 前倾/后仰 (注:遥感位置代表实际飞行姿态调整角速度)
- 左倾/右倾 (注:遥感位置代表实际飞行姿态调整角速度)
- 加速/减速
- 左旋/右旋
注:当遥感位置回归中位时,飞行器将停止转动。
![](http://pubimage.360doc.com/wz/default.gif)
1.2.1.5 Manual Mode
其主要功能点:
- 前倾/后仰 (注:遥感位置代表实际飞行姿态调整角速度)
- 左倾/右倾 (注:遥感位置代表实际飞行姿态调整角速度)
- 加速/减速
- 左旋/右旋
注:当遥感位置回归中位时,飞行器不会停止转动,需要手动增加一个反向力矩来抵消之前的转动力矩,从而停止转动。
![](http://pubimage.360doc.com/wz/default.gif)
1.2.2 特殊控制模式
1.2.2.1 Mission Mode
任务模式使飞行器执行已上传至飞行控制器的预定义自主任务(飞行计划)。任务通常通过地面控制站(GCS)应用程序创建和上传。
1.2.2.2 Offboard Mode
非车载模式使固定翼飞行器服从通过MAVLink提供的姿态设定点。
1.2.3 标准动作模式
1.2.3.1 Hold Mode
保持固定翼飞行器在其当前高度,开始围绕当前位置旋转。该模式可用于暂停任务或帮助在紧急情况下重新控制车辆。可以使用预先编程的RC开关或QGroundControl暂停按钮激活。
1.2.3.2 Return Mode
该模式可以手动(通过预编程RC开关)或自动(即在触发故障保护的情况下)激活。返回行为取决于参数设置,并可能遵循任务路径和/或任务着陆模式。默认情况下,固定翼飞行器将上升到安全高度,并使用任务着陆模式(如果存在),否则它将飞到初始位置并绕圈
1.2.3.3 Takeoff Mode
起飞模式确保飞行器顺利按步骤起飞。具体的发射行为取决于配置的起飞模式(弹射/手动发射模式或跑道起飞模式)
1.2.3.4 Land Mode
着陆模式使飞行器转向,并在模式激活的位置着陆。
1.3. 垂直起降 (VTOL, Vertical Take Off and Landing)
- 垂直起降过程处于MC mode, 请参考章节1.
- 飞行的时候处于FW mode, 请参考章节2.
1.4. 车辆/船 (Rover/Boat)
1.4.1 Manual Mode
当RC控制杆居中时,手动模式停止电机。要移动车辆,需要将杆移出中心。一旦松开控制杆,它们将返回中央死区。这将关闭电机并使车轮/方向舵居中。没有主动制动,因此车辆可能会继续移动,直到其动量消散(对于船来说,继续漂移)。
1.4.2 Mission Mode
任务模式使飞行器执行已上传至飞行控制器的预定义自主任务(飞行计划)。任务通常通过地面控制站(GCS)应用程序创建和上传。
2. 设计角度
2.1 手动模式 (Manual flight modes)
“手动”模式是指用户通过RC控制(或操纵杆)直接控制的模式,响应的级别/类型随模式而变化。
注:该模式下多旋翼、固定翼、车/船的差异比较大。
2.1.1 多旋翼(MC, multi-copter)
- MANUAL/STABILIZED:用户的输入作为横滚和俯仰角度命令以及横摆率命令传递。油门直接传递到输出混频器。飞控控制姿态,这意味着当RC操纵杆居中时,它将横滚和俯仰角调节为零,从而使姿态变平。然而,在此模式下,飞控的位置不受控,因此位置可能会因风而漂移。
- ACRO:用户的输入作为横滚、俯仰和横摆率命令传递给飞控。飞控控制角速度,但不控制姿态。油门直接传递到输出混频器。
2.1.2 固定翼 (FW, Fixed-wing)
- MANUAL:用户控制输入(来自RC发射器的原始输入)直接传递到输出混频器。
- ACRO:用户输入作为横滚、俯仰和横摆率命令传递给自动驾驶仪。自动驾驶仪控制角速度。油门直接传递到输出混频器。
- STABILIZED:用户的俯仰和横滚输入作为角度命令传递给自动驾驶仪,而偏航输入则直接通过输出混合器发送到方向舵(手动控制)。如果RC横滚和俯仰杆居中,自动驾驶仪将横滚和俯仰角调节为零,从而稳定(调平)姿态以抵抗任何风干扰。然而,在此模式下,飞机的位置不受自动驾驶仪控制,因此位置可能会因风而漂移。
2.1.3 车辆/船 (Rover/Boat)
- MANUAL: 用户控制输入(来自RC发射器的原始输入)直接传递到输出混频器。
2.2 辅助模式 (Assisted flight modes)
“辅助”模式也由用户控制,但提供某种程度的“自动”辅助。例如,逆风自动保持位置/方向。辅助模式通常更容易获得或恢复受控飞行。
- ALTCTL (Altitude Control):飞控姿态配平后维持海拔高度飞行(可能由于风的影响偏离位置或者航线)。
- POSCTL (Position Control) :多旋翼会悬停固定位置,而固定翼会固定高度保持直线航向。
2.3 自动模式 (Auto flight modes)
“自动”模式是指控制器几乎不需要用户输入(例如起飞、着陆和飞行任务)。
- AUTO_LOITER (Loiter) :多旋翼是悬停在当前位置;固定翼将会在当前位置绕圈。
- AUTO_RTL (Return to Launch):多旋翼飞回Home位置并降落;固定翼飞回Home位置,绕圈等待降落指令。
- AUTO_MISSION (Mission) :通常是GCS控制,或者是MAVSDK/MAVROS控制。
2.4 飞行模式设计状态图
![](http://pubimage.360doc.com/wz/default.gif)
3. 参考资料
【1】 PX4开源软件框架简明简介
【2】PX4飞行模式介绍(User)
【3】PX4飞行模式介绍(Develop)