1. Introduction
Modern robotic applications often rely on offline programming to reduce process downtime. In a virtual environment, robot application specialists may program, visualize, and test their robotic application before uploading it to the real production environment. This offline process saves both time and costs. However, to achieve a high level of fidelity between virtual and production environments, the robot system must be accurate.
Unfortunately, even though most industrial robots are inherently precise (i.e., repeatable), they are not necessarily accurate. One cost-effective approach to obtaining a more accurate robot is through calibration, where the actual kinematic and non-kinematic parameters of the robot model are identified and improved upon when compared to the nominal model. While robot calibration itself has been extensively studied, many of the approaches rely on expensive and highly-delicate equipment. Such approaches include laser trackers [
1,
2,
3], stereo vision systems [
4], portable measurement arms [
5], digital indicators [
6], and coordinate measuring machines (CMM) [
3,
7]. These devices provide a guaranteed high level of accuracy, whereas they are generally very expensive.
Fuelled by the promises of more flexible automation, there is a proliferation of collaborative robots (cobots) and force-torque sensors in industrial environments. As distributed intelligence and adaptability are some of the cornerstones of modern robot applications [
8], impedance control techniques are becoming more common and allow for a robotic system to perform tasks as autonomously as possible. As identified by Universal Robots, through the launch of their e-Series collaborative robots, tool-centric force-torque sensing (especially when built-in) provides greater precision and sensitivity to address these applications. Specifically, impedance control regulates the dynamic interaction between a manipulator and its environment and is suitable for interaction and object manipulation. For instance, traditional jogging and manual registration of application waypoints can be replaced by hand-guided teaching.
Thus, it is through impedance control that a simple, low-cost, closed-loop calibration approach has been developed. This robot calibration strategy is automated and uses no external measurement devices, while extending upon previous work in a timely manner with application results that are relevant to today’s industrial and academic needs. Through the synthesis of the magnetic coupling concept from [
9] and the spherical constraint presented in [
10], the present study uses impedance control and a calibration plate with three precision spheres to calibrate a KUKA LBR iiwa 7 R800 collaborative robot (KUKA Robotics Corporation, Augsburg, Germany). While the standard calibration process [
11,
12] remains the same, the use of impedance control adds an adaptable element to the approach. This adaptability comes from the fact that the absolute accuracy between the robot and the calibration tooling is not a high priority, as impedance control allows for the coupling tool to self-centre with the spheres upon contact. In such a way, workcell design is able to remain flexible without stringent accuracy requirements, and the robot is capable of self-navigating to its own calibration waypoints. Furthermore, as a secondary contribution, the automated calibration process is managed by a modern communications framework that is based on open-source tools. As such, the framework is designed specifically for flexible and scalable interconnection and information transparency requirements [
8]. Finally, the performance of this strategy is further validated through a comparison with traditional laser tracker calibration.
While the concept of using geometric constraints for robot calibration is not new, the integration of impedance control to automate and improve the process has yet to be studied. One similar approach, single endpoint contact (SEC) calibration, was shown in [
13] using a ball joint fixture, but manual constraint of the robot is required, reducing automation potential. As the process uses only a single fixture point, the process calibrates the robot with respect to a virtual world frame, not a physical reference frame that would be part of the application workspace, such as that presented here. Otherwise, the plane constraint method, tested in [
14], constrains the tool movement to at least three planes. However, this approach requires an expensive precision touch probe and accurate plane equations that may involve mechanical characteristics (e.g., perpendicularity, flatness) of the tooling, reducing the overall simplicity and robustness of the method. Regarding the calibration of a KUKA LBR robot, the work in [
15] presented a unique calibration approach using the joint torques, but only 10 points were used to validate their calibration errors. Consequently, there were too few points for a definite measure of global accuracy. In [
16], an automated measuring device was presented that also uses tooling spheres. Despite this, the device itself is relatively fragile and requires Bluetooth, which may have poor performance due to the harsh electromagnetic ambient environment of industrial settings [
17]. Given the current state of research, a driving motivation for this study was to develop a geometric constraint calibration process that leveraged modern robot control theory and capability while considering the current needs of industrial applications and environments.
The remainder of this article is organized as follows. In
Section 2, the technical details of robot modelling and kinematics are presented, while
Section 3 addresses aspects of kinematic parameter identification.
Section 4 describes the methodology of the calibration processes, and
Section 5 presents the validation results. Finally,
Section 6 discusses the outcomes of this study and potential future work.
4. Methodology
Three primary components formed the basis of this study: communication, measurement, and calibration. First, a modern communications architecture was developed to transmit data and command packets between an external PC controller, the KUKA LBR iiwa robot, and a FARO ION laser tracker. Next, with a common communications and data processing framework, impedance control and tradition laser measurement and calibration processes were developed.
4.1. Communication
A calibration framework viable for adaptability and scalability requires the use of modern data processing protocols. As such, the calibration communications architecture was designed to satisfy Levels 1–3 of the cyber-physical system (CPS) requirements, as defined in [
21]. Plug and play (PnP) decentralized services allow for messaging patterns where data can be integrated with various systems in a smart factory network. From this interconnection, meaningful information can be inferred from the data, such as robot calibration quality and workcell health. Over the lifecycle of the robotic system, machine performance and historical data can be used to predict future behaviour.
Specifically, the external controller that manages the automation of the entire calibration process uses protocol buffer packets and gRPC to communicate across the network with the robotic devices and calibration database. This distributed computing architecture is based on remote procedure call (RPC), a type of a client-server model. With the RPC protocol, a program can request a service or function from another program without having to understand the network layout, such as the relative location of the two programs (i.e., on the same computer or on different devices). The requesting program is a client (e.g., external controller), and the service providing program is the server (e.g., FARO ION controller, KUKA LBR controller, calibration database). In the presented architecture (
Figure 4), the command packets tell the robot and laser tracker where, when, and how to move. Following the movement command, these devices reply with a response packet that contains the necessary data for calibration (e.g., joint values, Cartesian position). These responses are collected by the external controller and are stored in a database.
The primary advantage of this model is the ability to develop a microservices-style architecture where device control (e.g., robot control, laser tracker control) and data processing become abstract services from the perspective of the external PC controller. A second advantage is the programming language and platform neutral nature of the chosen mechanisms, allowing for straightforward integration with the robot and laser tracker firmware and APIs.
4.2. Sphere Measurement and Calibration
The impedance control measurement phase focuses on the collection of data using controlled coupling events. First, whether through manual jogging, offline programming, or hand-guiding, the general location of the three spheres is recorded. In the case of this study, as the KUKA LBR robot is a collaborative robot, these waypoints were taught by quickly hand-guiding the robot to each sphere.
Next, the automated calibration process begins and is outlined in Algorithm 2. For each sphere, the automated process followed a simple series of steps: contact, record, and decouple. As the robot was under impedance control with a kinematic coupling and magnet, the accuracy of the saved sphere waypoints was not a high priority, and the robot will self-centre upon contact (
Figure 5), as illustrated in
Figure 6.
Algorithm 2 Sphere calibration process. All motions are under impedance control. The approachFrame may be programmed offline or taught using hand-guiding. The homeFrame represents a safe starting point for robot motions |
robot.move() |
for sphere i in [1,2,3] do |
|
// move above sphere i |
robot.move() |
|
// prepare for sphere contact |
robot.setXStiffness(50) // N/m |
robot.setYStiffness(50) // N/m |
robot.setZStiffness(100) // N/m |
robot.setForceTrigger(7.5) // N |
|
// contact sphere |
while !isContact do |
|
robot.moveWithVelocity(25) // mm/s |
end while |
|
// allow the strong magnet to couple fully |
robot.setXYZStiffness(5) // N/m |
robot.holdPosition(5) // s |
|
// receive poses from external controller and record joints |
while ← getPose() do |
// move to pose |
robot.setXYZStiffness(20) // N/m |
robot.move() |
|
// record joint data over a period of time |
robot.setXYZStiffness(5) // N/m |
robot.startRecording() |
robot.holdPosition(1) // s |
robot.stopRecording() |
|
// transmit joint data to database |
← robot.getRecording() |
uploadData() |
end while |
|
// decouple from sphere |
robot.decouple() |
robot.move() |
end for |
The control architecture exploited the built-in real-time impedance control of the LBR robot as the base control strategy (
KUKA Sunrise.OS v1.10). The basic model was a virtual spring-damper system with configurable values for stiffness and damping, allowing the KUKA LBR to be highly sensitive and compliant (
Figure 7). As outlined in Algorithm 2, the axis stiffness values,
K, were independently updated throughout different phases of the measurement process. The axis damping coefficients (Lehr’s damping ratio) remained constant and were set to
= 0.7.
Subsequently, the robot will iterate through a series of coupled poses commanded by the external controller. At each pose, the robot held a position under impedance control, allowing the strong magnet to maintain proper coupling. The robot controller then logged the robot joint angles and torque values at a rate of 1000 Hz for 1 s, allowing for mechanical stabilization. These data were transmitted back to the external controller and uploaded to a database for future processing. During the calibration process, the mean joint values of this logging process were used. Further mechanical stability analysis demonstrated that even over a period of 30 s, the maximum deviations from the mean values were negligible for the joint angles. Following the completion of the recording phase, the robot decoupled itself from the sphere and repeated the process on the next sphere.
All calibration poses were defined as relative frames with respect the robot base orientation and centred at the sphere. Thus, for each frame, the position of the TCP remained constant, but the tool coupling rotated about the sphere. The frames were generated from a distribution of −20° to 20° in 10 ° steps about all three rotational axes. As the KUKA LBR is a redundant robot with seven axes, each pose was further expanded by altering the redundant
angle (i.e., the angle formed between the elbow of the robot and the vertical base axis) through the same angular distribution (
Figure 8). A total of 625 poses was generated and recorded on each sphere.
Using the data collected and the optimization algorithms and models presented in
Section 3.2, the robotic system was calibrated using relative distance errors. As 625 poses per sphere would result in 1,756,875 combination pairs, the dataset was reduced to 100 pairs per sphere (44,850 combinations) through random selection. Moreover, mini-batch optimization with a batch size of 32 was used for computational efficiency [
22].
4.3. Laser Measurement and Calibration
To validate the quality of the impedance control calibration method properly, traditional calibration with a FARO ION laser tracker (uncertainty of ±49 µm) and spherically-mounted retro-reflectors (SMR) was performed (
Figure 9). Following the procedure outlined in [
1], 284 uniformly-distributed joint configurations were recorded within the workspace of the robot for calibration (
Table 3). An additional dataset of 125 configurations was recorded for validation (
Table 4). The 3D distribution of these points may be seen in
Figure 10.
To calibrate the robot base frame and the tool frame, 150 and 153 additional measurements were recorded, respectively. The base frame measurements were generated by independently rotating only Joints 1 and 2 to produce two 3D arc trajectories whose intersection gave the location of the base frame. Similarly, the tool frame measurements were generated by independently rotating only Joints 5, 6, and 7. The independently-measured base and tool frames were used not only during the laser calibration, but also during validation, acting as control variables for the model comparison. As a result, the calibrated robot models were isolated for comparison.
Like
Section 3.2, the identified kinematic parameters were independently optimized using absolute accuracy errors and the Nelder–Mead method. For absolute position optimization, using Equations (1) to (3) and (8), the absolute position error (
) per measurement configuration is described as follows:
where
i is the
ith measured configuration measured by the laser tracker.
6. Discussion
This paper presented an impedance control approach to robot calibration and compared the novel method to traditional calibration with a laser tracker. The calibration tooling has the advantage of being low-cost, robust, and simple to use, with little start-up time required. As shown through absolute accuracy validation, this calibration approach can improve the accuracy of a KUKA LBR iiwa 7 R800 collaborative robot upwards of 58.4% to a maximum error of 0.990 mm when compared to the nominal model.
It should be noted that the sheer simplicity of the tooling used in this study makes for an interesting comparison to typical calibration equipment, especially when considering the cost difference. While the traditional laser tracker calibration was capable of reducing the maximum error to 0.932 mm, the tooling presented in this study cost a total of approximately
$2000 USD, while a laser tracker costs in the range of
$100.000 USD. Furthermore, the robot modelling software (Pybotics;
https://github.com/nnadeau/pybotics) and the communication packages are open-source and available for both industrial and academic use. It thus becomes an engineering economics issue in order to justify a
$98.000 USD cost difference for an additional percentage point of improvement.
With respect to previous studies, the present study advances the literature in several distinct ways. First, while the nominal errors of the KUKA LBR agreed with [
15], the presented calibration approach has been validated with 12.5-times the number of validation points, offering a more robust and confident examination of calibration quality. Compared to the self-calibration approach presented in [
16], while the resulting accuracies due to the methods cannot be directly compared (two different robots), the difference between their method and the (same) laser tracker was relatively equivalent. Yet, the method presented here is even less expensive and more durable for industrial environments. While often undervalued, durability and robustness are key considerations, as repairs and workcell downtime can be expensive.
Although this study used a redundant robot, this method can easily be applied to less sophisticated robots with no major differences in procedure. While redundant motion allows many joint configurations for a single Cartesian pose, the results of this process with a non-redundant robot will produce a dataset without redundant configurations. Simply put, redundant motion produces more joint configurations with less tool movement.
From a manufacturing and operations perspective, the authors of [
23,
24] described a set of guidelines for a resilient manufacturing system (RMS), whereby the system is fault tolerant and capable of recovering from failure. In the case of the presented calibration methodology, failure may occur during any of the steps outlined in
Section 4.2. During the contact, coupling, and motion steps, force limits are set to prevent damage to the tooling, and the recovery process is to simply decouple, move away, and restart the coupling procedure. Returning to a known stable position is not required and slows the overall process. During the recording phase, the system follows redundancy guidelines and records more poses than necessary for calibration optimization. Further reliability can be achieved through the robot communication and control framework described in
Section 4.1, where data collection can be used to develop continuous improvement initiatives. This communication framework integration follows Guidelines II–IV presented in [
23]. In an ideal integration, the presented calibration tooling would become part of the robot workcell, allowing the robot to self-validate and calibrate. As noted in [
21], with a connected fleet of machines and an awareness of machine condition, predictive maintenance and workload balancing become possible and maximize machine performance and organization transparency.