Velocity Auto-tuning


This feature is available since OBLAC Drives 19.0

The general purpose of the velocity control loop auto-tuning is to design controller gains based on user specifications and the identified model of the set-up. The procedure calculates gains for the PI velocity controller.


Before conducting position auto-tuning check the following:

  1. The System Identification has been executed successfully
  2. The obtained model corresponds to the current configuration of the system. Otherwise the identification procedure should be repeated
  3. If there is a gearbox in between, the gear ratio should be specified
  4. Make sure that the sensors are mounted properly and calibrated


  • The procedure uses a linear mathematical model of the system. If there are strong nonlinearities there will be a difference between the actual and the requested performance
  • Max bandwidth of 100 Hz is specified because of 1 kHz EtherCAT frequency.

How to use

  1. The controller gains are updated automatically every time the sliders are dragged and released.

  2. There are 2 sliders that allow users to specify the demanded performance of the control loop:

    1. Damping ratio is a parameter of an oscillatory system that reduces oscillations. In case of the velocity control loop, this parameter controls overshoot and rise time. The damping ratio can be divided into 2 regions:

      1. Underdamped < 1: overshoot is allowed, sharper response
        An example of velocity control loop step response with damping ratio of 0.5:
      2. Overdamped > 1 - no overshoot, less sharp response.
        An example of velocity control loop step response with damping ratio of 2:

        Damping ratio higher than 1 may lead to undershoot and non-zero steady state error.

    2. Bandwidth (also called 3 dB bandwidth) is a characteristic of a control loop that characterizes sharpness of the control loop. Basically, it is a frequency the system may follow while keeping 71% of the amplitude.
      An example of velocity control loop 4 Hz sine wave tracking with requested bandwidth of 3 Hz:

      An example of velocity control loop 4 Hz sine wave tracking with requested bandwidth of 30 Hz:



# Do I need to manually adjust controller gains after the auto-tuning?

  • Usually, sliders provide enough flexibility to achieve demanded performance.

# Can I define other velocity/torque units in the custom firmware?

  • The auto-tuning will provide gains only for default units.

# What if my encoder has low resolution?

  • This will definitely result in worse performance compared to higher resolution encoders. Additionally, the velocity signal used in system identification might have multiple zeros that may result in incorrect model.

# Do I have to repeat system identification and tuning after I attached a load to the system?

  • It is better to repeat both procedures. If it is not possible to repeat the system identification, auto-tuning still can be used. But the resulting settling time will differ from the requested.

# What if the system is unstable after auto-tuning?

  • Try to input smaller bandwidth
  • Check the motor and sensor configuration parameters
  • Check the velocity signal in the playground in the torque control mode. Ensure that it shows correct data during manual rotation of the shaft.
  • Soften filters in position/velocity control loops. They might introduce delay.

# What if the test signals trigger overcurrent/undervoltage?

  • Reduce the test signal amplitude or frequency
  • Reduce bandwidth.
  • Check the configuration of the motor and sensor.
  • Make sure that correct power supply is used.

# How do filters influence the auto-tuning?

  • Using a velocity filter results in a phase delay based on the filter order and its cutoff frequency. It is recommended to perform a system identification and tuning after filters were configured. Be careful, filters severely reduce stability due to phase delay.