APM(Ardupilot)——飞行模式

飞行模式介绍

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

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.4 常见问题

强烈震动导致飞行器突然爬升;
飞行器升降缓慢,这是由于油门不在中位,通常发生在从手动模式(如Stabilize)切换到AltHold模式时;
刚切换到AltHold模式时,电机可以短时停转,这是由于在快速爬升时切换到该模式;
空气压力改变时可能导致飞行器高度波动;
飞行器高速飞行后会出现短暂掉高(1-2m),这是由于空气动力学的影响,飞行器顶部压力降低,飞控因为飞行器高度增加了;
接近地面时,气压计测量变得不准确;
光直射会导致高度变化

2.5 充足的动力

理想情况下降,50%油门时能够飞行是比较合适的,超过70%会比较危险。
如果你在遥控器中设置了油门曲线expo,死区范围将会增大。

3. Auto(自动模式)

将执行预编程指令,包括导航命令和DO命令。

3.1 控制

从地面起飞时,油门大于0时开始执行任务;如果在空中开启Auto模式,会跳过自动跳过TakeOff(起飞)命令。
任何时候Auto模式都可以切换到其他模式,当再次回到Auto模式时,从头开始执行任务。
Auto模式飞行过程中,roll、pitch和throttle操作都会被忽略,但是可以通过遥控器控制yaw,这允许飞行过程中飞行器以一定指向前进;在经过下一个航点时,飞控会尝试重新获取yaw的控制权。
飞行任务指令可以通过【飞行计划】进行修改。

3.2 调试

Auto模式融合了AltHold模式的高度控制和Loiter模式的位置控制。
最大水平速度可以在上图SPEED中设置,一般多旋翼飞行器飞行速度可达10-13m/s。高度方向最大速度可以通过Speed Up和Speed Dn设置。与航点距离小于Radius设定值时,任务认为完成了,这个只有当航点设置有延时时才应用。

4. Brake(刹车模式)

这个模式将尽快停止飞行器,该模式使用了Loiter,需要GPS的支持,一旦启用,该模式不接受飞行操控信号。

5. Circle(绕圈模式)

绕圈模式会以兴趣点为中心,机头朝兴趣点旋转,旋转半径可以通过CIRCLE_RADIUS控制。如果半径为0,则飞行器原地不动,缓慢旋转。飞行速度可以通过CIRCLE_RATE修改,正表示顺时针旋转。当旋转时产生的中心加速度超过限制(WPNAV_ACCEL)时,旋转速度会被限制。
roll和pitch对该模式无效,但是throttle可以控制飞行高度,遥控器可以控制yaw,调整机头方向,并且重启该模式前,该模式不会尝试重新获取yaw控制权。
在mission planner中,LOITER_TURNS包含了CIRCLE模式。

6. Drift(漂移模式)

漂移模式允许像固定翼一样操控多旋翼,其设置了自动的坐标系转换。
用户直接控制yaw和pitch,但是roll由飞行器控制;
与stabilize相同的方式控制throttle

7. Follow Me(跟随模式)

需要使用数传、地面站以及蓝牙或USB GPS模块。
飞行器每2s执行Fly to here命令。

8. Guided(引导模式)

该模式利用数传好地面站,实时引导飞行器位置。引导模式不是一个基本模式,是在其他几种模式中切换形成的。当飞行器到达目标点后,会在目标点上方悬停。
Guided_NoGPS模式不需要GPS,他接受姿态目标而非速度和位置目标。

9. Land(着陆模式)

10m以上采用AltHold模式中设置的下降速度:
10m以下采用LAND_SPEED中设置的下降速度,默认0.5m/s;
落地后,会自动停止电机转动,如果油门处于最低位置会上锁;
油门最低、升降速度小于0.2m/s超过1s,并且高度不超过home高度10m,即认为着陆;
如果着陆时飞行器反弹,尝试降低LAND_SPEED中下降速度;
如果飞行器有GPS锁,则采用Loiter模式控制飞行器;如果飞行器无GPS,则采用Stabilize模式。

10. Loiter(悬停模式)

悬停模式会保持飞行器当前的高度、位置和航向。

10.1 控制

可以通过roll和pitch控制飞行器位置,默认水平最大速度为5m/s;
高度可以通过throttle控制,如同AltHold模式;
航向可以通过yaw控制;
只有在GPS 3D 锁定并且HODP小于2.0时才能在Loiter模式下解锁。

10.2 调试

