Petr Ledvina
Petr Ledvina
I can confirm that `double_pendulum.py` works on windows, python 3.10.0
@bakwc : Did you try using altitude error as speed PI(D) setpoint? It makes more sense physically ...
You can lookup double integrator system control, but most references are quite math heavy. (Sorry, this will be confusing, I'm lacking proper math/control theory background) Problem is with controller that...
IMO you don't need accurate velocity estimate. PID shall correct the errors. First use velicity from your model, to check that this approach works. Then try leaky integrator on acc...
@bakwc: 1. (this is good reference for tuning other variants) 2. should be simple to fix: - You can use leaky integrator (slightly reduce velocity toward zero in each step)...
``` control algorithm: vel_setpoint = PI(D)(alt_setpoint, alt_estimate) throttle = P(I)D(vel_setpoint, vel_estimate) estimation algorithm: # integrate acc->vel->pos vel_estimate += dt * acc_measurement alt_estimate += dt * vel_estimate # apply correction if...
I'm quite sure that you won't get decent result without some form of velocity estimation. It is one of states of system you are trying to control. Acceleration PID may...
ABS() macro is returning same type as argument (using gcc extensions). You should be careful with `int abs(int)`, it may have unexpected consequences ...
Some of the changes are desirable, but it will take a quite time to filter
Personally I don't like this heuristic approach (but it does work) It may be better to model IMU gains a single-dimensional Kalman filter. The filter will keep track of estimated...