Control via graphical curve - Position vs Time


I want the motor to follow an exact speed/position relationship and to be able to resist an external force…with receeding resistance…eventually giving way to that force.

How would I do this on the software with your ODrive? Like most people, I have no python programming experience. I just want to set up a curve position/time. Can you either explain how or give me some examples?

Thanks very much. Once I am confident about how I will use the ODrive, I will be happy to make the purchase.


The ODrive has the capability of a linear relationship between speed and position, the constant of proportionality is set with pos_gain variable. If you need some other type of relationship you can make a custom control law in firmware code or in Python code.

I’m not exactly sure what you mean here, but you could set vel_integrator_gain to zero, and write some python code that makes vel_gain start at some value and diminish to zero over time. This will make the ODrive control be stiff at first and then more compliant, and then when it reaches zero it will be fully compliant.