0% found this document useful (0 votes)
7 views

sensors-20-05919

Uploaded by

caticc.namik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

sensors-20-05919

Uploaded by

caticc.namik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

sensors

Article
New Method and Portable Measurement Device for
the Calibration of Industrial Robots
Caglar Icli , Oleksandr Stepanenko and Ilian Bonev *
École de Technologie Supérieure, Montreal, QC H3C 1K3, Canada; [email protected] (C.I.);
[email protected] (O.S.)
* Correspondence: [email protected]

Received: 20 July 2020; Accepted: 14 October 2020; Published: 20 October 2020 

Abstract: This paper presents an automated calibration method for industrial robots, based on the use
of (1) a novel, low-cost, wireless, 3D measuring device mounted on the robot end-effector and (2) a
portable 3D ball artifact fixed with respect to the robot base. The new device, called TriCal, is essentially
a fixture holding three digital indicators (plunger style), the axes of which are orthogonal and intersect
at one point, considered to be the robot tool center point (TCP). The artifact contains four 1-inch datum
balls, each mounted on a stem, with precisely known relative positions measured on a Coordinate
Measuring Machine (CMM). The measurement procedure with the TriCal is fully automated and
consists of the robot moving its end-effector in such as a way as to perfectly align its TCP with the
center of each of the four datum balls, with multiple end-effector orientations. The calibration method
and hardware were tested on a six-axis industrial robot (KUKA KR6 R700 sixx). The calibration model
included all kinematic and joint stiffness parameters, which were identified using the least-squares
method. The efficiency of the new calibration system was validated by measuring the accuracy of
the robot after calibration in 500 nearly random end-effector poses using a laser tracker. The same
validation was performed after the robot was calibrated using measurements from the laser tracker
only. Results show that both measurement methods lead to similar accuracy improvements, with the
TriCal yielding maximum position errors of 0.624 mm and mean position errors of 0.326 mm.

Keywords: precision; robot calibration; robot accuracy; autonomous calibration; closed-loop calibration;
self-calibration

1. Introduction
The difference between robot repeatability and robot accuracy is well known in academia,
but industrial clients of robot manufacturers often confound the two concepts, based on the personal
experience of the third author, who is also cofounder of Mecademic, a manufacturer of compact,
high-precision industrial robots, and instigator of RoboDK, a software for offline programming and
calibration of industrial robots. Yet, while the position repeatability of most six-axis industrial robots is
0.1 mm or better, even the smallest and most precise robot arms such those from Mecademic can make
positioning errors of more than 1 mm, unless calibrated.
Robot calibration is the process of replacing the nominal mathematical model of a robot with
another set of equations, usually much more complex (e.g., assuming non-zero elasticities for the joints),
which describes with less error the relationship between the joint values and the end-effector pose of the
real robot [1,2]. To identify the parameters of the new mathematical model (lengths, angles, elasticities,
etc.), the full or partial pose of the robot end-effector is measured for various sets of robot joint values
(e.g., a hundred, random, or specially selected). The results are then fed to an optimization algorithm
that identifies the parameters that minimize the errors between the actual pose measurements and the
ones calculated by using the new mathematical model.

Sensors 2020, 20, 5919; doi:10.3390/s20205919 www.mdpi.com/journal/sensors


Sensors 2020, 20, 5919 2 of 15

Ideally, the calibration must be made by the robot manufacturer, who has suitable installations
involving high-accuracy measurement devices, such as an optical tracker, a laser tracker, or even a
Coordinate Measuring Machine (CMM) [3]. The main advantage of in-house calibration, however, is
that the new mathematical model is embedded directly in the robot controller. Thus, almost no extra
steps or knowledge are required when using an in-house calibrated robot (in comparison to using a
non-calibrated robot).
Unfortunately, not all clients realize immediately that they need calibration. Indeed, in applications
that require offline programming, such as material removal, the need for calibration might be obvious.
In other applications, such as inspection, calibration might be avoided but only by spending hours
of tuning the robot path, each time a new part shape is to be inspected. Furthermore, while some
manufacturers do offer on-site calibration services, most have to rent a laser tracker from a local
provider of metrology services. This is why, many researchers, both from academia and industry,
have worked on the development of portable, low-cost measurements tools for on-site robot calibration.
Various measurement tools have been implemented into calibration experimentations throughout
time. For robot users, eye-in-hand devices such as touch probes [4], optical sensors [5], and ballbars [6]
tend to be more affordable and easier to implement in comparison to external measurement devices such
as laser trackers [7–9], mechanical CMMs [10], optical CMMs [11], theodolites [12], and measurement
arms [13]. However, the effectiveness of eye-in-hand devices is still challenged when considering the
comparison of the end-result accuracy obtained through external devices.
Perhaps the simplest and oldest, low-cost measurement strategy in robot calibration is to constrain
the position of the robot’s tool-center-point (TCP), vary the orientation of the robot end-effector,
and record the corresponding robot joint values [14]. Instead of manually constraining the robot TCP to
a mechanical coupling (e.g., a ball in a socket), in [15], we explored the embedded force-torque sensors
in some collaborative robot arms, by mounting a special kinematic fixture and automatically performing
the coupling using force control. For all other robots, we proposed in [16] a measuring device used to
automatically drive the robot TCP to coincide with the center of a datum ball. This seemingly minor
difference is in fact a significant improvement since no frequent manual back-and-forth jogging or
force control capability is required and the method can be fully automated.
On the one hand, instruments similar to the device proposed in [16] already exist, namely
ROSY [17] by Teconsult GmbH, Germany (based on two cameras), Laser LAB [18] by Wiest AG,
Germany (based on five laser sensors) and ZIS Calibration Unit [19] from ZIS Industrietechnik GmbH,
Germany (based on a 3-degree-of-freedom mechanism requiring a physical contact). However, not only
is the accuracy of these three devices relatively poor (as low as 0.1 mm) but they are used as error
measurement devices rather than replacements of a position’s physical constraint. This means that the
robot’s TCP is never exactly at the center of the tool tip, but as far away as 10 mm. While this offset is
taken into account in the calibration, it is not measured with high accuracy.
On the other hand, far more accurate devices based on the same principle have been used for
calibrating machine tools. Some researchers have proposed a device called the R-Test [20], which uses
three analog linear probes and has an uncertainty of 1.7 µm for a measurement range of less than 0.5 mm.
A very similar device has also been proposed in [21] but using four probes. More recently, researchers
have proposed another similar device based on three Keyence laser displacement sensors and cite
multiple other recent research developments on the design of such high-accuracy 3D sensors [22].
Finally, the company IBS Precision Engineering (The Netherlands) offers the Trinity contact-free probe,
which can measure the offset of the center of a special datum sphere (expensive and fragile) within
a range of up to 3.5 mm (still too small for robotics) and with an accuracy of less than 0.001 mm.
Unfortunately, all these devices are relatively expensive (the Trinity costs about USD 15,000), because
they need to be built with great accuracy and calibrated before use. For example, we could not find
a way to identify the measurement reference frame of our Trinity probe with respect to its fixture,
which is simply a cylindrical shaft. We believe that these are excellent measuring solution for machine
tools, but somewhat inadequate for industrial robots, at least in factory settings.
Sensors 2020, 20, x FOR PEER REVIEW 3 of 15

