基于Ardupilot/PX4固件,APM/PIXhawk硬件的VTOL垂直起降固定翼软硬件参数调试(第一篇)安装调试

本文内容大部分来自Kris,我们的K大,在VTOL领域的大牛,在此,非常感谢K大。能引用K大的成果也是自己的荣幸,不便之处还请K大多多包涵,在此引用只是为方便自己日常学习,部分参数表里根据自身情况,增加了修改环节和相应参数。

先来一张PIX的原理图

在这里插入图片描述

1.安装及下载Ardupilot官方固件:

VTOL固件的来源可分为Ardupilot官方固件及二次开发固件。官方固件分为三种版本(稳定版/测试版/开发者master版本),通常越新的版本功能越多且改掉了已知的bugs(但可能有未知的Bugs! ),如果要刷稳定版只需点击1->2->3(飞机的图示),如下图:在这里插入图片描述
如果要刷测试版请点击右下方的Beta Firmware,此时飞机图示下方会出现版本编号,当点击飞机图示就会进入刷固件程序.

如果您想安装开发者DEV版本,可点击Download Firmware就会打开官方下载固件网页(http://firmware.ardupilot.org/),开发者版本是以日期来分类,且支持的飞控板相当多,如果是Pixhawk则为PX4或FMUV3(ChibiOS),找到想下载的固件请点击右键->另存目标(或另存连结为…)以下载固件.
在这里插入图片描述
*下载二次开发版本固件(QQ_Group Firmware):
您可以进入这个Dropbox连结来下载固件(大陆模友请到QQ群文件下载,一样的,这边下载要翻墙):
https://www.dropbox.com/sh/ircqhf6phsgagk3/AAA_Cw3VwoHm2o_viCWHZJj9a?dl=0

固件是按照[版本号_日期]来区别新旧版本的,所以您会看见很多个数据夹,每个版本的修改说明在readme.txt内,通常日期越新的功能越多且改掉了已知的Bugs(但可能有未知的Bugs),所以请自行判断要使用什么版本.

那一种飞控要下载那一种固件则请对照下图:
.px4是Nuttx(旧OS,效能低)的固件,而.apj是ChibiOS(新OS,效能高)的固件,有些飞控两者皆可刷(如下图),请自行决定要刷那一种.
注:ChibiOS目前仍在试验阶段,已经可以正常使用了,但也可能有未知的Bugs! 及未完成的功能:
https://github.com/ArduPilot/ardupilot/issues/8109
在这里插入图片描述
注:
如果您的Pixhawk是没有1mb-flash Bug的飞控,可以刷V3或FMU_V3两种版本,如果检测是有Bug的硬件,则只能刷FMU_V2.apj,检测方法: https://diydrones.com/forum/topics/pixhawk-1mb-flash-limit。
*安装二次开发版本固件:
请点击1->2->3(Load custom firmware),再选择您下载的固件,以刷到飞控内.
在这里插入图片描述
*刷固件的过程可能出现的错误及排除方法
1.找不到[Load custom firmware]这个按钮.
这个是因为MP的高级功能没打开,请打开它.
在这里插入图片描述

2.插上飞控后出现"找不到驱动",或”驱动安装失败”,或COM??一直没有出现.
这个是您计算机驱动安装的问题,可以尝试重新安装最新版的Mission Planner.
如果无法解决.您应该找计算机专家,这个不在本教程的范围,所以请自己想办法,或换台计算机试试.
3.加载固件失败,或MP傻在那边没反应,无法顺利刷入.
可以尝试以下几种方法:
a.SD卡没有插(或故障),请换一张SD卡.
b.先不要插上飞控,在选好固件出现提示按[ENTER]后再插上飞控.
c.先插上飞控按[联机],在联机后按[断开联机],再选择要刷的固件.
d.先插上电池(以电池供电)在听到开机音后再插上USB,再到步骤c
e.换条USB线(太长或是接触不良)无法供应足够的电.

4.刷完后找不到Com??(等很久一直没有出现)
这个可能是刷了ChibiOS(.apj固件)后会重新安装驱动,而安装驱动出错了,所以也是计算机问题,或许可尝试移除MP再到官网下载最新版本的MP有附最新驱动,如果实在没有能力解决,可以用上面项3的b来刷回Nuttx(.px4)固件.

5.开机出现奇怪的声音.
请到官网 http://ardupilot.org/copter/docs/common-sounds-pixhawkpx4.html 听听看是那种声音,上面都有写原因.

6.RGB LED闪的灯号怪怪的!
请到官网 http://ardupilot.org/copter/docs/common-leds-pixhawk.html 看看LED是闪那种,上面也有写原因.

如果您尝试了以上方法仍然失败,那您可能要换个飞控试试了,或许坏了,又或许是不良率.

垂直起降固定翼 -导入参数

*下载参数文件:
您也可以进入Dropbox的Parameters活页夹内有每个机型的参数文件,请按照自己的机型来下载,这个可以节省您很多的调机时间(大陆模友请到QQ群文件下载,一样的,这边下载要翻墙).
https://www.dropbox.com/sh/ircqhf6phsgagk3/AAA_Cw3VwoHm2o_viCWHZJj9a?dl=0

*重置参数(恢复出厂值):
第一次刷固件务必重置参数(只有第一次刷要这么做,以后升级是不必重置的),因为第一次刷上固件后参数内存什么值是不可预期的,所以我们必须重置参数为默认值.
重置方法很简单,只要按下1->2->3(Reset to Default),再重新开机即可.
这步骤应该不会出什么错,如果找不到[Full Parameter List],那你就是没仔细看前面写的了.
在这里插入图片描述
*导入参数:
点击1->2->3(Load from file),再选择您下载的机型参数.
在这里插入图片描述
这边要特别注意,因为这个步骤要操作好几次,且禁止用数传来导入(大批量更新时数传可能会掉封包):
第一次导入会出现一大堆的错误(找不到参数名称),这是因为有些参数要先打开才会看到有关的参数,例如Q_Enabled=1后才会看到Q_开头的参数,所以我们导入后按下[Write Params]写入参数->重新开机->再重复一次导入步骤.
经过几次导入后会发现错误剩下几个(或许没有错误了),此时请改用[Compare Params]比对参数,再按写入并重新开机,应该所有参数都导入完成了,如果还有几个错误那就算了,有可能是新旧版本参数名称不同(或改了),您也可以透过下一章节(参数设置)去核对它.

警告:
1.在还没有导入参数或正确设置参数前,不可插上舵机(Servo),因为您有可能把舵机插到490Hz的电调(ESC)Main out或AUX out上,舵机会烧掉.

2.舵机务必分开供电(以独立的UBEC供电),绝对不能吃飞控的电,这个要特别注意.
如果没有分开供电,不是舵机不会动,就是飞控在空中断电重新开机.

3.倾转舵机(尤其是UAVS厂牌),务必以高压(6.0V-8.0V供电,建议用UAVS提供的7.0V UBEC供电),绝对不能插5.0V(5V力量达不到,在大Kg工作时电流增大,可能烧掉机板)

4.有些飞控的Main out及AUX out最大只能插5.5V,如果您的BEC电压是6V(或更高),不可以插到Main或AUX out,如果不知道,请询问您的飞控厂商.

5.飞控送的SD卡通常不会太好,最好自己换张16G高速SD卡,以免航测作业时漏POS或出现SD卡写入错误,或Log断续(甚至没有log).

图片说明:启用VTOL
在这里插入图片描述
在这里插入图片描述

垂直起降固定翼 -校准加速度计

加速度计校准分为[六面校准 Calibration Accel] 与 [水平校准 Calibration Level]两种,六面校准必须在完全平的桌面做校准,所以请在装机前完成它,当装上飞机后就只需做水平校准即可.

点击1->2->3(Calibration Accel)做六面校准,再按照图片的摆放方式完成它.
在这里插入图片描述
*飞控水平(LEVEL)放置,完成后按[ENTER]或点画面中的[Done]
在这里插入图片描述
*飞控朝左(Left)放置,完成后按[ENTER]或点画面中的[Done]
在这里插入图片描述
*飞控朝右(Right)放置,完成后按[ENTER]或点画面中的[Done]
在这里插入图片描述
*机头朝下(nose down)放置,完成后按[ENTER]或点画面中的[Done]
在这里插入图片描述
*机头朝上(nose up)放置,完成后按[ENTER]或点画面中的[Done]
在这里插入图片描述
*飞控反面(back)放置,完成后按[ENTER]或点画面中的[Done]
在这里插入图片描述
*加速度计校准完成
在这里插入图片描述

垂直起降固定翼 -水平校准

水平校准是在装机完成后以多轴四个电机为水平的基础上进行校准,以确保多轴模式悬停的稳定性,期望达成的目的是以QSTABILIZE(多轴自稳模式)在无风环境下尽可能的不飘移.

简单的说这个水平就是多轴模式的水平,而固定翼的水平则藉由调整TRIM_PITCH_CD(仰角参数)来完成,这个参数的单位是百分度,例如100表示1度(以多轴的水平抬头1度为固定翼的仰角).

注:除了以多轴为水平来校准,也可以使用固定翼水平来校准,而多轴与固定翼的角度差则藉由Q_TRIM_PITCH参数来调整,这个参数的单位是度,例如1.2表示1.2度(以固定翼的水平偏差1.2度为多轴水平).

不管使用那个水平,只要架好水平再按下1->2->3,再等个几秒钟会出现"校准成功”的提示.
注意:在校准期间请勿移动飞机,请保持静置不动.
在这里插入图片描述

垂直起降固定翼 -罗盘校准

罗盘应该在装机完成后校准,但也可以暂时贴在飞控上先校准试试看,确定都没问题再装机.
但机装后仍然必须再校准一次(方法一样的),且装机后最好用数传以电池供电来校准(USB可能供电不足).

在校准之前请先进到全部参数确定罗盘ID是否数量正确,Pixhawk2 Cube / Pixhack-V3 / UAVS-V3有两个内置罗盘(一般Pixhawk只有1个内置),如果插上一个外置罗盘就必须看到3个不同的罗盘ID,如果不是这样,请检查接线或其它问题.
在这里插入图片描述
关于罗盘干扰:
由于垂直起降固定翼(VTOL)在多轴模式的电流很大(>60A)且集中于两侧机翼,很难避开干扰罗盘问题,如果实在无法排除电流磁场干扰,只能禁用两个内置罗盘,只用1个外置或2个外置罗盘.

关于罗盘安装方向:
新的固件会自动识别罗盘方向,所以在校准页不需设置方向,如果校准完成发现偏转了90度(由Mission Planner地图可观察到,屏幕正上方为北边),先检查附近是否有干扰,或换个位置做校准.

关于CANBUS罗盘:
MP地面站只有3个罗盘位置,如果您有4个罗盘(例如外置GPS1,Pixhawk2内置2,CANBUS*1),则您必须使用COMPASS_TYPEMASK这个参数来关闭一些罗盘,方法请看http://ardupilot.org/plane/docs/parameters.html 搜寻”COMPASS_TYPEMASK”参数,例如您只要CANBUS罗盘,则COMPASS_TYPEMASK=6143(二进制:1011111111111).
如果您有2个CANBUS罗盘,则必须关闭其中一个(例如CANBUS GPS内置罗盘),因为目前CANBUS上只能有1个罗盘,所以使用参数CAN_D1_UC_MAG_ID=55(指定CANBUS高精度罗盘ID).

进入罗盘校准页将勾选及设置如下图,再按1->2->3(Start)就可以把飞控及罗盘拿起来转动,只要每个方向都有转到,进度条就会一直增加到100%.
在这里插入图片描述
罗盘校准完成,请将飞控重新开机,如果校准失败则检查附近是否有磁性物体,请远离再试.
在这里插入图片描述

垂直起降固定翼 -GPS安装/设置

=== GPS安装位置设置(注意:单位是米,0.1米=10公分) ===
GPS_POS1_X(正值为机头方向,负值则靠机尾方向安装)
GPS_POS1_Y(正值为靠右翼方向,负值则靠左翼方向安装)
GPS_POS1_Z(正值为向下,负值则向上方向安装)
注:方向为人站机尾往机头方向看,第二个GPS方向(GPS_POS2_*)设置同上.

=== 双GPS设置 ===
GPS_AUTO_SWITCH 自动切换设置(0=无,1=使用收星品质较好者,2=双GPS融合,3=使用第2个GPS)
如果设置为2(双GPS融合),可以选择融合方式,参数
GPS_BLEND_MASK
bit0(1)=水平
bit1(2)=垂直
bit2(4)=速度
例如GPS_BLEND_MASK=5(1+0+4)表示融合水平及速度.

=== CANBUS GPS设置 ===
如果只有一个GPS(CANBUS GPS):
GPS_TYPE=9(CANBUS)
GPS_TYPE2=0(无)
如果有一般GPS+CANBUS GPS:
GPS_TYPE=1(一般GPS)
GPS_TYPE2=9(CAN BUS GPS)
它们可以藉由GPS_AUTO_SWITCH参数来设置如何自动切换.

注:通常CAN GPS内有内置罗盘及RGB LED,例如UAV-AI的CAN GPS参数设置如下:
CAN_P1_DRIVER=1(启用CANBUS1,设置后重新开机才会出现底下CAN参数)
CAN_D1_PROTOCOL=1
CAN_D1_UC_MAG_ID=0
CAN_D1_UC_NODE=10
CAN_P1_BITRATE=1000000

垂直起降固定翼 -遥控器校准

首先确定接线正确,将遥控器接收机的SBUS(或PPM)插到Pixhawk的RCIN接口,并在Mission Planner的遥控器校准页看到打舵方向是正确的,确认方法如下:
只要记住除了升降舵(PITCH)打杆方向与Mission Planner上的相反(往前推杆=进度条降低,往后拉杆=进度条高),其它信道都是跟随进度条的,如果不是这样请更改遥控器内的通道反向(尽量不要在MP校准页勾选反相,尤其是油门CH3,否则将造成log分析的困扰及延伸的问题),如果遥控器有动过通道微调或END POINT的请还原,有调整遥控器EXP的也请还原.

如果没有问题,请按下画面上的1>2>3进行校准.
在这里插入图片描述
开始校准后请将遥控器每个摇杆打到左右(或上下)的极限来回数次,遥控器上面的开关也来回拨动,此时会在MP看到左右(或上下)的红线,这个红线就是遥控器的最小及最大行程量.
最后再按下[校准完成],等待数秒后MP会出现一个列表,告诉你每个通道的行程量,这样就完成校准了.
注意:在设置 飞行模式/失控保护/电调校准/电机测试 前,必须先做遥控器校准.

垂直起降固定翼 -飞行模式设置

所有飞行模式请看教程[飞行模式说明],并将参数FLTMODE_CH=5(使用遥控器信道5当模式开关信道),设置模式开关有底下几种:
在这里插入图片描述
注意:以下模式开关只针对群固件可以这样设置,如果使用官方固件,请自己使用开关混控方式,由于混控方法每种遥控器不同,请自行到网络上找教学,以下将针对群固件的方式做说明.

两个三段开关控制5个模式(最简单的方法,任何人都会的):
1.进到遥控器的信道设置将信道5(CH5)指到一根3段开关(例如SA开关),这个开关最好不是在控制油门的那只手(因为你不会希望控制油门的同时又去切开关).
2.拨动开关会看到上图的变化,只要把[开关下]选择为FBWA,[开关中]选择为QSTABILIZE,[开关上]选择为QLOITER,其它3个选不到的位置则不管它.
3.进到遥控器的信道设置将信道7(CH7)指到一根3段开关,这个开关最好在主模式开关的另一只手(可以避免混乱中混错).
4.将参数 RC7_OPT=104(注意是RC7_OPT而不是RC7_OPTION,别搞错),这样你会多了两个模式可以用,当该开关切到中间=LOITER(固定翼绕圈),开关切到高=RTL(返航,记得将RTL_MODE=1开启混合式RTL).

操作方法如下:
a.主模式开关中位(QSTABILIZE多轴自稳)解锁并以多轴起飞.
b.到达高度后主模式开关高位(QLOITER多轴悬停)并将油门置中再将飞机转头到自己习惯的角度,此时飞机是停在一个点不动.
c.主模式开关低位(FBWA固定翼自稳),其它舵都别乱动(此时杆位应该都是置中的).
d.等待转换完成(莫约3-5秒),就可以开始飞你的固定翼.

如果要转回多轴,直接把开关切到高位(QLOITER)就行了,它会自己控制滑行+煞车再悬停,如果要LOITER或RTL就切另一个开关.

两个三段开关+一个两段开关控制6个模式(会设置两根开关混控的人):
1.进到遥控器混控设置将一个两段开关与一个3段开关由通道5混控出6个模式.
2.将模式选择FBWA/QSTABILIZE/QLOITER/AUTO(有3个),其中的AUTO当成两段开关,只要那根2段开关高位(另一根3段开关不管在那个位置)都是AUTO,这样在混乱中不易搞错,而且当AUTO进行中仍然可以将3段开关预先切到你想”救机”的位置而不会影响目前正在AUTO的任务.
3进到遥控器的信道设置将信道7(CH7)指到一根3段开关,这个开关最好在主模式开关的另一只手(可以避免混乱中混错).
4.将参数 RC7_OPT=104(注意是RC7_OPT而不是RC7_OPTION,别搞错),这样你会多了两个模式可以用,当该开关切到中间=LOITER(固定翼绕圈),开关切到高=RTL(返航,记得将RTL_MODE=1开启混合式RTL).

操作方法与第一种方式一样,只差别在多了一个AUTO(最高优先权的AUTO开关),执行自动作业建议使用此方法,可以确保遥控器失控/断续情况下飞机的稳定性,AUTO模式不会因信号断续被随意改变.

注:
除了RC7_OPT=104外,另有RC7_OPT~RC9_OPT功能代号如下:
0=禁用
3=3向量Y3专用(低位=后侧单电机推力,中位=前侧双电机推力,高位=前后三电机推力)
31=(同上功能,但双前拉时尾电机会自动倾回)
32=(同上功能,双前拉时尾电机会自动倾回,单后推时前拉电机会自动倾回)
4=4倾转X4专用(低位=后侧双电机推力,中位=前侧双电机推力,高位=前后四电机推力)
104=开关中位=LOITER(绕圈),开关高位=RTL(自返)
106=开关中位=FBWB(FBWB定高模式),开关高位=CRUISE(巡航模式)
109=相机快门触发
118=QLand 模式(原地多轴模式自降)
124=航线任务重置(Auto Mission Reset)
128=继电器1 (开关高位=开, 开关低位=关)
134=继电器2 (开关高位=开, 开关低位=关)
135=继电器3 (开关高位=开, 开关低位=关)
136=继电器4 (开关高位=开, 开关低位=关)
例如:
RC7_OPT=104,则遥控器开关CH7在中位时是Loiter模式,开开打到高位是RTL.
RC9_OPT=109,则遥控器开关CH9打到高位就会拍一张相片(且会存CAM位置).

垂直起降固定翼 -电调校准

进行电调校准前,请先确定以下事项:
1.已做过遥控器校准.
2.确定Servo?_Function设置与电调插的PWM位置无误,例如Servo9_Function=33则电调1已经正确插在AUX1接口上了,且注意信号线及GND不要上下插反.
3.飞控已经可以解锁了,如果在室内无GPS不给解锁,请将ARMING_CHECK=0(关闭自检).
4.有装安全开关的人在校准时也别忘了按,如果要暂时禁用安全开关可将参数BRD_SAFETYENABLE=0.


VTOL的电调校准方法跟多轴或固定翼不同,请按照以下方法来为电调做油门校准:
1.拆桨(务必拆桨,安全至上)
2.插上USB连接到Mission Planner,但不要插上电池.
3.进到全部参数页将以下参数修改:
Q_ESC_CAL=1(启用电调校准)
Q_M_PWM_MAX=2000(电调最大行程PWM)
Q_M_PWM_MIN=1000(电调最小行程PWM)
4.多轴QStabilize模式解锁(有装安全开关的,要按安全开关,或BRD_SAFETYENABLE=0禁用安全开关).
5.油门推到最高,插上电池.
6.听到发出高位确认音(通常是”滴.滴”两个音),油门收到最低.
7.听到发出低位确认音,完成.
8.重新开机(重新开机后Q_ESC_CAL会自己改回0).
某些电调在步骤6会发出急促滴.滴.滴.~音.
可能是步骤46太慢了,必须在电调发出告警(约2秒)要完成,所以重复步骤46(某些电调才这样,正常是不会的)


注:
a.此方法只会校准多轴电机,如果是4+1(或4+2)机型,则主电机的电调请自己插在接收机校准.
b.这个方法校准一直失败怎么办?
那只好采用另一种校准方法了…
1.请将参数修改如下:
Q_ESC_CAL=0(关闭电调校准)
Q_M_PWM_MAX=0(电调最大行程PWM,0=以遥控器接收机的RC3_MAX最大油门值为准)
Q_M_PWM_MIN=0(电调最小行程PWM,0=以遥控器接收机的RC3_MIN最小油门值为准)
2.把电调油门线一个一个拆下来插到接收机的CH3(油门).
3.遥控器油门杆推到最高->插上电池,听到高位确认音将油门收到最低.
4.听到低位确认音->拔下电池,这样就完成1个电调的校准.
5.重复步骤2-4直到所有电调校准完毕.
c.可以观察Mission Planner地面站ServoOut页,看看PWM输出的对不对.

当电调校准完成后就可以测试电机旋转方向或编号(可以使用MP内的电机测试功能来确认)是否正确了.

垂直起降固定翼 -电机测试

注意:进行电机测试前请先做好电调校准且确定飞机可以正常解锁且桨已经拆除.

打开Misssion Planner进入电机测试页,将Throttle(油门%)输入20%,转动持续时间设置为5秒,如下图:
在这里插入图片描述
当按下Test motorA-D(测试电机A-D),电机会以20%油门转动5秒,这边要注意A-D并不是按照电机1-4的编号,而是顺时针方向的,此时可检查电机方向与电调油门是否插对孔,如果不确定编号及转向是否正确,可查看 http://ardupilot.org/copter/docs/connect-escs-and-motors.html 或是教程最后几页的接线图也有电机编号表.

另外要注意机架类型X与H的分别,这边提到的H机架其实是中文字的”工”,这种H机架在VTOL相当少见(至少我DIY的机架都没有这样的),H机架是由机身穿出转动轴而非固定在机翼上,只要机臂固定在机翼上的几乎都是X型,如果X/H搞错会造成YAW(偏航轴)的控制不良而自旋.

垂直起降固定翼 -固定翼舵机设置

新版固件已取消V尾及飞翼旧的混控方式,改以更直观的编号方式来设置,详细编号表在本教程的附录内.
其中77-80这4个编号就是新的设置编号,左右方向是人站在飞机后面往机头方向看.
编号:77 功能:飞翼-左舵机(免混控)
编号:78 功能:飞翼-右舵机(免混控)
编号:79 功能:V尾-左舵机(免混控)
编号:80 功能:V尾-右舵机(免混控)
例如飞翼设置:
Servo2_Function=77 (飞控的MainOut-2插飞翼左舵机)
Servo4_Function=78 (飞控的MainOut-4插飞翼右舵机)
例如V尾设置:
Servo2_Function=79 (飞控的MainOut-2插V尾左舵机)
Servo4_Function=80 (飞控的MainOut-4插V尾右舵机)
舵机行程量:
Servo?_Min=1100 (舵机的最小行程量)
Servo?_Max=1900 (舵机的最大行程量)
Servo?_REVERSED=0 (0=正常,1=舵机反向)
注意:
*如果是倒V尾的机型则左右颠倒设置即可(79=右,78=左)
*Servo1~Servo14都可以用,就喜欢插那就插那,编号对就行了.
*如果插到Servo13-14(也就是AUX5-6),则要注意BRD_PWM_COUNT=4(默认)要改成6,否则AUX5-6是Relay信号输出而不是PWM信号,插上去当然不会动.
*编号设置好了务必重新开机,否则不会生效.
*还没设置好编号前千万别先插舵机上去,因为可能输出不是舵机信号,如果把舵机插到490Hz的电调界面,舵机烧掉是正常的,所以要注意.
*舵机一定要分开供电,不可以吃飞控的电,直接插上去是不会动的(如果会动,飞控也会随时进入保护模式而断电),所以舵机一定要由外部BEC供电,禁止用飞控的电.

如何确定舵机方向?
当插上舵机后有两个方向要设置,分别为[自稳反馈方向]及[遥控器打舵方向],且一定要先确定[自稳反馈方向]正确了才能去设置[遥控器打舵方向].

如何确定[自稳反馈方向]
1.用遥控器或地面站把模式设到FBWA模式.
2.把飞机机头往上抬:
两片V尾(或飞翼)应该要往下摆,如果不是这样则把该Servo?_REVERSED=1(如果原本已是1,则改为0),就是把舵机反向的意思.
3.把飞机机头往下:
两片V尾(或飞翼)应该要往上摆,如果不是这样则把该Servo?_REVERSED=1(如果原本已是1,则改为0),就是把舵机反向的意思.
左右或Rudder就不必试了,一个方向对了就对了(副翼或飞翼,机翼向上摆则则该副翼舵面要往上翘才正确)

如何确定[遥控器打舵方向]
1.用遥控器或地面站把模式设到FBWA模式(或手动模式较易观察).
2.遥控器升降舵往前推,两片V尾(或飞翼)应该要往下摆,如果不是这样则把遥控器该通道反向.
3.遥控器升降舵往后拉,两片V尾(或飞翼)应该要往上摆,如果不是这样则把遥控器该通道反向.
注:遥控器通道反向也可以在RC?_ REVERSED=1设置,但要注意不要连续反了两次,例如RC2_REVERSED=1又再把遥控器通道反向,这样反了两次等于没有反,如果不能确定,则别去动RC?_REVERSED这个参数,让它维持0就好,副翼(或飞翼)也一样,遥控器打向那边则该副翼舵面要往上翘才正确.

垂直起降固定翼 -倾转舵机设置

=== 倾转舵机有关参数(注:Servo5/Servo6只是范例,您可以自行定义) ===
SERVO5_FUNCTION=76 (Mainout5插右倾转舵机)
SERVO5_MIN=1000 (倾转舵机最小行程量)
SERVO5_MAX=2000 (倾转舵机最大行程量)
SERVO5_TRIM=1500(此参数无效,因为倾转舵机不会用到中立点这个参数)
SERVO5_REVERSED=0(倾转舵机反向,0=正常,1=反向)
SERVO6_FUNCTION=75 (Mainout5插左倾转舵机)
SERVO6_MIN=1000 (倾转舵机最小行程量)
SERVO6_MAX=2000 (倾转舵机最大行程量)
SERVO6_TRIM=1500(此参数无效,因为倾转舵机不会用到中立点这个参数)
SERVO6_REVERSED=0(倾转舵机反向,0=正常,1=反向)

Q_TILT_TYPE=2(启用矢量控制)
Q_TILT_MASK=5(那些电机编号会倾转,这个一个二进制的bits,详细计算方法看附录的参数表)
Q_TILT_YAW_ANGLE=10(多轴模式用的矢量角度,10=10度)
Q_TILT_FIX_ANGLE=10(固定翼模式用的矢量角度,10=10度)
Q_TILT_FIX_GAIN=60(固定翼矢量感度,0=关,60=60%,100=100%)
Q_TILT_MAX=70(倾转到这个角度等待空速达到,70=70度)
Q_TILT_RATE_DN=25(向下倾转,转换为固定翼时每1秒倾转几度)
Q_TILT_RATE_UP=80(向上倾转,转换回多轴时每1秒倾转几度)
Q_TILT_THR_DN=80(向下倾转,转换为固定翼时最大的油门限制%)
Q_TILT_THR_UP=35(向上倾转,转换回多轴时最大的油门限制%)

=== 倾转舵机安装 ===
1.决定Q_TILT_YAW_ANGLE及Q_TILT_FIX_ANGLE:
这两个角度,一般而言10度是适当的,如果往后倾转10度会打到机翼,或往前10度会卡到机臂(或其它结构),则您必须减小该角度,但不能小于5度,这两个角度只要改变就必须重调Servo?_Min及Servo?_Max(因为角度行程会被改变),所以这两个值最好先决定.
2.决定安装方向:
最好不要一正一反安装(log不易看且设置行程常搞错min还是max,有时反向的开机还会弹一下),这个可以经由切换QSTABILIZE与FBWA模式来确定,固定翼一定是水平于机翼中心线,而多轴是垂直于机臂(翼),如果不是这样,则改变SERVO?_REVERSED的值来改变方向.
3.锁舵机的舵片孔位:
先将SERVO?_MIN=1000 ,SERVO?_MAX=2000,然后把舵片尽量固定在最接近的舵机孔位上,这个很重要,如果固定错误会造成行程量<900或>2100仍不在控制范围内.
4.开始调整舵机行程:
你可以直接输入SERVO?_MIN或SERVO?_MAX的值(反正舵机会移动那个就对了),改变该值舵机就会移动,把舵机调整到水平与垂直(用眼睛看或许有误差,这个可以在空中试飞时若会偏转再来微调).
也可以直接在Mission Planner的Servo Out页利用键盘的上下键来调整行程(其实也就是直接改变Min及Max的值,意思一样的).
注:也可以使用舵机测试器来安装,如下图:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

垂直起降固定翼 -遥控信号强度RSSI设置

有些接收机(例如433Mhz接收机)有遥控信号强度输出接点,可以让Pixhawk显示遥控信号的强度(%).
而RSSI又分成电压(模拟)及PWM两者,请按照自己的接收机来设置.

RSSI_TYPE=1(什么类型的RSSI,0=不使用,1=仿真信号,2=PWM信号,3=接收机通信协议)

仿真信号类型的RSSI:
RSSI_ANA_PIN=103(模拟信号引脚,Pixhawk的103则为SBUS OUT这个接点)
RSSI_PIN_HIGH=3.3(模拟的RSSI强度100%时量测电压为多少)
RSSI_PIN_LOW=0(模拟的RSSI强度0%时量测电压为多少)

PWM类型的RSSI:
RSSI_CHANNEL=0(遥控器的第几个CH是RSSI PWM,0=不使用)
RSSI_CHAN_HIGH=2000(当信号强度为100%时的PWM值)
RSSI_CHAN_LOW=1000(当信号强度为0%时的PWM值)

注意:Mission Planner显示的RSSI指的是数传的RSSI,如果要看遥控器的RSSI请选择RxRSSI才是.

垂直起降固定翼 - 电源模块设置

=== 电源模块参数设置 ===
BATT_MONITOR=4(电池量测/监控种类,0=禁用,3=仅量测电压,4=量测电压及电流,5=Solo机专用,6=Bebop机专用,7=智能电池板,8=CANBUS智能电池板)
BATT_SERIAL_NUM=-1(电池序列号,智能SMBus电池用)
BATT_VOLT_PIN=2(电池电压检测引脚,Pixhawk请设为2)
BATT_CURR_PIN=3(电池电流检测引脚,Pixhawk请设为3)
BATT_AMP_OFFSET=0 (电流传感器零电流时的电压偏移)
BATT_AMP_PERVOLT=17(分流比,量测到1V时是表示几A,值越大则显示的电流越大)
BATT_VOLT_MULT=10.1(分压比,量测到1V时是表示几V,值越大则显示的电压越大)
BATT_WATT_MAX=0(允许的最大输出功率W,超过此设置则最大油门会被降低,0=不限制)
BATT_CAPACITY=15500(电池的容量,请按照自己的电池容量来设置)
BATT_FS_VOLTSRC =0(低电压量测类型,0=电池量测电压,1=电池回压后的电压)

=== 电池临界(紧急或严重失效)保护设置 ===
BATT_CRT_VOLT=0(电池临界电压,0=禁用,若低于此则触发BATT_FS_CRT_ACT)
BATT_CRT_MAH=0(电池临界容量,0=禁用,若低于设置则触发BATT_FS_CRT_ACT)
BATT_FS_CRT_ACT=0(临界失效采取的动作,0=没有,1=RTL,2=自降,3=终止/关动力)

=== 电池一般失效保护设置 ===
BATT_LOW_TIMER=10(低电压持续>这个秒数则触发低电压,用于低C电池在大油门时会突然低电压)
BATT_LOW_VOLT=0(电池低电压保护,0=禁用,若低于此则触发BATT_FS_LOW_ACT)
BATT_LOW_MAH=0(电池低容量保护,0=禁用,若低于此则触发BATT_FS_LOW_ACT)
BATT_FS_LOW_ACT=0(一般失效采取的动作,0=没有,1=RTL,2=自降,3=终止/关动力)

注:
1.Pixhawk2 Cube有两组电源模块,参数只差别在开头为BATT2_,设置内容同上.
2.电流的校准必须有功率计才能校准,如果没有请勿随意修改电流校准值.
3.校准电流也可藉由观察充电器充满时的mAh跟飞控显示的mAh使用量,理论上充满电的电池放出的mAh会接近充电器充入的mAh,如果有差异则增减BATT_AMP_PERVOLT值,只要观察几次就能调到准确.
4.若用霍尔电流传感器(例如下图这个),因为它的电压支持到12S及180A电流,所以量测参数必须修改如下:
BATT_AMP_PERVOLT=54.64(分流比,量测到1V时是表示几A,值越大则显示的电流越大)
BATT_VOLT_MULT=15.7(分压比,量测到1V时是表示几V,值越大则显示的电压越大)

垂直起降固定翼 -相机快门/热靴

=== 相机快门触发参数 ===
CAM_TRIGG_TYPE=0(0=PWM舵机信号,1=继电器信号)
CAM_DURATION=10(快门保持打开的时间,10=1秒,50=5秒)
CAM_SERVO_ON=1900(快门按下时的PWM值,范围:1000~2000)
CAM_SERVO_OFF=1100(快门放开时的PWM值,范围:1000~2000)
CAM_TRIGG_DIST=0(相机触发距离,单位:米)若不为零,则无论处于什么模式只要GPS位置改变了(距离)就会触发快门,注意:在自动任务中应使用DO_SET_CAM_TRIGG_DIST命令来触发快门,所以此值默认为0.
CAM_RELAY_ON=0(继电器触发是什么电平,0=低电平,1=高电平)
CAM_MIN_INTERVAL=0(快门触发最短间隔时间,单位:毫秒,1000=1秒)
CAM_MAX_ROLL=0(如果倾斜超过这个角度,将延时拍摄直到角度恢复正常才触发,0=不限制)
CAM_FEEDBACK_PIN=-1(相机热靴引脚,收到热靴信号才记录CAM位置于log,-1=禁用,50=AUX1~56=AUX6)
CAM_FEEDBACK_POL=0(热靴信号是什么电平,0=低电平,1=高电平)
CAM_AUTO_ONLY=1(什么时候可做距离触发,0=任何时候,1=仅在AUTO模式下)
Servo?_Function=10(?=快门触发引脚,例如Servo9_Function=10则AUX1插快门触发,范围Servo9~Servo14)
RC?_OPT=109(?=遥控器快门触发通道,例如RC7_OPT=109则遥控器通道7拨到高位就拍照,范围RC7~RC9)

=== 热靴参数 ===
BRD_PWM_COUNT=4(AUX1-4为PWM,AUX5-6为一般I/O)
Servo9_Function=10(AUX1为快门触发)
CAM_FEEDBACK_PIN=55(AUX6为热靴)
CAM_FEEDBACK_POL=0(热靴低位触发)
RC7_OPT=109(遥控器快门触发通道,CH7拨到高位就拍照)
热靴一旦启用,log内的CAM信息就不再是由快门触发产生,而是收到热靴信号才会产生,如果热靴不起作用会看不到log内有任何CAM信息,要开启热靴一样要打开快门触发参数.

热靴可以自己DIY一片小板子,或找找现成的板子买(有些快门触发线有附热靴小板).
在这里插入图片描述
在这里插入图片描述
1.买一根快门线把外壳去掉(节约体积,不然机身可能放不下),引出信号线和地线;
在这里插入图片描述
2.设置相机到快门优先;
在这里插入图片描述
3.连接相机和飞控
在这里插入图片描述
4.打开地面站,开启全部参数选项
在这里插入图片描述
5.找到全部参数列表,配置参数,配置完成,不要忘了点击“写入参数”;
在这里插入图片描述
在这里插入图片描述
6.接下来找到相机触发按钮,就可以听到“咔咔咔”的声音了。
在这里插入图片描述

Pix快门光耦线及制作

USB 插在相机 上即可远端或自动触发相机拍照 即可远端或自动触发相机拍照
在这里插入图片描述

航测相机调整

根据CH/Z 3005-2010,无人机航测采用的数码相机应满足以下要求:
(1) 基本要求
a. 相机镜头应为定焦镜头,且对焦无穷远;
b. 镜头与相机机身,以及相机机身与成像探测器稳固连接;
c. 成像探测器面阵应不小于2000万像素;
d. 最高快门速度不低于1/1000s。
(2) 检校要求
a. 相机检校参数应包括:主点坐标、主距和畸变差方程系数;
b. 相机检校时应在地面或空中对检校场进行多基线多角度摄影,通过摄影测量平差方法得到相机参数最终解,并统计精度报告;
c. 检校精度应满足:主点坐标中误差不应大于10um,主距中误差不应大于5um,经过畸变差方程式及测定的系数值拟合后,残余畸变差不应大于0.3像素;
d. 其他检校要求按CH/T 8021执行。
(3) 数据动态范围
数据每通道的数据动态范围不应小于8bit,可采用压缩格式,压缩倍率不应大于10倍。
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

垂直起降固定翼Pixhawk降落伞的安装与设置

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

垂直起降固定翼 -空速计校准

空速计参数设置:
ARSPD_AUTOCAL 空速计自动校准(0=关闭,1=启用自动校准)
ARSPD_BUS 空速计在那个I2C BUS上,0=BUS0,1=BUS1,2=BUS2,(请勿随意设置)
ARSPD_FBW_MAX 最大空速(m/s)
ARSPD_FBW_MIN 最小空速(m/s)
ARSPD_OFFSET 空速偏移值(请勿随意设置)
ARSPD_PIN 模拟空计速的脚位(Pixhawk一般为15,当ARSPD_TYPE=2为模拟空速计时此参数才有用)
ARSPD_PRIMARY 主空速传感器,如果多个空速计这将选择哪个将成为主要传感器
ARSPD_PSI_RANGE 传感器PSI(磅/平方英寸)范围(请勿随意设置)
ARSPD_RATIO 空速计的校准值(默认为2)
ARSPD_SKIP_CAL 是否关闭地面归零校准.(请勿随意设置)
ARSPD_TUBE_ORDER 静压管与动压管顺序对调,0=正常,1=对调.(请勿随意设置)
ARSPD_TYPE 空速计型号:
0 None(无)
1 I2C-MS4525D0
2 Analog(模拟)
3 I2C-MS5525
4 I2C-MS5525 (0x76)
5 I2C-MS5525 (0x77)
6 I2C-SDP3X
7 I2C-DLVR
8 UAVCAN
ARSPD_USE 启用空速计(0=仅logging记录值,1=启用空速计在飞行中)
ARSPD2_TYPE 第二个空速计型号(ARSPD2
参数同上)

*空速计自动校准步骤(建议使用):

[1]打开空速自动校准参数
ARSPD_AUTOCAL=1(启用空速自动校准)
ARSPD_SKIP_CAL=0(地面禁止不归零,所以开机时若风大必须挡风别灌入空速管,但禁止堵死)
ARSPD_RATIO=2 (校准值默认为2)
ARSPD_FBW_MAX=35(最大空速m/s)
ARSPD_FBW_MIN=12(最小空速m/s)
ARSPD_USE=1(启用空速计)

[2]观察空速计是否有效
开启Mission Planne观察HUD(抬头显示器)上的空速值是否在0-5m/s之间跳动,而且用手揑空速管(动压管),会看到空速值变很大,手放开则恢复0-5之间.
如果不是这样(例如一直都是0),则往前查原因,禁止做下一步.

[3]升空
以QStabilize或QLoiter多轴模式升空并转换为FBWA先绕个几圈,这期间空速会渐渐被校准,你会发现油门跟速度会渐渐跟手,速度与油门的控制变得更好了,你可以用手多绕几圈或切到Loiter(固定翼绕圈模式)让它自动去绕,通常5圈左右就已经可以了,但多绕几圈也是OK的(会更准一些些,只是一些些).

[4]降落
降落后连接到Mission Planne,将自动校准参数关闭
ARSPD_AUTOCAL=0(关闭空速自动校准)
并观察ARSPD_RATIO参数值已经被改变了,就表示完成了空速校准了.

空速计手动校准步骤:
除了自动校准外,你也可以使用手动校准,例如怕空速计不准而出问题,可以不启用空速计做校准,方法如下:
[1]打开空速计但不启用.
ARSPD_RATIO=2 (校准值默认为2)
ARSPD_FBW_MAX=35(最大空速m/s)
ARSPD_FBW_MIN=12(最小空速m/s)
ARSPD_USE=0(不启用空速计,仅供记录logging)
[2]上去绕圈
以多轴升空后转为FBWA或Loiter模式,就按照自己习惯的方法升空(例如:QLoiter->FBWA->Loiter),绕个至少3分钟再降落,此时空速计没有启用(仅输出空速值而已),所以不会因空速计有问题而发生意外!
[3]降落并打开记录(log)
取下Pixhawk上的SD卡插到计算机上再打开Mission Planner->数据闪存日志->回顾日志->选SD卡最后一个文件,勾选右边的 ARSP->Airspeed(空速) 及 GPS->Spd(地速),再对着上方曲线按着Mouse左键拉出刚刚绕圈那个区块(如下图).
在这里插入图片描述
[4]计算校准值(这个计算方法也适用自动校准后的微调,或空速管长度变了而懒得做自动校准)
理论上ARSP->Airspeed(平均空速) 会等于 GPS->Spd(平均地速),但实际上会有误差,我们就透过修改ARSPD_RATIO去校准.
ARSPD_RATIO其实是个"乘率",值越大则空速越大,以这个例子是2.0太大了,所以我们可以改成1.805(计算方法如下)
新的ARSPD_RATIO值 = 旧的ARSPD_RATIO * ((平均空速 + 你想要增加的空速 )/ 平均空速)^2
新的ARSPD_RATIO值 = 2 * ((20 + -1 )/ 20)^2=1.805
计算出来必须在1.5~3.0之间,此时就可以把ARSPD_USE=1(启用空速计)
如果不在这个范围,那可能就有其它问题了,例如空速计装错了/管子太长/桨的风直接吹入/Pix通电时空速管被强风灌入/…
注:^2是平方的意思,我计算机找不到那个符号,如果不知道平方的意思,就把前面自己
自己 😃

PID调节原理

PID控制是自动化控制领域应用非常广的控制方式,P 代表比例,I 代表积分,D 代表微分,从这些名词中可以看出,PID 控制是基于数学中一项重要的分支:微积分学为基础的数字化自动控制方式,它以传感器采集的数据作为输入源,按预定的 PID 参数根据特定的公式计算以后输出控制。

举个形象的例子,一列即将到站的火车在快要到达站点的时候会切断输出动力,让其凭借惯性滑行到月台位置。假如设置火车以 100km/h 的速度在站前 1km的地方切断动力开始滑行,那么这个 100 比 1,就是比例 P的含义,P 越大,它在站前开始滑行的速度越快。滑行初始速度快的好处就是进站快,但过快的初始滑行速度会导致火车在惯性的作用下冲过月台,这样一来火车不得不进行倒车,但是因为 P 设置过大,倒车以后的滑行也会同样使火车倒过头了,这样一来,就形成了一种反复前行后退的震荡局面。而 P 设置小了,进站速度会变得非常缓慢,进站时间延长。所以设置一个合适的 P 值是 PID调节的首要任务。由于 P 是一个固定的数值,如果将火车的速度与月台的距离用一个坐标图理想化的表现出来的话,不考虑惯性及外力的作用,这两者的关系呈现出来 P 调节的结果会是一条直斜线,斜线越陡,代表进站时间越短。
在这里插入图片描述
上图的 P 调节结果只是为了方便理解,在实际中是根本不可能出现的,PID 计算的结果也不是这样子。不管怎样,如果只有 P 调节,火车要么设置一个比较低的 P 值以非常缓慢的速度到达目标月台,要么就是过冲了,很难设置在速度与准确度之间求得平衡。所以接下来该是讲解 D 微分的作用的时候了。

根据上面举的例子,假如 P 等于 100的时候,火车刚好能滑行到月台,所耗费的时间是 10 分钟。但是对应一个自稳定性能要求很高的自动化系统来说,这 10 分钟的时间太长了,可不可以加快呢?可以,我们把 P 加大到 120,让火车司机驾驶火车在站前 1km 的地方以 120km/h 的速度开始减速滑行,然后站前 500米的时候踩一下刹车让速度降为 80km/h,站前300 米再踩一下刹车让速度降为 50km/h,站前 100 米又踩一下刹车,让速度降为 20km/h,站前10 米让火车在较短的时间内滑行到月台准确的位置,这样一来,进站速度会大大加快,原来需要 10 分钟的时间可能只需要 5 分钟就行了。这就是 D 的作用,我们权且把 D 理解为刹车吧,如果仍旧以坐标图形象表达 D 对 P调节的影响,那就是 D 使 P调节出来的一条直线变成了一条曲线,在 PID公式中,D 的左右就是改变 P 的曲线,D 的数值越大,对 P 的影响也越大。加入 D 后的曲线前期较陡,进站比较快,后期平缓,使得火车可以平稳准确的进站。
在这里插入图片描述
相信经此解释后,很多模友已经理解 PD 的作用了,根据 PD 的这个关系,我们可以得出一个调节步骤:先把 D 置零,加大 P值,使飞行器适当过冲开始震荡,然后增加 D 的数值,拉低 P调节后期的作用,使过冲现象放缓,最终调到不过冲为止。P 越大,飞行器倾斜后恢复的速度越快,表现为越灵敏,但过大会产生震荡;D 越大,调节越平缓,表现为越平稳,但 D 过大会使调节时间延长,表现为反映迟钝(这里的 D 指的就是 D的数值,在一般的 PID表述中,D 越接近 0,P 作用越大,这点需要注意一下)。

最后讲解 I的作用,I 是积分,是为了消除误差而加入的参数,假如上面的例子中,火车靠站以后,离最终的目标停止线还是差了 1 米,我们虽然也可以认为这是一次合格的停车,但这毕竟是误差,如果我们认可了这 1 米的误差,那在此基础上火车第二次靠站就会有 2米的误差了,如此以往,误差会越来越大,所以我们要把这个误差记录下来,当第二次进站的时候就可以发挥作用了,如果差了 1 米,火车驾驶员就可以在原来的 PD 调节基础上进行I积分,延迟 1米输出(或者提前),即 999米开始减速,最终可以刚刚好到达停止线。如果没有 I 的作用,在多轴飞行器平台上的表现就是飞行器越来越倾斜,最终失去平衡。I 的调节是建立在 PD 的基础上的,PD 的改变都会影响 I 的效果,所以最终的调节步骤就是先调 P 确立灵敏度,接着调节 D 调整平稳度,最后调节 I 确定精度。

垂直起降固定翼 -自动调参(多轴模式)

这个自动调参指的是调整多轴PID,而不是固定翼自动调参,固定翼的部份请看下一节.

自动调参步骤:
1)将任一个飞行模式设置为QAUTOTUNE(自动调参)模式
如果使用旧版Mission Planner不认得这个QAUTOTUNE模式,可以进入全部参数表将
FLTMODE?=22(QAUTOTUNE模式的编号),例如把原本的FBWA(编号5)暂时改成22.
在这里插入图片描述

