Kinematic Robot Calibration
All Universal Robots cobots come with kinematic calibration from the factory. In this article we will explore what that means, and provide some guidelines for when recalibration of a Universal Robots cobot is necessary.
What is Kinematic Calibration?
No cobot is perfect. Differences in assembly (e.g. screw tightening torques), and tolerances on parts (e.g. tube lengths) means that robots will always have slight mechanical variances. Think about a cobot arm that is stretched out as far as it will go. In this scenario, the differences in length between two cobots can be multiple millimeters.
This can cause at least two different types of problems.
- Exchangeability: If you take one cobot and exchange it with another, the two cobots will not agree on exactly where the end-of-arm tool is positioned. If the automated process has low tolerance for position deviations (e.g. electronic parts assembly) it is highly likely that it will be necessary to reteach waypoints. This also applies to using the same program on different cobots in multiple workcells.
- Linearity: If the cobot does not know the exact configuration of the components it is made up of, it will have problems moving in a perfectly straight line. This may impact applications that are about straight lines (e.g. polishing, dispensing), but it can also impact applications where accuracy is needed in a bigger working area, for example in picking elements from a conveyor belt at positions provided by a camera. This effect is often less pronounced than exchangeability.
To solve these problems, all Universal Robots cobots come kinematically calibrated from the factory.
Kinematic Calibration is the process of measuring all the angles and lengths of the different parts of the cobot and its assembly and using this data to compensate for mechanical imperfections. This means that cobots will agree with other cobots on the position of the end-of-arm tool, and will move more precisely in a straight line.
When could a cobot potentially need Kinematic Recalibration?
Changes to the mechanical configuration of the cobot can potentially result in the need for calibration, although it is not always necessary. Some examples of changes to the mechanical configuration of the cobot are:
- Joint service involving disassembly/assembly
- Part exchange e.g. joint, tube or output flange
How do we calibrate?
There are two methods that can be applied in relations of a kinematic robot calibration:
- Dual Robot Calibration
- Program Correction by Key Waypoints
Dual robot calibration
The dual robot calibration is a patented calibration method of two robot that ensures:
- Calibration of inaccuracies in components and assembly.
- High accuracy zeroing of all joints.
- High similarity between robots.
When a robot is kinematic calibrated with a Dual Robot Calibration, the calibration is successful if:
- The mean deviation will be less than 1 mm and 2 mrad
- Mean deviation: The average deviation in millimeters and in milliradians between the positions measured by the first and second robot
- The standard deviation is less than 0.5 mm and 1 mrad
- Standard deviation: The standard deviation calculated on the basis of the above
- The difference between the Calibration and Control results is no more than 50%
- Max deviation: The maximal measured deviation
Program correction by key waypoints
A full description of the key waypoints program correction can be found in section 3 of the calibration manuals.
Key waypoints allow you to make a model describing the difference between the old and the new robot. After the model is built, the programs are corrected when loaded. The model can be extended/improved at any time by defining more key waypoints. The model is specific for each installation file on the robot.
The quality of the model is determined by the number of key waypoints, the accuracy with which they are defined and distance between key waypoints.
See how to do both in the calibration manual(s): https://www.universal-robots.com/download/manuals-e-series/calibration/calibration-manual-e-series/
How to determine up front if a cobot is likely to need Kinematic Recalibration after repair/maintenance?
Before servicing a cobot it must be decided whether to service at the customer site or ship the cobot to a partner or Universal Robots. If it is expected that the service will require a recalibration the cobot must be shipped to the distributor or Universal Robots (Kinematic Calibration requires special equipment and is typically not done at customer sites).
Whether a kinematic calibration is necessary depends on multiple factors and requires understanding of the process the cobot is a part of.
Universal Robots generally provides the following guidelines to help in making the decision around whether calibration is necessary.
Does the automated process have tolerance for position deviations?
If yes, consider whether kinematic calibration is necessary. Palletizing cardboard boxes typically have high position deviation tolerance almost all of the program and does not require recalibration. On the other hand, electronics assembly typically has very low tolerance for position deviation and would require kinematic recalibration.
Are you replacing a joint on an e-Series robot with a spare part?
e-Series spare part joints come with a highly accurate factory zeroing, and often it is not necessary to do a kinematic recalibration of the whole robot after replacing a joint with a spare part. Note: This does not apply to CB3 and does not apply to serviced joints.
Is high accuracy only needed in a few positions?
If it is possible to reteach a few Waypoints or reference features where high accuracy is needed, consider if that is a better tradeoff than shipping the robot to be Kinematically Recalibrated.
Can you adjust the program with Program Correction By Key Waypoints?
A full description of the key waypoints program correction can be found in section 3 of the calibration manuals. Program Correct By Key Waypoints corrects fixed waypoints when programs are loaded, based on a reteaching of Waypoints that have a high demand for precision.
Calibrate when necessary
If the answer to the above questions is no, then calibration of the cobot will probably be necessary.
Warning: One consideration in weighing the tradeoffs is that if you do adjust the program, the program will need to be adjusted again if the cobot is calibrated or exchanged with another robot at a later data.
Scenarios where Kinematic Recalibration is the wrong solution
In some scenarios you should not solve a problem by calibration:
- Hard collision between cobot and environment. Generally collisions should not necessitate calibration. If a part of the cobot is damaged or bent, it should be replaced.
- Bent or damaged tool. If the tool has mechanically changed, this should be addressed by changing the TCP configuration in Polyscope.
Other situations
What should I do if the tool is changed, or if the tool has collided with the environment, and the program is not working?
You can reconfigure the TCP configuration, either manually or using the 4 point method in Polyscope.
What should I do if the cobot has collided with the environment, and the program is no longer accurate?
Can you adjust a few waypoints where high accuracy is needed?
Can you adjust the program with Program Correction By Key Waypoints?
If so, it may be a preferable tradeoff to kinematic calibration, but take the note above into consideration.
What should I do if I want to replace a CB-Series robot with an eSeries in my application setup?
Because the robots are calibrated, the software automatically adjusts the program from the kinematics of the CB-Series robot to the kinematics of the e-Series.
You can use program correction by key waypoints to enhance the accuracy of all program waypoints by reteaching a few waypoints.
What should I do if I replace the robot - or remount the same robot?
You can use program correction by key waypoints to enhance the accuracy of all program waypoints by reteaching a few waypoints.
What should I do if I replace the control box or the Flash/SD card?
On e-Series the calibration of the robot is stored in the arm from Polyscope version 5.8.0, Please see [release note](https://www.universal-robots.com/articles/ur/release-notes/release-note-software-version-58xx/). The calibration automatically follows the arm. No action is needed from the user. If the controller is operating with a lower software version, you can install a newer software, boot the robot arm, then the calibration will be stored in the arm, and then you can switch flash card. If software upgrade is not an option, you need to move the calibration.conf file to the new flash/SD card like on CB3 robots.
On CB-Series you need to move the calibration.conf file to the new USB.