幻海优品 - 虚拟会员特价充值平台

多旋翼穿越机基础》穿越机调参辅助软件基础

2022
10/20
飞鹰会

学习笔记整合:广西百色右江区 郭远东 微信bbsgyd V2022.6.21

穿越机玩家都是自学强人,在反复折腾和摸索中慢慢成就高手境界,就像武林派别一样,对穿越机调参经验和技能都自成一派。对PID辅助调参软件,许多玩家不甚了解,也不怎么会用PID调参辅助软件助力调参工作,大多依照经验和飞行手感来设置PID参数。发明和运用工具是人类进化史上最基本的进化成果,所以,要快速科学地完成PID参数设置,就需要使用相应调参辅助软件,准确地做数据分析。本文就是我使用PID调参软件的学习笔记,喜欢研究的同学可以一起来学习它们的使用。


第一章 :穿越机调参软件及用途

第一节 :认识穿越机BF调参软件

1、Betaflight Configurator, BF地面站调参软件

这也就是平时大家常说的BF调参软件(穿越机飞控的飞行参数设置),使用它来连接穿越机飞控的USB接口,对飞控固件里的飞行参数进行设定,在本文中仅就BF调参软件对飞控PID调校进行关联叙述,主要还是总结调参辅助软件的使用经验。

BF地面站调参软件运行界面


2、认识PID Analyzer黑匣子数据分析软件

PID-Analy是穿越机飞控PID参数分析专用软件,用它计算飞控PID参数的越阶情况,将过冲、回调、修正力度等状况进行图形化的呈现。它将飞行记录数据进行计算,得出油门越阶图,调参时通过观察越阶状态分布图,在BF调参软件的PID设置里预置相对理想的PID飞行控制参数,让飞机姿态的执行结果更贴合操控意图。

在新手入门阶段,多数玩家凭大致手感进行PID参数设定,调试效率和结果都不是很好。很大一部分人是不会使用这个调参辅助软件,有些是不知道有这么个软件,有些不知道用它来做什么,有些是不知道怎么使用。似乎这个软件是为那些追求微调细节,以获取最佳飞行性能的人而设计的,但它是十分简单易于理解的,玩穿越机的同学都可以了解和掌握它,让调参更具效率。

PID Analyzer运行界面

3、认识PID toolbox越阶频谱软件

PID toolbox是一个基于Matlab计算引擎的数据分析工具箱,用于评估PID控制器的阶跃反应情况,绘制多种多样的频谱图,以供PID参数设置之用。

PIDtoolbox能通过读取飞控的输入输出信号来计算PID控制器的阶跃反应情况,并绘制阶跃反应线图。与PID-analyzer一样,PIDtoolbox也使用反卷积方式来求解阶跃响应。但不同的是,PIDtoolbox使用另一种原则,仅捕捉大幅度动作,并计算对应的阶跃反应图像,绘制频谱图。PIDtoolbox更多用于频谱分析,因为滤除振动噪声信号似乎是计算分析的头号问题。

开发飞控算法的部分主要工作是过滤陀螺仪的噪声,特别是在200-500hz范围内的电机噪声。但通过广泛地观察分析和比较,不同飞机之间的噪声频谱图,我们发现了一些比较一致的情形。部分噪声尤其集中在30-90hz之间,这些震动会严重影响我们对于飞行的体验(在摄像头和高清飞行中观察到的烦人的震颤,通常都位于此频段内)。虽然这些振动无法滤除,但PIDtoolbox决定将其作为飞行性能的客观测量手段,以辅助人们搞清楚到底是软件/硬件/机械出了问题。

PIDtoolbox软件启动界面


4、认识Betaflight Blackbox Explorer黑匣子数据查看软件

黑匣子数据查看软件Betaflight Blackbox Explorer的主要作用是查看和分析飞行记录数据中的陀螺仪轴向、电机振动频率,用波形将它显示出来,用于辅助BF调参软件对滤波器频率进行设置。

Blackbox Explorer黑匣子数据查看软件界面

在对飞行记录数据进行查看时,它好像一个视频播放器,通过可视化波形图显示陀螺仪采集的X、Y、Z轴向振动噪声频率分布情况,显示每一个电机的转速振动噪声频率,为BF调参的滤波器参数设置提供进准滤波参数依据,科学压制和滤除不需要的噪声频率采样,使飞机减少高频振荡,飞行姿态更稳定、电机更少发热、增加续航时间和操控手感。

第二节 :穿越机调参软件的下载和安装

1.穿越机飞控BF调参软件下载地址

F3/F4/F7飞控BF调参软件Betaflight Configurator文件下载地址:

github.com/betaflight/b

github.com/betaflight/b

PID-Analyzer文件下载地址:

github.com/Plasmatree/P

github.com/Plasmatree/P

github.com/cleanflight/运算环境软件页面

github.com/cleanflight/,这是PID-Analyzer的运算环境软件必须下载,相当于Matlab软件作用。

PID-Analyzer带运算环境文件打包地址:

链接:pan.baidu.com/s/1szNzJZ 提取码:bbbb ,可直接运行包。

PIDtoolbox 文件下载地址:

github.com/bw1129/pidto

github.com/bw1129/PIDto

Betaflight Blackbox Explorer文件下载地址:

github.com/betaflight/b

github.com/betaflight/b

飞控BF固件下载地址:github.com/betaflight/b

飞控I/O文件:github.com/betaflight/u


2.穿越机调参工具软件的运行环境

穿越机调参工具软件对计算机软硬件环境的要求:X86架构64位1.5GHz以上双核处理器,4GB以上内存,4GB剩余硬盘空间,1280*800以上分辨率的显示器,键盘鼠标,一个USB接口或一个TF读卡器,Windows7以上 64位操作系统;苹果ios10.3以上操作系统及硬件。

使用PID-Analyzer软件请注意,下面链接的软件是必须要下载的,github.com/cleanflight/ ,运行PID-Analyzer前先下载这个软件,它是PID-Analyzer的运算环境软件,下载后解压文件,再将PID-Analyzer软件复制根该文件夹,才能运行PID-Analyzer,注意,请勿将它放在中文文件夹里运行,会闪退。

3.穿越机调参软件的安装

除以上特别说明的PID-Analyzer软件需要拷贝到运行环境软件文件夹里运行外,其他软件都是直接双击安装后直接使用的。


4.穿越机BF调参软件群

Betaflight Configurator,这就是BF调参软件,它是BF飞控固件中的基本飞行参数设定软件,它可以设置飞控的基本输入输出端口参数、端口通信协议类型、电池监测、外设添加、陀螺仪安装角度、接收机参数、飞行模式参数等,它还有一个命令行窗口可以直接添加配置命令。

BF调参软件在飞机调试时,主要是给飞控设置一套符合该飞机动力系统和操控手感的PID参数,设置合适的陀螺仪采样参数,设置低通滤波器参数等。其它如遥控器接收机参数、遥控通道设置、LED灯带、图传字符叠加、失控保护、其它控制设定等。

BF调参软件是飞控固件参数设置的核心软件,而PID-Analyzer、PID toolbox、Betaflight Blackbox Explorer是调参分析时的辅助参考软件。

调参和飞行数据分析软件已经具备,现在需要的是飞行数据的采集。


第二章 :飞控黑匣子飞行数据的采集

第一节、黑匣子数据采集时的PID设置:

启动BF调参软件,连接目标飞机,在BF软件PID设置的RATE配置栏里把D min下所有参数设置为0,TPA设置为0,PID控制器下开关选项全部关闭,与自动调整有关的都需要关闭它,这里只需要采集基础PID数据,记得保存设置再退出软件。

pid调参界面

在BF调参的PID界面为飞控固件预置多组PID数据,并在测试飞行中用摇杆组合杆量对不同的PID参数进行切换,记录不同PID下的飞行数据。

在黑匣子设置栏里将记录速率设置为500或者1000,选择板载闪存或SD存储器,格式化(擦除)存储器,保存设置;然后把飞机拿到室外去飞行。


第二节、采集飞行数据的要求

采集飞行前建议使用全新桨叶、紧固好电池、紧固好FPV天线、校准遥控器摇杆,设置BF调参遥控器摇杆中位参数,总之就是飞机硬件处于最佳状态下,到室外试飞场地去试飞。起飞前请确认黑匣子设定采样1KHz,格式化黑匣子存储器。

数据采集的几个具体要求:

1、可以在自稳、半自稳、全手动模式下飞行,具体没有要求,但最好能做翻滚动作;

2、每次飞行的时间大于1分钟,飞行中不能落地、炸机、触碰任何物体;

3、可目视或FPV飞行,油门在0-100行程完全滑动,全油门下需保持大于一秒钟;

4、在俯仰、横滚这四个方向上和航向上也要把摇杆行程打满,使飞机进行翻滚;进行自由落体并猛推油门定住飞机,以采集洗桨数据;

5、如需要采集不同PID的数据,落地关闭电机并调整一组新的PID参数,再次解锁电机进行又一次飞行测试,即可采集一个新的飞行数据。


第三节、拷贝黑匣子飞行数据

将飞机连接到电脑BF软件上,进入黑匣子设置栏,点击大容量存储模式下的激活按钮,使黑匣子记录仪被电脑识别成一个移动磁盘,进入磁盘里,拷贝最近的几条飞行数据日志文件,黑匣子飞行数据记录仪记录的飞行日子数据文件名为数字编号.BBL或.BFL。对于带TF卡槽的飞控,可以将记录卡取下放入TF读卡器进行记录文件拷贝。


第三章 PID-Analy软件的使用技巧


第一节 :启动PID-Analy软件分析飞行记录数据

1、运行PID-Analyzer软件

双击PID-Analy图片启动软件,出现一个命令行运行窗口,等待一会,出现几行提示时,将黑匣子飞行数据.BBL(.BFL)文件直接拖拽到这个窗口中释放,按一次回车,提示创建计算结果存储文件夹,可输入要创建文件夹名称如001,再次按回车;提示完成后显示图形的提示(Y/N),回车或者按Y键回车,出现列表时可以再按两次回车,此时软件窗口会出现提示行,等待分析工作完成。

分析完成后在软件目录中有一个新创建的文件夹001,里面能看到两张图;一张是噪声分析图,用于滤波参考设置;另一张是PID越阶曲线图,用于PID参数设置分析。

2、使用经验提示

PID-Analyzer_0.52.exe软件下载后无法单独运行,需要在blackbox_decode解码器环境下运行,blackbox_decode是PID-Analyzer的运算器,所以,需要下载blackbox-tools-0.4.3-windows运行计算器软件,解压后将PID-Analyzer_0.52.exe分析软件拷贝到文件夹里运行,否则无法出现准备就绪的命令行窗口,你将无法继续进行下去。这个错误提示窗口会一闪而过,软件启动失败。

PID-Analyzer_0.52.exe分析软件启动错误提示窗口

这里直接将运行计算器文件和PID-Analyzer_0.52.exe一起打包做成一个文件夹(pan.baidu.com/s/1szNzJZ 提取码:bbbb)。下载后解压了,直接运行PID-Analyzer_0.52.exe文件。

PID-Analyzer_0.52.exe拷贝进来后的文件夹

将运行环境软件拷贝到PID-Analyzer文件夹根目录下后,运行软件,出现一个黑色的命令行窗口,等待几十秒后出现准备就绪的提示Blackbox log file path(type or drop here): 直接将飞行记录仪的.BBL文件拖到窗口里,输一个文件名如ABC或者001,回车,Y,回车,再回车,等待,弹出两张图片,本软件的任务就结束了。

PID-Analyzer_0.52.exe正确运行后的待机窗口

当出现这个窗口后,直接将btfl_002.bbl或者LOG00002.BFL文件用鼠标拖动到窗口上释放,看到一串路径后回车一次,提示输入文件夹名字,它将创建一个文件夹,名字随便输入一个就行,这里示范输入123为文件名,然后回车一次。

拖入.BBL文件后出现的提示

接着出现提示:问“完成时显示绘图”的选择提示Show plot windows whec done?(Y) /n,当然需要显示分析图窗口,输入Y,然后回车两次。

拖入.BBL文件和文件夹名后显示绘图窗口的提示

出现开始加载计算引擎的提示,等待它完成计算,这一步需要灯带约几分钟时间,根据电脑的计算性能不同,整个计算分析需要的时间从几十秒到几分钟。

加载计算引擎开始计算的提示行窗口

3、计算结果两张图

计算分析结束后,在软件目录下生成了一个名为123的文件夹,里面有两张.png分析结果图,一张噪声图,一张PID分析图。

123文件夹里生成的噪声与PID曲线分析结果


同时,在123文件夹之外,会额外弹出两个窗口,这里是两个.CSV数据分析显示界面,这个界面上可以对图形进行放大缩小分析,也可以保存为图片。

完成后弹出PID曲线图谱数据分析图

4、软件使用经验

无论是.BBL还是.BFL飞行记录文件,记录时间一定要大于一分钟,否则可能出现无法完成分析的情况;如果分析完成后没有生成到两张图,那么就是分析失败了,需要查找原因,重新进行计算,直到生成两张图为止。

我们可以把需要分析的多个飞行记录文件拷贝到软件的运行目录里,运行软件后逐个拖入分析窗口里,分别为分析结果建立不同的保存文件夹,待全部做完分析后,再删除这些飞行记录文件。


第二节 :PID-Analyzer分析图的理解应用

以下文稿内容来自EgnoPopy-fpv关于PID分析图应用的视频,原文链接如下bilibili.com/video/av86

1、Roll、pitch、yaw跟手图(橙色指令与蓝色执行误差图)

橙色波形为遥控输入Roll横滚、pitch俯仰、yaw航向的信号,经飞控处理后输出给电机去执行的量;蓝色为陀螺仪ROLL反馈的的执行结果图。

油门TPA越阶跟随图

角度/秒图谱一致性对比重叠度越高越好,一般蓝色会超出橙色一些为正常,重叠度越高飞机操控准确性越好,飞机越跟手;也就是每次遥控打杆时,橙色波形跳变后蓝色波形超出橙色波形不能太多,且橙色和蓝色波形绝大部分时候几乎是重叠状态。

在遥控输入信号波形静止时,蓝色波形不能出现突变,如有,代表飞机有较严重的振动出现,需要修改PID参数,试图让飞机安静下来。

这个双色曲线图可以这么理解:将飞机横滚操控意图,通过遥控器横滚杆量指令数值输入飞控,飞控将指令传给电调,调整每个电机的不同旋转速度,使电机上的螺旋桨获得不同的空气动力,改变飞机的姿态角度;陀螺仪是安装在飞机上的,此时陀螺仪的测量系统就可以得到一个姿态角度数据,这个姿态角度较是否与输入指令一致;如果一致,蓝色就不会超出橙色曲线太多,两曲线始终跟随,飞机动作就跟手。

