Robotics in Manufacturing

Troubleshooting workflows

Finding the Cause of Robot Position Drift

When a robot's taught points no longer land on the part, the cause is usually lost mastering, a dead Pulsecoder backup battery, a moved fixture, or mechanical looseness. This workflow separates an absolute-position (mastering) fault from a physical shift, then routes each to the correct FANUC correction on the Master/Cal screen. Work through it in order so you fix the real cause instead of remastering over a mechanical problem.

Advanced~60 min18 steps
  1. Step 1.

    Confirm the drift is real and quantify it

    Move the robot to a repeatable reference pose and compare its actual position against the taught value with a dial indicator or laser tracker. Record both the magnitude and the direction of the error. A consistent offset in one direction points toward mastering or a moved fixture, while random scatter points toward mechanical looseness or wear.

  2. Step 2.

    Review the alarm and fault history

    Open the alarm log and look for any absolute-position or Pulsecoder fault logged around the time the drift appeared. A BZAL battery-backup alarm (SRVO-062), a low-battery alarm (SRVO-065), a pulse-not-established alarm (SRVO-075), or a pulse-mismatch alarm all indicate the absolute position was lost or is uncertain. Their presence changes the whole investigation from mechanical to mastering.

    Caution: Do not clear an absolute-position or collision alarm and resume production. Correct the cause first, then remaster, then verify.

  3. Step 3.

    Check the Pulsecoder backup battery and its cable

    A low-battery (BLAL) condition means the Pulsecoder backup voltage is under its rating and must be addressed quickly, because a delay can escalate to BZAL and the loss of position data, which then forces a full remaster. Inspect the battery in the robot base battery box and confirm the cable feeding the Pulsecoder is not disconnected or grounded.

    Caution: Route battery replacement to a qualified technician and follow the manufacturer's procedure, which keeps control power applied so absolute position data is preserved.

  4. Step 4.

    Decide: lost mastering or a physical shift

    If a BZAL or pulse-mismatch alarm was logged, treat this as lost mastering and plan a remaster after fixing the battery or cable cause. If no absolute-position alarm appears and the servo system is otherwise healthy, the drift is most likely mechanical or a moved fixture. This branch decision keeps you from remastering a robot whose mastering was never actually lost.

  5. Step 5.

    Inspect the fixture, tooling, and workpiece location

    Apparent robot drift is very often a fixture that has moved. Confirm the fixture datums, locating pins, and clamps have not shifted, and that part-present sensing is seating the workpiece the same way every cycle. Verify any conveyor or nest that positions the part has not crept out of location.

  6. Step 6.

    Check for mechanical looseness

    Inspect the base mounting bolts, the tooling plate fasteners, and the end-of-arm tooling for looseness that shifts the effective tool center point. Confirm hardware against the correct torque values with a calibrated wrench. Lock out and tag out the robot and support any gravity-loaded axis before torquing hardware on the arm. Looseness at the flange or base reads exactly like drift at the tool tip.

    Caution: Apply lockout/tagout before tightening or adjusting any mounting hardware.

  7. Step 7.

    Look for signs of increased mechanical load or a past collision

    A logged collision-detect alarm (SRVO-050) or an overcurrent alarm (SRVO-046) both direct you to check for a factor that has increased the mechanical load on the affected axis, and to confirm the load settings are valid. Excess load, a dragging cable, or a prior crash can move the effective zero of an axis. If the robot struck something, the mastering may no longer be trustworthy.

  8. Step 8.

    Verify the payload and load settings

    Confirm the active payload weight and center of gravity match the real tool and part. Wrong load settings distort servo behavior and can be flagged by the same OVC and collision checks above. Correct load data is a prerequisite for trusting any position measurement that follows.

  9. Step 9.

    Verify the tool center point definition

    Recheck the TCP, because an incorrect or corrupted tool point produces a position error that looks identical to drift. Re-run the model's tool-frame calibration if the values are suspect. Confirm the correct tool frame number is active for the program in question.

  10. Step 10.

    Open the Master/Cal screen

    Confirm $MASTER_ENB is set to 1 or 2, then press MENU, select SYSTEM, press F1 [TYPE], and choose Master/Cal. The screen lists FIXTURE POSITION MASTER, ZERO POSITION MASTER, QUICK MASTER, QUICK MASTER FOR SINGLE AXIS, SINGLE AXIS MASTER, SET QUICK MASTER REF, and CALIBRATE. Mastering cannot be performed until the affected axis is rotated enough to establish a pulse.

  11. Step 11.

    Compare against a stored reference position

    Press MENU, select SETUP, press F1 [TYPE], and choose Reference Position to review the recorded reference data, which is saved to SYSVARS.SV. Jog the robot to a reference position and compare the current pose against the RECORDED values to see whether the absolute frame has shifted. Up to ten reference positions can be defined for this kind of check.

  12. Step 12.

    Choose the correct mastering method

    Use FIXTURE POSITION MASTER with the model's mastering fixture for a full, accurate reset, or SINGLE AXIS MASTER to correct one axis at a time. Use QUICK MASTER only when the battery was lost but the quick-master reference point is still intact. Treat ZERO POSITION MASTER as an emergency-only method, because it relies on visual witness-mark alignment and is less accurate.

    Caution: Follow the manufacturer's validated mastering procedure for the model. An incorrect method introduces new, less predictable errors.

  13. Step 13.

    Perform quick mastering if only the battery was lost

    Quick mastering restores position from a user-defined reference point, using the fact that the Pulsecoder value within one revolution survives a battery loss even when the revolution count does not. Move each axis to the stored reference position, keeping the misalignment within half a motor revolution, then select QUICK MASTER. If the Pulsecoder itself was replaced or the mastering data in the controller was lost, quick mastering cannot be used and single-axis or fixture mastering is required.

  14. Step 14.

    Calibrate and record the result

    After setting mastering data, select CALIBRATE and confirm, or cycle controller power so calibration runs at power-up, then press F5 DONE. Confirm the screen reports the robot as calibrated with sensible current joint angles. Take a fresh controller backup so the corrected mastering data (SYSVARS.SV) is captured.

  15. Step 15.

    Verify with a production part

    Run a test part at reduced speed and confirm the taught points now land within tolerance before resuming full production. Re-measure the original reference pose to confirm the drift is gone, not merely masked. Compare against the pre-fault measurement you recorded in the first step.

  16. Step 16.

    What can go wrong: mastering will not complete because pulses are not established

    If the screen refuses to master, or a pulse-not-established alarm (SRVO-075) is present, the Pulsecoder has not yet reported an absolute position. Reset the alarm and jog the affected axis until the alarm stops recurring, which rotates the encoder enough to establish a pulse. Then retry the mastering step.

  17. Step 17.

    What can go wrong: drift returns after the cell warms up

    If the error grows with run time and shrinks after a cold start, suspect thermal effects rather than lost mastering. Overcurrent and overheat protection (OVC and OHAL) confirm the servo system tracks motor heating, so review duty cycle and load if temperatures are high. Let the cell reach normal operating temperature before you measure and correct, so you are not chasing a moving target.

  18. Step 18.

    What can go wrong: position is lost again after every shutdown

    Recurring BZAL after each power-off almost always means an exhausted battery, a broken battery cable, or a disconnected Pulsecoder backup line. After correcting the physical cause, the manual requires setting $MCR.$SPC_RESET to TRUE and cycling power, after which mastering must be redone. If the fault returns despite a good battery and cable, the Pulsecoder itself is the likely suspect.

Common questions

How long does Finding the Cause of Robot Position Drift take?
Finding the Cause of Robot Position Drift is rated Advanced and takes about 60 minutes across 18 steps.
What tools do I need?
You will need Dial indicator or laser tracker, Teach pendant, Mastering fixture or reference tooling for the model, Calibrated torque wrench for mounting hardware, Replacement Pulsecoder backup battery of the correct type.
What should I do before starting?
A known reference point or fixture to compare against current robot position. A recent controller backup, including mastering data (SYSVARS.SV). The mechanical unit manual for the specific model, for mastering positions and witness marks. $MASTER_ENB set to 1 or 2 so the Master/Cal screen is available.
What is the first step?
Confirm the drift is real and quantify it. Move the robot to a repeatable reference pose and compare its actual position against the taught value with a dial indicator or laser tracker. Record both the magnitude and the direction of the error. A consistent offset in one direction points toward mastering or a moved fixture, while random scatter points toward mechanical looseness or wear.

Attribution

Procedure steps on this page are checked against the site's editorial safety rules and manufacturer-manual sourcing standards.

Last reviewed: 2026-07-21.

Edited by Mike Ramsey / Reliable Media.Editorial process