Velocity control is commanding psoition

When using velocity control

odrv0.axis0.controller.config.control_mode = ControlMode.VELOCITY_CONTROL

it seems as though the odrive is commanding the motor to turn to a position rather than a set velocity.

The attached image is plot of

start_liveplotter(lambda:[odrv0.axis0.pos_vel_mapper.vel, odrv0.axis0.controller.vel_setpoint])

In that image, velocity was set to 10 and actual commanded value never seemed to make it that high, then it quickly tapers off and returns to zero despite the velocity still being set to 10.

Any help would be greatly appreciated!

Odrive S1
Antigravity MN5006 KV300
16384 CPR ABSOLUTE RS485 ENCODER WITH CABLE FOR ODRIVE PRO OR S1

Update:

I reset the odrive to factory config. Then I reset all the parameters and velocity control was working normally. I then switched to position control, things seemed to be normal. I then switched back to velocity control and this condition came back.

What’s your input mode set to?
odrv0.axis0.controller.config.input_mode

What variable are you writing to to command velocity? odrv0.axis0.controller.input_vel or something else?

Input mode was set to odrv0.axis0.controller.config.input_mode = InputMode.POS_FILTER

I stopped filtering it and it fixed it, thanks!

That would do it! Glad you were able to solve this issue.