2)将参数Q_AUTOTUNE_AGGR=0.1 (0.1 = 激进,0.075 =中等,0.050 =弱)
这个希望自动调参达成的调参结果,值越大调出来越激进(修正快且强)

3)将参数Q_AUTOTUNE_AXES选择要调整的轴(横滚,俯仰,偏航)的Bits组合.
Q_AUTOTUNE_AXES=1(只调横滚轴)
Q_AUTOTUNE_AXES=2(只调俯仰轴)
Q_AUTOTUNE_AXES=4(只调偏航轴)
Q_AUTOTUNE_AXES=7(三个轴向一起调,1+2+4=7,当然也可以1+4=5只调横滚+偏航)
垂起的建议一个轴一个来调,以免电池用尽了,或长时间悬停把电调烧掉了.

4)找个无风或微风天且较宽广的场地以多轴模式(QS/QH/QL模式皆可)升空,再把开关切到刚刚
指定的那个QAUTOTUNE模式.
注意:调参模式是类似于QHOVER(定高模式),油门置中就会高度固定,所以注意你的油门要置中.

5)此时会开始自动调参,如果跑太远了可打杆拉回(随时可介入),拉回后把杆中立会继续接着调.
当不再摇晃就表示已经调参完毕,此时可以打杆试下,如果感觉满意就以QAUTOTUNE模式降落
并上锁就是记忆,如果不满意就切到别的模式再上锁(不记忆).

