Is it possible to rework the PID controller or replace it with another controller (MPC or LQR for example))


I was just wondering if it is possible to rework the controller inside the ODrive from scratch? Like introducing a notch filter or replacing the PID with Model predictive control or any other controller/component.

If that is possible, then do I need to replace/change the hardware? or only the software?

Of course it’s possible - this is an open-source project, that’s the point. :slight_smile:
And no, you wouldn’t have to change the hardware, it would be purely a software change. (that is, provided the software can run fast enough on the existing hardware of course)

But, you’d have to modify the software yourself. I don’t know of anyone else working on this.

1 Like

Where would you put a notch filter?

I’d put it in the feedback path of a PID control loop to countermeasure system resonances.

I did not design my system yet. But it is just a general question in case the system is shaky or I needed to reduce noises. Have you made one before for ODrive?