Hi,
I’m seeing a strange behavior with my ODrive S1.
If I command the motor, then physically block it for a few seconds, and then set the command back to 0 : when I release the motor shaft, it starts spinning for a short time before stopping.
It almost feels like something was “stored” while the motor was blocked, then released afterward, even though I’m not using position control.
Has anyone seen this before? Any idea what could cause it?
Thanks!
Yep, that’s a pretty standard side effect of having a nonzero velocity integrator gain – velocity error is accumulated, and it provides a kick of torque when the load is removed. If you tune up the gains, it should make any stored integrator decay much faster. You can also set vel_integrator_limit or just disable it altogether (vel_integrator_gain=0), but this will cause steady state velocity error.
Also, if this is a free spinning motor, that’ll exacerbate the problem – any system with actual friction/inertia/etc will not have this problem quite as much with proper gain tuning