3 ms·
I've wondered why we haven't seen a lightweight model on quads for PID tuning, betaflight firmwares great but pid tunings such a pain in the ass if you want it
by cchance 3y ago
I've wondered why we haven't seen a lightweight model on quads for PID tuning, betaflight firmwares great but pid tunings such a pain in the ass if you want it tuned well how about an AI that on the fly adjusts the pid rates.
- ducktective 3y agoTechnically, PID only makes sense for linear time-invariant systems. A quadrotor drone is inherently a nonlinear system but people use linear controllers on it anyways. I mean if we're going to use "AI" on controls, it better be looking for tuning something else, better still, we should only utilize the "optimization algorithms" parts of "AI" hence optimal control.
- blt 3y agoincorrect, most serious "PID controllers" for quadrotors are using geometric PID controllers that take nonlinearity into account, e.g. [1]. [1] Taeyoung Lee, Melvin Leok, N. Harris McClamroch. Geometric tracking control of a quadrotor UAV on SE(3). https://ieeexplore.ieee.org/abstract/document/5717652 https://ieeexplore.ieee.org/abstract/document/5717652
- ducktective 3y agoWell geometric PID controllers are not vanilla PID controllers for LTI systems that I was talking about... Also, and correct me if I'm wrong, I think in industry these vanilla PD/PID controllers are used for attitude and position control of quad-copters. Like, I don't think PX4 or BetaFlight implement any geometric controllers in their code bases.
- blt 3y agoPX4 does: https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mc_att_control/AttitudeControl/AttitudeControl.cpp https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/m...
- 05 3y agoArducopter has auto-tune (no ML, though). BF flies great out of the box, and there are presets for most popular types/sizes. Oh, and I don’t think they have devs on their team who are experienced in ML to the point of writing that code. I think the way to go to would be to first record the response to pre-defined control inputs in level mode, then tune offline from blackbox data. But with BF quads mostly lacking GPS, you would have to pick a large empty field to be able to run this without hitting anyone/anything.
- scotty79 3y agoWhy would you use PID controllers if you can use NN directly? Insisting on PID is rigidifying part of your control setup. It's forcing NN to partially not learn the optimal control. It's a bit like transformers for LLMs. If we could train raw NN in reasonable time it would outperform transformers. We are currently using transformers just because it makes learning of large models feasible not because it's somehow the best architecture for predicting language. The same way PID is something that sort of works if you lack computing power to create better control schemes.