Sensors 2020, 20, 5919 3 of 15


Most importantly, none of the device mentioned in the preceding two paragraphs are used to
constraint the TCP to a given position. In this paper, we present a new device and method based on
the same idea as the one presented in [16] but with several major improvements:
Most importantly, none of the device mentioned in the preceding two paragraphs are used to
 the
constraint The TCP
new device (Figure
to a given 1) is more
position. Inpractical and ready
this paper, for use in
we present industrial
a new device settings. It does not
and method based on
need an additional calibrator plate for TCP initialization and provides
the same idea as the one presented in [16] but with several major improvements: the possibility to use
additional weights.
− The  new
The device
new device(Figure
is also1) is more
more practical
affordable andtoready
and easier servicefor use in
(several industrial
prototypes, settings.
excluding the It does
not needdigital
an indicators,
additional have been soldplate
calibrator to industry
for TCPat only USD 2,000 each,
initialization andsoprovides
the total cost
theofpossibility
the device to use
is less than USD 5,000).
additional weights.
 Finally, we show that the new device can be almost as effective in robot calibration as a laser
− The new device
tracker, is also more
by reducing affordable
the maximum and errors
position easieroftothe service (several
robot to prototypes,
values only 15% higherexcluding
than the
digitalthose
indicators, have been sold to
in the case of a laser tracker. industry at only USD 2000 each, so the total cost of the device
is less than USD 5000).
In the remainder of this paper, we present the measurement device, the 3D ball artifact and the
− Finally, we
communicationshowsetup
thatinthe new2,device
Section and thencan be almost
describe as effective
the measurement in robot
procedure in calibration as a laser
Section 3. Next,
tracker, by reducing
the accuracy the maximum
of the measurement position
process errors
is analysed in of the robot
Section to values
4. Then, the robotonly 15% higher
modelling and than
parameter
those in the identification
case of a lasermethod are described in Section 5. The identified parameters and validation
tracker.
results are presented in Section 6. Finally, conclusions are made in Section 7.

FigureFigure 1. TriCal measuring device installed on a KUKA KR 6 R700 sixx industrial robot.
1. TriCal measuring device installed on a KUKA KR 6 R700 sixx industrial robot.
2. Description of the New Calibration System
In the remainder of this paper, we present the measurement device, the 3D ball artifact and
Figure 1 shows
the communication setuptheinnew measurement
Section device,describe
2, and then called TriCal, and part of the experimental
the measurement procedure setup
in Section 3.
involving the 3D ball artifact (partially visible) and a six-axis KUKA KR6 R700 sixx industrial
Next, the accuracy of the measurement process is analysed in Section 4. Then, the robot modelling and robot.

parameter identification method are described in Section 5. The identified parameters and validation
2.1 The TriCal Measurement Device
results are presented in Section 6. Finally, conclusions are made in Section 7.
The main part of TriCal is an aluminum triaxial mount with three Ø 8-mm cylindrical channels
with clamps, seen clearly in Figures 2 and 3. The axes of these channels are orthogonal and intersect
2. Description of the New Calibration System
at one point, which will be defined as the robot tool center point (TCP). Indeed, the tool reference
frame1that
Figure will the
shows be defined in the robot is along
new measurement device,the called
axes ofTriCal,
these channels.
and partA Sylvac
of theS_Dial WORK setup
experimental
NANO
involving digital
the 3D ballindicator
artifactis(partially
fixed to each of theand
visible) threeachannels.
six-axis A disk-shaped
KUKA tip is sixx
KR6 R700 attached to each robot.
industrial

2.1. The TriCal Measurement Device


The main part of TriCal is an aluminum triaxial mount with three Ø8-mm cylindrical channels
with clamps, seen clearly in Figures 2 and 3. The axes of these channels are orthogonal and intersect
at one point, which will be defined as the robot tool center point (TCP). Indeed, the tool reference
frame that will be defined in the robot is along the axes of these channels. A Sylvac S_Dial WORK
NANO digital indicator is fixed to each of the three channels. A disk-shaped tip is attached to each
digital indicator, instead of the typical ball tip, providing a flat contact surface, orthogonal to the axis
Sensors 2020, 20, 5919 4 of 15

Sensors 2020, 20, x FOR PEER REVIEW 4 of 15

of measurement. Thus, each indicator measures exactly the x, y, or z coordinate of the center of a ball
digital indicator, instead of the typical ball tip, providing a flat contact surface, orthogonal to the axis
with respect to the tool reference frame.
of measurement. Thus, each indicator measures exactly the x, y, or z coordinate of the center of a ball
with respect to the tool reference frame.

(a) (b)
(a) (b)
Figure 2. TriCal during mastering with the 1.5-in master ball. (a) TriCal before mastering. (b) TriCal
after mastering. Figure 2. TriCal during mastering with the 1.5-in master ball.

(a) (b)
Figuredevice:
Figure 3. Description of the TriCal 3. Description of the
(a) overall TriCal
view device.
of TriCal; (b) close-up of triaxial mount.

