A calibration chain is only as strong as the first hop that loses position, visibility, timing, or point identity. For a roughly 300-square-foot cell, follow each commanded pose from RoboDK through the FANUC M-900iB and linear rail, then follow the measured wrist target back into the calibration dataset.
Where does the calibration measurement path run?
RoboDK Calibration needs matched pairs: the commanded robot configuration and the target position measured at that configuration. The path begins with a pose command, passes through the robot controller and rail, reaches the wrist-mounted target, and returns through the measurement instrument and data interface. The calibration result is invalid if a measurement is associated with the wrong pose, taken before motion settles, or expressed in the wrong coordinate frame.
| Hop | Item to set | Commissioning check |
|---|---|---|
| RoboDK to robot system | Robot and rail configuration for each target | Displayed joint and rail positions match the commanded record |
| Robot wrist to measurement target | Rigid target mounting and target reference | The mount does not shift under normal motion |
| Target to instrument | Uninterrupted line of sight across the working volume | The instrument maintains a valid measurement at every retained pose |
| Instrument to dataset | Point order, units, coordinate frame, and pose identity | Every measured point maps to exactly one commanded configuration |
| Dataset to RoboDK Calibration | Correct robot, rail, and measurement records | The import contains the expected number of valid pairs |
A laser tracker generally has an accuracy advantage over larger distances compared with optical systems, but “optical system” covers instruments with different camera geometry, fields of view, and specifications. Compare the actual candidate systems over the cell’s required measurement volume.
Check: Trace one test pose through the entire chain and confirm its commanded configuration, measured point, units, frame, and record identifier before collecting the full dataset.
How should the tracker and target be placed?
Layer one first: establish visibility and mechanical stability before configuring software. Place the measurement instrument where it can see the wrist target throughout the robot-and-rail envelope. A position that works near the center of the rail may be blocked by the robot arm, cell structure, tooling, or wrist orientation at the ends of travel.
Mount the target rigidly on the wrist. Any movement between the target and mounting interface becomes measurement error that the calibration solver may incorrectly attribute to robot geometry. Keep the mounting arrangement unchanged from data collection through verification.
| Physical condition | Failure seen in data | Action |
|---|---|---|
| Target leaves line of sight | Missing or rejected points | Move the instrument or change wrist orientation |
| Robot blocks the target | Measurements fail in a repeatable region | Revise the pose set to face the target toward the instrument |
| Target mount moves | Residuals change after contact or acceleration | Stiffen and re-seat the mount, then recollect affected points |
| Weak coverage at a rail extreme | Calibration quality varies with rail position | Add valid poses at that end while preserving visibility |
Check: Jog the complete intended envelope at reduced speed and confirm valid target visibility, clearance, and mount stability at both rail extremes and representative wrist orientations.
Do you need an active target?
An active target such as the API Smart Track Sensor is not essential for this workflow. It can simplify target acquisition or orientation management when its supported behavior matches the application, but it is not the only way to preserve tracker visibility. A conventional tracker target can be used when the robot poses keep that target directed toward the instrument.
RoboDK provides a script and an Add-in for generating random calibration targets that point toward the tracker. The supplied example is located at C:/RoboDK/Library/Macros/calibration_targets_tracker.py. This approach moves the orientation problem into pose generation: each pose must remain reachable, collision-free, within rail travel, and visible from the tracker.
| Target approach | Primary setting | Recurring pitfall |
|---|---|---|
| Active target | Target and instrument compatibility | Treating active tracking as a substitute for checking occlusion and mounting rigidity |
| Pose-oriented tracker target | Generated wrist orientation toward the tracker | Accepting a visible pose that violates reach, clearance, or wrist limits |
Check: Test several generated poses near the center and limits of the work envelope. Retain the approach only if the instrument acquires the target without changing the wrist mount.
How should calibration poses be generated?
Use calibration_targets_tracker.py or the corresponding Add-in to create randomized targets directed toward the tracker. Randomization should vary robot configurations across the useful volume instead of clustering points around one comfortable posture. The rail must also be represented across its working travel; otherwise the dataset may describe the arm well at one rail location while leaving combined arm-and-rail behavior weakly observed elsewhere.
- Define the tracker location in the coordinate system required by the pose-generation workflow.
- Generate candidate targets that orient the wrist target toward the tracker.
- Reject poses outside robot reach, rail travel, or joint limits.
- Reject poses with collisions, inadequate clearance, or predicted target occlusion.
- Run the remaining poses at reduced speed and record whether the instrument acquires the target.
- Collect commanded configurations and measured positions with an unambiguous one-to-one record order.
Do not collect a measurement while the robot or rail is still moving. Use the instrument’s valid-measurement indication and the cell’s actual settling behavior rather than inventing a fixed delay. Reacquire any point whose identity or stability is uncertain.
Check: Plot or inspect the accepted points by rail position, workspace region, and wrist orientation. Confirm broad coverage without missing identifiers or duplicated pose-to-point associations.
How do you compare laser trackers with optical systems?
Compare API, Hexagon (Leica), FARO, or any optical candidate using the same required volume and acceptance method. A headline accuracy value does not decide the application by itself. Read each manufacturer’s specification for the applicable distance, target type, environmental conditions, and measurement mode, then test the configurations that matter at the robot and rail limits.
| Decision item | Laser tracker check | Optical-system check |
|---|---|---|
| Large-distance performance | Read the accuracy specification over the required range | Read the volume-accuracy specification for the required camera geometry |
| Visibility | Confirm a clear path from tracker to wrist target | Confirm the required cameras can view the target at each pose |
| Targeting | Compare active-target and pose-oriented options | Confirm target type, orientation limits, and identification method |
| Data path | Verify units, frame, timestamp or sequence, and export format | Verify the same fields and their mapping into RoboDK |
| Cell coverage | Measure representative points at both rail extremes | Measure the identical representative points |
The deciding metric is end-to-end robot calibration performance, not instrument repeatability alone. Run a common test set, reserve independent verification poses, and compare the resulting position errors throughout the cell.
Check: Require each supplier configuration to demonstrate measurement continuity and stated performance at the same representative poses before requesting the final system configuration and quote.
How do you verify the completed calibration?
Keep verification points separate from the points used to solve the calibration. Include rail extremes, central positions, varied arm configurations, and wrist orientations that preserve target visibility. Command each verification pose, measure the wrist target, transform the measurement through the same frame chain used during calibration, and calculate the position error.
- Save the original robot and rail calibration state so the change can be reversed.
- Run the reserved verification set before applying the calculated correction.
- Apply the RoboDK calibration result using the intended deployment workflow.
- Repeat the same verification poses without moving the tracker or wrist target mount.
- Compare pre-calibration and post-calibration errors by workspace region and rail position.
- Investigate any localized degradation for occlusion, point mismatch, frame error, target movement, or weak pose coverage.
Check: Accept the calibration only when the independent verification set meets the project tolerance across the required robot-and-rail volume, not merely at the calibration points.
FAQ
How do I decide whether a laser tracker is worth using?
Compare candidate systems over the actual roughly 300-square-foot measurement volume. Test accuracy and target visibility at both rail extremes; laser trackers generally provide better accuracy over larger distances, but the specific instrument configurations decide the result.
How do I calibrate without an active tracker target?
Use the RoboDK script at C:/RoboDK/Library/Macros/calibration_targets_tracker.py or its Add-in to generate random poses oriented toward the tracker. Validate reach, collisions, joint limits, rail travel, and visibility before collecting measurements.
How do I prevent bad measurements from entering RoboDK?
Record data only after motion settles and the instrument reports a valid target. Match every measured point to one commanded robot-and-rail configuration, then check units, coordinate frames, record order, missing points, and duplicates.
How do I verify FANUC M-900iB calibration on a rail?
Reserve independent poses covering the center and both rail extremes. Repeat those measurements after applying the RoboDK calibration and verify that every region meets the project tolerance using the unchanged tracker position and wrist target mount.