在开源飞控程序PX4中预先定义了13种飞行模式,列表如下:

1.Manual——手动模式

2.Altitude——高度模式

3.Position——位置模式

4.Mission——任务模式

5.Hold——定点模式

6.Takeoff——起飞模式

7.Land——降落模式

8.Return——返航模式

9.Acro——特技模式

10.Offboard——离线模式

11.Stabilized——增稳模式

12.Rattitude——姿态特技

13.Follow Me——跟随模式

14.Extern control——外部控制(作者自行开发的扩展模式)

        前13种飞行模式是PX4预先定义的,而对于第14种Extern control模式是作者根据自己需要开发的另一种飞行模式,我们会在后续章节中来学习这个飞行模式的作用与原理。

一、手动模式 / 增稳模式(Manual / Stabilized)

        手动模式与增稳模式其实并没有太大区别,所以我们将这两个模式一起做介绍。

        1.滚转与俯仰:遥控器的滚转通道和俯仰通道控制的是无人机的滚转角度和俯仰角度,如果滚转通道和俯仰通道控制杆保持在中心位置,飞机则保持水平姿态。当滚转通道和俯仰通道控制杆与中心位置有一定夹角时(手动拨动控制杆),飞机则也会出现滚转角或俯仰角,并与遥控器滚转通道和俯仰通道偏离中心位置的角度成正比。

        2.航向:遥控器的航向通道控制的是无人机偏航运动的角速度,也就是说当遥控器的航向通道在中心位置时无人机的航向会保持在当前航向上,也就是没有偏航运动。当遥控器的航向通道与中心位置有一定夹角时(手动拨动控制杆),飞机则出现偏航运动,运动的角速度即与遥控器航向通道偏离中心位置的角度成正比。

        3.油门:遥控器的油门通道控制的是无人机垂向的动力大小,也就是我们常说的油门大小(注意不是高度)。当遥控器的油门通道处于最低位置时,电机不转。当油门通道由最低位置逐渐向最高位置推动时(手动拨动控制杆),电机转动逐渐加快,直到螺旋桨转动产生的拉力大于飞机自身重力时,飞机逐渐爬升,当油门向最低位置减少时,飞机逐渐下降。

        我们在前面《基本飞行原理》中已经明确了这样一个事实,当无人机油门不变,并处于滚转或俯仰姿态时,飞机的总拉力不变,但方向发生了变化,所以在垂直方向上的拉力会减小,所以飞机在处于滚转和俯仰姿态时,如果不改变油门通道的控制量,飞机的高度会下降(因为垂直方向拉力减小了),所以为了不使飞机高度下降,在手动飞行滚转和俯仰时需要适当的推动油门通道:

二、高度模式(Altitude)

        高度模式与手动模式在滚转和俯仰姿态中没有任何区别,这里不再赘述。在高度控制模式下,无人机会根据各个传感器的数据进行高度融合对其自身做高度控制。遥控器的油门通道对应到无人机的控制量为实际飞机在垂直方向上的速度。当油门通道处于中心位置时,飞机垂直方向上的控制速度为0,此时当无人机出现滚转或俯仰姿态时,飞机不会向在手动模式下一样的降低高度,而是会自动补偿飞机的整体的拉力,从而达到在当前高度水平飞行的功能。而当遥控器油门通道从中心位置向最大值方向推动,飞机向上爬升的速度增加,当遥控器油门通道从中心位置向最小值方向推动时飞机向下降落的速度增加。

        参数说明:

MPC_Z_VEL_MAX_UP    最大上升速度,默认值: 3 m/s.

MPC_Z_VEL_MAX_DN    最大下降速度,默认值: 1 m/s.

        为保护飞机在下降时速度过快而在着陆时受到地面大力的冲击,所以下降速度默认值比较小。

三、位置模式 / 定点模式(Position / Hold)

        位置模式在油门控制方面与高度模式相同,都是可以保持定高飞行,而在水平飞行方面位置模式下,遥控器的滚转和俯仰通道控制的飞机的前后飞行和左右飞行的速度。也就是说当遥控器的滚转和俯仰通道在中心位置时,飞机会在当前位置上保持不动,也就是在三维坐标系下的xyz坐标不变。这也就与Hold模式是相同的功能。这通常需要全球定位系统GPS的支持,如果没有GPS的定位,无人机将无法进入位置模式。当然,有条件的读者也可以使用其它传感器来实现无人机的定位,例如在室内的动作捕获摄像机,或无人机自身的多目摄像头等等。

        参数说明:

MPC_HOLD_DZ    在滚转和俯仰通道偏离中心位置小于阈值时为Hold模式,即保持当前位置不动,默认值为:0.1(即10%)。

MPC_VEL_MANUAL    水平飞行速度最大值,默认值: 5 m/s。

四、任务模式(Mission)

        任务模式通常也被称为航迹点模式,也就是说我们可以事先在地面站上为飞机规划出一条飞行航线,然后再将这条航线上传到无人机当中,当无人机切换到任务模式时,就可以按预先指定的航迹点进行飞行。这里我们任意的定义了13个航迹点,并希望无人机按这些航迹点进行自动飞行。当然,任务模式能按航迹点飞行的前提与位置模式一样,需要无人机可以准确的定位才能进行任务飞行。

五、起飞模式 / 降落模式(Takeoff / Land)

        起飞机模式与降落模式即为一个相对独立的飞行功能,可以实现一键起飞和降落,我们只需要对其参数做一些说明即可:

MIS_TAKEOFF_ALT    起飞高度,到达此高度后悬停,默认值为:2.5m

MPC_TKO_SPEED      起飞速度,在起飞模式下上升的速度,默认值为:1.5m/s

MPC_LAND_SPEED    着陆速度,在降落模式下下降的速度,默认值为:1m/s

COM_DISARM_LAND    着陆后多久自动锁定电机,默认值为:0.5s

六、返航模式(Return)

        返航模式是一个安全保护模式,它允许无人机在紧急情况下切换到返航模式,并返回到起飞点(Home Position),返航模式一共有有5个阶段:

1.爬升:上面图解已经表示的很清楚了,飞机在返航前为了避免与中途的障碍物发生碰撞,所以在返航前通常都是要爬升到指定的高度。

2.返航:向起飞点的位置飞行,并一直保持爬升的高度,避免与中途的障碍物发生碰撞。

3.下降:到达起飞点之后,开始下降。

4.悬停:到达悬停点之后,开始悬停。

5.降落:到达悬停时间之后,降落。

        参数说明:

RTL_RETURN_ALT       返航高度,默认值为:30m

RTL_DESCEND_ALT    悬停高度,默认值为:15m

RTL_LAND_DELAY       悬停时间,默认值为:30s

RTL_MIN_DIST             触发上升到安全高度的最小水平距离RTL_RETURN_ALT,如果飞机水平靠近起飞点则以当前高度返回,而不是先上升到RTL_RETURN_ALT。

七、特技模式 / 姿态特技(Acro / Rattitude)

        特技模式对于那些刚刚接触无人机或航模的朋友来说可能有一些神秘,但其基质并没有太过复杂。在特技模式下。遥控器的滚转和俯仰控制的是无人机滚转和俯仰的角速度(注意是角速度而不是角度),当滚转通道和俯仰通道控制杆与中心位置有一定夹角时(手动拨动控制杆),飞机则会出现滚转或俯仰,其滚转与俯仰的角速度与遥控器滚转通道和俯仰通道偏离中心位置的角度不是成比例关系,而是一个3次曲线关系:

        在姿态特技模式下,

        参数说明:

MC_ACRO_EXPO Acro    模式“指数”因子,用于调优化滚转和俯仰的摇杆输入曲线形状。值:0纯线性输入曲线1纯立方输入曲线。默认值:0.69。

MC_ACRO_EXPO_Y Acro    模式“指数”因子,用于优化偏航的摇杆输入曲线形状。值:0纯线性输入曲线1纯立方输入曲线。默认值:0.69。

MC_ACRO_SUPEXPO Acro    模式“超级指数”因子,用于优化滚转轴和俯仰轴的杆输入曲线形状(使用MC_ACRO_EXPO调整。值:0 Pure Expo功能,0.7合理的形状增强,0.95非常强的弯曲输入曲线,仅在最大值附近有效果。默认值:0.7。

MC_ACRO_SUPEXPOY Acro    模式“超级指数”因子,用于优化偏航轴的杆输入曲线形状(使用MC_ACRO_EXPO_Y进行调整。值:0 Pure Expo功能,0.7合理的形状增强,0.95非常强的弯曲输入曲线,仅在最大值附近有效。默认值:0.7。

MC_ACRO_P_MAX    最大俯仰速度。默认值:每秒2转(720.0度/秒)。

MC_ACRO_R_MAX    最大滚转速度。默认值:每秒2转(720.0度/秒)。

MC_ACRO_Y_MAX    最大航向速度。默认值:每秒1.5转(540.0度/秒)。

        在姿态特技下只不过在滚转和俯仰控制杆在偏离中心位置阈值(最大值的80%)时保持姿态模式(即手动模式,滚转与俯仰控制姿态角)在大于80%时进入特技模式。

        参数说明:

MC_RATT_TH   :偏离中心位置阈值,在小于此值时保持姿态模式,在大于此值时进入特技模式

八、离线模式(Offboard)

        离线模式指的是无人机可以在脱离遥控器控制的情况下离线飞行,但前提是需要有地面站指令(目前PX4采用的是Mavlink协议与地面站通讯)对飞机进行控制。在此模式下,地面站对无人机的控制指令比较简单。例如:起飞、悬停、执行预设任务、指定目标点飞行、返航、着陆等等。

        参数说明:

COM_OF_LOSS_T    数传信号丢失时间,默认值为10s

COM_OBL_ACT    数传信号丢失后,保护动作:0:着陆,1:定点,2:返航

COM_OBL_RC_ACT    数传信号丢失,但遥控器信号正常,切换模式,1: 高度模式, 2: 手动模式, 3: 返航模式 , 4: 着陆模式.

九、跟随模式(Follow Me)

        跟随模式通过使用GPS和其他定位信息,无人机能够在指定的位置和距离处自动偏航以面向并跟随目标。

十、外部控制模式(Extern control)

        作者自己开发了一个叫作外部控制的飞行模式,采用了Pixhawk(运行PX4飞控)+ RaspberryPI3(运行外部控制器程序)一起控制飞行。它们之间使用串口进行通讯,Pixhawk将无人机当前的状态(系统状态、姿态、速度、位置)实时发送给RaspberryPI3,而RaspberryPI3根据飞机当前的状态和租航线规划自动计算飞机当前的期望(期望位置、期望速度和期望姿态),并实时发送给Pixhawk,Pixhawk运行PX4程序控制飞机根据当前的期望值进行飞行。下图是无人机搭载外部控制飞行的结果: