ArduPilot官方Tutorial PDF(2017.2): http://download.csdn.net/download/xiaoshuai537/10262086
ArduPilot中有14种常用的模式:
- 依赖GPS的模式有:Auto、Circle、Drift、Follow Me、Guided、Loiter、PosHold、RTL和Throw;
- 不依赖GPS的有:Acro、Alt Hold、Land、Sport和Stabilize模式。
1. Acro(特技模式)
直接用摇杆控制飞行器的角速度,松开摇杆飞行器将保持原有的姿态。常用于特技表演。
2. Alt Hold(定高模式)
在Alt Hold模式下,飞行器保持高度不变,可以操作俯仰、滚转和偏航。Alt Hold模式是很多模式的基础,例如Loiter和Sport。Alt Hold采用气压计测高、如果高度低于约8m,可以自动使用声呐定高。
2.1 用油门控制飞行器的升降速度:
- 油门在40-60%(死区)会保持现有高度;
- 超出上述范围,根据摇杆拨动幅度,升降速度会不同,油门为0时,下降速度为2.5m/s,油门100%,上升速度为2.5m/s,该数值可以通过PILOT_VELZ_MAX调整;
- 死区的范围可以通过THR_DZ调整,调整范围为0-400,0表示死区为0,400表示死区为(50-40)%~(50+40)%,即10-90%。
2.2 PID调试
- Altitude Hold中的P将高度偏差转化为升降速度偏差,P越大,保持高度稳定的趋势越强,但是P值过大会导致不平稳;
- Throttle Rate中PD用于将升降速度转化为升降加速度;
- Throttle Accelerate中PID用于将加速度偏差转化到电机输出,P:I=1:2,其值不能增加,但是对于动力强劲的飞行器,将其值减小(如P=0.5,I=1)可能会得到更好的响应;
2.3 用日志验证效果
下载日志,比较气压计高度(BarAlt)、目标高度(DelAlt)和内部导航估计的高度(Alt)。
2.3 常见问题
- 强烈震动导致飞行器突然爬升;
- 飞行器升降缓慢,这是由于油门不在中位,通常发生在从手动模式(如Stabilize)切换到AltHold模式时;
- 刚切换到AltHold模式时,电机可以短时停转,这是由于在快速爬升时切换到该模式;
- 空气压力改变时可能导致飞行器高度波动;
- 飞行器高速飞行后会出现短暂掉高(1-2m),这是由于空气动力学的影响,飞行器顶部压力降低,飞控因为飞行器高度增加了;
- 接近地面时,气压计测量变得不准确;
- 光直射会导致高度变化
2.4 充足的动力
理想情况下降,50%油门时能够飞行是比较合适的,超过70%会比较危险。
如果你在遥控器中设置了油门曲线expo,死区范围将会增大。
3. Auto(自动模式)
将执行预编程指令,包括导航命令和DO命令。
3.1 控制
- 从地面起飞时,油门大于0时开始执行任务;如果在空中开启Auto模式,会跳过自动跳过TakeOff(起飞)命令。
- 任何时候Auto模式都可以切换到其他模式,当再次回到Auto模式时,从头开始执行任务。
- Auto模式飞行过程中,roll、pitch和throttle操作都会被忽略,但是可以通过遥控器控制yaw,这允许飞行过程中飞行器以一定指向前进;在经过下一个航点时,飞控会尝试重新获取yaw的控制权。
- 飞行任务指令可以通过【飞行计划】进行修改。