AA major
major improvement
improvement in in our
our new
new TriCal
TriCal is is the
the use
use ofof aa master
master ball for mastering the digital digital
indicators
indicators and and defining the TCP (Figure 2a) that is larger than the datum balls (the
the TCP (Figure 2a) that is larger than the datum balls (the precision balls precision balls of
the
of the3D3Dball
ballartifact).
artifact).The
Theuseuseofofthis
thisbigger
biggermaster
masterballballeliminates
eliminatesthe theneed
needfor for aa large kinematic
large kinematic
platformthat
platform thatholds
holdsthe
themaster
masterballballinin the
the first
first version
version of of TriCal
TriCal [16].
[16]. Instead,
Instead, a kinematic
a kinematic mountmount in
in the
the form of a trihedral socket is directly embedded in the center of the triaxial
form of a trihedral socket is directly embedded in the center of the triaxial mount (Figures 2b and 3b). mount (Figures 2b and
3b). When
When the master
the master ball isball is placed
placed in theinsocket
the socket
(Figure(Figure 2a),center
2a), the the center ofball
of the the defines
ball defines
the TCPthe TCPand
and allows
allows all digital
all digital indicators
indicators to be mastered.
to be mastered. Furthermore,
Furthermore, a removable a removable
rare-Earth rare-Earth
magnet (not magnet
shown (notin
shown in Figure 2) can be placed in the socket, thus restraining the ball when
Figure 2) can be placed in the socket, thus restraining the ball when needed. This magnet is only used needed. This magnet is
only
(1) used
when (1) when measuring
measuring with a CMM withtheacoordinates
CMM the coordinates
of the TCPof the respect
with TCP with respect
to the to the mounting
mounting surface of
surface of TriCal, by probing the master ball, and (2) for attaching an SMR
TriCal, by probing the master ball, and (2) for attaching an SMR (spherically-mounted reflector) during (spherically-mounted
reflector) during
measurements measurements
with a laser tracker. with a lasermastering,
During tracker. During mastering,
it suffices to orientit TriCal
sufficesupwards
to orientand TriCalthe
upwards
magnet andneeded;
is not the magnet is notofneeded;
the force gravitythe force
acting onofthe
gravity
master acting
ball isonmuch
the master ball isthe
larger than much larger
equivalent
than
of thethe equivalent
forces applied of bythe
theforces
three applied by the three digital indicators.
digital indicators.
Since the measurement range of eachindicator
Since the measurement range of each indicatorisis12.512.5mm,mm,the radius
the radiusof of
thethe
master
master ballball
must mustbe
about
be about 6 mm
6 mm larger
largerthan
thanthetheradius
radiusofofthe thedatum
datumballs ballsthat
thatare
aretotobe
beprobed
probed(Figure
(Figure1), 1), to
to allow
allow aa
symmetric measurement range for the complete TriCal device. Datum balls are readily available in
symmetric measurement range for the complete TriCal device. Datum balls are readily available in
sizes of 0.5 in, 0.75 in, and 1 in. As for the diameter of the master ball, we want to be able to validate
our results with a laser tracker and spherically-mounted reflectors (SMRs) come only in diameters of

1
Sensors 2020, 20, 5919 5 of 15

sizes of 0.5 in, 0.75 in, and 1 in. As for the diameter of the master ball, we want to be able to validate
our results with a laser tracker and spherically-mounted reflectors (SMRs) come only in diameters
of 0.5 in, 0.875 in, and 1.5 in, with the smallest and largest diameter being the most popular. Indeed,
as mentioned in the previous paragraph, during validation, we will place an SMR in the trihedral
socket for the master ball, so both balls must have the same diameter. Therefore, we choose 1.5 in
for the diameter of the master ball (and of the SMR) and 1.0 in for the diameter of the datum balls,
which gives a difference in their radii of 6.350 mm.
The placement of the digital indicators along the cylindrical channels is extremely important in
order to allow optimal use of the 12.5-mm measurement range of each indicator. This placement could
have been restrained by implementing a physical stopper along the channels of the triaxial mount,
but we chose not to do so, to allow for more flexibility (e.g., potentially use other digital indicators).
Since we are going to use 1-in datum balls for the ball artifact, the indicators must be placed so that
when a 1-in ball is centered at the TCP, the indicators are retracted halfway, i.e., approximately 6 mm.
Since we want the indicators to display “0” in the latter situation, when the master 1.5-in ball is placed
in the socket, each indicator must be set to display 0.25 in, i.e., 6.350 mm. This is called the mastering
(Figure 2).
To know that each indicator is properly positioned along its axis, after the mastering, when you
remove the master ball, each indicator must display −6.150 mm (6.350–12.500). In practice, however,
this would require too many trials and errors. Furthermore, the 11.5 mm diameter of the disk-shaped
tips provides another limitation. In order to have a plane-sphere contact, the center of the datum
ball must not be farther than 5.750 mm from the axes of any of the indicators during the first contact.
In other words, it is safer to assume that even when properly assembled, TriCal can only be used
to measure the relative position of 1-in precision balls centered as far as 5 mm away from the TCP
of TriCal.
The remaining elements of TriCal (see Figures 1 and 2a) are an aluminum mounting bracket for
the triaxial mount that ends with a QC-11 tool changer from ATI, and another aluminum mounting
bracket for optional steel weight disks. Thus, the total weight of the TriCal can range from 1.3 kg to
7 kg.

2.2. The 3D Ball Artifact


The 3D ball artifact is essentially a very rigid fixture with several 1-in datum balls positioned
at precisely known locations in space (not just in one plane). Obviously, the more the datum balls,
and the greater their distribution in the workspace of the robot, the better the performance of the
calibration. However, for the proposed calibration system to be of any practical value, the artifact must
be relatively portable and compact, as it must be carried by an operator and fit both on a medium-size
CMM and in an existing robot cell.
Since we use extensively the BuildPro collection of modular fixtures and tables from Valtra,
which allow precise positioning, we chose to employ BuildPro heavy-duty riser blocks for the body
of the artifact. Specifically, we selected one 7.8-kg and two 5.7-kg riser blocks and arranged them as
shown in Figures 4 and 5 to allow a maximum horizontal distance between two of the datum balls,
and maximum height for the top datum ball. The vertical location of the two short riser blocks and of
the fourth datum ball were selected through discretization and simulation in RoboDK [20], in order to
allow a wide range of measurement orientations. As for the datum balls, these are manufactured by
Micro Surface Engineering. The complete artifact weighs approximately 20 kg.
For validation purposes, three magnetic nests for 1.5-in SMRs are also attached to the artifact.
Their centers define the world reference frame, xw yw zw , as shown in Figure 4. The locations of the four
datum balls with respect to that reference frame are then measured on a Mitutoyo CRYSTA-Apex C
544 CMM and are presented in Table 1.
Sensors 2020, 20, x FOR PEER REVIEW 6 of 15
Sensors 2020, 20, x FOR PEER REVIEW 6 of 15

describe in the following section, the main measurement procedure (the so-called auto-centering)
describe in the following section, the main measurement procedure (the so-called auto-centering)
Sensors 2020, 20,consists
essentially 5919 6 of 15
of moving the robot end-effector iteratively until all digital indicators measure
essentially consists of moving the robot end-effector iteratively until all digital indicators measure
(almost) zero displacement.
(almost) zero displacement.

Figure 4. Characterizing the 3D ball artifact on a Coordinate Measuring Machine (CMM).


Figure4.4.Characterizing
Figure Characterizingthe
the 3D
3D ball
ball artifact on a Coordinate
Coordinate Measuring
MeasuringMachine
Machine(CMM).
(CMM).

Figure 5. TriCal and the 3D ball artifact fixed, during measurements.


Figure5.5.TriCal
Figure TriCaland
and the
the 3D
3D ball
ball artifact
artifact fixed,
fixed, during
during measurements.
measurements.
TableTable
1. Positions of theof
1. Positions four
the1-in
fourdatum balls with
1-in datum ballsrespect to the world
with respect to the reference frame frame
world reference
Table 1. Positions of the four 1-in datum balls with respect to the world reference frame
Ball x [mm] y [mm] z [mm]
Ball
Ball x x[mm]
[mm] yy [mm]
[mm] z [mm]
z [mm]
1 −79.539 −330.141 17.531
1 −79.539
−79.539 −330.141
−330.141 17.531
2 1 −79.193 287.805 17.531
18.740
2 −79.193
−79.193 287.805 18.740
3 2 −79.650 287.805
−21.958 18.740
276.388
3 −79.650
−79.650 −21.958
−21.958 276.388
4 3 26.379 −21.676 276.388
170.489
4 4 26.379
26.379 −21.676
−21.676 170.489
170.489

3. Measurement Procedure
3. Measurement
2.3. CommunicationProcedure
System
During the measurement phase, the robot must probe each of the four datum balls with different
AnDuring the measurement
extremely important phase, theofrobot
advantage must probe
theiseach of is
thewireless,
four datum balls with different
end-effector orientations. Each probing ofTriCal
a datumis that
ball device
essentially thanks
an automated toprocedure
the embeddedfor
end-effector
Bluetooth orientations.
technology in the Each probing
Sylvac digital of a datum
indicators. ball
The is essentially
Bluetooth an
signals automated
coming from procedure
each for
indicator
bringing the robot TCP at the center of the datum ball.
bringing the robot TCP at the center of the datum ball.
are converted
Before theto virtual serial ports
measurement with
phase, thethe use of
digital Sylvac’sare
indicators V-MUX (Virtual
mastered withMultiplexer) software
the 1.5-in master ball,in
Before the measurement phase, the digital indicators are mastered with the 1.5-in master ball,
a placed
PC. The PC thenonto
manually communicates with
the TriCal nest the robot
(Figure via Ethernet.
2). Once the masterAsballweinwill describe
place, in the following
each indicator is set to
placed manually onto the TriCal nest (Figure 2). Once the master ball in place, each indicator is set to
section, the
6.350 mm. main measurement procedure (the so-called auto-centering) essentially consists of moving
6.350 mm.
the robot end-effector iteratively until all digital indicators measure (almost) zero displacement.
As already mentioned, it is crucial to measure on a CMM the axes of the cylindrical channels
As already mentioned, it is crucial to measure on a CMM the axes of the cylindrical channels
and the center of the master ball while in the trihedral socket, all with respect to the tool changer.
and
3.Then,the center of
Measurement the master ball while in the trihedral socket, all with respect to the tool changer.
Procedure
a tool reference frame is defined such that its center coincides with the center of the master ball
Then, a tool reference frame is defined such that its center coincides with the center of the master ball
During the measurement phase, the robot must probe each of the four datum balls with different
end-effector orientations. Each probing of a datum ball is essentially an automated procedure for
bringing the robot TCP at the center of the datum ball.
Sensors 2020, 20, 5919 7 of 15

Before the measurement phase, the digital indicators are mastered with the 1.5-in master ball,
placed manually onto the TriCal nest (Figure 2). Once the master ball in place, each indicator is set to
6.350 mm.
As already mentioned, it is crucial to measure on a CMM the axes of the cylindrical channels
and the center of the master ball while in the trihedral socket, all with respect to the tool changer.
Then, a tool reference frame is defined such that its center coincides with the center of the master
ball and its axes coincide with the axes of the channels. Of course, since the axes are not perfectly
orthogonal and concurrent, we used a 3D metrology software (PolyWorks) to find the best fit.
Once the tool reference frame is correctly defined, it is easy to jog the robot along the axes of
the three digital indicators. After characterization (Figure 4), the artifact is placed in the robot cell in
its prescribed location (Figure 5). In our case, since we use a BuldingPro welding table and fixtures
that have precision holes equally spaced with tolerance of about 40 µm and surfaces with flatness of
about 0.3 mm per 1 m, we know the positions of the datum balls with respect to the robot’s base frame
with good accuracy (better than 1 mm). Furthermore, we have precise knowledge of the robot tool
reference frame as it was measured on a CMM. Finally, a robot like the one used in our study typically
has position errors that are less than 4 mm, before calibration. Therefore, even without calibration,
the robot can bring its TCP well within the 5-mm measurement range of TriCal from the center of each
datum ball. Thus, there is no need for manually teaching the positions of the datum balls and the
whole measurement sequence can be programmed off-line.
Once the TriCal is positioned onto a datum ball using only the inherent position accuracy of the
non-calibrated robot, an automated centering sequence is launched. Essentially, the measurements
from the indicators are read in the PC and a linear motion command with the respective displacements
relative to the tool reference frame is sent to the robot. The sequence is repeated several times, until all
three indicators read displacements of less than 3 µm. Then, the robot joint values are retrieved in the
PC and recorded. The auto-centering sequence lasts 30 s on the average.
The robot then backs the TriCal away, moves it to a different approach pose, then brings it to the
datum ball with a different orientation, and finally the auto-centering procedure is launched again.
Each of the four datum balls is probed with several different orientations.
The complete 3D environment was modeled in RoboDK [23] and the whole measurement
procedure was implemented in the same software. Thus, 3D interferences were accounted for and
avoided. Python scripts were written for interfacing with the indicators, for the auto-centering
procedure (Figure 6), and for the complete measurement sequence. Note that RoboDK already comes
with the necessary “plugins” to control a KUKA robot over Ethernet. Thus, the whole measurement
procedure is fully automated and executed from RoboDK, except for the mastering of TriCal.
The whole procedure is summarized in Table 2.

Table 2. Proposed Calibration Procedure.

Proposed Calibration Procedure


1. Attach 3D ball artifact, preliminarily inspected on a CMM, to the robot’s base support, in a precisely
known location.
2. Attach TriCal, preliminarily adjusted with the desired total weight and inspected on a CMM, to the
flange of the industrial robot.
3. Start robot in manual mode, reorient TriCal upwards and then manually master the three
digital indicators.
4. Switch robot to automatic mode and run RoboDK on PC connected to the robot.
5. Execute Python code for probing each of the four datum balls with 20 different orientations, preliminarily
determined through observability analyses. Each probing is based on the auto-centering procedure
outlined in Figure 5. Once all 80 joint targets are recorded, identify the 31 robot parameters.
6. Once these 31 robot parameters identified, use RoboDK to calculate so-called fake targets for each new
desired end-effector pose.
procedure was implemented in the same software. Thus, 3D interferences were accounted for and
avoided. Python scripts were written for interfacing with the indicators, for the auto-centering
procedure (Figure 6), and for the complete measurement sequence. Note that RoboDK already comes
withSensors
the necessary
2020, 20, 5919“plugins” to control a KUKA robot over Ethernet. Thus, the whole measurement
8 of 15
procedure is fully automated and executed from RoboDK, except for the mastering of TriCal.

Figure
Figure6.6.Automated centeringalgorithm.
Automated centering algorithm.

4. Measurement Accuracy
In this section, we will estimate the accuracy of the complete system and measurement procedure.
However, since the rated position repeatability of the robot used (or any similar small robot with a
payload between 1.3 kg and 7 kg) is 30 µm, there is no need for complex analyses—a quick verification
shows that our measurement accuracy is several times better than 30 µm. A summary of the validation
is given in Table 3.

