Blocking hoverboard motors

Hi!

My team and I bought around 16 ODrives for a project. We are working with hoverboard motors in our robot (1 ODrive per robot) and communicating with Odrive through ASCII protocol.

At certain moments, we need the hoverboard motors to get blocked. By blocked I mean that if someone push the robot, we don’t want the motors to spin along and we don’t want them to try to go back to their previous position neither. How could we achieve this? It is fundamental for our project.

Thank you in advance for your help and work.

Greetings!

Hi Mario,

For the “blocking” (or viscous damping?) state that you are trying to achieve:
Try setting velocity mode, i.e. CTRL_MODE_VELOCITY_CONTROL and set vel_integrator_gain to 0
This would create an opposing torque proportional to speed, i.e. viscous damping.
The board still has to be enabled in closed loop for this to work though.

Tom

1 Like

I think what you are trying to achieve is better described by enabling a parameter to give you a “parking brake” effect. I think @towen got it. The motors will resist motion as if they had a parking brake set if what he said is true. Velocity mode should not give you any “return/spring like motion” it will stop resisting as soon as it stops “moving.”

Hi!

We have been looking for a way to set vel_integrator_gain dynamically from our C++ code but haven’t found it. Is there an ASCII protocol command to do this similar to the ASCII Motor Velocity (v) command to set the speed?

Thank you in advance.
Greetings.