APIs, concepts, guides, and more
|
Address and reduce lost motion in mechanical systems caused by gaps between parts by setting backlash parameters.
In mechanical engineering, backlash, sometimes called lash or play, is clearance or lost motion in a mechanism caused by gaps between the parts. It can be defined as:
The maximum distance or angle through which any part of a mechanical system may be moved in one direction without applying appreciable force or motion to the next part in mechanical sequence
(from > > Wikipedia)
and is a mechanical form of dead-band.
See the diagram below that shows how the Commanded Motor Position will be generated based on an example Desired Axis Trajectory. (from Dynomotion)
API Call | Definition |
---|---|
RSI::RapidCode::Axis::BacklashWidthSet() | sets the full range of backlash. |
RSI::RapidCode::Axis::BacklashWidthGet() | gets the Backlash Width which was set by the user. |
RSI::RapidCode::Axis::BacklashRateSet() | sets the rate at which you take up backlash within whatever motion you create. |
RSI::RapidCode::Axis::BacklashRateGet() | gets the Backlash Rate which was set by the user. |
1. Enable servo lock on motors
2. (Determine location in give) Move 1.1x Backlash then back 0.5x Backlash.
3. Send the backlash width and rate to RMP
4. For all motion RMP will apply Backlash Rate per sample of motion in the appropriate direction clamped at Backlash amount. For each direction change the RMP adjust Backlash amount by Backlash Rate.
Assuming Backlash of 10 with a Rate of 1. It will move to the middle. Set the backlash amount to 0. If you are at the edge of Backlash say 5 and reverse direction, the next sample it will change Backlash compensation to 4, then 3, all the way to -5.
No, Backlash Compensation reduces inaccuracy but it does not solve it.
We cannot compensate for external forces without adding an external feedback source on the load itself. Primarily, when a motor is idle or disabled, forces can change where you are within the give. While the motor is disabled, there is no way to know what type of drift is going on.
This is why we have decided that anytime you disabled an Axis, we are going to wipe out the associated information and require you to repeat the Backlash Compensation Procedure.