Table 3. Procedure for measuring the precision of TriCal.

Proposed Procedure (Refer to Figure 7)


1. Place the 1.5-in master ball in the trihedral socket of the triaxial mount.
2. Master all three digital indicators.
3. Measure the position of the master ball with the CMM.
4. Remove the master ball.
5. Automatically position a 1-in datum ball attached to a highly precise six-axis robot until all three indicators are at zero.
6. Measure the position of the datum ball with the CMM.
7. Move the datum ball away.
8. Repeat step 5–7 two more times.

The sphericity and diameter tolerance of the 1-in datum balls and of the 1.5-in master ball used
in this work are ±1.27 µm. The accuracy of the digital indicators is 1.8 µm. Finally, the Mitutoyo
CRYSTA-Apex C 544 CMM used for characterization of TriCal has an uncertainty of 1.9 µm.
If we were to use TriCal as a 3D measurement device, i.e., for measuring the precise offset of
the center a 1-in datum ball with respect to the tool reference frame, then we must also measure
the orthogonality of the three channels in the tri-axial mount of TriCal, or more importantly the
orthogonality of the planar surfaces of the three disk-shaped tips, which we did. However, recall that
Sensors 2020, 20, x FOR PEER REVIEW 9 of 15

Table 3. Procedure for measuring the precision of TriCal.

Proposed Procedure (Refer to Figure 7)

1. Place the 1.5-in master ball in the trihedral socket of the triaxial mount.
Sensors 2020, 20,
2. 5919
Master all three digital indicators. 9 of 15
3. Measure the position of the master ball with the CMM.
4. Remove the master ball.
we do not need TriCal to beposition
5. Automatically accurate;
a 1-inwe onlyball
datum need it betoprecise.
attached a highly Essentially,
precise six-axiswe need
robot untilthat when TriCal
all three
is centered overindicators
a 1-inare at zero. ball such that all three indicators display “0.000”, the center of that
datum
6. Measure the position of the datum ball with the CMM.
datum ball is extremely close to the TCP, which is the center of the 1.5-in master ball during mastering.
7. Move the datum ball away.
Therefore, we
8. built
Repeatthe
stepsetup
5–7 twoshown in Figure 7 and performed the following measurements on a CMM.
more times.

Figure 7. Setup for measuring the precision of TriCal.


Figure 7. Setup for measuring the precision of TriCal.
5. Robot Modeling and Parameter Identification
We first position the 1-5-in master ball in the trihedral socket of TriCal and master all three digital
The robot kinematic parameters are modeled according to the Modified Denavit–Hartenberg
indicators (i.e., set them to 6.350 mm). Then, we measure the position of the master ball with the CMM.
(MDH) convention [25]. An additional parameter, i 1 , defines the skewness between the axes of the
This is the actual TCP of TriCal. (We used a similar setup to measure that same TCP but with respect to
second and third joint [26]. The robot nominal MDH parameters are presented in Table 4.
the tool changer of the complete TriCal assembly.) We then removed the master ball and mounted one
of the datum ballsTable
on a4.veryKUKAsmall andNominal
KR6 R700 highlyModified
preciseDenavit–Hartenberg
robot arm—Mecademic’s Meca500 [24]. We then
(MDH) Parameters.
used anotheri
auto-centering
 i 1 [°] procedure
ai 1 [mm]
to move the datum
d i [mm]
ball until all indicators
i [°] shows
i 1 [°] a maximum
displacement1 of ±3180 µm. We then measured 0 the datum −400 ball with the 1 CMM. We repeated
n/a the last
phase three 2 times (i.e.,
90 measured the datum
25 ball after three
0 auto-centering  2
sequences). n/a The maximum
deviation 3measured0between the positions 315 of the datum 0 ball and the3position
 90 of the master
0 ball was
about 2 µm. 4 90 35 −365 4 n/a

Even5if we consider−90
the errors in0 the positions of the 0
datum balls 5on the artifact n/a
(Figure 4) due
6 90 0 −80 6 n/a
to the 1.9 µm measurement uncertainty and the minor deflections of the artifact, our measurement
procedure isThe clearly several matrix
homogeneous times transformation
more accurateforthan eachthejointrepeatability of the
frame is calculated as,robot itself. In fact, it is
even more accurate than a measurement with a laser tracker.
i 1
Ti  R x (i 1 )Trx (ai 1 )R y (i 1 )R z (i )Trz (di ), (1)
5. Robot Modeling and Parameter Identification
The robot kinematic parameters are modeled according to the Modified Denavit–Hartenberg
(MDH) convention [25]. An additional parameter, βi−1 , defines the skewness between the axes of the
second and third joint [26]. The robot nominal MDH parameters are presented in Table 4.
The homogeneous matrix transformation for each joint frame is calculated as,

Ti−1
i = Rx (αi−1 )Trx (ai−1 )R y (βi−1 )Rz (θi )Trz (di ), (1)

where i is the frame number, and the matrix transformations include the rotation matrices corresponding
to the twist angle αi−1 , the joint angle θi , and the rotation parameter βi−1 , along with the translation
Sensors 2020, 20, 5919 10 of 15

matrices corresponding to the link length ai−1 and the link offset di . The tool and base frame
transformation matrices, T6T (χT ) and TW
0
(χB ), respectively, are calculated as:

T(χ) = Tr(x, y, z)Rz (α)R y (β)Rx (γ). (2)

Table 4. KUKA KR6 R700 Nominal Modified Denavit–Hartenberg (MDH) Parameters.

i αi−1 [◦ ] ai−1 [mm] di [mm] θi [◦ ] βi−1 [◦ ]


1 180 0 −400 θ1 n/a
2 90 25 0 θ2 n/a
3 0 315 0 θ3 − 90 0
4 90 35 −365 θ4 n/a
5 −90 0 0 θ5 n/a
6 90 0 −80 θ6 n/a

The tool frame is calculated with respect to the robot flange and the base frame is calculated with
respect to the world frame. The tool and base reference frame parameters are shown in Table 5.

Table 5. Base and Tool Nominal Parameters.

Frame x [mm] y [mm] z [mm] α [◦ ] β [◦ ] γ [◦ ]


Base xW
0
yW
0
zW
0
αW
0
βW
0
γW
0
Tool x6T y6T z6T α6T β6T γ6T

A total of 31 independent parameter errors that are to be identified are included in the complete
robot model. The error parameters include 26 kinematic parameters and 5 joint stiffness parameters
(c2 , c3 , . . . , c6 ) as listed in Tables 6 and 7. Indeed, several possible errors are not identified due to
redundancies. The first link errors (δα0 , δa0 , δd1 , δθoffs1 ) are dependent on the base frame. Furthermore,
the axes of joints 2 and 3 are parallel, so only one of either δd2 or δd3 should be included model.
Finally, since the tool reference frame is precisely measured on a CMM, we do not consider the tool
frame parameters into the identification process. Thus, the 31 independent parameters retained are
the 6 errors in the coordinates of the base frame, the 19 errors of the MDH parameters of frames
2 to 6 except for δd2 , the skewness parameters between the axes of joints 2 and 3, and the 5 stiffness
parameters for joints 2 to 6.