Roll、pitch、yaw三轴向操控指令PID跟随分析图

当橙色线中遥控器信号没有输入改变的时候,也就是橙色波形变化很小时,不能有蓝色突变波形,如果有蓝色波形突出较大的情况,就是飞机在抖动。

TPA数值图:油门值throttle %反映的是整个飞行日志中的油门百分比分布情况;水平红线表示的是TPA的越阶breakpoint(分界线)。数据采集时需要将油门在TPA红线上下范围拨动,让0-100范围都有杆量数据,才是完整的数据。

油门TPA越阶数值图

上图竖着的Y坐标上0-100为油门大小的百分比,横着的X坐标上0-360是采集的时间刻度,红色横线位置这是油门越阶闸值,代表着高于红线时PID作用将按照TPA预设数值,按照百分比削减。当电机在小油门是输出力度小,使用一套标准PID的控制,大油门时电机输出力度过大,需要一套减弱的PID控制,TPA红线就是决定是否削减PID的界限。

PID数值概念:动力强的飞机PID数值越小,动力弱的飞机PID数值越大。


2、越阶反应图

由蓝色、绿色、黄色三种连续的颜色块组成。蓝色块代表飞机起始姿态0,黑色为为采集到数据的姿态,绿色为目标姿态1,黄色为超调姿态2,对应下方的跟手曲线图0-1-2。蓝色块表示飞机处于原始状态没有采集到变化数据;绿色区块多表示飞机保持在目标姿态1较好;黄色块多表示飞机姿态到达了2出现超调。

油门越阶色块图

下面的图是PID主要分析图谱,左侧的Y轴数值0.00-2.00为飞机姿态的位置,0为原始位置,1为目标姿态,2为超调位置;下面的X轴为0.5秒内的时间。蓝色线表示横滚roll上的越阶图为小于500°/秒的角速度,竞速机角速度通常都不会大于500,根据飞机用途,看不同颜色的线。

输入与姿态跟随的PID分析图

3、PID值的各种状态波形图

PID两张图中的越阶响应图和油门分布图的使用,将越阶响应图向左转90度看,对应油门分布图的响应时间线。

油门响应阶梯图

上图反映的是根据油门值而分立的阶跃响应,读法是这样的:(黄色=2,绿色=1,蓝色=0)。这是用来调整TPA(根据当前油门值动态降低PID)的。(所以需要各位老司机在飞行的时候油门各个值都要推一下,油门不能推得太猛。)

使用上面这张图需要去理解几个概念:各色条要连续,如果没有最高油门数据,也要保证色条连续,无中断现象;上图中在throttle in 50%油门段对应的色条数据过少,出现图谱缺失,就是要求这里不能出现太多的油门数据缺失现象。

重点:下图是阶跃反应波形图,反映的是角速度低于500°/s滚转率时的PID平均反应情况;rate值高于500°/秒的滚转率,通常设置在花飞类型飞机上。

不太跟手状态下的阶跃响应波形

下图所示为P值过大,导致系统过冲超过1.0附近太多,过冲达到1.5附近,可适当降低P值。部分竞速玩家常希望感受过冲带来的锁定感,但这样打杆止位后飞机会有较大的回弹,如用在花飞上会感到飞机暴躁不好控制。

P值过大系统过冲

下图为D值过小,波形在1.0线的上下不断回弹,无法靠近1线,飞机飞行稳定性不够好,发现上下拨动较多的图形时,要适当增加D值。

D值过小波形在1.0线上下回弹图示

下图为P值过低,系统用了较多的时间才达到1.0线,飞机响应慢,不跟手。

P值过低到达1.0线花费了较多的时间

下图为P、D值都不够大是,杂乱的波形弥漫整个窗口,需适当增加P、D值。

P、D值过小时出现的杂乱波形图

下图为D值过大,导致飞机在前50毫秒时的响应受到太大的阻力,没有看到正常的超过1.1线的过冲波形,需要适当减小D值。

D值过大导致起飞的过冲波形不达标

下图是理想的PID下,各个轴的越阶图都十分干净平稳。

通过PID阶跃图象的观察来调整PID值,比通过blackbox Expoler查看blackbox飞行记录数据要直观也更加容易理解,只要理解了各波形图的作用,很快就能设置出合适的PID值。当然,blackbox Expoler软件也是穿越机PID调参过程中不可缺少的工具,它主要用于分析振动噪声的分布情况,为滤波器参数设置提供科学依据。

理想的PID图形

4、越阶反馈图log time in s

此图有蓝色-绿色-黄色,蓝色0起始之态(无数据时),绿色1目标姿态,黄色2超调姿态。对应THROTTLE IN%图的0-1-2,竞速中角速度<500,花飞>500。

越阶反馈log time in s

横滚、俯仰、偏航轴响应最终都需要稳态到1位置,稳定到达的时间越短越好。

横滚、俯仰、偏航轴响应


5、PID的图谱分析strength:

从指令发出开始,飞机很快达到目标姿态,稍微有些超调后很快到达稳态1。

PID力度strength图

第二小节内容来自bilibili.com/video/av86大致的核心想法是让同学们明白PID对操控指令执行结果的作用,TPA与原PID参数的关系。


第三节 :查看分析结果图调整PID参数

1、PID参数对比分析

下图是关于P值的变化图,位于上方位置的图是P值比较理想时的波形,只有微量超调很快回来到稳态1附近位置,这说明P值合适;左下方位置的图是P值较低时的波形图,到达1位置时较慢,出现小幅度超调然后很缓慢地向稳态1靠近,这说明P值不够;右下方位置的图显示P值较高时,快速到达1且出现较大超调,再大幅度回调,接着在稳态1附近出现多次震荡的现象,这说明P值高了。

P值变化图

P值即比例,它是飞机从起始姿态到目标姿态的力量值,P值越大,力量意图就越大;如果电机很有力,那么P值就要设置得低一些,如果电机力量比较弱,那么P值就要设高一些,是由动力系统输出总功率决定的,力大用小P,力小用大P。


2、D的分析:

下图是关于D值的变化图,位于上方位置的图是D值比较理想时的波形,只有微量超调很快回来到稳态1附近位置,这说明D值合适。

左下方位置的图是D值较低时的波形图,姿态快速到达1位置时出现超调较大,快速回调时幅度大,很快又越过1,经过两次调整才向稳态1靠近,这说明D值低了,限制P的力量不够用,易出现超调。

右下方位置的图显示D值较高时,阻碍P太多了,P姿态很难立即到达1且,出现迟缓现象,不能够一次就到达目标姿态,需要飞控再次发送指令给电机,再增加力度才能到达目标1姿态,这说明D值高了。

P值变化图

P与D的作用是相反的,D是阻碍P的力量。当飞机从起始姿态0向目标姿态1进发的过程中,P越靠近1时,D就越大地阻碍着P向1靠近;如果D值过大,就会出现P直接被阻碍,很难达到1姿态的现象。

P是向目标姿态1进发的力量意图,D是阻值P向目标姿态1靠近的力量意图;I参数对上图基本不会出现影响。I就是一个双面的力量意图,P在向目标姿态进发时I辅助与P让它尽快到达,当出现超调后D往回拉时I又作用于D,让D更快地向1调整。I值参数的大小就是它作用于PD的叠加修正力度。

I的值对于这张图不会造成太大的影响,它的作用是让飞机锁定在既定姿态上。I就像弹簧力的中间调节点,始终关注P和D之间的力量误差,它不断参与着PD力量的调整过程,始终在修正PD力量向目标1靠近的误差,意图让P和D这两个相反的力能更快地达到中间平衡状态。

通俗地说,I就是一个和事佬,它告诉P和D在向目标1进发时不要出现用力过猛而出现超调,让PD能更准确地控制力度快速靠近目标1。如果I值过大时PD波形会出现较大幅度的波动;过小的I值PD往往来回拉锯,也很难达到平衡稳态1。当姿态向1进发时,I加强P以快速达到1;当姿态越过1后往回调,I就帮助D加强,让姿态更快回到1,I值太大容易造成飞机姿态的大幅度拨动,图谱曲线在1附近游离不定。

I值过小时,飞机姿态难于稳定在一个状态上,会出现小幅度的姿态误差;I值过大时飞机做动作时停止时容易出现来回调整,出现弹跳现象,例如触地弹跳现象。

I值通常使用默认值,15-85,部分飞控可能高于110,过高容易造成弹跳振动。

延伸理解:PID控制器(比例-积分-微分控制器),由比例控制(P)、积分控制(I)和微分控制(D)组成,通过K_p,K_i和K_d三个参数的设定,实现对系统的控制。PID控制器一般会从IMU传感器得到测量结果,接着用需求结果减去测量结果从而得到误差,然后用误差来计算出一个对系统的纠正值来做为输入结果,这样系统就可以从它的输出结果中消除误差,使无人机保持相对的稳态。若定义u(t)为控制输出,PID算法可以用下式表示:

PID算法原理公式

第三节部分内容来自bilibili.com/video/av86视频解说,

PID理解内容来自北京中科浩电科技有限公司官方帐号关于飞控PID的理解一文,这一小节内容目的是让同学们理解PID之间的相互关系,明白参数改变后飞机的对应状态改变。


3、PID不理想状态:

不完美PID图谱

上图左侧的roll横滚轴下方曲线图显示了一个太大的P值,造成严重超调,来回调整多次,产生上下不断变化的起伏曲线,这条曲线两侧的絮状物显示的就是噪声,这台飞机此时的噪声非常多,幅度也很大。中间的油门色块分布图底部,可以看到一个很明显的黄色线,它对应的是下方曲线图很高的峰值2,看图方法在后面有介绍。从最上面的双色图看,这个参数下飞机还算跟手,因为P很大,飞机反应非常快,但在YWA航向的双色曲线图上,摇杆指令输入无变化时,蓝色和橙色是不重合的,蓝色突出较多,此时飞机在剧烈抖动,油门分布色块也有许多黄色块出现。当然,这套图的油门采集不完整,这个数据也是不可靠的。

