ArduPilot之H743快速加减油门抬头现象分析
- 1. 源由
- 2. 现象分析
- 3. 改善方法
- 4. 验证
- 5. 总结
- 6. 参考资料
1. 源由
最近一直折腾再ArduCopter快速加减油四轴模型抬头的问题。
具体情况详见下面视频:
-
- 猛加油,机头后仰,然后点头;
-
- 快速松油门后,机头后仰;
最关键的问题是当做空翻动作的时候,这个额外的后仰会感觉失控,操控体验非常差。
注:上述问题主要是针对Betaflight固件而言,因为BF上没有看到类似的情况。
总体期望:ArduCopter能够类似BF的操控效果。
ArduPilot Mark4 猛加油+松油门,抬头现象(throttle chop bobble or "throbble")
2. 现象分析
从黑匣子数据看:
- 快速加油,会导致机头后仰
- 快速松油门,同样机头会后仰
根据网上大佬们的意见:
- PD需要增加来克服瞬时油门变化不能及时响应;
- BF上通过anti-Gravity特性来针对上述操控特性(当大幅度油门操作的时候,对PD进行瞬时放大,处理响应不及时问题)
Improving Throttle Chop Bobble or Throbbles
Betaflight 3.1 anti-gravity-gain EXPLAINED
从个人体验的角度,感觉0油门的时候,四轴无法维持姿态:
- 动力不足
- 油门和姿态优先级的问题
经过确认:目前ArduPilot在4.4版本会增加ATC_THR_G_BOOST(类似BF的anti-Gravity)。
3. 改善方法
从上述分析和获得的信息,改善可以从以下几个方面进行:
- ATC_THR_MIX_MAN来调整油门和姿态的优先度,来确保姿态的稳定性
ATC_THR_MIX_MAN = 4 //会有降落不停弹跳(bounce back)的风险
- 增加PD值来确保大油门仍然有机会快速达到稳定姿态的可能
ATC_RAT_PIT_P = 0.210
ATC_RAT_PIT_D = 0.0056
ATC_RAT_RLL_P = 0.150 //增加Roll的PD,boost以后会产生振动
ATC_RAT_RLL_D = 0.0040
- ATC_THR_MIX_MIN提升0油门动力值,确保低油门有足够的动力维持姿态
ATC_THR_MIX_MIN = 0.24 //0.18有改善,但是仍然存在动力不足,这可能是3S电池电压不足的问题,如果换4S电池,这个值就要下降
- ATC_THR_G_BOOST引入类似BF的anti-Gravity功能
ATC_THR_G_BOOST = 0.5 //做一个中间值的加强PD
- 参数优化
INS_FAST_SAMPLE = 3 //both IMU1 and IMU2
INS_GYRO_FILTER = 100 //100Hz
INS_GYRO_RATE = 1 //2KINS_HNTCH_ENABLE = 1
INS_HNTCH_BW = 40 //40Hz
INS_HNTCH_FREQ = 100 //100Hz
INS_HNTCH_HMNCS = 3 //1st and 2nd harmonic frequency
INS_HNTCH_MODE = 3 //ESC Telemetry
INS_HNTCH_OPTS = 6 //Multi-Source and update at PID loop rate
INS_HNTCH_REF = 1 // RPM sensor enable harmonic notch filterSCHED_LOOP_RATE = 800
SERVO_DSHOT_RATE = 2 //double loop rateRC2_REVERSED = 1
SERVO_BLH_POLES = 14 //12N14P
ATC_INPUT_TC = 0.05 //very crisp
INS_HNTCH_HMNCS = 7WP_YAW_BEHAVIOR = 3 // gps course
ACRO_RP_RATE = 360
ACRO_RP_RATE_TC = 0 //sharp response
ACRO_RP_EXPO = 0.5ACRO_Y_RATE = 202.5
ACRO_Y_RATE_TC = 0 //sharp response
ACRO_Y_EXPO = 0
4. 验证
经过这几天的测试:
- ATC_THR_MIX_MIN增加最小油门起始值可以有效缓解松油门抬头现象;
- ATC_THR_G_BOOST可缓解瞬时全油飞机后仰问题;
- PD值调整会导致推油门振动问题(平时需要正常PD值,快速全油需要瞬时增加PD值来解决后仰和点头问题)
Mark4 ArduPilot ATC_THR_MIX_MIN improve pitch back while cutting throttle zero
Mark4 ArduPilot throttle chop bobble or throbble Fixed in 4.4.0-beta2
5. 总结
总的来说,ArduCopter固件在穿越机上也能非常好的飞行,且操控性与BF类似。当然还有很多细节的微调,仍然需要时间来完成。
下面有一个基础的飞行控制视频,从感觉上与BF类似,没有太多差异。
Mark4 ArduPilot 4.4.0-beta2 Anti-Gravity much more like Betaflight now
6. 参考资料
【1】Why punch/cut throttle makes drone pitch back?
【2】How to change ATC_THR_MIX_MAN value out of range?
【3】ArduPilot: throttle-boost
【4】ArduPilot开源飞控系统之简单介绍