PIDtoolbox:3 步跑通穿越机黑盒日志分析,免费 PID 调参完整指南
【免费下载链接】PIDtoolboxPIDtoolbox is a set of graphical tools for analyzing blackbox log data项目地址: https://gitcode.com/gh_mirrors/pi/PIDtoolbox
穿越机一上高频就抖、拉杆没手感、换了桨组之后飞机发飘——这些问题靠"飞一次改一个数"的试错法很难根治,改到后面参数互相打架,越调越乱。PIDtoolbox 就是为此做的一套图形化分析工具:它读取飞控黑盒日志,把陀螺仪、PID 各项、电机输出这些原始数据直接画成时域波形、频谱图和阶跃响应曲线,让你看着数据调参。工具完全免费、开源(BEER-WARE 协议),专为 Betaflight、Emuflight、INAV、FETTEC、QuickSilver 等固件的日志设计。
🎯 PIDtoolbox 适合谁:3 类人群直接对号入座
- 竞速 / 花飞飞手:飞机高频共振、画面抖动、手感发虚。用它定位共振频率,判断该降 D 项还是该加滤波,而不是盲目往低里改。
- 刚开始学调参的新手:不知道 P、I、D 各自影响了什么。阶跃响应图会把上升时间、超调、稳定时间直接算出来标注在图上,看几组就能建立参数与手感之间的对应关系。
- 做对比验证的人:换电机、换桨、改固件之后"感觉不一样了",但说不清差在哪。A/B 对比功能会把同一时间段、同一飞法的两份日志逐项量化。
⚡ 从零安装,5 分钟跑起 PIDtoolbox 主面板
- 准备 MATLAB R2018a 或更高版本(工具基于 MATLAB GUI 开发,这是唯一的硬性依赖)。
- 把仓库克隆到本地:
git clone https://gitcode.com/gh_mirrors/pi/PIDtoolbox- 在 MATLAB 中打开该目录,运行主脚本
PIDtoolbox.m(主入口文件,同目录下还有PTplotLogViewer.m日志查看器、PTplotSpec2D.m频谱分析、PTstepcalc.m阶跃计算等模块)。 - 首次运行会弹窗要求选择工作目录,按提示选中你存放日志文件的文件夹即可,随后弹出带 Control Panel 的主控窗口。
提示:日志文件来自飞控黑盒导出,Betaflight/INAV 的
.bbl文件和 CSV 导出版本都可以被解析。
🖱️ 功能使用四步走:载入 → 查看 → 分析 → 对比
第 1 步:载入黑盒日志
在主面板 Control Panel 点击select file [A]选择日志文件(可再选一个 B 文件备用)。载入后点Setup Info可以看到固件版本、loop rate、各轴当前 PID 等设置项,先确认日志确实是你刚飞的那台机器。
左 A 右 B 两列并排显示固件配置,loop interval、PID 参数一目了然
第 2 步:在日志查看器里浏览波形
点load+run进入 Log Viewer。纵轴是 roll/pitch/yaw 三个轴,每个轴下面同时显示角速度(deg/s)和输出百分比;顶部勾选框控制显示哪些通道(Gyro、P/I/D 项、Set point、4 路电机、Throttle)。拖动时间窗口只分析你关心的飞段——这是整份日志分析的基础动作。
多通道叠加显示:红区为轨迹选择面板,右下缩略图给出油门分布,可快速定位高油门时段
第 3 步:用频谱和阶跃响应定位问题
分析工具就四个按钮,按需点:
- spectrogram:打开 2D 频谱分析器,按油门区间分块显示 roll/pitch/yaw 的频率能量,共振峰、高频噪声在彩色图上非常显眼,能直接读出"共振到底在多少 Hz"。
- step resp:从日志里自动找出杆量阶跃,计算每个轴的上升时间、峰值、超调百分比、稳定时间,并给出样本数 N,参数改没改对,数字说了算。
- PID error:画出 PID 误差的概率分布和误差随杆量变化的柱状图,稳态精度和响应偏差一眼可见。
- save fig:任何一张分析图都可以存成高清图,方便留档或发群里讨论。
横轴为电机输出百分比、纵轴为频率,高能量带即当前飞段的主要振荡频率
第 4 步:A/B 对比两份日志
载入文件 A 和文件 B 后,同样的分析按钮会并排输出两套结果(A 橙 B 蓝)。最常见的用法是:调参前飞一份日志存 A,改完参数同场地同飞法再录一份存 B,然后对比 step resp 和 PID error 两组图,看变化是不是朝好的方向走。
左右两列分别为文件 A 与 B 的三轴阶跃响应,图内直接标注 N、Peak、Overshoot、RiseTime 等指标
🗺️ 一张图看懂 PIDtoolbox 日志分析工作流
📊 调参前后效果对照:数据怎么变才算调对了
下面是一次典型调参(针对 roll 轴高频振荡)前后的指标变化示例,具体数值因机型而异:
| 指标(roll 轴示例) | 调参前 | 调参后 | 变化 |
|---|---|---|---|
| 阶跃上升时间 | 33.5 ms | 27.4 ms | 快约 18% |
| 超调量 | 4.5% | 2.0% | 明显收住 |
| 高频带能量峰值 | 约 180 Hz | 降到 120 Hz 以下 | 共振被压下去 |
| PID 误差标准差 | 0.057 | 0.040 | 稳态更紧 |
一句话解读:调参成功的标志不是某一个数变好看,而是高频能量下移、超调收窄、误差分布变窄三件事同时发生,并且手感与数据方向一致。
❓ 常见疑问速答
Q1:支持哪些飞控?日志什么格式?Betaflight、Emuflight、INAV、FETTEC、QuickSilver 的日志均可,.bbl或 CSV 导出版本都行。日志里需要有陀螺、PID 输出、电机通道这些常规黑盒字段。
Q2:必须装 MATLAB 吗?必须。工具是 MATLAB GUI,R2018a 以上即可。官方也曾提供 Windows/Mac 独立打包版,但从本仓库使用就是跑PIDtoolbox.m这一条路。
Q3:载入日志后窗口一片空白怎么办?先点 Setup Info 确认固件识别成功;再检查日志里是否有数据段(缩略图油门分布不为空);Betaflight 的日志默认忽略前后各约 1 秒,过短日志建议重新导出。
Q4:新手第一张该看哪张图?先 Log Viewer 找高油门时段,再点 step resp。频谱图信息量大,等知道大概想验证什么频率问题再去用。
Q5:收费吗?免费。代码采用 BEER-WARE 许可证,保留版权声明即可随意使用与修改。
🚀 上手路线:4 步从看懂到调出效果
- 第 1 周 · 熟悉界面:载入一份自己的日志,把 Log Viewer 每个通道、时间窗口、缩略图油门分布摸一遍。
- 第 2 周 · 读图:跑一次 step resp,对照图内标注的 RiseTime / Overshoot 理解"数字对应什么手感"。
- 第 3 周 · 抓频率:用 spectrogram 找出自己机器的主共振峰,记下它的频率位置。
- 第 4 周起 · 闭环调参:每次只动一个参数 → 飞行 → A/B 对比 → save fig 存档,形成自己的调参记录。
PIDtoolbox 的价值在于把"凭感觉"变成"看数据":装好它、载入第一份日志,你手里的黑盒数据就不再是打不开的二进制文件。
四个窗口同屏工作:左上看波形、右上查设置、左下跑阶跃、右下看频谱,一次调参全程不切工具
【免费下载链接】PIDtoolboxPIDtoolbox is a set of graphical tools for analyzing blackbox log data项目地址: https://gitcode.com/gh_mirrors/pi/PIDtoolbox
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考