注:
自动调参后的Pitch的P与D 会大了些,修正很快但有点过激,建议调完自己调降些.
Yaw轴 P与D太小了,尤其是倾转机型可以更高,所以把D给一个小值(例如0.008),再把P加大(直到锁很紧,用手去拨会大力反抗,这个值可以上调很多而不过激)

垂直起降固定翼 -自动调参(飞机模式)

这个自动调参指的是调整固定翼PID,而不是多轴自动调参,多轴的部份请看上一节.

使用AUTOTUNE自动调参,为您的飞机获得一组良好的横滚/俯仰 PID参数对于飞行至关重要。为此,强烈建议您使用AUTOTUNE自动调参。

AUTOTUNE做了什么?
AUTOTUNE模式是一种飞行模式,其飞行方式与FBWA相同,但使用飞行员输入的飞行姿态变化来学习滚转和俯仰的关键值。当飞行员使用遥控器模式开关切换到自动调参模式,然后飞行飞机几分钟。飞行飞行员需要输入尽可能多的尖锐姿态变化(就是最大行程的舵量),以便自动调谐代码可以了解飞机的响应方式。

设置AUTOTUNE
将任一个飞行模式设置为AUTOTUNE(自动调参)模式,您还应在地面站的高级参数表中设置AUTOTUNE_LEVEL来选择调谐级别。AUTOTUNE_LEVEL参数控制您想要调谐的积极程度,默认值为6级(中等),适合初学者到中级飞行员。如果你是一个更有经验的飞行员,那么你可以选择7级,这将导致更快的姿态变化。在您还未完全熟悉整个系统之前,不建议使用7级以上的级别,8级以上的级别只能由经验丰富的飞行员使用。

