After the correct manipulator calibration is restored and the axis counters are referenced at mechanical zero, base-referenced tool0 motion should be straight, orientation should remain stable during a linear translation, and taught positions should again agree with the robot’s kinematic model. A discrepancy greater than 200 mm after an S4 M94A RobotWare reinstall points to calibration or manipulator-configuration data, not merely corrupted program targets.
Diagnostic Approach Comparison
Before anything else, separate a target-data problem from a system-wide kinematic problem. Incorrect program targets affect commanded destinations, but they do not normally make a manual linear jog with tool0 relative to the robot base curve or rotate unexpectedly. That symptom originates earlier in the position calculation: joint references, calibration data, or the selected manipulator model.
| Approach | What it tests | Deciding observation | Priority |
|---|---|---|---|
Run CAL6400
|
Axis-angle agreement at the mechanical zero references | Every axis reads 0 degrees when its small mechanical scales align | First |
| Restore verified calibration parameters | Whether the reinstalled system contains the manipulator-specific calibration values | Values match the last known-good configuration for this physical robot | Second |
| Check installed manipulator identity | Whether RobotWare was built for the physical IRB6400 variant | Installed manipulator selection matches the robot identification data | Third |
| Reload program targets | Whether individual taught positions are stale or incorrect | Only named targets are wrong while Cartesian jogging remains geometrically correct | After kinematics pass |
The preferred sequence is the zero-position test, restoration of verified calibration data, counter referencing, manipulator-identity comparison, and only then evaluation of program targets. Do not compensate for a global kinematic error by reteaching positions.
Zero-Position Test Procedure
- Prepare the cell for controlled robot motion and confirm that moving all axes toward their calibration positions will not cause a collision. Select the robot base as the jogging reference and
tool0as the active tool. - Run the
CAL6400routine to move all axes to 0 degrees. Observe each axis throughout the move; stop if the expected path conflicts with the physical cell. - At the completed position, inspect the small mechanical calibration scale for every axis. The matching marks must line up when the jogging display reports that axis at 0 degrees.
- Record each axis separately as aligned or offset. Do not move on until the displayed angle and mechanical mark have been compared for every axis.
- If a cold boot or another RobotWare reload is required, leave the robot accurately positioned at these zero references first. This provides a known mechanical position from which the counters can be updated after the cold boot.
One displaced axis is enough to corrupt the forward-kinematic calculation. The controller converts all joint angles through the manipulator geometry to calculate the Cartesian position and orientation of tool0. An angular reference error therefore appears as translation error, orientation error, or both. Its Cartesian effect often grows as the arm extends.
Calibration and Counter Recovery
Use calibration values belonging to the physical manipulator. A customer program and a generic parameter set are not substitutes for the last verified system configuration because calibration data corrects the relationship between encoder references, mechanical joint zero, and the kinematic model.
- Locate the most recent known-good system-parameter files associated with this robot. Confirm their identity from controlled backup records rather than their filename alone.
- Compare the installed calibration values with the verified backup. Treat missing, default, or differently sourced values as a configuration fault that must be resolved before target testing.
- Restore the verified manipulator-specific parameters using the normal S4 system restoration process.
- With every axis physically aligned to its zero scale, update the axis counters after the cold boot. Counter updating associates the measured encoder state with the known mechanical reference; performing it away from the reference creates a systematic joint-angle error.
- Return to the jogging display and confirm that all axes indicate 0 degrees while the mechanical marks remain aligned.
If the marks align but the displayed angles do not, the counter reference remains wrong. If the display reads zero but a mark is displaced, do not accept the displayed value as proof of calibration. The physical marks and the controller angles must agree at the same pose.
Manipulator Identity Check
Absence of motor-current alarms does not prove that the correct manipulator was selected during RobotWare installation. Motor supervision and Cartesian position calculation test different parts of the configuration. A mismatched installation may expose a motion or current problem, but alarm-free operation is not a valid manipulator-identity check.
- Read the identification information on the physical manipulator and establish the exact IRB6400 configuration installed in the cell.
- Inspect the installed system configuration or RobotWare installation record for the selected manipulator type.
- Compare the physical and installed identities directly. Do not infer a match from the controller starting successfully or from the motors jogging without an alarm.
- If the identities differ, rebuild or reinstall the system for the correct manipulator and restore only the calibration data belonging to that physical robot.
- Repeat
CAL6400, mechanical-scale inspection, and counter referencing after correcting the installation.
The manipulator selection supplies the geometry used to transform joint angles into base coordinates. The calibration values refine the reference for the individual physical arm. Both must be correct: valid calibration data paired with the wrong kinematic model can still produce wrong Cartesian positions.
Cartesian Verification Tests
- Select
tool0and the robot base reference. Remove uncertainty from custom tool and work-object definitions during the first test. - Place the arm where a short test move has clear space, then note the displayed Cartesian position and orientation.
- Jog linearly along one base axis while watching the physical tool flange. The path must be straight in the selected direction, and a pure translation must not introduce an unintended orientation change.
- Repeat the test on the other base axes. A pass on one path does not clear an axis-reference problem that becomes visible in another posture.
- Compare the displayed
tool0position with an independent physical measurement referenced to the robot base. The previous discrepancy exceeded 200 mm; after recovery, use the accuracy required by the application as the acceptance limit. - Test several known program positions only after the Cartesian jog tests pass. If jogging is correct but individual targets remain wrong, investigate the restored program data or the frames in which those targets were taught.
Recurring Recovery Pitfalls
| Pitfall | Result | Corrective habit |
|---|---|---|
| Updating counters away from mechanical zero | Displayed joint angles acquire a false reference | Align every small scale before counter updating |
| Using an unverified parameter backup | Generic or stale calibration values replace robot-specific values | Trace the backup to the physical manipulator |
| Accepting alarm-free jogging as proof of correct robot type | A kinematic mismatch remains undetected | Compare installed selection with physical identification |
| Reteaching targets before correcting kinematics | New targets hide the fault in one posture but remain unreliable elsewhere | Pass base/tool0 jogging first |
| Testing with a custom tool | Tool-data error is mixed with manipulator error | Start with tool0 and the robot base |
FAQ
What happens if one IRB6400 axis is not at zero during counter updating?
The controller assigns an incorrect angular reference to that axis. Cartesian position and orientation can then be wrong even though the robot accepts jog commands and shows no immediate motor alarm.
What happens if the wrong manipulator type was selected in RobotWare?
The controller can use geometry or motion configuration that does not match the physical arm. Check the installed manipulator identity directly against the robot identification data; lack of current alarms does not prove a match.
What happens if the customer backup lacks the latest calibration values?
Restoring that backup can leave the joint references inconsistent with the physical manipulator. Obtain a verified manipulator-specific configuration, restore it, align all axes with CAL6400, and update the counters at mechanical zero.
How do I verify the ABB S4 M94A position repair?
Select the robot base and tool0, confirm every mechanical scale aligns at a displayed 0 degrees, then jog independently along each base axis. The final verification is straight translation without unintended rotation, followed by an independent base-to-tool0 measurement within the application’s acceptance limit.