本帖最后由 付之一笑 于 2019-4-3 16:17 编辑
鉴于近期有模友探讨固定翼调参和航测图像质量问题,考虑到说明书的复杂性,特将固定翼姿态控制和性能调整过程总结如下:
本人只测试过配平和自动俯仰/滚转P增益调参,其他模友有更好用更方便的方法的欢迎回复!!
《固定翼调试指南》中另外还有一些注意事项和基本参数说明!
地址:链接:链接:https://pan.baidu.com/s/1Qs_fg-fgljfiqtIJIQD1Hw 提取码:x7jd
说明书:链接:https://pan.baidu.com/s/1vhdAXET89IGnzOD8U6HGOw 提取码:m2ql
正文分割线————————————————————————————————————————————————————————————————————————
给飞控上电的时候,保持飞机静止,直到三个彩色led停止闪烁(表示陀螺仪校准完成)
旋翼的home位置为解锁时飞机的位置,固定翼为飞机初次获得GPS锁定的位置.
每次飞行前都要手动测试舵面,检查稳定模式舵面偏转
检查飞机重心
自动微调(配平)
SERVO_AUTO_TRIM:=1,启用飞行中自动伺服微调,在稳定飞行模式下当飞机接近水平时,伺服系统将进行微调.对伺服调整的改变将每10秒保存一次
TRIM_AUTO:=1,设置从手动飞行模式改变为其他模式时,将当前手动平飞的PWM值保存为微调SERVOn_TRIM (或RCn_TRIM)值
所以在切出手动模式时一定保持平飞状态,调整完毕及时关闭参数
重心调整
检查闪存日志的PIDP.I字段
一直在零以上
机头可能有点重
升降舵偏低,进行中立点微调
一直在零以下
机尾可能有点重
升降舵偏高,进行中立点微调
水平调整
控制表面应该接近中立,超过10%的最大舵量表明APM没有调整水平,或者无线电需要重新校准
现象:
在稳定模式下居中所有摇杆,飞机无法保持水平直线飞行。(排除风的影响)
检查:
将飞机放置水平,切换到稳定或FBWA模式,打开主界面的调试窗口,查看nav_roll和nav_pitch数据
两个值都应为0
修正方法:
如果不是0,需要调整遥控器微调并在地面站重新校准遥控器
如果是0,需要调整AHRS_TRIM_X (滚转)和AHRS_TRIM_Y (俯仰),即飞控安装“不正”相对机身有角度差!
如果飞机向左偏转,应该增加AHRS_TRIM_X,递增0.01(弧度),反之减少
如果飞机向下俯冲,应该增加AHRS_TRIM_Y,递增0.01(弧度),反之减少
自动调整滚转/俯仰增益
飞行员需要输入尽可能多的剧烈姿态变化,以便自动调参代码能了解飞机的响应
AUTOTUNE_LEVEL:设置参数调整变化量,6新手,7有经验,8老鸟
ARSPD_FBW_MIN:限制调参启用的最小空速
在地面站校准遥控器
校准空速计,
调整方法
使用摇杆输入快速的滚转或俯仰运动,你应该快速移动摇杆到最大幅度。一次调整一种,先俯仰后滚转。
例如副翼,大约2秒一次的全右到全左的滚转摇杆移动,
飞机会随着你的摇杆快速右转,然后快速左转.随着每次突然反转,它的调参值(滚转P增益)将提高大约5%.因此,你需要至少20次全摇杆移动来学到一个合理的调参值
飞机的响应速度会变得越来越快.如果飞机开始变得不稳定,你就应该退出AUTOTUNE模式. 这将恢复您10秒之前的参数
升降操作同样,飞机进行过山车一样的起伏飞行!
确认:
检索ATRP消息的“TYPE”字段,所有为0值的记录滚转调参,1值记录俯仰调参
绘制【ATRP. Demanded】、【ATRP.Achieved】、【ATRP.P】曲线图
【ATRP.Achieved】会逐渐与【ATRP. Demanded】趋于一致。【ATRP.P】即为飞控保存的增益值
手动微调滚转/俯仰/偏航增益
滚转调整方法
快速移动副翼摇杆并保持几秒,然后释放。观察滚转响应速度,如果滚动响应太慢,则逐步增加RLL2SRV_P,增量为0.1
增加 RLL2SRV_D ,增量为0.01,直到它开始振荡,然后减半,不要超过0.1(可能产生高频不稳定性,使副翼伺服过热)
一旦您对滚动响应感到满意,现在应该缓慢地增加RLL2SRV_I,每次为0.05 ,看到过冲或振荡,然后把它减半
在主界面选择调试,绘制roll和nav_roll图,检查nav_roll和roll之间的任何稳定偏移量,RLL2SRV_I用以消除稳定误差
确认:
如果模型开始摇摆它的翅膀,RLL2SRV_P值太高
RLL2SRV_IMAX:设置了积分器可以控制的副翼的最大数量(以百分度为单位).默认值1500允许积分器将副翼行程的总量缩减为1/3
RLL2SRV_RMAX:默认值60 deg/sec。限制最大滚转速率,设置为0将关闭速率限制器。如果这个值太小,那么滚转控制器就无法跟上导航控制器的要求,导航控制器会导致飞机飞行轨迹上的过冲和穿插
在主界面选择调试,绘制roll_speed。如果将RLL2SRV_RMAX设置为60,在全副翼操作时,最大roll_speed应该刚好大于1.0. 大于1.1的值表示RLL2SRV_P太高,应该减少,小于1的值表示应该增加RLL2SRV_P
RLL2SRV_TCONST:调整倾斜角度达到所需值的速度,主要体现在对所需要的滚转的小角度变化的响应。值越小响应用时越短,但受机型操作性能限制。
俯仰调整方法
同滚转,动升降摇杆,增加PTCH2SRV_P
在转弯时,机头应该保持一定的水平,而不会有明显的上升或下降高度。持续转弯时,轻微下降
增加PTCH2SRV_D ,增量为0.01,直到它开始振荡,然后减半,不要超过0.1(可能产生高频不稳定性,使副翼伺服过热)
一旦您对俯仰响应感到满意,现在应该缓慢地增加PTCH2SRV_I,每次为0.05 ,看到过冲或振荡,然后把它减半
在主界面选择调试,绘制pitch和nav_pitch图,检查pitch和nav_pitch之间的任何稳定偏移量,PTCH2SRV_I用以消除稳定误差
确认:
如果模型开始海豚跳, PTCH2SRV_P值太高
PTCH2SRV_IMAX:设置了积分器可以控制的升降的最大数量(以百分度为单位).默认值1500允许积分器将升降行程的总量缩减为1/3
PTCH2SRV_IMAX应该被设置为一个足够大的值,以允许进行微调,但又足够小,以使飞机不会失速
PTCH2SRV_RMAX_DN
PTCH2SRV_RMAX_UP
在主界面选择调试,绘制roll_speed。如果将PTCH2SRV_RMAX_DN设置为30,在全副翼操作时,最大roll_speed应该刚好大于0.5. 大于0.6的值表示PTCH2SRV_P太高,应该减少,小于0.5的值表示应该增加PTCH2SRV_P
PTCH2SRV_TCONST:调整俯仰角达到需求值的速度。主要体现在对所需要的滚转的小角度变化的响应。值越小响应用时越短,但受机型操作性能限制。
偏航调整方法
确认YAW2SRV_SLIP和YAW2SRV_INT增益项设置为零;YAW2SRV_RLL增益项设置为1.0,yaw2srv_damp增益项设置为零
使用最大副翼从左侧滚向右侧,
如果机翼通过水平方向时,机头朝向与滚转方向相反的方向倾斜(例如,从左侧滚向右侧时,机头指向左侧),则增加KFF_RDDRMIX增益的值,直到偏航消失。不要使用大于1的值
以0.05的小幅度增加yaw2srv_damp,直到偏航角开始振荡.
当这种情况发生时,尾巴就会“摇摆”. 将引起振荡的增益的值减半
现在将模型在两个方向上来回滚动.
如果模型有向转弯外侧偏航的趋势,则从默认值1.0开始,将YAW2SRV_RLL增益项增加0.05.
如果模型倾向于将机头偏转到转弯进入方向的弯内部,则将YAW2SRV_RLL增益项从默认值1.0递减0.01.
如果你必须超出0.7到1.4的范围,那么你应该检查你已经正确地执行了第2步,如果正在使用空速,检查你的空速校准
侧滑调整方法
首先完成偏航调整
在mission planner中打开调试图形窗口,绘制横向加速度ay
快速左右全副翼滚动,观察横向加速度ay
如果侧向加速度在0附近,并且在滚进滚出转弯时没有变化,那么就不需要侧滑控制. 你现在可以结束了
将YAW2SRV_INT增益项设置为1.0.
如果这导致偏航角振荡,那么将引起振荡的最小的增益值减半
如果你看到y加速度被偏移或在转弯过程中出现峰值,那么逐步以0.5增加YAW2SRV_SLIP增益,直到误差消失或偏航角开始振荡
如果发生偏航振荡,则将引起振荡的增益的值减半.
转弯升降补偿
控制在转弯时为保持机头的水平升降需要增加多少
PTCH2SRV_RLL:默认的1.0,正常值在0.8~1.3之间!
调整方法
在FBWA模式下飞行一个紧凑的圆圈,在没有给出任何俯仰输入的情况下保持副翼摇杆
如果飞机高度上升,把PTCH2SRV_RLL降低0.05
如果飞机高度下降,把PTCH2SRV_RLL增加0.01
修正方法:
如果你需要超过1.3或低于0.8,那么你的设置可能会有问题(例如:重心不正确,推力线差,航速校准差,俯仰循环调节太软,或指南针错误).
如果您需要将PTCH2SRV_RLL参数更改到0.7到1.4的范围之外,那么您的俯仰循环的早期调优、空速校准或APM的倾斜角估计都可能出了问题
姿态控制调整完成,以下为飞行性能调整
转弯速度调整
控制飞机在自动模式(如AUTO、RTL和LOITER)上的转弯速度
NAVL1_PERIOD:默认25,完成自动增益调参后从18开始逐次减小到合适值
确保你已经调整了横滚和俯仰控制器
确保飞机转弯时不会上升或下降高度
设置合理的滚转限制角度LIM_ROLL_CD(百分度),确保不会失速(飞机越“笨重”限制角度越小,滑翔机约5000,特技机约6500)
协调转弯可能需要将WP_RADIUS设置为更大的数字,通常和你的盘旋半径WP_LOITER是一样的
调整方法
在自动模式下飞行一个矩形的任务,添加jump命令循环执行,
将NAVL1_PERIOD设置为默认值20,navl1_damping设置为默认值0.75
WP_RADIUS设置为2秒的巡航飞行距离
观察飞机在转弯时的动作.
如果转得太慢,则将NAVL1_PERIOD减少5
如果它在一个转弯后“来回穿插航线”,那么将NAVL1_PERIOD增加1或2
如果您要获得最大的性能,那么可以将NAVL1_PERIOD再增加1,然后将navl1_damping逐步减少0.05
不要将navl1_damping降低太多——不太可能需要小于0.6的值
速度和高度控制调整
TECS代表总能量控制系统,通过协调油门和俯仰角度需求来控制飞机的高度和空速
TECS根据所需的速度和高度计算所需的总能量,并调整油门使总能量保持在所需的值
TECS算法的另一项工作是确保重力势能和动能之间的平衡是正确的
如果不使用空速测量(如通过选择设置TECS_USE_ASPD = 0),则俯仰角度100%控制高度,油门根据要求的俯仰角度计算.
性能取决于正确调整伺服控制循环的俯仰
油门,俯仰角度,空速和垂直速度的限制是关键
设置最大油门百分比 THR_MAX
调整巡航油门TRIM_THROTTLE参数,匹配巡航空速
使用ARSPD_FBW_MAX和ARSPD_FBW_MIN参数设置最大和最小空速限制
设置最大俯仰角LIM_PITCH_MAX,确保爬升时空速大于ARSPD_FBW_MIN,小于TRIM_ARSPD
设置最小俯仰角 LIM_PITCH_MIN,确保飞机在最小油门THR_MIN,可以保持飞机不超速ARSPD_FBW_MAX飞行
设置最大爬升速率 TECS_CLMB_MAX,即飞机在油门设置为THR_MAX并以TRIM_ARSPD_CM飞行时的最大爬升速度
通过在FBWA模式下将油门设置为THR_MAX来执行爬升到一定高度的方法来测量
设置最小下沉速率 TECS_SINK_MIN,即将油门设置为THR_MIN并以TRIM_ARSPD_CM飞行的飞机的下沉速度
通过在FBWA中关闭油门并从高处滑翔下来进行测量
设置最大下沉速率 TECS_SINK_MAX,可以实现不超过低俯仰角限制并且不超过ARSPD_FBW_MAX
调整方法
使用auto, RTL或guided 模式使飞机在在一个航点附近盘旋
检查飞机保持高度,没有明显的俯仰或高度变化大于10米
如果飞机在高度上出现振荡,那么尝试以1的增量增加TECS_TIME_CONST (不要增加到超过10)
如果需要增加到10以上来减小高度的振荡,那么这通常表明俯仰伺服循环的调优或俯仰角度和爬升速率的设置有问题.
确认THR_MAX、LIM_PITCH_MAX和TECS_CLMB_MAX设置正确
通过在loiter、RTL或guided模式下执行一个不小于50m的正高度变化来检查
设置这些参数,使爬升所需的油门大约是THR_MAX的80%,飞机保持空速,所需俯仰角大约比LIM_PITCH_MAX低5度
1) 如果速度低于所需的值,并且油门增加到并保持在THR_MAX上,则应该减少TECS_CLMB_MAX或增加THR_MAX
2) 如果要求的俯仰角始终处于LIM_PITCH_MAX设置的极限,则需要增加俯仰角极限LIM_PITCH_MAX,或者降低最大爬升速率TECS_CLMB_MAX
确认LIM_PITCH_MIN和TECS_CLMB_MIN设置正确
通过在loiter、RTL或guided模式下执行一个不小于50m的负高度变化来检查
设置这些参数,使油门处于THR_MIN,空速低于ARSPD_FBW_MAX,所需的俯仰角高于LIM_PITCH_MIN约5度
1) 如果速度太高,那么应该减少TECS_SINK_MAX
2) 如果要求的俯仰角始终处于LIM_PITCH_MIN设置的极限,那么要么需要降低俯仰角极限LIM_PITCH_MIN(变得更负),要么需要降低最大下沉速率TECS_SINK_MAX
如果高度响应振荡,可以尝试以0.1的增量增加 TECS_PTCH_DAMP (不要超过0.5) 然后尝试以1.0的增量增加TECS_TIME_CONST的值
微调
THR_SLEWRATE:油门在一秒内的最大变化率%
降低这一数值将减少在多风条件下油门“飙升”的数量,但将降低控制器的准确性,并将在油门,速度和高度产生振荡,如果降低太多
TECS_THR_DAMP:油门需求循环的阻尼增益。如果不使用空速传感器,这种增益没有效果.
增加阻尼以修正速度和高度的振荡. 如果不使用空速传感器,这种增益没有效果.
TECS_INTEG_GAIN: 控制循环的积分增益
增加该增益会加快速度和高度偏移减少的速度,但会降低阻尼和增大过冲.
TECS_RLL2THR: 增加该增益转弯增大油门,将用来补偿转弯所产生的额外的阻力。如果不使用空速传感器,这种增益没有效果.
如果飞机先丢失动能在转弯时,则增加此增益;
如果飞机先获得动能在转弯时,则减少此增益
高效的高展弦比飞机(如动力滑翔机)可以使用一个较低的值
低效的低展弦比模型(如三角翼)可以使用一个较高的值
TECS_SPDWEIGHT: 此参数调整俯仰控制应用于对速度和高度误差的加权量.默认值1.0。如果不使用空速传感器,则此参数无效
将其设置为0.0将导致俯仰控制只控制高度,忽略速度误差
这通常会提高高度精度,但会产生较大的空速误差
将其设置为2.0将导致俯仰控制循环控制速度,忽略高度误差.
这通常会减少空速误差,但会产生较大的高度误差
TECS_VERT_ACC:控制器用来纠正速度或高度误差的最大垂直加速度,默认值为7米/秒/秒(相当于+- 0.7 g)
TECS_HGT_OMEGA:用于融合垂直加速度和气压高度的互补滤波器的交叉频率(单位是弧度/秒),以获得高度速率和高度的估计值
增加这个频率对解决方案的权重更倾向于使用气压计,
减少它对解决方案的权重更倾向于使用加速度计数据
TECS_SPD_OMEGA:来融合纵向加速度和空速的互补滤波器的交叉频率(单位是弧度/秒),以获得改进的空速估计
增加这个频率的权重解决方案更多地使用空速传感器,
减少它的权重,解决方案更多地使用加速度计数据
校准空速传感器
在主界面HUD窗口下方“动作”选项卡的首行下拉列表选择【PREFLIGHT_calibration】并点击后面的“执行动作”按钮
ARSPD_RATIO参数决定了APM如何将速度传感器的差压映射到空速值
自动校准空速比例
修改ARSPD_AUTOCAL为1,点击“写入参数”
飞行一个重复的航线或圆形的盘旋5分钟
着陆,将ARSPD_AUTOCAL更改为0
点击“刷新参数”并检查ARSPD_RATIO的值. 通常在1.5到3.0之间.
如果它在这个范围之外,检查是否漏气,否则更换皮托管的安装位置
如果空速被校准前你不愿意使用传感器你可以设置ARSPD_USE=0,但必须设置ARSPD_ENABLE=1启用传感器
手动校准空速比例
应该在FBWA模式下进行测试飞行
起飞到达安全高度
保持副翼摇杆,开始一个稳定的转弯
飞行2到3个圆形
着陆,查看遥测日志
绘制你飞行的空速和地面速度值,定位你盘旋飞行的区间
查看空速值的平均值与地面速度的平均值之差
用公式计算一个新的空速比:
NEW_RATIO = OLD_RATIO*((AVERAGE_AIRSPEED + AIRSPEED_INCREASE)/AVERAGE_AIRSPEED)2
即=原比例*(平均地速/平均空速)的平方
在海拔2000米的高度,显示的和真实的空速之间的差异大约是10%,
所以平均空速低于平均地面速度10%左右.
在海拔4000米的地方,这会上升到20%左右。
在5000米,大约是30%
遥测日志参数说明——————————————————————————————————————————————
ATTITUDE
pitch 飞机的实际姿态俯仰角度
pitchspeed 飞机的实际姿态俯仰角速度(弧度/秒)
roll 飞机的实际姿态滚转角度
rollspeed 飞机的实际姿态滚转角速度(弧度/秒)
yaw 飞机的实际姿态偏航角度
yawspeed 飞机的实际姿态偏航角速度(弧度/秒)
CUSTOM
mag_field 罗盘干扰偏移量,随油门增大而增加,最多允许出现超过60%的波动。取值可以在120 ~ 550之间
GLOBAL_POSITION_INT
alt 飞机的海拔高度,毫米
hdg 飞机的航向角,百分度
lat 飞机的纬度
lon 飞机的经度
relative_alt 飞机的相对(home点)高度
vx 飞机纵轴方向的速度
vy 飞机横轴方向的速度
vz 飞机垂直方向的速度
GPS_RAW_INT
alt GPS高度
cog GPS方位角
eph GPS水平定位精度
lat GPS经度
lon GPS纬度
satrllites_visible GPS卫星数量
vel GPS速度
HWSTATUS
Vcc 飞控板电压
MISSION_CURRENT
seq 自动模式执行的任务编号
NAV_CONTROLLER_OUTPUT
alt_error 高度误差,不太清除是相对于哪个高度
aspd_error 空速误差
nav_bearing 当前导航方向角
nav_pitch 导航需求的俯仰角
nav_roll 导航需求的滚转角
target_bearing 目标指向角,还不清楚是如何计算的
wp_dist 距航点的距离,不确定是距哪个航点的距离
xtrack_error 不明
RAW_IMU
xacc x轴加速度,-300~+300,厘米/秒2,可作为震动参考标准(采样频率低,无法明确区分飞机的震动与运动).
xgyro x轴角速度
xmag 罗盘x轴值
yacc y轴加速度,-300~+300,厘米/秒2,可作为震动参考标准(采样频率低,无法明确区分飞机的震动与运动).
ygyro y轴角速度
ymag 罗盘y轴值
zacc z轴加速度,-1500~-500,厘米/秒2,可作为震动参考标准(采样频率低,无法明确区分飞机的震动与运动).
zgyro z轴角速度
zmag 罗盘z轴值
RC_CHANNELS_RAW
chan1_raw 滚转摇杆输出的副翼PWM值
chan2_raw 俯仰摇杆输出的升降舵PWM值
chan3_raw 油门摇杆输出的油门PWM值
chan4_raw 偏航摇杆输出的方向舵PWM值
chan5_raw 遥控器输出到接收机5通道的PWM值,通常作为旋翼机的默认飞行模式切换通道
chan6_raw 遥控器输出到接收机6通道的PWM值
chan7_raw 遥控器输出到接收机7通道的PWM值
chan8_raw 遥控器输出到接收机8通道的PWM值,通常作为固定翼的默认飞行模式切换通道
SCALED_PRESSURE
press_abs 气压压强
press_diff 气压差,估计是相对于home高度
temperature 温度
SENSOR_OFFSET
mag_ofs_x 罗盘x轴偏移量,-150~150,即参数COMPASS_OFS_X的值
mag_ofs_y 罗盘y轴偏移量,-150~150,即参数COMPASS_OFS_y的值
mag_ofs_z 罗盘z轴偏移量,-150~150,即参数COMPASS_OFS_z的值
raw_press 气压压强
raw_temp 温度
SERVO_OUTPUT_RAW
servo1_raw 飞控俯仰/副翼输出的PWM值
servo2_raw 飞控俯仰/升降舵输出的PWM值
servo3_raw 飞控油门输出的PWM值
servo4_raw 飞控偏航/方向舵输出的PWM值
servo5_raw 飞控5通道输出的PWM值
servo6_raw 飞控6通道输出的PWM值
servo7_raw 飞控7通道输出的PWM值
servo8_raw 飞控8通道输出的PWM值
SYS_STATUS
battery_remaining 电池剩余电量百分比
current_battery 电池电流
load 电池负载
onboard_control_sensor_enabled 飞控板使用的传感器
onboard_control_sensor_health 飞控板正常的传感器
onboard_control_sensor_present 飞控板开启的传感器
voltage_battery 电池电压
VFR_HUD
airspeed 地面站显示的空速
alt 地面站显示的高度(这个貌似是海拔)
climb 地面站显示的爬升角度
groundspeed 地面站显示的地速
heading 地面站显示的航向角
throttle 地面站显示的油门百分比(没注意到在哪儿?)
WIND
direction 貌似是风向,不清楚是如何计算的
speed 貌似是风速,不清楚是如何计算的
speed_z 貌似是垂直风速,不清楚是如何计算的
|