您还需要确保机身的所有基本设置都正确无误。特别是,确定所有舵面反馈都是正确的,并确保为最小空速设置合理的值。自动调参只会在超过ARSPD_FBW_MIN最小空速才发生作用。如果您没有空速传感器,则仍会使用该值(按地速)。您还要确保已完成遥控器校准。

其它要检查的事项:
如果你安装了空速传感器,那么确保它正常工作并且你已经校准过(请参阅前面章节的空速校准)。
检查您的机身重心,请根据您的飞机机型来确保它是正确的。一般来说,宁可重头也不要重尾。
检查你的舵面修正是不是正确的(请参阅前面章节),检查您的失控保护设置正确。

在AUTOTUNE飞行
完成所有设置后,您可以开始以AUTOTUNE模式飞行。
您可以用QLOITER(或QSTABILIZE)多轴模式下起飞,在空中转换到FBWA飞机模式后达到习惯高度切换到AUTOTUNE模式。

当您使用AUTOTUNE模式时,会发生一些事情:
自动调参系统将立即为您的横滚和俯仰I和D增益以及最大速率设置一些默认值。这些值取决于AUTOTUNE_LEVEL。
自动调参系统将监控您所需的滚动和俯仰速率(由遥控器杆移动决定)。当要求的横滚或俯仰速率超过最大速率的80%时,自动调参系统将以飞机的响应来学习横滚或俯仰调整。
每隔10秒,自动调参系统将保存10秒前的参数。这意味着如果自动调参导致您的飞机变得不稳定,您有10秒钟切换到其它模式来放弃保存调整值(当您退出AUTOTUNE模式时,将恢复上次保存的参数)。
如果您从默认参数开始自动调参,您可能会发现当您第一次进入AUTOTUNE时飞机反应非常缓慢。你会发现随着自动调参的进行,飞机反应将变得更好。当然您要确保您的飞行区域有足够的空间可以长时间缓慢转弯(承前所述,一开始反应很慢,转弯半径当然很大)。
成功自动调参的关键是使用遥控器杆输入快速横滚或俯仰动作。你应该一次只做一个横滚或俯仰中的一个,你应该快速移动到最大行程的极限(就是用力来回打舵,且舵量最大)。

