5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 23946|回复: 75
打印 上一主题 下一主题

【Betaflight工具】使用Plasmatree PID-Analyzer辅助调整PID

  [复制链接]
跳转到指定楼层
楼主
发表于 2018-7-24 21:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
Plasmatree PID-Analyzer
是近几个月GitHub社区上最火爆的Betaflight PID参数整定工具,由Plasmatree这个程序员编写的一个相当实用的PID调参工具。
如果你嫌看字麻烦,可以看一下小编的B站视频:
SmartFox小组已经翻译搬运了PID-Analyzer的全部wiki百科,给大家提供第一手原版资料。相关资料敬请翻阅SmartFOX公众号。
提示:使用本软件需要具备一定的工程控制基础,以及PID基础知识,需要可以看懂阶跃曲线图。这可以帮助你更好的理解及使用这个工具。

来,我们先来一张图恶补一下P,I,D 对于阶跃响应的作用。
如何使用:

1.下载软件。
从公众号云盘内下载打包好的工具合集,解压缩到硬盘根目录里即可。(注意路径里最好不要有中文)
百度网盘地址
链接:http://pan.baidu.com/s/1jHMAhT0 密码:9qde

下载两个文件,解压缩第一个blackbox工具到文件夹,然后复制PID-Analyzer_0.52.exe进去。


2.正确设置飞机参数。设置恰当的滤波,并关掉所有的动态影响pid的函数,
具体来说就是:

1:反重力系数设定到1;
2:D setpoint Weight =0;
3:TPA = 0;
4:电池电压补偿打开。


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控制基础的知识。

看不懂是正常的,你需要一定的时间来学习使用,然后再掌握这个工具。

如果觉得这个学习过程不是特别愉快,请保持一切设定默认去飞行即可,默认参数已经非常优秀了,只是这个工具可以让你飞的比默认参数更好。

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


评分

参与人数 4威望 +7 模币 +1 收起 理由
natural + 1 + 1 写的不错!
法師傅 + 2 很给力!
qjc + 2 赞一个!
a28624586 + 2 淡定

查看全部评分

欢迎继续阅读楼主其他信息

沙发
发表于 2018-7-24 21:17 | 只看该作者
先顶,看晕了
来自安卓客户端来自安卓客户端
3
 楼主| 发表于 2018-7-24 21:19 | 只看该作者

看不懂是正常的,你需要一定的时间来学习使用,然后再掌握这个工具。

4
发表于 2018-7-24 21:21 | 只看该作者
好复杂啊。
来自安卓客户端来自安卓客户端
5
发表于 2018-7-24 21:45 | 只看该作者
支持LZ的技术好贴,先赞了,之后慢慢看
来自安卓客户端来自安卓客户端
6
发表于 2018-7-24 22:16 | 只看该作者
不错啊                  
7
发表于 2018-7-24 22:19 | 只看该作者
本帖最后由 liujiang168 于 2018-7-24 22:35 编辑

佩服人家的专家,小小的穿越也研究的这么精,差距不是一般的大!!!
同时也为楼主的辛勤工作点赞!!!

8
发表于 2018-7-25 00:13 | 只看该作者
看了一天 就等实践了
9
发表于 2018-7-25 08:14 | 只看该作者
楼主大神,分享的精神值得鼓励
10
发表于 2018-7-25 08:29 | 只看该作者

像图中这种命令和响应之间的分散间隔,是不是P不够啊?就是不跟手?

11
发表于 2018-7-25 08:48 | 只看该作者
我的个猛妈,好复杂啊!!!
12
发表于 2018-7-25 10:47 | 只看该作者
先做个记号,慢慢学习。
13
发表于 2018-7-25 11:35 | 只看该作者
jianghui_1990 发表于 2018-7-25 08:29
像图中这种命令和响应之间的分散间隔,是不是P不够啊?就是不跟手?

D SETPOINT WEIGHT 不够


14
发表于 2018-7-27 03:21 | 只看该作者
jianghui_1990 发表于 2018-7-25 08:29
像图中这种命令和响应之间的分散间隔,是不是P不够啊?就是不跟手?

确定肯定是不跟手,但是是不是P不够,得看阶跃响应来调整
来自苹果客户端来自苹果客户端
15
发表于 2018-7-27 10:01 | 只看该作者
好,谢谢了。
16
发表于 2018-7-27 11:44 | 只看该作者
谁能仔细讲讲怎么利用这个工具调PID
17
发表于 2018-7-27 17:55 | 只看该作者
技术好贴
18
 楼主| 发表于 2018-7-27 18:21 | 只看该作者

碰到好用的工具肯定要和大家分享下

19
发表于 2018-7-27 18:28 | 只看该作者
这个不合時了
快來个Betaflight 3.5 官方调参指南
20
 楼主| 发表于 2018-7-27 18:30 | 只看该作者
hhchung8 发表于 2018-7-27 18:28
这个不合時了
快來个Betaflight 3.5 官方调参指南

已经翻译好了,这几天就发出来

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表