4. Troubleshooting¶
Quick reference — jump to the matching symptom below for details:
| Symptom | Likely cause | Section |
|---|---|---|
| Reprojection error is high / picks are inaccurate | Too few or too similar calibration poses, poor calibration plate visibility | Insufficient calibration accuracy |
| Robot picks above/below the object | Height offset or wrong tool (TCP) | Height offset in detected poses |
| No connection / no reply from the camera | Wrong IP/port, EthernetKRL misconfigured, robot server inactive | Communication errors |
Program shows a warning with a negative number (-5001 … -5010) |
Device-side error, e.g. bad job name or missing calibration | Error codes returned by the device |
| Program exits without a clear error | Poses not taught, missing detection pose | Program exits unexpectedly |
Insufficient calibration accuracy¶
- Use more than five calibration poses (seven to eleven give better results). Add
CASEblocks inmoveTocalibrationPose()and updateW_NUM_CALIBRATION_POSESto match. - Increase the variation between poses — especially in the pose angles. The variance of the calibration movements matters more than the variance of the poses.
- Make sure the calibration plate covers as much of the camera image as possible and is fully visible.
- Prefer a wenglor ZVZJ calibration plate over a printed one (typical reprojection error
0.1vs0.5). If printing, print at actual size on stiff, flat material. - Check the reprojection error returned by
calibration:calculate— high values indicate a poor calibration.
Height offset in detected poses¶
- Check that the uniVision job is set properly, especially the height offset from the calibration target to the object in the Device Robot Vision.
- Ensure the correct tool (TCP) is selected — the program reads the current pose via
$POS_ACT.
Communication errors¶
- Verify that the network configuration of the wenglor Machine Vision Device matches your setup (default device IP
192.168.100.1, robot server port6008) inwenglorVision.xml. - Make sure
wenglorVision.xmlwas copied toC:\KRC\ROBOTER\Config\User\Common\EthernetKRL\and that the EthernetKRL (EKI) technology package is installed. - Check that the name
wenglorVisionatW_CONNECTION[]inwenglorUserConfig.srcmatches the XML file name. - Ensure the robot server on the Machine Vision Device is active: device website → Jobs → Processing Instance → Robot Server, with KUKA selected as the robot manufacturer.
- Check general network connectivity and firewall rules between the controller and the device.
Error codes returned by the device¶
If the robot server returns a negative error code (-5001 … -5010), the example maps it to a readable message in wenglorGlobal.setReturnError and shows it on the smartPAD via MsgNotify before exiting.
For the meaning of each code, see the Generic Robot Vision Interface → Error codes in the wenglor robot vision manual.
Program exits unexpectedly¶
- No calibration poses taught: make sure
moveTocalibrationPose()contains a movement for each pose up toW_NUM_CALIBRATION_POSES. - Detection pose not taught in
moveToDetectObjectsPose()for thecamera_not_on_robotuse case. - No reply from the camera, or an unparseable error code — the program shows a warning and exits. Check the device state via
state[<use_case>];.