所以在横滚方向上你应该首先用副翼杆向右(或左)转弯,然后不久用另一个方向副翼来左(或右)转弯。请注意,在每次操纵杆移动后,您无需等待飞机完全倾斜。只要莫约2秒你就可以快速反转。飞机将向右转,然后在你移动副翼杆时向左转。每次突然反转,它会将调整值提高约5%。因此,您需要至少20次这种运动来学习合理的调整值。

对于俯仰调整,您需要使用俯仰杆来使飞机像过山车一般。用力向后拉杆向上倾斜,然后不久向下推。继续这样做至少20次。如果您的初始调整值太低,那么当您在AUTOTUNE模式下飞行时,您应该注意到飞机响应变得越来越好。如果飞机变得不够稳定以至于您认为继续飞行是危险的,那么您应该切到其它模式。这将恢复你10秒前的参数。

不要太早停止
建议您至少进行20次快速侧倾和至少20次快速俯仰,最好是更多。有些人过早停下来,导致他们的飞机不能很好地应对风,或者没有很好地保持高度。继续在AUTOTUNE模式下飞行,直到你认为飞机飞得很好。

完成调整
一旦您通过自动调参学习了合理的横滚和俯仰调整,您应该通过全部参数表来调整其它一些关键参数。
大多数载机所需的参数是:

NAVL1_PERIOD:默认值为25,这是一个非常保守的值,它控制飞机在自动模式下转弯的程度(例如AUTO,RTL和LOITER)。大多数飞机适用值都要低得多。完成横滚和俯仰值的成功自动调谐后,应将NAVL1_PERIOD降至14-18。要调整到很好,你应该在自动模式下飞行一个矩形任务并一次调低NAVL1_PERIOD,直到飞机以你满意的速度转弯,并且在飞行中不会“摇尾”。

PTCH2SRV_RLL:此参数控制要添加多少升降舵以保持机头水平。许多飞机要求对此参数进行少量更改,默认值为1.0。要查看是否需要调整此值,您应该在FBWA模式中保持一个很小的圆(绕圈),而且在没有给任何升降舵输入的情况下将副翼杆打到底。如果飞机会爬高,那么您应该将PTCH2SRV_RLL降低一点(尝试降低到0.95)。如果飞机在绕圈时掉高,则尝试少量PTCH2SRV_RLL(尝试1.05)。如果你需要超过1.3或者低于0.8,那么你可能有其它的问题(例如重心不正确,推力线错误,空速校准不良,或指南针错误)。

AUTOTUNE记录
自动调参的进度会记录在dataflash日志中。以下是自动调参的典型日志文件:
在这里插入图片描述
ATRP显示正在记录的自动调参类型。值为0表示横滚调整,值1表示俯仰调整。在绘制ATRP图表时您应该选择类型为0或1(不是两者)的数据。

