Dynamic Offset Torque for Feedforward Control

This feature can be used to improve performance of highly dynamic motion. If a load torque in a joint suddenly decreases, an involuntary movement can occur when the control algorithm tries to compensate. To avoid this peak in torque deviation, the torque-offset object can be used. The central application controller “knows” when the robot will drop the payload and how much this payload is. The robot master controller can use the kinematic model of the robot to compute how much torque this payload will add to each of the joints. So it can command these torques as offset torque to each joint. So right at the moment when the robot drops the payload, it will exert the exact amount of compensation torque that is required to stay in its desired pose.

On top of the desired velocity input, the position and velocity controllers also accept a desired ‘offset torque’, which is a dynamically changeable torque value that will be added to the torque value generated by the velocity PI controller. This applies to the simple PID position controller, to the cascaded position controller and to the velocity controller. The offset torque can be updated at full EtherCAT communication frequency (1 kHz in most configurations) and is given in the unit of per thousands of rated torque.

../../../../../../../../../_images/torque_offset.png

To use this feature, the high level robot control must contain a model or any other knowledge about the system’s physics, e.g. acceleration feedforward or gravity compensation.

The robot master controller can use the kinematic model of the robot to compute how much torque this payload will add to each of the joints. So it can command these torques as offset torque to each joint. So right at the moment when the robot drops the payload, it will exert the exact amount of compensation torque that is required to stay in its desired pose.

Note

As this value should be fed dynamically with continuously updated values, it is not accessible in OBLAC Drives, but through the EtherCAT parameter 0x60b2.