Lockin Tuning Questions

Hi All,

Diving into fine tuning lockin and understanding around lockin types and operation…

My current understanding is that lockin is explicitly the motor turn during index search. That there is a calibration lockin for encoder calibration and a “general” lockin for startup. These must be done before entering closed loop control and are technically operating in “open loop control”. So far the only place I’ve been able to find this description detailed is on programmersought.com not the official ODrive site.

From this API description (I’m assuming that link was written by someone at ODrive?) if we want to see more responsiveness during general lockin under load one would do the following:

  1. Increase drv0.axis0.config.general_lockin.current to overcome load
  2. Increase odrv0.axis0.config.general_lockin.ramp_time to reduce time to reach lockin current and improve lockin response.

So three questions:

A) Is this a correct assessment of lockin functionality?

B) What use cases would you use the lockin velocity features as apposed to current (ie lockin.vel and locking.finish_on_vel)

C) As confirmation, even when the target operation is velocity mode, you must do an index search (lockin) before entering closed loop control and there is no way to enter velocity mode and start driving without entering closed loop control.