ATRP.Dequire是所需的姿态变化率(横滚速率或俯仰速率),单位为度/秒。ATRP.Achieved是飞机在姿态变化率方面实际实现的目标。正如您在上图中所看到的,在自动调谐开始时,所需的值远高于实现的值,因为调整增益太低。随着调参的进行,需求和实际开始趋同。上图中的蓝线是ATRP.P值,它是控制器的P增益。你可以看到它从0.8上升到2.2的高点,然后略微下降到1.85左右。

您还会注意到图表中存在间隙。这是在飞行员不要求高度改变态度的时期。自动调参系统仅在飞行员要求快速姿态变化(超过最大速率的80%)时起作用。

手动调整与AUTOTUNE
为了获得最佳性能,您应该执行手动调整,可能从自动调参的结果值开始。自动调参系统被设计为一个保守的系统,可以为大多数飞机获得合理的值,但它不是完美的,如果你是一位有经验的飞行员,你应该花些时间做一些微调来得到更好的性能。

仍然建议每个人一开始都使用AUTOTUNE。正确调整飞机并不容易,AUTOTUNE比绝大多数用户做得更好。先从AUTOTUNE开始,然后从AUTOTUNE产生的内容开始探索手动调整。

手动增加D增益可以提高横滚和俯仰响应的精度,并使受阵风和湍流的影响较小。通过以小增量增加增益直到飞机开始振荡,然后,从导致振荡的值减半以得到最佳的D增益。使用此方法产生的振荡可能很大,因此除非您会纯手动飞行,否则请勿执行此步骤。
如果手动调整I增益,也会更改响应所需的P值,因此仅建议高级用户调整I增益。

横滚、俯仰、偏航PID手动调试

一、初步评估
1.以MANUAL(手动模式)起飞,调整遥控器的微调和油门,保持飞机直线平稳飞行。
2.切换至FBW-A模式,如果观察发现飞机左右摇摆,则默认RLL2SRV_P值对于飞机来说太高(这不太可能,但可能会发生),您需要立即切换回手动,并要求您的助手将RLL2SRV_P参数减半,然后再切换回FBW-A。
3.如果飞机俯仰波动像海豚一样,则默认的PTCH2SRV_P值太高(这不太可能,但可能会发生),您需要立即切换回手动,请求您的助手将PTCH2SRV_P参数减半,然后再切换回FBW-A。

二、横滚控制器的调试
1.飞机在FBW-A模式下飞行,遥控器副翼杆打舵输出一个快速的角度激励,保持并释放。 在另一个方向做同样的事情。 你想让飞机能够快速顺滑地滚转到新的角度,并且再次回来,没有任何超调或机翼的“摇摆”。如果滚转响应太慢,则以0.1的增量逐渐增加RLL2SRV_P增益,直到您对响应感到满意或者飞机开始以倾斜角振荡或过冲现象。
2.以0.01的增量增加RLL2SRV_D,直到它开始振荡,然后将其减半。 对于RLL2SRV_D不要超过0.1,不要忘记在着陆的时候检查舵机的温度,因为在极端情况下,这种增益可能会导致伺服运动机构(舵机)的快速运动和过热,从而导致过早的故障。
3.现在开始将积分增益RLL2SRV_I从其默认值零增加到0.05,直到倾斜角度开始超调或振荡,然后将其减半。
注意事项:
1.选择MissionPlanner的飞行数据页面底部的调试框。 你应该在地图上方看到一个滚动的黑色窗口。双击黑色窗口得到一个要绘制的参数列表。更改选择直到您有roll和nav_roll绘制。 Nav_roll是期望值,roll是实际响应值。您可以使用它来查看模型不太明显的过冲和其他行为。
2.检查nav_roll和roll之间是否有任何稳定的偏移量。如果您已经遵循基本方法,您可能会看到一个偏移量,可以通过将RLL2SRV_I设置为一个较小的值(例如0.01)来消除,这将允许控制回路缓慢修剪副翼期望值以消除稳定误差。
3.尽管自驾仪会阻止积分器在超过最大副翼时继续增加,但RLL2SRV_IMAX参数提供了额外的保护。该参数设置积分器可以控制的副翼的最大数量。 默认值1500允许积分器修剪总副翼行程的1/3。该参数不需要更改,除非您正在尝试调整控制器,以便能够补偿由于系统故障导致的大滚动偏移。
4.可以通过将滚动速度限制RLL2SRV_RMAX参数设置为非零值来限制最大滚动速率以使模型更加顺畅。大多数型号的默认值为60度/秒。 将此参数设置为0会使速率限制器关闭,并可使调谐更改的效果更容易看出。如果这个值减小得太远,那么滚动控制器就不能跟上导航控制器的要求,导致飞机轨迹上的过冲和编织。
5.时间常数参数RLL2SRV_TCONST也可以用于调整倾斜角达到要求值的速度。这个参数的作用主要是在需求滚动的小步骤变化的响应中。 对于较大的滚动要求,滚动速度限制RLL2SRV_I倾向于掩盖其影响。 使该参数更小将使飞机在更短的时间内达到其要求的倾斜角度,但只有在飞机能力的情况下才能。对于该参数来说,机体非常缓慢的响应可能需要稍大的设置值。
6.在调试窗口中绘制roll_speed。这显示了以弧度/秒为单位的滚动速率。 1弧度/秒的值大约等于57度/秒,所以如果您将RLL2SRV_RMAX设置为60,则在响应一个大的横滚角度时,最大roll_speed应该在1.0以上。 大于1.1的值表示RLL2SRV_P过高应该减小,而小于1的值表示应增加RLL2SRV_P。

三、俯仰控制器的调试
1.飞机在FBW-A模式下飞行,遥控器俯仰杆输出一个快速的俯仰角激励,保持并释放。 在另一个方向做同样的事情。 您希望模型能够快速平稳地转向新的俯仰角,并且可以重新归中,没有任何过冲或波浪的现象。如果俯仰响应太慢,则以0.1为增量逐渐增加PTCH2SRV_P,直到您对响应感到满意。
2.如果您获得俯仰角振荡或过冲,则需要减少PTCH2SRV_P。如果在这一点上您仍然没有足够的响应,那么您需要检查无线电校准,最小和最大俯仰角度,并可能遵循方法2
3.现在将飞机滚转到每个方向的最大角度。在转弯期间,机头应保持相当的水平,没有明显的爬高或降高。在持续转弯期间有一定的高度损失,因为额外的转动阻力使模型下降导致温和的降高。如果飞机在转弯期间获得高度,那么您需要以增量为0.05从默认值1.0减少PTCH2SRV_RLL。如果模型立即下降,则将PTCH2SRV_RLL从默认值1.0的小增量0.01增加。如果您需要将PTCH2SRV_RLL参数改变在0.7到1.4以外的范围内,那么以前的音调循环调整,空速校准或自驾仪的倾角估计可能会有一些错误。
4.以0.01为增量增加PTCH2SRV_D,直到它开始振荡,然后将其减半。 对于PTCH2SRV_D不要超过0.1,而不要忘记在着陆时检查舵机的温度,因为在极端情况下,这种增益会导致伺服快速运动,并导致伺服系统过早失效。
5.现在开始将积分增益PTCH2SRV_I从其默认值零增加到0.05,直到俯仰角开始过冲或振荡,然后将其减半。
注意事项:
1.选择MissionPlanner的飞行数据页面底部的调试框。 你应该在地图上方看到一个滚动的黑色窗口。双击黑色窗口得到一个要绘制的参数列表。更改选择直到您有pitch和nav_pitch绘制。 Nav_pitch是期望值,pitch是实际响应值。您可以使用它来查看模型不太明显的过冲和其他行为。
2.检查nav_pitch-roll和pitch之间是否有任何稳定的偏移量。可以通过将PTCH2SRV_I设置为一个较小的值(例如0.05)来消除偏移,这将允许控制回路缓慢修正升降期望值以消除稳定错误。 可以以0.05的小增量增加PTCH2SRV_I的值,直到您对控制环“重新修整”的速度满意为止。
3.尽管如果超过最大升降极限,自动驾驶仪将阻止积分器继续增加,而PTCH2SRV_IMAX参数提供额外的保护。该参数设置积分器可以控制的升降最大数量。默认值为1500允许积分器修正总升降舵面行程的1/3。
4.警告:如果PTCH2SRV_IMAX设置得太高,那么在FBW-A是危险的,如果模型在一个安全速度已经被调平,零升降舵面有可能导致飞机突然抬头飙升,则积分器将继续保持增加 升降舵保持所需的俯仰角直到飞机失速。应将PTCH2SRV_IMAX设置为足够大的值以允许修正更改,但足够小的值有效预防飞机失速。
5.可以限制用于校正俯仰角误差的俯仰速率(并因此减小过载的数量),将俯仰速率限制PTCH2SRV_RMAX_DN和PTCH2SRV_RMAX_UP参数设置为非零值。将这些值设置为560除以空速(以米/秒为单位)给出相当于约±1g的限制。
6.时间常数参数PTCH2SRV_TCONST也可以用于调节俯仰角达到要求值的速度。这个参数的影响主要是在对小步调升降期望值的响应中。 对于较大的步调要求,俯仰速率限制PTCH2SRV_RMAX_DN和PTCH2SRV_RMAX_UP倾向于掩蔽其影响。使该参数更小将使飞机在更短的时间内达到其要求的俯仰角,但只有在飞机力所能及的情况下。 对于该参数来说,非常缓慢的响应机体可能需要稍大的设置。
7.在调试窗口中绘制pitch_speed。这表示升降的速度,单位为弧度/秒。 1弧度/秒的值大约等于57度/秒,如PTCH2SRV_RMAX_DN / UP设置为30,则响应大俯仰角需求时的最大pitch_speed应该在0.5以上。 大于0.6的值将表示PTCH2SRV_P过高并且应该减小,而小于0.5的值将指示RLL2SRV_P应当增加。

四、偏航控制器的调试
1.查看YAW2SRV_SLIP和YAW2SRV_INT增益项设置为零,YAW2SRV_RLL增益项设置为1.0,YAW2SRV_DAMP增益项设置为零。
2.现在将模型从一个方向上的最大偏航角向相反方向最大偏航角快速摇摆。 在每个方向进行几次观察模型的偏航运动。如果当机翼通过水平面时,机头在与偏航相反的方向上偏转(例如,当从左到右偏航时,机头向左),增加KFF_RDDRMIX增益的值直到偏航消失,不要使用大于1的值。
3.现在在两个方向上偏航模型和转弯。如果模型倾向于将机头偏转到转弯外部,则以增量为0.05从其默认值1.0增加YAMP2SRV_RLL增益项。 相反,如果模型倾向于将机头偏转到转弯入口的内部,则以0.01为增量从其默认值1.0减少YAW2SRV_RLL增益项。 0.7-1.4的范围内为正常。

五、侧滑控制器的调试
1.首先调节偏航阻尼器
2.在任务计划器中打开调试窗口,并绘制横向加速度-ay。
3.在各方向快速滚动模型,观察横向加速度ay。如果横向加速度位于零附近,并且当您进入或离开转弯时不会改变,则不需要调整侧滑控制。你可以在此完成。
4.将YAW2SRV_INT增益项设置为1.0。如果这导致偏航角振荡,那么从引起振荡的最小值将其增益减半。
5.如果您看到ay加速度在转弯期间偏移或尖峰,则以步长为0.5逐渐增加YAW2SRV_SLIP增益,直到误差消失或偏航角开始振荡。如果发生偏航振荡,则将增益从引起振荡的值减半。

使用Pixhawk日志文件和Mission Planner进行地理标记照片

在这里插入图片描述在这里插入图片描述在这里插入图片描述

在Mission Planner中使用网络RTK服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

pixhawk日志分析说明

在这里插入图片描述在这里插入图片描述

地面站遥测日志分析

地面站遥测日志(也称为“tlogs”),当你的飞行器链接上地面站的时候,由地面站自动记录的日志
本章节主要介绍如何配置和访问分析遥测日志。
Tlog是在APM / PX4和地面站之间发送的MAVLink遥测消息的记录,并且在您按mp地面站上的连接按钮的时刻自动创建。 格式为YYYY-MM-DD hh-mm-ss.tlog,存储在mp安装文件夹中的“日志”子文件夹中,可以在mp地面站选[配置/调试]界面 [planner]中选择存储位置。
除了“.tlog”文件之外,还创建了“.rlog”文件。 这些包含所有.tlog数据以及来自任务规划者的附加调试输出。 但不能被解析或播放,所以应该被忽略。
在这里插入图片描述设置遥测速率
数据从APM / PX发送到地面站的期望速率可以通过mp地面站>配置/调试>planner界面下的遥测速率下拉列表进行控制。 因为通过遥测链路发送的所有数据也记录在tlog中,所以这也控制了保存到tlog的数据速率。
需要注意的是,由于CPU资源的限制,尤其对于直升机,发送和保存的数据的实际速率可能会低于所请求的速率。
在这里插入图片描述播放任务
如果您正在使用无线遥测并通过任务规划人员连接到APM,您的飞行数据将自动记录。 您可以通过执行以下操作来播放这些日志:
• 打开mp的飞行数据屏幕
• 单击遥测日志选项卡
• 按“加载日志”,找到飞行的tlog文件
并打开
• 按“play”
在这里插入图片描述
您还可以使用滑动进度条跳转到日志中的任意时间点,并使用预定义的“速度”按钮控制播放速度。
当日志重播时,HUD界面将移动,并且地图上的飞行器位置将按照飞行中的时间进行更新。 通过“状态”选项卡可以看到单个数据值,甚至可以通过点击地图下方的“调试”复选框,将它们显示在图形中,然后双击数据图例,打开一个框,从中可以精确地选择哪个 数据字段如下图所示。 这将显示记录的数据随着飞行任务的进行而改变。
在这里插入图片描述
创建飞行路径的3D图像
您可以通过以下操作创建KMZ文件:
• 打开mp的飞行数据屏幕
• 单击遥测日志选项卡
• 按“Tlog> Kml或Graph”按钮
• 按“创建KML + GPX”按钮
• 选择飞行tlog
在这里插入图片描述
一个.kmz和.kml文件将沿着原始的.tlog一边创建,这可以在google地球上打开,交互地查看3D飞行路径。 您可以打开Google Earth中的kmz文件来查看航班或路径。 只需双击该文件或拖动它并放入Google Earth。
在这里插入图片描述
• 飞行期间使用的不同飞行模式将显示为不同的彩色轨迹。 您可以更改有关飞行路径显示方式的详细信息,包括其颜色以及路径是否延伸到地面:
在左侧的“位置”窗格中查找日志文件的名称。 它应该出现在“临时位置”文件夹中。
右键单击单个路径,然后选择“属性”以打开“编辑路径”窗口。
颜色可以在“样式,颜色”选项卡上更改通过取消检查(检查)“扩展到地面的路径”,可以在“高度”选项卡上删除(添加)路径下的区域
提取参数和Waypoint
您可以按照与创建KML文件相同的步骤从tlog中提取参数和路点,但最后一步选择“Extract Params”或“Extract WPs”。
Extract Params将导致在.log文件旁创建一个.param文件。 此文件是分隔符,包含参数的完整列表(与eeprom中显示的顺序相同)及其在飞行过程中的值。 这可以在excel或文本编辑器中打开。
提取WP将创建一个或多个.txt文件,其中包含上传到APM / PX4的任务。 可以通过切换到飞行计划屏幕,右键单击地图并选择“文件加载/保存”,“加载WP文件”,在任务计划器中打开这些文件
从飞行中绘制数据
可以通过执行以下操作来绘制飞行中的数据:
• 打开任务计划员的飞行数据屏幕
• 单击遥测日志选项卡
• 按“Tlog> Kml或Graph”按钮
• 按““Graph Log””按钮
• 选择飞行tlog
在这里插入图片描述
当出现“Graph This”屏幕时,使用左或右鼠标按钮单击要显示的项目旁边的复选框。这些项目分组为“RC_CHANNELS”和“RAW_IMU”等类别 ,可打开对应的分组找到想要的栏目。
如果您使用鼠标左键,该项目的比例尺将显示在图表的左侧。 如果您使用鼠标右键,它将显示在右侧
多次点击复选框,循环显示所有可能的颜色
使用鼠标的中间轮更改图形的缩放,通过按住鼠标左键选择图形区域,或者通过鼠标右键单击图形并选择“将缩放到默认值”

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