Servo Float Function
Normally a robot axis is position controlled: if something pushes it, the motor produces as much torque as needed to stay on the commanded point. With servo float, torque is limited so that an external force can push the robot along. It is used where a machine pushes on the robot – for example a die-casting ejector cylinder pushing a part out while the robot grips it.
Two variants
| Variant | How torque is limited | Good for |
|---|---|---|
| Link servo float | Independently on each axis | General use; choose this if you get oscillation (a growling motor noise and high-frequency vibration) or unsteady motion |
| Linear servo float | Along one direction in Cartesian space | Long extraction strokes, pushing/polishing in one defined direction |
In linear mode only the U-arm tip moves in a straight line; the R, B and T axes behave as in link mode.
How it runs in a job
MOVL V=100.0
FLOATON FL#(1)
MOVL V=100.0
MOVL V=100.0
FLOATOF
Here the robot reaches step 1 normally, FLOATON FL#(1) starts servo float using condition file 1, steps 2 and 3 run with limited torque, and FLOATOF returns to normal position control.
- Servo float stays active from FLOATON until FLOATOF, or until a jog, cursor move followed by FWD/BWD, job call/select/edit, or servo re-ON.
- A move instruction is considered complete when the command reaches the target, even if the arm was blocked. Example: a 5-second move blocked after 3 seconds waits the remaining 2 seconds, then continues to the next step.
- TIMER and WAIT instructions also run under torque control, so the arm can be pushed while waiting.
- Torque limits are set per axis in a servo float condition file.
Critical: tool load data
The controller compensates gravity in real time while torque is limited. If the tool mass, centre of gravity and inertia are wrong, an axis can drop or rise unexpectedly. Set tool load data correctly before using servo float.
Source: Based on YASKAWA manual HW1483399.