Strategies for Improving Robotic Accuracy with Metrology

Serial axis industrial robots are a low-cost option to automate repetitive tasks, as such they have proliferated with the rise of mass production. These robots typically have high levels of positional repeatability around 30-50µm. However, due to the design and mechanical limitations of industrial robots they are not inherently accurate. Although all robots exhibit different accuracies depending on manufacturer, options, size, application, etc. we can broadly say that average accuracy is around the 1mm mark – 2,000% higher than the repeatability. This good repeatability and poor accuracy is more than adequate for typical applications where robots are programmed online, as is traditional for an industrial process where the important attribute is the repeatability of the robot.

The low capital cost and lure of good repeatability has seen serial axis robots move into new applications that they were not initially intended for, such as accurate machining or adaptive processes.  These processes require a close correlation between the simulated or offline environment to the physical reality.

Sources of Error

Robots have a number of error sources that affect the accuracy, these include but are not limited to:

  • Commissioning errors, such as the definition of the: tool center point (TCP) offset, workpiece and robot spatial relationship.
  • Manufacturing/mechanical errors, such as: linkage length, axis perpendicularity, eccentricities, linkage elasticity, backlash.
  • Dynamic & inertia-based errors.
  • Temperature based errors: robot warm-up, ambient temperature influences.

How to Improve Accuracy?

There are many strategies for improving robot accuracy, however each has limitations and compromises. In the absence of a ‘silver bullet’, INSPHERE, a UK based Metrology Integration company, has a number of strategies for improving robot accuracy depending on application and budgetary constraints.

Robot Calibration

External Cell & TCP calibration

One of the most cost effective, and high impact methods for improving a robotic application is to accurately measure the relationship between the robot base position, the tool center point of the end-effector and the workpiece.  Taking each in turn:

The robot base is the origin of the robot. In practice, it is the starting point for any forward kinematics calculations; however, it is essentially impossible to measure directly. The physical robot base does not coincide with the same robot base used in motion control.

The tool centre point is the frame on the end-effector that is used to interact with the work-piece; this could be a gripper, spindle or weld nozzle. The TCP needs to be defined in six degrees of freedom (6DOF) from the manufactured end of the robot (the tool flange). A CAD/drawing nominal is often used to define the TCP. Otherwise, robots have a built-in routine that can derive the TCP. Both methods are likely to introduce inaccuracy.

The workpiece is the object (or objects) that the robot process is interacting with. Robots use routines for locating the part relative to the robot base, but again, this is a relatively subjective process that can vary depending on how the operator programs it.

The geometric relationship between these parameters can be determined using large volume metrology tools, with minimal time and cost impact to significantly enhance the cell accuracy.

ClipX Provides 'Clip-Measure-Control' For Manufacturing Machines & Production Monitoring

Internal Parameter Calibration

Robot control relies on a kinematic model of the internal parameters. When a robot is supplied from the factory it has a nominal, theoretical kinematic model. Measurement of the actual kinematics of that robot can be achieved via a calibration utilizing large volume metrology such as laser trackers or photogrammetry. This kinematic model can be created for a specific robot within a specific working envelope and payload.

A measurement-derived ‘actual’ kinematic model of the robot is achieved by running the robot through a number of known poses. The joint positions can be read from the robot controller whilst measuring the position of the end-effector. This process can often be carried out as an option by the robot manufacturer prior to the robot leaving the factory. This produces an ‘accurate’ robot with the measured kinematic parameters active within the robot controller. Although this is generally a full-field calibration using payloads that are not specific to the intended task.

Implementation of the Calibration

Utilizing the measurement-derived kinematic model is often difficult in practice due to the inaccessibility of many of the parameters within the robot controller. Here we have three approaches:

At a Controller Level the ability to change the kinematic model parameters is largely dependent on the openness of the controller form the individual manufacturers. It should be noted that as machine tool controllers are beginning to appear on robots, the ability to access these parameters should be greater.

External devices such as New River Kinematics’ (NRK) SpatialAnalyzer Robot Calibration Appliance (SARCA) sit outside of the robot controller effectively intercepting the “desired” position and correcting the robot using a measurement-derived kinematic model. This is a physical workaround as many robot controllers do not allow the robot parameters to be updated. This works well for static positioning (e.g. drilling), however this may not translate in the same performance improvement for dynamic tasks (e.g. machining operations).

Lastly, Offline Robot Correction uses the identified kinematic model to perform a pre-processing operation on generated robot paths. The commanded positions within the robot program can be changed based on the knowledge of the nominal and identified robot models so that the robot is ‘fooled’ into going to the corrected position. Robots can see accuracy gains using this approach, but it is very inflexible, especially when it comes to making changes to the robot program. It is also unable to compensate for external influences on the robot such as machining forces or differing payloads.

Successful implementation of a robot calibration (external and internal parameters), using any of the above methods can see improvements of around 75-85%, making a robot’s positional accuracy yield an RMS of around 250µm.

A further option for improving the accuracy of a robot is to use online correction utilizing data from an external measurement system to perform closed loop control of the robot’s position. Closed loop control allows the robot to be guided by an external metrology device, typically a laser tracker or an online photogrammetry-based technology. This allows high positional accuracy but introduces several problems. The first problem is that of cost. External metrology systems are always expensive and often cost more than the robot itself. This approach also introduces a lot of inflexibility into the system due to the requirements of the measurement system regarding line of sight and working environment.

Metrologic and Kuka Form Autonomous Metrology Solution Partnership

An important consideration is the latency of the feedback loop, as this limits the suitable applications. A slow response time enables a move-measure-correct approach, which is sufficient for assembly and drilling operations. Here the iterative loop will ensure the robot is in position before committing to the process. A low latency can give rise to a system approaching real-time closed loop control which could enable machining processes to be undertaken.

Robot Enhancement

Several companies have tried the alternative approach of augmenting additional sensors with those used by the robot to determine its own position. A large source of positional error comes from the fact that the rotary encoders used to measure joint axis positions is located on the rear of the motor; as such, any deflections in the motor or gearbox are not measured.

Adding external encoders to a robot’s axes allows for a real measurement of the axis positions to be taken, thus reducing this source of error. However, this is also a difficult and expensive route to improved accuracy; standard robot controllers are not able to easily use the information provided by these external encoders, so generally it is necessary to replace the robot controller with a CNC controller or motion PLC. Significant development effort is necessary to achieve this.

How Do I Improve My Robot?

As highlighted in the discussion there is no ‘one size fits all’ solution. The appropriate approach is dependent on the specific application and other parameters such as the related business case for the investment. The first step in improvement is to understand clearly the requirements of the application.

The challenges surrounding robot performance also requires a joined-up approach between metrologists and robot operators. Difficulties in finding a solution can often be compounded when each function attempts to find solutions to these problems in isolation.

It will often pay dividends to seek external support with determining and implementing the best approach, but the obvious question is who to turn to. Applying large volume metrology to robotic applications is a niche topic.

INSPHERE is one of the few organisations with specialist expertise in this area and is always interested to hear from companies looking to develop new manufacturing solutions. INSPHERE are experts in dimensional measurement and applying the use of this data to specialist applications such as accuracy enhancement for industrial robots. INSPERE provide measurement automation solutions including turnkey automated in-process measurement as well as, sub-contract services, measurement training and consultancy across a range of industries including aerospace, energy, marine and automotive. Recent projects include work with GKN Aerospace, Rolls-Royce CTAL, Airbus Defence and Space, Mercedes GP and Ben Ainslie Racing. Their expertise and best-practice measurement approaches ultimately generate production efficiencies, enhancing manufacturing productivity.

For more information: