Plasmatree PID-Analyzer 是近几个月GitHub社区上最火爆的Betaflight PID参数整定工具,由Plasmatree这个程序员编写的一个相当实用的PID调参工具。 如果你嫌看字麻烦,可以看一下小编的B站视频: SmartFox小组已经翻译搬运了PID-Analyzer的全部wiki百科,给大家提供第一手原版资料。相关资料敬请翻阅SmartFOX公众号。 提示:使用本软件需要具备一定的工程控制基础,以及PID基础知识,需要可以看懂阶跃曲线图。这可以帮助你更好的理解及使用这个工具。
来,我们先来一张图恶补一下P,I,D 对于阶跃响应的作用。 如何使用:
1.下载软件。 从公众号云盘内下载打包好的工具合集,解压缩到硬盘根目录里即可。(注意路径里最好不要有中文)
百度网盘地址
下载两个文件,解压缩第一个blackbox工具到文件夹,然后复制PID-Analyzer_0.52.exe进去。
2.正确设置飞机参数。设置恰当的滤波,并关掉所有的动态影响pid的函数, 具体来说就是:
1:反重力系数设定到1; 2:D setpoint Weight =0; 3:TPA = 0;
3.录制Blackbox黑匣子日志 左边箭头所指即为blackbox黑匣子数据页面,右上角这个表示你还有多少的黑匣子数据存储空间。
打开blackbox黑匣子数据页面,第一个箭头是选择你的存储方式,如果有板载缓存就选择板载芯片,SD卡就选择SD卡,下面箭头是你还剩余的存储空间。
同时需要选择正确的采样率,通常来说采样率越高越好,但是越高的采用率对存储空间的占用也很大,通常至少是陀螺仪采样率的1/8。这里用来做教程的这块飞控板载了125MB超大容量闪存,因此可以选择较高的采样率。
然后就去飞啊!采集数据! 无论什么飞行模式都可以,俯仰摇几下,横滚摇几下,方向左右扭扭,然后全油门爬升拉几次。程序分析的是PID的响应情况,和你使用哪种飞行模式没有关系,这样室内目视调参就可以了,当然室外飞可以采集到各种大油门下的数据会更好一些。
是的,使用PID-Analyzer来调参,你不需要戴眼镜飞!也不需要你进行猛烈打杆,集中注意力来观察FPV镜头中飞机的微小回弹变化,这是plasmatree本人的设计理念,将飞行经验和调参技术剥离。不需要长时间飞行经验的积累,也可以调整好PID。
4.导入程序 打开之前下载好的软件,双击PID-Analyzer_0.52.exe
软件需要花一定的时间来建立运行环境,这里需要耐心等待一下。
出现这个界面,就说明软件正常启动,已经可以用了
把你从Betaflight调参软件中导出的BBlog,用鼠标点选拖放到左边的程序框中。
会要求你输入飞行员名称,这个名称就是用于保存结果的文件夹,直接跳过也可以。
这里询问你是否在运算结束时显示导航窗口,直接回车。
询问你是否改变噪声图的坐标比例,保持默认回车。
软件会开始执行分析,这里需要等待一段时间。
执行完成以后,软件会生成两个浏览器的向导窗口,直接关闭即可。
如果你输入了飞行员名字,就到你那个名字下面去找生成的图片文件,如果没有写,就去tmp文件夹找结果文件。
怎么分析:
直接看下面的图像
理想的图像是这样的:(各个轴的阶跃反应图像都很干净)
或者是这样的:(略有超调,但整体跟手且第一行蓝线黄线基本完全重合)
注意!蓝色的线代表rate值低于500°/秒的滚转率情况,通常针对的是竞速,黄色线代表的是rate值高于500°/秒的滚转率情况,通常针对的是花飞。
这是需要调整的: P值过大,导致系统过冲比较高,过冲1.5左右,可以考虑适当降低P,当然也有很多竞速飞手喜欢系统过冲带来的锁定感,不过这里来看打杆到位穿越机会有回弹。
D值不够,曲线在1.0上下飘忽,没法收敛到1,穿越机体现为飞行状态不稳定
P值不够,系统上升到1.0花了太多的时间,穿越机响应慢,不“跟手”
这是一张更明显的D值不够的图形
P,D,都有些不够,数据有一些杂乱。
P值不够,系统没法有一定的过冲。
“太麻烦了吧!这图像完全看不懂啊!我怎么知道怎么调啊!” 这张图是阶跃反应的图像。
PID控制器的实际工作可以抽象理解为阶跃函数,所以使用这样的图像可以更好的反映出PID的实际工作情况(各个参数到底都干了些什么工作、有没有达到预期效果)。
还是就着上面那张有问题的图,到底应该怎么调呢? 首先应该把D和I都降低下来(0都行!!你愿意试就试一下吧),
慢慢加P,直到图像中刚好开始产生适当多个自激振荡为止;加I,使图像整体大概收敛于1;加D,抑制掉P产生的自激震荡。
调的过程中大家肯定会有一些疑问:我怎么样才算P/D不够咋样才算超调啊? 这样就算P不够(图线特别缓慢的达到1而又没有及时敛于1),系统没有那个过冲的小尖峰。
这样就算P超调(第一个尖峰超出1太多而且后面也产生了很大的震荡),不过如果对于竞速来说,这样的图像可能正好,只需要稍稍加一点点D就可以,竞速选手偏爱一些“锁定”的感觉,需要系统有一定过冲来保持穿越机的响应。 不过对于飞花来说,当然是平滑第一,可以适当降低一点点P。
同理,这样算D不够,P值适中的震荡尖峰没有没抑制住,穿越机一直在来回纠正姿态,这样也会相当费电。
这样算D超调(响应曲线在最开始的50ms内受抑制太大,直接“蔫了”):
看阶跃图象的方法,比之前看blackbox里面生成的数据,真的要直观太多了,当然blackbox Expoler也是很重要的分析工具,但是PID-Analyzer生成的图像更直观更容易理解。
(个人的具体调试过程在视频中)
“分析好了怎么办啊?” 根据分析出来的结论调一下参数啊!(废话!!)再做一次悬停,拖进软件分析一下,看一下结果有没有符合预期。符合了就停,不符合就接着调呗。
这图上其他的东西是什么:
第一行,黄线反应的是输入到PIDloop中的RC摇杆命令(不是杆位的变化,而是经过计算转化出的命令),蓝线反映的是陀螺仪的响应情况。如果重合度很高,那么就表示机器调的非常跟手了!!
第二行,反映的是整个飞行日志中的油门分布情况。红线表示的是TPA的breakpoint。
第三行,反应的是根据油门值而分立的阶跃响应,读法是这样的:(黄色=2,绿色=1,蓝色=0)
这个其实是用来调整TPA(根据当前油门值动态降低PID)的。(所以需要各位老司机在飞行的时候油门各个值都要推一下,不能抽的太猛。)
使用这张图表是有要求的:图中的色条需要是连续的,可以没有最高油门的数据,但是一定要保证色条连续不中断,不能出现过多的像上图中50%处对应的色条那样过于离谱(色条过于离谱代表数据过少)。
第四行(主角!!), 当然是阶跃反应图像,蓝线的反映的是角速度低于500°/s时的pid平均反应情况,黄线是高于500°的。
如果此图中的图线过于离谱,请考虑是不是对应轴向上的信号输入过少导致数据不足误差过大。
我看了你们的视频教程,为啥你的图像调的和标准的PID图像不太一样? “不太一样”体现在阶跃反应直接冲到了1.3然后才慢慢敛于1,这是我故意令系统过冲。因为我的机器比较重(freestyle机,700g),想要令飞机比较“跟手”的话需要令整个积分面积约等于0.5(0.5X1=0.5)。这仅仅是我的个人喜好。
那之前关掉的其他功能,他们怎么调呢? 反重力:之前发过文章了,照抄那篇文章内容就行了
D Setpoint Weight:这个参数只能在手动模式下面调整。它会在RCcommand输入PIDloop时对当前陀螺仪与摇杆之间的误差进行一个对比,根据误差大小按比例动态降低D的值。简而言之,它仅仅会加高阶跃反应的第一个尖峰,使系统略微过冲来抵消系统其它部分的脱滞效应。 调整的时候应该先令D setpoint transition=0 然后慢慢增加weight的值,同时观察阶跃反应图像的图线面积,当面积趋于1的时候会“完美”跟手(当然令系统曲线大于1之后产生的灵敏感也确实更适合竞速),这时再根据个人需要去调整D Setpoint Transition(在下个Configurator中将会译作D设定点转化阈值)的值即可。
实际飞行中,只需要先按照上面的方法调整好基础PID,然后就去飞。感觉到飞机不跟手,就继续加D set point 值。因为此时基础PID已经调整好,靠加P来提升响应的话,可能会引起穿越机震荡,所以只需要微调D setpoint weight,来提升系统的过冲,使得穿越机响应更快。
程序产出两张图片,第二张(噪声频谱图)怎么看/怎么用?
当你需要用到第二张噪声图分析噪声/滤波时,
首先需要令调试通道记录原始陀螺仪数据,方法是:在CLI中输入 debug_mode = GYRO_SCALED 。
如果你的飞机是新装的/没怎么炸过,别往下面看了,直接抄推荐的参数吧! 如果你的飞机电机炸过/轴有点弯,或者用的桨不是很好(有卖这种桨的吗?),那么请仔细利用这张频谱图。因为程序的分析方法是非累积性的,也就是说不管你飞了多久,飞了多长时间,结果都一样,非常具有说服力,不存在由于飞行的情况/风格不同有不同的结果(这点完全优于传统的黑匣子日志查看器)。
如果电机噪声在高油门下超过了400Hz,那么就确实需要再设置一个静态滤波器来过滤噪声了;但如果电机噪声在400hz以内,那么推荐的滤波器设置就足以应付一切。 注:以上动态滤波器的说明仅限于3.4版本,在3.5版本中,动态滤波器的工作范围进行了调整,后续更新中详细解释。 (关于噪声相关的讨论,我们有搬运Plasmatree的个人wiki,说的更详细透彻。)
写在最后:
这次介绍了Plasmatree PID-Analyzer这个软件,不是说希望大家以后都把这个软件调试结果作为判断PID好坏的唯一依据,而是希望借这个软件普及一下相关知识,同时也希望能够将这个在国外很火的软件介绍给大家作为大家调PID时的一个辅助手段/工具。
有关Plasmatree PID-Analyzer的知识资料,我们已经将Plasmatree的个人Wiki全部搬运了下来,大家可以移步本次推送其他相关链接查看。
这个工具软件不是一个傻瓜软件,需要掌握一定的工程控制基础,以及比较多的实践使用经验,就是飞-->记录数据->看图像->调整->再飞。掌握软件有一个学习的时间,初步估计有基础的话需要一周左右的时间来掌握,没有相关基础的同学需要一周时间恶补一下PID控制基础的知识。
看不懂是正常的,你需要一定的时间来学习使用,然后再掌握这个工具。
如果觉得这个学习过程不是特别愉快,请保持一切设定默认去飞行即可,默认参数已经非常优秀了,只是这个工具可以让你飞的比默认参数更好。
|