4、不同变化的PID状态图:

本小节内容来自bilibili.com/video/av86

下方1图P值很低,力度不够,难于达到目标姿态1,飞机姿态和遥控器指令无法重合,飞机很难操控。双色图不成曲线,橙色摇杆指令打出去后,陀螺仪姿态没多少变化,根本不跟随杆量做动作,飞机几乎无法操控。

1-PID 5,0,0

2- PID 10,0,0

3- PID 20,0,0

上方2图当P值增大后,飞机姿态和摇杆指令重合度有所提高,3图为P值时接近飞机姿态和遥控器指令基本重合。

通过这三次不同PID试飞参数的分析,基本上可以确定P值在15-25之间较为合适。再去调整I值,最后去调整D值,最终在得出的PID大致范围内进行微调,很快就能得出此架飞机最优的PID值。

PID参数调整时,通常每次试飞的PID参数只调整其中一个的值,不要去同时调整PID中的其它两个值,这样才不会出现混乱,增加试飞的效率。

下图中P值不断变化中的杆量姿态跟随、油门越阶、进发曲线图,P值越大,飞机姿态振荡得越厉害,出现大幅摆动。

PID 20.0.0 PID 30.0.0 PID 40.0.0

试飞时5寸机建议P从20开始,I从10开始,D从20开始,以步进5的增减不断来试飞,直到得出符合飞行意图的参数为止。

单独对P进行调整的步骤,P为20-30-40-50-60,最终得出一个合适的P值,在P为20时,曲线最靠近1,来回振荡也较为适中。当P值继续加大时,振动频率越来越快,幅度也越来越大,摇杆量不动时飞机也在大幅调整姿态。

再加入I值, 15-20-30,直到越阶线靠近1附近,平稳度越高越好。

再加入D值, 15-20-30,直到月接线很快称为一条靠近1的直线。

PID微调

通过上图最右的图形,可以观察到飞机姿态在不同PID时的变化,通过不断微调,将进发曲线的波峰和波谷组件削平,最后将PID参数确定在14.10.18是最为理想的,这时飞机的操控响应处于比较好的状态。当然,在不同的玩家眼里,PID过冲要求是不同的,特别是在竞速飞行中,要求较高的过冲,带来更快的反应速度,PID参数相较于理想值会有所不同;根据不同的用途和要求,最终决定飞机的PID参数。

机架的重心布局对PID的影响是很大的,不同尺寸、不同形状、不同重量的机架,将会适配不同的PID参数。新手在选择机架时,通常建议选择正X机架,放弃异形、长X、扁X结构,因为正X机架的调参是最容易做好的。

小结:PID在滤波算法的层面是相对较复杂的知识体系,因为多旋翼飞行器的飞控是否优秀,归根结底在滤波算法。如果是开源程序编译方向的穿越机飞控玩家,可以更详细地去学习滤波种类和算法的知识。对于只是将穿越机组装起来,调试好参数,将飞机应用到娱乐和航拍活动中的玩家来说,就不必要去了解更深层次的滤波程序引擎和算法编译了,因为你没有那么多的时间去研究编程和滤波运算这个方向的知识体系。


5、D Setpoint Weight

D值设定重量,只能在手动模式下进行调整。它的作用是在RCcommand输入PIDloop时对当前陀螺仪与摇杆之间的误差进行一个对比,根据误差大小按比例动态降低D的值。它只会增加阶跃反应的第一个尖峰,用略微过冲来抵消滞后响应。调整的时先设置D setpoint transition=0 ,通过不断增加weight的值,观察阶跃反应图的图线面积,当面积趋于1的时候会“完美”跟手(当然令系统曲线大于1之后产生的灵敏感也确实更适合竞速),再根据个人需要去调整D Setpoint Transition(在下个Configurator中将会译作D设定点转化阈值)的值即可。

实际飞行中,先按上面的方法设置基础PID,然后去飞,感觉到飞机不跟手,就继续加D set point 值。因基础PID已经调整好,如试图通过增加P值来提升响应速度,可能会引起飞机震荡,那么只能通过增减D setpoint weight,提升过冲,让穿飞机更快响应指令(此段落适用于低版本固件的调参)。

最后进入BF调参软件设置好PID参数,出去飞!


6、D min的设置:

D min的作用是动态调整D值,在平稳飞行时,都希望飞机的D值偏低,飞机变得顺滑,响应较快,虽然会带来一些振动;但当飞机动作有大幅度姿态改变,如快速垂直下降,会出现洗桨现象,D min就会瞬间提高D值,比正常值也要高,抑制快速抖动,让飞机快速锁定到目标姿态上。D min由roll、pitch、yaw三个轴向上的参数组成。

D min可解释为最小D值,可小到什么程度。

PID设置界面中的D min