Table 6. Base and Tool Calibration Parameters.

Frame x [mm] y [mm] z [mm] α [◦ ] β [◦ ] γ [◦ ]


Base xW
0
+ δxW
0
yW
0
+ δyW
0
zW
0
+ δzW
0
αW
0
+ δαW
0
βW
0
+ δβW
0
γW
0
+ δγW
0
Tool x6T y6T z6T α6T β6T γ6T

Table 7. Robot Calibration Kinematic and Joint Stiffness Parameters.

i αi−1 [◦ ] ai−1 [mm] di [mm] θi [◦ ] βi−1 [◦ ]


1 α0 a0 d1 q1 + θo f f s,1 n/a
2 α1 + δα1 a1 + δa1 d2 q2 + θo f f s,2 + δθo f f s,2 + c2 τ2 n/a
3 α2 + δα2 a2 + δa2 d3 + δd3 q3 + θo f f s,3 + δθo f f s,3 + c3 τ3 β2 + δβ2
4 α3 + δα3 a3 + δa3 d4 + δd4 q4 + θo f f s,4 + δθo f f s,4 + c4 τ4 n/a
5 α4 + δα4 a4 + δa4 d5 + δd5 q5 + θo f f s,5 + δθo f f s,5 + c5 τ5 n/a
6 α5 + δα5 a5 + δa5 d6 + δd6 q6 + θo f f s,6 + δθo f f s,6 + c6 τ6 n/a

The gearbox of each joint is modeled iteratively in order to identify the stiffness parameters.
The gearbox model includes a linear torsional spring coefficient along with the external torque applied
Sensors 2020, 20, 5919 11 of 15

to each robot joint, except for the stiffness model of the first joint which is ignored, because of no
external torque is applied on joint 1 in our setup. The Newton–Euler [25] algorithm was applied in
order to find the external torque of the joints.
With a given set of joint angles, and the initial known parameters, the homogeneous transformation
matrix can be calculated with forward kinematic calculations through each frame transformation matrix.
The constant parameter vector of the complete robot model includes all MDH parameters
(link twists α, link lengths a, link offsets d and joint offsets θoffs ), all six stiffness coefficients (c) and all
base (χB ) and tool frame (χT ) parameters.

T
ρ = [αT , aT , dT , θToffs , β2 , χTT , χTB , cT ] . (3)

Variable parameters are considered to be the input joint configuration vector given as,

q = [q1 , q2 , . . . , q6 ]T (4)

and the torques applied to the joint gearbox (τ). The kinematic chain of the robot is calculated through
consecutive link transformations:

T06 (ρ, q, τ) = T01 (q1 )T12 (q2 )T23 (q3 )T34 (q4 )T45 (q5 )T56 (q6 ). (5)

The transformation chain is completed through implementing the world and tool frames. The final
version of the transformation matrix is calculated as,

TW W 0 6
T (ρ, q, τ) = T0 T6 TT . (6)

The homogeneous matrix transformation is calculated as the estimated position through


 W 
 xT 
=  yW
 
xest  = f (ρ, q, τ). (7)
 WT 
zT

The difference between the measured position data and the estimated position calculations gives
the absolute value of the error parameter vector:

∆x = xnmeasured − xnest . (8)

Identification of the new robot parameters starts with obtaining the position Jacobian matrix, J,
by differentiating the error vector equations around the robot nominal parameters as,

∂ f1 ∂ f1 ∂ f1
 

 ∂ρ1 ∂ρ2
··· ∂ρm


 ∂ f2 ∂ f2 ∂ f2 
J =  ∂ρ1 ∂ρ2
··· ∂ρm
,
 (9)
∂ f3 ∂ f3 ∂ f3
 
···
 
∂ρ1 ∂ρ2 ∂ρm

^
where ρ1 , ρ2 , . . . , ρm are the 31 independent elements of vector ρ. Let ρ = [ρ1 , ρ2 , . . . , ρm ]T .
For n robot measurements, the linearized equation of the position error vector ∆x is given by
multiplying the Jacobian matrix with the deviation of the calibration parameters:

∂x ^ ^
∆x = ∆ ρ = J∆ ρ. (10)
∂ρ
Sensors 2020, 20, 5919 12 of 15

^
In our case, the parameter deviation ∆ ρ. must be the output of the equations since we know
the position error vector ∆x and the Jacobian matrix elements. The Jacobian matrix is inverted with
Moore–Penrose inverse and the equation becomes,

^ −1
∆ ρ = (JT J) JT ∆x, (11)

leaving the deviation parameter vector as the result of the equation


^
∆ ρ = J+ ∆x. (12)

An observability estimation is made, in order to find the optimal set of joint angles for
Sensors 2020, 20, x FOR PEER REVIEW 12 of 15
parameter identification. The aim of using an observability index is to reach better identification in the
non-kinematic parameters.
An observability Observability
estimation index
is made, in orderO1 [27]the
to find was used,set
optimal where a angles
of joint previous study showed
for parameter
better identification.
results comparing The aim of using an observability index is to reach better identification in the non- as,
to other observability index equations [28]. The equation is presented
kinematic parameters. Observability index O1 [27] was used, where a previous study showed better
1
(σ1equations
results comparing to other observability index σ2 σ3 . . . σ[28].
m ) m The equation is presented as,
O1 = √ , (13)
n 1
( 1 2 3 m) m
O1  , (13)
where n is the number of joint sets used in measurements, n m is the number of calibration parameters
(31 in where
our case), σ are
n is the the singular
number values
of joint sets used taken from the Jacobian
in measurements, matrix.ofThe
m is the number outputparameters
calibration joint angles are
chosen(31
using
in ourthe DETMAX
case), σ are thealgorithm [29]. The
singular values takenalgorithm consistsmatrix.
from the Jacobian of rearranging
The outputanjoint
initial of n joint
set are
angles
angleschosen
by adding
using from and extracting
the DETMAX algorithm the NThe
to [29]. configuration pool,of
algorithm consists until getting an
rearranging theinitial
best observability
set of n
index joint angles
inside the nby adding
joint set. from and extracting to the N configuration pool, until getting the best
observability index inside the n joint set.
6. Validation and Results
6. Validation and Results
Initially, a large pool of feasible robot joint sets (attainable without collisions) corresponding to
Initially, a large pool of feasible robot joint sets (attainable without collisions) corresponding to
datumdatum
ball probing was generated according to the measurement setup. By using the observability
ball probing was generated according to the measurement setup. By using the observability
index,index,
80 of 80
these joint setssets
of these joint werewereselected
selectedfor
forthe
the actual measurements,
actual measurements, 20 20
forfor
each each
datumdatum
ball. ball.
Once Once
the 31 theerror parameters
31 error parameters are
areidentified,
identified, a validationisis
a validation performed
performed using
using a FARO
a FARO laser tracker
laser tracker
(Figure 8). Firstly,
(Figure the the
8). Firstly, world
worldreference
referenceframe
frame with respecttotothe
with respect the laser
laser tracker
tracker frameframe is obtained
is obtained by by
measuring
measuring the positions
the positions of theofthree
the three magnetic
magnetic nestsnests on3D
on the theball
3D artifact.
ball artifact.
Then, Then, the artifact
the artifact is
is removed,
and anremoved, and an SMRinisthe
SMR is positioned positioned
trihedral in socket
the trihedral socket
of TriCal of TriCal
with the helpwith
of the help of a rare-Earth
a rare-Earth magnet. Recall
magnet. Recall that the center of the SMR corresponds exactly to the robot TCP. The robot is then sent
that the center of the SMR corresponds exactly to the robot TCP. The robot is then sent to 500 random
to 500 random joint sets, with the only constraints of avoiding collisions and having the SMR face the
joint sets, with the only constraints of avoiding collisions and having the SMR face the laser tracker.
laser tracker.