WPNAV_LOIT_SPEED:最大水平速度(默认5m/s),默认最大加速度数值为其一半(默认2.5m/s2);
WPNAV_LOIT_MAXA:最大加速度(cm/s2),值越大,加速和停止性能越好;
WPNAV_LOIT_MINA:最小加速度,值越大,摇杆回中时停止越快,但是可能导致动作不平滑;
WPNAV_LOIT_JERK:加速度的改变(cm/s3),越大响应越快,越小越平滑;
POS_XY_P(上图中Loiter PID中的P):将位置差转换为合适的移动速度;
VEL_XY_P(上图中Rate Loiter PID):将速度转换为加速度,加速度随后转换为倾斜角度,传送给Stabilize模式处理。

10.3 常见问题

摇杆回中后,稳定得非常慢可以增加WPNAV_LOIT_MAXA(例如到500)、WPNAV_LOIT_MINA(例如到100)和WPNAV_LOT_JERK(例如到4000);
飞行器转圈,这通常是磁罗盘问题,最可能的原因是电池电缆的影响,可以进行磁罗盘补偿(http://ardupilot.org/copter/docs/common-compass-setup-advanced.html#common-compass-setup-advanced-compassmot-compensation-for-interference-from-the-power-wires-escs-and-motors)或者采用外置磁罗盘;磁罗盘校准过程出现问题也可能导致该现象;
悬停模式一启用,飞行器朝错误方向飞,这个 问题原因同上,不同之处在于偏差角度大于90度;
悬停正常,突然像错误方向移动,这通常是GPS失灵导致。因此需要随时准备手动接管,此外,起飞前保证良好的HDOP、以及减小GPSGLIPTCH_RADIUS和GPSGLIPTCH_ACCEL以加强失灵检测也是有利的;

10.4 HDOP显示

双击【飞行数据】左下角【快速】中某显示数值,可以改为显示HDOP。

10.5 通过日志验证悬停性能

查看NTUN中DesVelX和VelX,以及DesVelY和VelY。
高度信息查看如同AltHold。

11. PosHold(悬停角度控制模式)

PosHold模式和Loiter模式类似,都是保持当前高度、位置和航向。不同的是PosHold模式的摇杆直接控制飞行器偏转的角度。
最大的刹车角度可以通过PHLD_BRAKE_ANGLE设置(3000表示30°)。
飞行器旋转到最大角度的速度可以通过PHLD_BRAKE_RATE设置(8表示8°/s)。

12. Position(位置模式)

与Loiter模式类似,保持当前位置和航向,不同之处在于手动控制油门以升降飞行器。
GPS锁定的LED灯显示:
APM上蓝色LED灯稳定;
GPS上蓝色LED灯稳定;
GPS+COMPASS上蓝色LED灯闪烁。

13. RTL(返程模式)

RTL模式将引导飞行器飞回HOME上方。

13.1 概述

当飞行器高度高于RTL_ALT时将保持原有高度,反之则按RTL_ALT高度飞行,默认值为15m。
对于旋翼飞行器,RTL将返回至GPS定位后解锁的地方。
RTL模式使用气压计测量高度,6m以下可以采用声呐定高。

13.2 选项

(1)RTL_ALT:返回的最低高度
设为0表示在当前高度返回;
返回高度0.01~8m;
默认返回高度为15m;
(2)RTL_ALT_FINAL:完成任务或RTL最后阶段的高度
设为0将自动着陆;
最终高度0.01~10m;
(3)RTL_LOIT_TIME:停在HOME上方的时间(ms),时间0~60s
(4)WP_YAW_BEHAVIOR:设置任务和RTL中的偏航角度
0表示不改变yaw;
1表示面向下一个航点或RTL时面向家的方向;
2表示面向下一个航点,RTL时保持最终航向不变;
(5)LAND_SPEED:最终阶段下降的速度(0.2~2m/s)
(6)RTL_CLIMB_MIN:RTL初始阶段最低爬升高度(cm),默认为0
(7)RTL_SPEED:返回时的水平速度(cm/s),默认为0,表示使用WPNAV_SPEED
(8)RTL_CONE_SLOPE:定义当返回点离家很近时的爬升斜率

13.3 注意事项

WPNAV_ACCEL、WPNAV_SPEED_DN和WPNAV_SPEED_UP也会影响RTL模式;
需要GPS定位;
降落和重新解锁将会重新定义HOME的位置;
如果飞行中GPS定位,HOME将设在此处;
如果设置RTL_ALT为非0,返回时将保持该高度;
RTL使用WPNAV_SPEED来定义飞行速度;
飞行器到达HOME上方时将暂停RTL_LOIT_TIME、AUTO_LAND的时间,然后降落。

14. Simple(简单模式)和Super Simper(超简模式)

这两种模式可以使用户不用关心飞行器的朝向。
这两种模式可 以叠加到几乎所有模式下(除了Acro和Drift);
简单模式的朝向以起飞时朝向为参考方向定义坐标系、只需要磁罗盘;
超简模式定义飞行器与家的方向为参考方向定义坐标系,需要GPS定位;
两个模式可以与普通模式之间通过遥控器上CH7/CH8切换。
超简模式下,无论飞行器在任何位置,往回拉pitch将试飞行器往家的方向走;但是在离家10m范围内,方向不会更新,因此不宜在家附近飞。

15. SPORT(运动模式)

roll、pitch和yaw控制飞行器的转动速率,因此当摇杆归位时,飞行器将保持当前姿态;
最大角度为45°(可以通过ANGLE_MAX设置);
高度采用AltHold控制方法,因此油门中间10%范围内油门摇杆将不起作用,升降速度为2.5m/s(通过PILOT_VELZ_MAX设置)

16. Stabilize(自稳模式)

自稳模式会自动平衡roll轴和pitch轴。
roll和pitch输入控制飞行器的倾斜角度,当松开roll和pitch摇杆时飞行器自动平衡;
飞行器需要周期性roll和pitch来保持位置,因为有风的影响;
当松开yaw杆时保持当前朝向;
油门控制电机的平均速度,如果油门波到最低其转速回达到最低值MOT_SPIN_ARMED;
油门输出到电机的大小是由飞行器的倾斜角度自动分配的。
16.1 调试
ANGLE_MAX控制最大倾斜角,默认为45°;
ANGLE_RATE_MAX控制最大的旋转速度,默认为180°/s;
ACRO_YAW_P控制根据yaw的输入,飞行器旋转速度,默认的4.5控制当摇杆到最大值时转速为200°/s,越大转速越快;
自稳模式roll/pitch的P控制飞行器响应输入差值的速度,默认4.5会在1°偏差时以4.5°/s旋转,7或者8会使飞行器产生更强的反应来抵抗风的影响;若P较低,会导致旋转缓慢,可能使抗风能力降低,甚至导致坠机。如果想使飞行更平滑,首先应先尝试降低RC_Feel的值;
Rate Roll/Pitch P, I和D根据理想的转速控制电机的输出。这些项通常与负载能力与重量比有关,比值越高,PID值越小。例如高负载飞行器的P值可低至0.08,而低负载的飞行器P值可到0.18甚至更高;
(1)P值是调试飞行器最重要的参数;
(2)P值越高,响应越快;
(3)默认P为0.15;
(4)I用于补偿使飞行器长时间不能保持理想速度的外力;
(5)I越高维持理想速度的响应越快,并且会快速下降来避免超调;
(6)D用于抑制飞行器加速到理想点的响应,D值高可能会导致不寻常的震动和记忆效应(响应慢),合适的D为0.011;
(7)根据飞行器的不同,值可以在0.001~0.02范围内变化;
16.2 利用日志验证效果
比较ATT中Roll-In/DesRoll(理想值)和Roll(实际值),以及Pitch-In/DesPitch和Pitch。
16.3 常见问题
新飞行器起飞时弹跳,这通常是由于电机顺序不对或者桨不对;
飞行器绕roll/pitch轴摇摆,这通常表示 Rate P不对;
飞行器下降较快时摇摆,这是由于桨的自洗导致,这不太可能调整好,但是提高Rate Roll/Pitch P可能会有帮助;
飞行器起飞时左或者右转15°,这是由于一些电机可能不是线性的或者ESC没有校准好;
即使在无风环境下,飞行器也偏向于向一方飞行,尝试SavTrim或AutoTrim来使飞行器水平;
飞行器高度保持不好,这是由于自稳模式是手动模式,需要摇杆控制稳定;
有时roll和pitch抽动,正常情况下是由接收机受到某种干扰引起的或者是ESC问题,解决方法是重新校准;
飞行过程中突然弹跳,这可能是电机或者ESC的机械故障;

17. Throw(抛飞模式)

抛飞模式存在危险性,该模式允许飞行器抛向空中来启动电机,当在空中时,该模式不在接受任何输入信息,这个模式需要GPS。

添加新的mode

读者想要参考如何增加一个新mode或者更深层次理解如何切换请移步博客:https://blog.csdn.net/yinxian5224/article/details/97497969
多谢捧场!!

  • 5
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值