前馈增益Gain或Feedforward,设置D增益的最大值,以及达到最大值所需要的时间(20-120,数值越大,越快到达增益目标)。增益解决在快速打杆时D值的增加强度,D最大可以大到多少,设置为零将禁止改功能。这对快速翻转的花飞动作来说,设置了高Rate值的振荡问题会得到改善。

Rate设置数值决定角速率

如果PID调校得非常好,也可以不使用D min,这需要在飞行过程中进行调整。

本小节内容来自bilibili.com/video/av86


7、TPA图谱throttle%:

TPA的作用是油门量超出TPA设定值时,PID会按照一定的百分比例量减小,灰色波形就是油门在时间上的变化值,红色线为当前TPA的设定值;采集飞行数据时,尽可能地让油门在TPA上下范围都有拉动。

TPA在BF调参软件里的设定是0-1的变化(0-100%), TPA越阶的值限于1000-2000范围,也是油门的数值范围,TPA值通常设定为1600左右(油门中位为1500),一般大于40%油门后电机力量会更大,需要一套不同的PID来控制。

下图为油门分布、ROLL横滚摇杆量与陀螺仪姿态摆动曲线图,从橙色与蓝色曲线中感知摇杆指令与陀螺仪跟随情况,观察飞机在roll、titch、yaw三个轴向是否跟随遥控指令做动作,姿态是否符合摇杆指令要求。

油门、ROLL横滚摇杆量与陀螺仪姿态摆动曲线图

本小节内容来自bilibili.com/video/av86


8、TPA的参数调整

当油门值较小时,电机输出的力量比较小,飞控采用小力量的PID参数即可满足飞机的姿态动作控制的要求;当油门变大后,电机输出的力量变大了,如继续用小力量PID控制飞机,将无法满足对于飞机姿态的控制,此时飞控将采用另一套PID数据来控制飞机姿态,这个分界线就是TPA越级线,TPA参数的设定有利于区分大小油门下的飞行意图。飞机在电机力量小的时候使用原来大的PID参数,飞机电机力量大的时候就使用更小的PID参数。这两套参数关系由TAP值所决定,如下图所示,TPA 25%、TPA起点1500,表示当油门值大于1500时,TPA所有值下降25% 。

BF调参中的TPA百分比数值设置

TPA起始点,是当油门达到该值时,启用TPA参数油门大的时候,电机输出力量就更大,更容易造成过冲与回调之间的来回振荡调整,导致飞机暴躁难于控制,此时启用TPA,使控制变得更容易。TPA是针对油门的越阶数值来设置的,建议起始点在1400-1600之间选择。

如下面的油门越阶,当油门处于33%时,第一次出现了一串黄色线,说明飞机产生了较大的抖动,这个黄色线的位置就是TPA越阶线位置,这样就可以推算出TPA的数值。油门值通常为1000-2000范围,有效行程数值就是1000,油门值的33%就是330,那么TPA油门值就落在1330,意思是当油门达到1330值时,PID力度值就开始变化。遵循规律是电机动力强劲、飞机轻、推重比大时,TPA油门值就需要设置得更低。

油门越阶色块分布图


9、经验分享

根据TPA越阶特性,建议花飞的飞机不要做的太轻,尽量让TPA油门越阶值落在1600左右,只有飞机重量大一些才能压住飞机的抖动,飞行动作才比较顺滑,PID也就好调些。如果飞机太轻了,飞机在做抛物线动作时,也不会抛得太高,滞空时间就变少了,不利于做动作,经验表明,5寸花飞的飞机,起飞重量在550-650克之间是比较适合的;如果需要快速响应和转弯更快,可以使用更轻的机架。

本小节内容来自bilibili.com/video/av86


第四节 :关于PID参数设置相关概念

PID分析就是分析你使用遥控器输入“你命令无人机去做什么动作”与最终 “你的无人机真正做到了什么程度”这两个数据的比较结果。

最终需要有一组符合飞机性能和飞行习惯的PID参数,去控制飞机按照遥控器指令做动作,飞机完成的动作既不过冲,也不拖沓无力,对误差修正快速有效。

P是控制器的比例增益。增加它会使控制器反应更快,但会导致不必要的振荡和过冲。D是P的抵抗器。它经常被错误地称为“阻尼”(描述它在一定范围内的作用),而正确的名称是“导数”。它作用于变化率(即导数),从而抵消高P产生的快速变化。过高的D会导致系统扰动时的不稳定性和振荡。

第四章 黑匣子飞行数据查看软件的使用基础

第一节 软件启动与读取日志文件

安装完成后启动Betaflight Blackbox Explorer软件,将飞行数据文件用鼠标直接拖入软件界面中,或者点击软件中Open log file/video按钮,选择飞行记录文件。

Betaflight Blackbox Explorer软件启动界面

读取飞行日志文件后,软件窗口发生了变化,点击软件界面右下角的Graph setup按钮,设置需要显示的电机转速、陀螺仪姿态数据。

点击+Add Graph按钮,添加电机、陀螺仪数据。备选项有motors电机、Gyros陀螺仪、RC Rates遥控器等,通过添加不同的数据选项,加载不同数据窗口。