Figure 8. Validation of the robot accuracy in 500 joint sets with a FARO laser tracker.
Figure 8. Validation of the robot accuracy in 500 joint sets with a FARO laser tracker.
The measurements for identification with the TriCal and the measurements for validation with
the FARO laser tracker are demonstrated in the Novel, affordable device for industrial robot calibration
video found on YouTube [30].
The robot parameters as identified after measurements with the TriCal are presented in Table 8.
Then the position errors after calibration (i.e., after using the identified parameters in Table 8) and
measured with the laser tracker in 500 poses are presented in Figure 9.
y0W [mm] −21.901 −23.563
W
z 0 [mm] −58.349 −58.157
 W
0 [°] 0.000 0.254
Sensors 2020, 20, 5919  0W [°] 0.000 0.014 13 of 15

 0W [°] 0.000 0.172


The measurements for identification with the TriCal and the measurements for validation with the
1 [°]
FARO laser tracker are demonstrated in the Novel,90.000 90.005
affordable device for industrial robot calibration video
found on YouTube [30]. 2 [°] 0.000 −0.015
The robot parameters as identified
 3 [°] after measurements with the TriCal are presented in Table 8.
90.000 89.999
Then the position errors after calibration (i.e., after using the identified parameters in Table 8) and
measured with the laser tracker in500
4
[°] −90.000 in Figure
poses are presented −89.895 9.
 5 [°] 90.000 89.983
Table 8. Comparison of nominal and identified robot calibration parameters.
a1 [mm] 25.000 25.243
Parameters Nominal Identified
a2W [mm] 315.000 315.16
x0 [mm] −536.320 −538.014
ay3W
0
[mm]
[mm] 35.000
−21.901 35.106
−23.563
zW [mm] −58.349 −58.157
a04αW[mm] [◦ ] 0.000 0.075
0
0.000 0.254
a5β0 [mm]
W [◦ ] 0.000
0.000 0.014
0.032
γ [◦ ]
W 0.000 0.172
d 3α01[mm] [◦ ] 0.000
90.000 0.067
90.005
d 4α2[mm] [◦ ] 0.000
−365.000
−0.015
−365.34
α3 [◦ ] 90.000 89.999
d 5α4[mm] [◦ ] −90.000
0.000 −89.895
0.001
α5 [◦ ] 90.000 89.983
da61 [mm] [mm] −80.000
25.000 −80.279
25.243
a2 [mm] 315.000 315.16
aoffs[mm], 2 [°] 0.000
35.000 0.026
35.106
3
aoffs
4 [mm]
, 3 [°]
0.000
−90.000
0.075
−89.956
a5 [mm] 0.000 0.032
doffs
3 [mm], 4 [°]
0.000
0.000 0.067
0.007
d4 [mm] −365.000 −365.34
doffs
5 [mm], 5 [°] 0.000
0.000 0.015
0.001
d6 [mm] −80.000 −80.279
θooffsf f,s,2
6 [[°]
◦] 0.000
0.000 0.012
0.026
θo f f s,3 [ ] ◦
−90.000 −89.956
 [°]
