So, we have an application with limited rotation range. Is it possible to start ODrive in open loop mode (with limited velocity) in order to move the motor to starting position and then execute the calibration?
At the moment, we must manually position the motor to the starting position in order to have enough space to execute the calibration, but we would like this to be automated.
Yes there is a “lock in” mode where we drive a blind current vector and the rotor follows without any feedback. Configure axis.config.general_lockin
to the speed and distance you want it to move (units electrical radians, and electrical rad/s), and set finish_on_distance = True, then do axis.requested_state = AxisState.LOCKIN_SPIN
.
Of course try this on a motor that’s free to spin first.
1 Like