电机、陀螺仪、RC数据显示窗口

点击View/hide analyser display加载噪声振动频率窗口,zoom可最大化。

噪声窗口加载按钮

噪声频率波形显示窗口

最大化波形显示窗口,点击电机或者陀螺仪中的颜色块,查看各电机的振动噪声和陀螺仪轴向振动噪声,在这个窗口中可以看到振动噪声的频率,100Hz以下的基本都是有用的噪声频率,100Hz以上的如果有明显山峰,都需要用滤波器和陷波器压制的。

振动噪声频率波形显示窗口

如上图的60Hz-85Hz之间,有一个较为凸起的山峰,使用了一个中心频率为80Hz,最低频率为65Hz的陷波器,但这个陷波滤波器未能完全滤除振动噪声。考虑到这个区间的震颤可能导致升力损失,在陀螺仪硬件滤波器中可使用BIQUAD类型的大斜率滤波器,BIQUAD类型滤波器压制更严格,当然也会带来一些操控信号与执行输出之间的时延,如果不是因为机架低频震颤而导致的振动噪声,没有必要使用它。

BF调参软件PID滤波的设置界面

TP1滤波器类型是一个小斜率的滤波器,它的压制力度较弱,但带来的时延相对于BIQUAD类型滤波器要小很多。如果电机轴和桨不平衡振动或者是机架谐振导致的采样噪声,可使用BIQUAD类型的滤波器来压制噪声,在采集源头上做噪声滤除,尽量少地将噪声送到下一级运算器中去。

关于滤波器的斜率和陷波器概念,同学们可以通过一些搜索引擎,查找关于它的知识点,补充一下认知,将一点一滴积累的基础知识,作为向穿越机专业方向前进的助力。

电机振动噪声波形

两种类型滤波器压制力度对比

在振动噪声窗口中观察到凸起的振动频率,分析它的分布情况,将这个凸起振动的中心频率和最低频率记录下来,到BF调参中设置滤波器和陷波器,将它压制滤除,只让电机执行有效的指令,不去执行无效的振动,电机也不那么容易发热了,续航时间也变长了,操控跟随也稳定了。

第二节、Betaflight Blackbox Explorer波形查看软件另一个作用

黑匣子查看软件还可以用于分析飞机姿态锁定状态。通过观察电机的转速变化曲线图,可以看出飞机是否使用了合适的PID参数,当看到如下图示时,曲线上有许多小波浪线,这是电机在快速调整转速,试图让飞机姿态稳定,此时所设定的PID参数不合适这台飞机,飞机无法稳定于目标姿态1,这时电机也会比较烫。

电机转速和陀螺仪姿态曲线中有小波浪

当波形观察窗口中的曲线变成下图所示时,电机转速变化和陀螺仪曲线上没有了小波浪出现,飞机姿态稳定度好,很容易稳定在目标姿态1,此时电机不容易发烫,飞机动作干净利落。

电机转速和陀螺仪姿态曲线中没有小波浪

通过这两个图的比较,可以解决一些因PID参数不匹配,造成的飞机姿态抖动、不跟手、电机过热、耗电大的问题。

文末总结

这些PID调参工具软件不是一个傻瓜软件,需要具备一些调参和是非操控的基础,及一些实践使用经验,调参的过程就是飞-->记录数据->算图看图像->调整->再飞。掌握调参相关软件的使用需要有一个学习的过程,预估有基础的些大致可以用一周左右的时间来掌握,没有相关基础的同学需要几周时间恶补一下PID控制基础的知识。

看不懂,听不懂是正常的,你需要一定的时间来学习理论、去实践,然后才是掌握这写调参工具的使用。如果你仍然觉得这个学习过程不是特别愉快,请保持默认一切设定去飞行即可,默认参数已经非常优秀了,只是这写PID调参工具可以让你飞的比默认参数更好一些。

---------------------------------------------------------------------------------

整理完这些资料,仅供初学穿越机调参的同学使用,其中的错误希望你提醒改正,我的邮箱是bsgyd@163.com,微信是bbsgyd,欢迎交流。

关注飞行技术,让硬件和技术为飞行服务!

bilibili.com/video/av86学习参考BILIBILI视频链接

滤波基础UAVtech - Filtering fundamentals

youtube.com/watch?

调参和阶跃响应UAVtech - Tuning and the step response

youtube.com/watch?

同时也鼓励大家前往github.com/查看第一手信息与资料。

注1:Matlab计算软件

MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。


附件:穿越机常用软件下载地址

BF地面站

github.com/betaflight/b

BF固件

github.com/betaflight/b

config文件

github.com/betaflight/u

BLHELI支持双向DSHOT固件

github.com/JazzMaverick SiLabs/Hex_files_16.8/Hex_files_16.8_48k

BLHELI 16.7固件

github.com/bitdump/BLHe SiLabs/Hex files 16.7

所有BLHELI固件

github.com/JazzMaverick


为你推荐
    加载中...
    置顶