θo f 2f s,4 [◦ ] 0.000
0.000 −0.005
0.007
c2 [? θoNm f f s,5 [◦10] 3 ] 0.000
0.000 0.015
2.987
θo f f s, 6 [ ] ◦
0.000 0.012
◦ ] 103 ]
c3 [? βNm 2[  0.000
0.000 −3.238
−0.005
c2 [◦ /Nm × 10−3 3] 0.000 2.987
◦ Nm  10−3 ]
cc 4 [[? 0.000
0.000 −8.723
−3.238
3 /Nm × 10 ]
◦ /Nm × 10−3
cc45 [[? Nm  103 ]] 0.000
0.000
−8.723
−25.489
c5 [◦ /Nm × 10−3 ] 0.000 −25.489
c66 [[? Nm 103]]
◦ /Nm × 10−3 0.000
0.000 −28.161
−28.161

Figure Figure 9. Summary


9. Summary andand histogramofofposition
histogram position errors
errorsafter calibration
after with TriCal.
calibration with TriCal.
Sensors 2020, 20, 5919 14 of 15

Finally, in order to compare the efficiency of the TriCal to that of the laser tracker, when it comes
to robot calibration, we also performed an identification using measurements taken only with a laser
tracker. Specifically, we took 80 measurements throughout the workspace of the robot, selected using
the observability analysis described in Section 5. Then, the accuracy after calibration was measured in
the same 500 poses used in the case of TriCal.
The final results are shown in Table 9. Note that in all tests, the weight of the end-effector was
6 kg, i.e., the maximum rated payload of the robot. As expected, the laser tracker leads to slightly better
results, because the measurements used for identification are more evenly distributed throughout the
workspace of the robot.

Table 9. Comparison of position errors after calibration with TriCal and laser tracker.

Method Mean [mm] Maximum [mm] Standard Deviation [mm]


TriCal 0.326 0.624 0.107
Laser Tracker 0.231 0.539 0.087

7. Conclusions
A practical method for on-site robot calibration based on a novel wireless 3D measurement device
was presented. The method was tested on a KUKA KR6 R700 sixx industrial robot. It was found that
the efficiency of the new method is close to that of a laser tracker, when it comes to calibrating a small
industrial robot. To further improved the efficiency of our method, more research is needed on the
design of the 3D ball artifact. A wider distribution of the datum balls is needed, and the artifact has to
be more portable.
That said, the new device and the 3D ball artifact are several times less expensive than the
most affordable laser tracker. Indeed, the cost of the new device is less than USD 5000. Furthermore,
although not discussed in this paper, we may argue that our device is better suited to characterizing
the repeatability of an industrial robot, as it is more precise at measuring micrometer displacements.

Author Contributions: The design of the TriCal device, its implementation in RoboDK, and all measurements
on the CMM were made by O.S. The optimal design and location of the 3D ball artifact, the programming of
the complete measurement procedures with TriCal and with the FARO laser tracker, and the elaboration of the
calibration method were done by C.I. The work was directed and supervised by I.B. All authors have read and
agreed to the published version of the manuscript.
Funding: This research was funded by the Canada Research Chair on Precision Robotics.
Conflicts of Interest: I.B. is cofounder and shareholder of Mecademic, the manufacturer of the industrial robot
that was used for measuring the precision of the TriCal.

References
1. Chen, G.; Li, T.; Chu, M.; Xuan, J.Q.; Xu, S.H. Review on kinematics calibration technology of serial robots.
Int. J. Precis. Eng. Manuf. 2014, 15, 1759–1774. [CrossRef]
2. Siciliano, B.; Khatib, O. Springer Handbook of Robotics; Springer Science and Business Media: Berlin, Germany, 2008.
3. Lifelong Absolute Accuracy for Industrial Robots. Available online: https://www.hexagonmi.com/solutions/
case-studies/other-cool-stuff/lifelong-absolute-accuracy-for-industrial-robots (accessed on 8 October 2020).
4. Joubair, A.; Bonev, I.A. Kinematic calibration of a six-axis serial robot using distance and sphere constraints.
Int. J. Adv. Manuf. Technol. 2015, 77, 515–523. [CrossRef]
5. Yu, C.; Chen, X.; Xi, J. Determination of optimal measurement configurations for self-calibrating a robotic
visual inspection system with multiple point constraints. Int. J. Adv. Manuf. Technol. 2018, 96, 3365–3375.
[CrossRef]
6. Goswami, A.; Quaid, A.; Peshkin, M. Identifying robot parameters using partial pose information. IEEE Control
Syst. Mag. 1993, 13, 6–14.
7. Nubiola, A.; Bonev, I.A. Absolute calibration of an ABB IRB 1600 robot using a laser tracker. Robot. Comput.
-Integr. Manuf. 2013, 29, 236–245. [CrossRef]
Sensors 2020, 20, 5919 15 of 15

8. Yizhou, J.; Liandong, Y.; Huakun, J.; Huining, Z.; Haojie, X. Absolute positioning accuracy improvement in
an industrial robot. Sensors 2020, 20, 4354. [CrossRef]
9. Cai, Y.; Yuan, P.; Chen, D. A flexible calibration method connecting the joint space and the working space of
industrial robots. Ind. Robot Int. J. 2018, 45, 407–415. [CrossRef]
10. Driels, M.R.; Swayze, W.; Potter, S. Full-pose calibration of a robot manipulator using a coordinate-measuring
machine. Int. J. Adv. Manuf. Technol. 1993, 8, 34–41. [CrossRef]
11. Nubiola, A.; Slamani, M.; Joubair, A.; Bonev, I.A. Comparison of two calibration methods for a small
industrial robot based on an optical CMM and a laser tracker. Robotica 2014, 32, 447–466. [CrossRef]
12. Driels, M.R.; Pathre, U.S. Vision-based automatic theodolite for robot calibration. IEEE Trans. Robot. Autom.
1991, 7, 351–360. [CrossRef]
13. Wang, W.; Wang, G.; Yun, C. A calibration method of kinematic parameters for serial industrial robots.
Ind. Robot Int. J. 2014, 41, 157–165. [CrossRef]
14. Meggiolaro, M.A.; Scriffignano, G.; Dubowsky, S. Manipulator calibration using a single endpoint contact
constraint. In Proceedings of the ASME Design Engineering Technical Conference, Baltimore, MA, USA,
10–13 September 2000.
15. Nadeau, N.A.; Bonev, I.A.; Joubair, A. Impedance control self-calibration of a collaborative robot using
kinematic coupling. Robotics 2019, 8, 33. [CrossRef]
16. Gaudreault, M.; Joubair, A.; Bonev, I. Self-calibration of an industrial robot using a novel affordable 3D
measuring device. Sensors 2018, 18, 3380. [CrossRef] [PubMed]
17. ROSY—Robot Optimization System by Teconsult GmbH. Available online: https://www.teconsult.de/
produkte/rosy/ (accessed on 8 October 2020).
18. LaserLAB by Wiest AG. Available online: https://www.wiest-ag.de/en/laserlab.html (accessed on 8 October 2020).
19. ZIS robot calibration unit by ZIS Industrietechnik GmbH. Available online: https://www.zis-cutting.de/en/
machine-components/robot-calibration-unit/ (accessed on 8 October 2020).
20. Weikert, S. R-Test, a new device for accuracy measurements on five axis machine tools. CIRP Ann. Manuf. Technol.
2004, 53, 429–432. [CrossRef]
21. Bringmann, B.; Küng, A.; Knapp, W. A measuring artefact for true 3D machine testing and valibration.
CIRP Ann. Manuf. Technol. 2005, 54, 471–474. [CrossRef]
22. Guo, Y.; Song, B.; Tang, X.; Zhou, X.; Jiang, Z. A calibration method of non-contact R-test for error measurement
of industrial robots. Measurement 2020, in press. [CrossRef]
23. RoboDK Offline Simulation and Programming Home Page. Available online: https://robodk.com/ (accessed on
8 October 2020).
24. Mecademic, Meca500—Ultracompact six-axis industrial robot arm. Available online: https://www.mecademic.
com/products/Meca500-small-robot-arm (accessed on 24 April 2020).
25. Craig, J.J. Introduction to Robotics: Mechanics and Control, 4th ed.; Pearson: Upper Saddle River, NJ, USA, 2018.
26. Hayati, S.; Tso, K.; Roston, G. Robot geometry calibration. IEEE Int. Conf. Robot. Autom. 1988, 2, 947–951.
27. Sun, Y.; Hollerbach, J.M. Observability index selection for robot calibration. IEEE Int. Conf. Robot. Autom.
2008, 831–836. [CrossRef]
28. Joubair, A.; Nubiola, A.; Bonev, I. Calibration efficiency analysis based on five observability indices and two
calibration models for a six-axis industrial robot. SAE Int. J. Aerosp. 2013, 6, 161–168. [CrossRef]
29. Mitchell, T.J. An algorithm for the construction of “D-optimal” experimental designs. Technometrics 1974, 16, 203–210.
30. CoRo Lab, ÉTS, “Novel, Affordable Device for Industrial Robot Calibration,” [video], YouTube. Available
online: https://youtu.be/O2vGkOy08h0 (accessed on 24 April 2020).

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional
affiliations.

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).

You might also like