Jump to content

Position Lag: Difference between revisions

From Wiki
cpr>Mab
mNo edit summary
 
m Fixed link
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
Position lag is the difference between actual and target positions when moving robot axes. In an ideal system the axes perfectly and immediately follow the target position so there is no lag. In a real system there are several factors that introduce lag: moving faster than mechanically possible, overloading the axis, mechanical resistance (e.g. misaligned linear rails). If the position lag exceeds a limit value the axis will change into position lag [Error Codes|error state]].
Position lag is the difference between actual and target positions when moving robot axes. In an ideal system the axes perfectly and immediately follow the target position so there is no lag. In a real system there are several factors that introduce lag: moving faster than mechanically possible, overloading the axis, mechanical resistance (e.g. misaligned linear rails). If the position lag exceeds a limit value the axis will change into position lag [[Error Codes|error state]].


Another common cause for the position lag error on our robot controls is referencing. Here the position lag error is expected after successful referencing, it does not mean anything is wrong. Read the following section for an explanation.
Another common cause for the position lag error on our robot controls is referencing. Here the position lag error is expected after successful referencing, it does not mean anything is wrong. Read the following section for an explanation.

Latest revision as of 14:40, 21 October 2025

Position lag is the difference between actual and target positions when moving robot axes. In an ideal system the axes perfectly and immediately follow the target position so there is no lag. In a real system there are several factors that introduce lag: moving faster than mechanically possible, overloading the axis, mechanical resistance (e.g. misaligned linear rails). If the position lag exceeds a limit value the axis will change into position lag error state.

Another common cause for the position lag error on our robot controls is referencing. Here the position lag error is expected after successful referencing, it does not mean anything is wrong. Read the following section for an explanation.

Note that a "true" position lag error is only shown by our BLDC controllers. Our stepper controllers show an encoder error instead. Read the section below.

Position Lag After Referencing

Usually you will see the position lag error after referencing.

Once an axis finishes referencing it will change into position lag state. This is no issue. If you reference multiple axes simply wait till all axes are finished, then re-enable the motors and your robot is ready to use.

The reason for this behavior is that the internal position values of the axis controllers change. If the axis would keep following positioning commands it would jerk unexpectedly into one direction, possibly failing with an error code, causing damage or injury. To prevent this they change into position lag error state, which forces the robot control to re-load the current position and re-calculate the kinematics before the motion is enabled again.

Position Lag During Motion

If the position lag error occurs during normal operation (i.e. not while referencing) you got a true position lag error. Try the following:

  • Decrease the speed of the failing motion command
  • Check which axis triggers the error code: See the joint states in the "infocenter" tab below the 3D view
  • Check whether the issue still happens without load at the gripper
  • Make sure the axis is easy to move
  • If the axis got two parallel linear rails: make sure the rails are well aligned and set up according to the setup instructions

Overcurrent on BLDC Controllers

This section only applies to BLDC controllers, including the igus ReBeL.

In some cases an over current error can be triggered instead of a position lag error. Closed loop BLDC controls draw as much current as necessary to follow the target positions. If the maximum current is reached before the maximum position lag distance is exceeded your robot will stop with an overcurrent error.

Follow the suggestions listed in section "Position Lag During Motion".

Encoder Error on Stepper Controllers

Our stepper controllers trigger an encoder error instead of position lag error. Encoder error can mean that the motor's encoder does not count the position as expected. One way it checks this is by comparing the difference between target and actual position - if this exceeds a limit (e.g. because the axis can accelerate fast enough to follow the target position) the encoder error is triggered.

Follow the suggestions listed in section "Position Lag During Motion".