You are on page 1of 7

2017 2nd Asia-Pacific Conference on Intelligent Robot Systems

Accuracy Enhancement of Industrial Robots by On-line Pose Correction

Sepehr Gharaaty, Tingting Shu, Wen-Fang Xie Ahmed Joubair, Ilian A. Bonev
Department of Mechanical and Industrial Engineering Department of Automated Manufacturing Engineering
Concordia University École de Technologie Supérieure
Montreal, QC, Canada Montreal, QC, Canada
e-mail: wfxie@encs.concordia.ca

Abstract—This paper presents a novel, cost-effective dynamic robot controller and the manufactured one. In addition, the
pose correction (DPC) strategy to address the issues on the change in environment temperature can affect the size of the
accuracy enhancement of industrial robots. This strategy, also components of a robot. Hence, the difference between the
known as visual-servoing, uses a photogrammetry based 6D nominal model of the robot in the controller and the real one
measurement device to track the position and orientation of affects the accuracy of the industrial robots [5].
the robot’s end-effector in real-time. To realize this strategy, Robot calibration is the most common solution to
we first propose a root mean square (RMS) method to filter the enhance the accuracy of industrial robots. This is done by
noise from the pose measurements. The estimated pose from minimizing the differences between the actual kinematic
the sensor serves as a feedback for visual-servoing system. Next,
model of the robot and the nominal one in the robot
a DPC controller is designed and integrated with a FANUC
robot controller through FANUC’s dynamic path modification
controller. Although robot calibration can improve the
(DPM) software package. As a result, the robot is guided to the accuracy of robots with the help of complex mathematical
desired pose in real-time and hence the positioning accuracy is algorithms and metrology equipment, the resulting accuracy
enhanced. Extensive experimental tests of the proposed is often insufficient. For instance, in [6], an ABB IRB 1600
algorithm have been carried out. The experimental results robot is calibrated by using a laser tracker and considering all
demonstrate that the pose accuracy of the robot (a FANUC M- possible geometric errors as well as the stiffness of the joints.
20iA) for stationary tasks has been improved to 0.050 mm and As a result, the maximum position error after calibration is
0.050º for position and orientation respectively. reduced from 2.158 mm to 0.690 mm. Also, in [7], the mean
and maximum position error of a six-axis industrial robot, a
Keywords-industrial robots; visual-servoing; real-time FANUC LR Mate 200iC, is improved from 0.622 mm and
measurement; C-track; on-line pose correction; accuracy 1.762 mm to 0.142 mm and 0.899 mm respectively. Nubiola
enhancement et al. [8], reduced the mean and maximum position error of
an ABB IRB 120 robot from 3 mm and 5 mm to 0.150 mm
I. INTRODUCTION and 0.500 mm respectively after calibration. They considered
five stiffness parameters, in addition to the kinematic
Industrial robots are widely used in various applications,
parameters in their calibration model. More recently,
from simple packaging tasks to the complex aerospace
Gaudreault et al. [9], improved the maximum position error
applications. Most of the manufacturing industries use serial
of an ABB IRB 120 robot from 1.726 mm to 0.491 mm
robots for inspection, assembly, welding, drilling, riveting,
by using a low-cost 3D measuring device (TriCal) in an
palletizing and fastening. In addition, robotic systems are
automated, closed-loop calibration method.
employed in military, urban and exploratory applications [1].
The second solution is to install secondary high-accuracy
Industrial robots are an inseparable part of the automated
encoders at each robot joint, immediately after the gearbox.
manufacturing system when performing repetitive tasks [2].
These encoders are installed to eliminate the effect of
Even though industrial robots have various applications, their
backlash, elasticity and non-linearity in the gearbox [10]. In
relatively low absolute accuracy is still a major problem [3].
[11], additional encoders are installed on robot joints to
Enhancing the accuracy of industrial robots is often a
calculate the deformation and compensate joint positions and
main concern for both manufacturers and operators who
enhancing pose accuracy. Due to the differences among
spend tremendous amounts of time fine-tuning the
industrial robots in terms of the size and application, this
trajectories of their robots by applying manually position
method needs to be customized for each robot. Therefore, for
offsets. On one hand, the new applications in automotive
the companies with numerous robots, this method can be
industries and aerospace need highly-accurate robots which
costly and infeasible.
can perform the tasks precisely. On the other hand, there are
In addition to the above mentioned solutions, vision data
many factors which affect the accuracy of an industrial robot
can be integrated into the robot control system to enhance the
[4]. The components of a robot and the environment where
performance and flexibility of the robot to deal with
the robot is operated can be considered as the major sources
unstructured environments [1], [12]. Using vision
of errors in serial robots. For instance, the manufacturing
information in a feedback control system to control the robot
process, tolerances and inevitable inaccuracies of the
manipulators, i.e. “Visual-Servoing Systems”, has attracted
components in an industrial robot can cause the difference
great attention of the researchers in the past decades. While
between the nominal mathematical model of the robot in the

978-1-5090-6793-0/17/$31.00 ©2017 IEEE 214


currently most of the measurement systems are limited in controller design and the developed software are addressed.
pose estimation rate, some research works are performed Next, the experiment procedures are detailed and finally the
using real-time metrology measurement sensors such as experimental results are presented followed by the
Nikon Metrology’s K-series optical CMM and laser trackers conclusion.
[13]–[16]. For instance, Lertpiriyasuwat and Berg in [14],
estimated and corrected the pose of the end-effector in a II. SYSTEM DESCRIPTION
gantry robot by using laser tracker and Kalman filter. In [15], This paper aims at addressing the problem of enhancing
the maximum position error of a calibrated KUKA robot is the accuracy of industrial robots by using a photogrammetry
improved from 1.379 mm to 0.069 mm by using Leica laser based 6D measurement device. The main challenges are to
tracker in a closed-loop system. Recently, Posada et al. [16] obtain the reliable 6D information of robot tool on-line and
developed and proposed a new sensor-based compensation to develop DPC to guide the robot tool to the desired pose
method to improve the accuracy of a KUKA KR210 robot in with high accuracy. To meet the challenge, we have built the
a robotic drilling process by using laser tracker. experimental setup which consists of two main components;
According to our experience, the highest position the robot and the vision sensor described below:
accuracy achieved through static calibration for a serial robot
similar to the one used in this research (payload 20 kg), is A. Serial Robot
approximately 1.000 mm. However, for small robots this The robot used in the experiments for this research is an
accuracy could be better as explained in [6]–[8]. Furthermore, articulated FANUC robot (M-20iA), which has six degrees
the current sensor-based corrections are either costly (due to of freedom with six rotary joints. Fig. 1 shows the FANUC
using laser trackers) or slow in terms of performance. For M-20iA robot in Concordia University robotics lab. This
instance, in [15], the desired precision (0.069 mm) is robot has a maximum load capacity 20 kg and its maximum
achieved after 2 or 3 correction iterations; however, the reach is 1811 mm.
authors did not clearly mention the required time for each According to FANUC documentations, the repeatability
iteration. In [16], the required precision for the position and of this robot is 0.080 mm, while the absolute position
orientation (0.1 mm and 0.2º), is satisfied after 5 correction accuracy can be as much as 7 mm based on our experience.
iterations, which takes approximately 125 seconds. In
addition, the distance error after the drilling was worse than
their accuracy threshold.
In the present paper a novel, cost-effective, fast and
practical sensor-based correction algorithm is developed and
implemented. The obtained results in this work are
significantly better than the above mentioned works ([13]-
[16]) in terms of accuracy and response time. The proposed
algorithm can handle the sources of errors by using C-Track
as a measurement instrument and performing on-line
corrections. Using this method, not only the position, but
also the orientation of the robot tool, are controlled and the
accuracy is improved to 0.050 mm for the position and
0.050º for the orientation. The pose estimation rate for the
sensor used in this research is 29 Hz. In addition, compared
to the current available sensors in the market, this sensor is
less expensive. The proposed algorithm is implemented in a
software by Microsoft Visual Basic.
The developed method is completely independent of the
kinematic chain parameters and is applicable to either
calibrated or un-calibrated industrial robots, therefore,
Figure 1. FANUC M-20iA robot
eliminating the need for annual costly static calibration. In
addition, the effect of the operator’s skills on handling the
In addition to components manufacturing tolerances,
measuring instruments is eliminated due to the automatic
losing accuracy due to the abrasive wearing of transmission
measurement technique developed in the DPC software.
parts, workload and temperature change in the environment,
Using the proposed strategy, the robot is guided to the
are the main problems of this robot.
desired pose by measuring the pose of the tool dynamically,
The Dynamic Path Modification (DPM) option offered
and comparing the acquired pose information with the
by FANUC, allows the operator to modify the pose of the
desired one which is already set by the user. This strategy
robot end-effector dynamically. Using this option, pose
has been extensively tested on a FANUC serial robot and the
corrections can be applied to the robot through a third party
experimental results are verified.
interface. The corrections can be applied along the entire
This paper begins with the description of the serial robot
path or only at the destination position for each segment of
and vision system used in the experiments. Then, the
the motion, known as Modal DPM and Inline DPM
methodology for pose error calculation, control scheme,

215
respectively. Using DPM option, the offsets can be applied current measurements. In order to solve this issue, root mean
with respect to different reference frames including user- square (RMS) is used to filter the noise of the C-Track
frame, tool-frame or along the path of the robot trajectory. It measurements. The RMS value of the pose of a model
should be noted that other robot manufacturers provide measured by C-Track can be obtained from the following
similar software options. For instance, ABB and KUKA equation:
offer the External Guided Motion (EGM) and the Robot N
Sensor Interface (RSI) respectively which work similar to ¦V i
2

FANUC DPM option. VRMS sgn((Vi )


sgn i 1
(1)
In this research, the corrections are calculated with N
respect to the user-frame and are applied to the robot by where Vi is a vector of six components including position
using the modal DPM. The details of the strategy and offset
and orientation of the robot end-effector model measured by
calculations techniques are presented later.
the C-Track at each interval, N is the number of
B. Vision System measurements to calculate RMS, i.e. RMS length, and
Optical coordinate measuring machines (CMMs) are the VRMS is the vector of calculated pose based on the RMS value
devices which use image-based triangulation to calculate the of N measurements.
pose of a model. These devices consist of accurate video
cameras providing dynamic tracking capabilities. In this
work, C-Track, a commercial product of Creaform shown in
Fig. 2, is used as the measurement sensor. This sensor is a
dual camera optical CMM, which can measure the position
of a number of retro-reflective targets simultaneously at the
maximum rate of 29 Hz.
One of the key advantages of the C-Track compared to
other optical measurement sensors, such as laser trackers, is
its lower price and its capability to measure and track the
pose of several reference frames. Each reference frame is
identified by at least four targets. Moreover, in contrast to a
laser tracker, an optical tracker can measure the pose of the
robot’s end-effector with respect to its base, thus eliminating
the problems with vibrations applied to the measurement Figure 3. 100 measurements taken by C-Track from position of a fixed
equipment. model

Figure 4. RMS values for each 10 measurements


Figure 2. Dual camera sensor (C-Track) from Creaform
After analyzing the measured data, it is proved that the
1) C-Track Data Analysis: One of the major drawbacks difference between the RMS values of each 10
of the C-Track is the noise associated with its measurements. measurements is almost negligible. Fig. 4 shows the RMS
The noise can affect the pose calculation accuracy. Fig. 3 values for the same 100 measurements.
shows 100 measurements taken by the C-Track of the robot As shown in the Fig. 4, the maximum deviation of RMS
end-effector position in a fixed configuration where the values on X, Y and Z axes reduced to 0.015 mm, 0.020 mm
vibrations of the robot and of the C-Track are negligible. and 0.030 mm respectively. Hence, by using the RMS value
the noise of the C-Track measurements can be improved by
As can be seen in Fig. 3, the peak to peak difference for
75%. This solution provides sufficient accuracy for the
X, Y, Z coordinates are approximately 0.060 mm, 0.050 mm
measured data and can be used as the feedback signal in the
and 0.120 mm respectively. Therefore, achieving the
PBVS control system.
accuracy better than 0.120 mm would be impossible with the

216
In our experiments, the value of N used in (1) is following algorithm based on the equivalent angle-axis
considered to be 10, i.e. after taking 10 measurements by the method.
C-Track, which takes 344 milliseconds (according to the The equivalent angle axis method uses a vector and an
frequency of the C-Track), the RMS value of X, Y, Z as angle to define the orientation between two frames. The
position and W, P, R as the orientation are calculated. vector is called equivalent axis and the angle is the rotation
Through the developed software, which will be explained in angle along the equivalent axis based on the right hand rule.
Section III-C, this method is implemented by a function The equivalent vector and the angle can be calculated from
which calculates the RMS after each ten measurements of the rotation matrix between two frames [17]. Consider the
the C-Track. rotation matrix between frames B and A as BA R represented
III. METHODOLOGY by:
In order to implement the pose correction algorithm, we ª a11 a12 a13 º
need to calculate the position and orientation error based on A «a »
BR « 21 a22 a23 » . (5)
the sensor information and then, apply the calculated errors «¬ a31 a32 a33 »¼
in Cartesian space to the robot properly. The following
sections illustrates the offset calculation procedure, control The equivalent rotation angle, θ, between the two frames
scheme and software implementation for our algorithm. can be calculated from the following equation;
A. Error Calculations § a  a  a33  1 ·
T arccos ¨ 11 22 ¸ (6)
1) Position Error Calculation: Considering the position © 2 ¹
error vector ('P) as the difference between the desired
and the equivalent axis K̂ is obtained by:
position and the current position, this vector can be
transformed into any known reference frame by using (3). ª a32  a23 º ª k x º
1 « a  a » «k » .
For instance, the position error represented in frame S Kˆ (7)
2sin T «
13 31 » « y»
(sensor-frame) is transformed into frame U (user-frame) by «¬ a21  a12 »¼ «¬ k z »¼
multiplying the homogeneous transformation matrix, US H 1 .
The rotation matrix between two frames based on
S
'P S
PDes  S PCur (2) equivalent angle-axis can be calculated by the following
U
'P S 1
H u 'P S
(3) equation;
U

where ª k x k x vT  cT k x k y vT  k z sT k x k z vT  k y sT º
« »
U
'P ['X , 'Y , 'Z ,1] . T
(4) RKˆ (T ) « k x k y vT  k z sT k y k y vT  cT k y k z vT  k x sT » (8)
Since the C-Track provides the pose of the tool at each « k x k z vT  k y sT k y k z vT  k x sT k z k z vT  cT »¼
¬
interval, these equations are used in the developed software
to calculate the position error and transform them into the where k x , k y and k z are the elements of the equivalent
user reference frame.
axis ( Kˆ ) , sT sin T , cT cosT and vT 1  cosT . Also, the
2) Orientation Error Calculation: In contrary to the
position error, the orientation error cannot be directly rotation matrix between two frames based on the Z-Y-X
calculated by subtracting the desired and current ones. In Euler angles can be obtained from (9) [17].
order to correct the orientation of the robot, we are using the

ªc( R)c( P) c( R) s( P) s(W )  s( R)c(W ) c( R)c(W ) s( P)  s( R) s(W ) º


S
RZYX ( R, P,W ) « s( R)c( P) s( R) s(W ) s( P)  c( R)c(W ) s( R)c(W ) s( P)  c( R) s(W ) » (9)
M « »
«¬  s( P) c( P) s(W ) c( P)c(W ) »¼

By comparing (8) and (9), the Euler angles between two As mentioned earlier, this solution is valid when P ≠ ±90.
frames can be extracted. According to [17], when If cos(P) = 0, only the summation or difference of R and W
cos( P) z 0 , the general solution for W-P-R can be found as can be computed, therefore, a unique solution cannot be
follows; found [17]. This situation is being predicted and avoided in
the developed software.
P
arctan 2 a31 , a112  a22
2
This algorithm is used to find the orientation error
between the current pose of the robot end-effector and the
§ a a · (10) desired one. Through the developed software, the equivalent
Rarctan 2 ¨ 21 , 11 ¸
© cos( P) cos( P) ¹ angle and axis between the desired pose and the current pose
of the robot is calculated with respect to the sensor-frame.
§ a a ·
W arctan 2 ¨ 32 , 33 ¸ .
© cos( P ) cos( P ) ¹

217
Since the corrections are applied with respect to the user- robot communication, which is designed to access the robot
frame, all the calculations are transformed into user-frame. controller variables and to apply dynamic corrections to the
Therefore, the equivalent axis vector is obtained with respect robot. The second part is devoted to the sensor
to the robot user-frame by using the homogeneous communication, which receives the C-Track measurements
transformation matrix. After finding the new equivalent axis, according to the created models and the third part is
the new rotation matrix can be obtained from (8). By responsible for the offset calculations and controller design.
comparing the rotation matrix with (9), the W-P-R values, The communication with the robot controller is realized
which are the orientation errors about the X, Y, and Z axes, by using FANUC's PC Developer Kit (PCDK) and TCP/IP
are extracted based on the explained algorithm. protocol and the communication with the C-Track is realized
by VXelements API as shown in Fig. 6.
U
VError ['X , 'Y , 'Z ,W , P, R]T (11)
U
where, VError is the vector of calculated position and
orientation errors.
B. Control Scheme
Fig. 5 shows the block diagram of the developed pose
correction algorithm. A proportional-integral-derivative (PID)
controller is used to eliminate the difference between the
desired and the measured pose. As shown in Fig. 5, for a
desired pose, VDes , the C-Track provides the current pose of
the robot end-effector, VCur . The controller input is the error
signal which is the difference between the current pose and
the desired pose of the robot end-effector.
Considering VError as the error signal, the general equation
for a PID controller is shown as follows: Figure 6. Schematic of the relation between different sections of the
t developed software
d
u (t ) K pVError  Ki ³ VError dW  K d VError (12)
0
dt
where K p , K i and K d are the proportional, integral and IV. EXPERIMENT DESCRIPTION
derivative gains respectively, which must be tuned to obtain Fig. 7 shows the schematic of the experimental setup for
implementing the pose correction algorithm. In addition, the
the desired performance of the system, u
u((t ) is the controller
definition of the reference frames used for error calculations
output which serves as the calculated offsets along X, Y, Z are illustrated. The C-Track provides the pose of the cube
and W, P, R for the position and orientation respectively. model, {C}, and tool model, {T}, with respect to its own
The calculated offsets can be applied to the robot through frame, {S}, continuously and the user frame, {U}, is used to
FANUC's DPM option as explained in Section II-A. apply the corrections. In order to implement the developed
pose correction algorithm and verify the performance of the
system, an experiment is designed according to the following
procedures.

Figure 7. Schematic of the experimental setup and reference frames used


Figure 5. Block diagram of the PBVS control system for error calculation

C. Developed Software Interface First, the robot is jogged to the desired pose (above the
A software is developed using Microsoft Visual Basic to hole on the cube), and the relation between the tool model
process the measurements, calculate the errors, implement and cube model is recorded in the developed software as a
the control strategy and apply real-time corrections. This homogeneous transformation matrix. Then, the robot moves
software consists of three major parts. The first part is the from an initial pose towards the desired pose according to the

218
sensor measurements by applying on-line corrections. The configuration of the cube is changed, and the desired pose of
real-time corrections provided by the developed algorithm the robot is updated in the software. Therefore, the initial
continue until the error between the pose of the tool model errors are changed after each insertion (for instance at t=5
(provided by the C-Track) and desired pose (already stored sec). According to the updated desired pose, the robot is
in the DPC software) satisfies the required precision. When guided to the same hole by the developed DPC algorithm
the precision is satisfied, the robot will insert the tool into the (https://youtu.be/ABzA7fRc8T8).
hole and extract (Fig. 8).

(a) (b)
Figure 8. Robot tool inserted into the hole on a cube by using DPC (a)
front view (b) side view

Furthermore, the developed pose correction algorithm is


capable of recording and automatically updating the desired
pose of the robot end-effector according to the configuration
of the cube model. This specification is implemented using
the following technique.
C
T H S
C H 1 u TS H (13)
where TC H represents the relation between tool model and
cube model while the end-effector is at the desired pose Figure 9. Dynamic pose correction to insert the tool into a hole on a cube
(above the hole).
The experimental results demonstrate that the robot can
This relation can also be represented with respect to the
follow the hole and satisfy the required precision according
sensor-frame by using the following equation:
to the real-time pose information of the cube model.
S
T H Des S
C H u TC H (14) Fig. 10 shows the experimental results for a single pose
correction. In this experiment, the correction is performed
where TS H Des is the desired pose of the robot end-effector only once to evaluate the response of the system by using the
with respect to the C-Track reference frame, and is being developed pose correction algorithm. The initial error,
automatically updated according to the configuration of the response time and number of corrections to achieve the
cube, CS H . By using this novel strategy, the robot can follow desired accuracy are shown in Table I. According to this
table, the distance error (approximately 34.0 mm) as well as
the cube in real-time while it is moving in the workspace and the orientation error are corrected and the precision threshold
insert its tool into the same hole accurately. is met after 7 iterations which take approximately 3.6
seconds.
V. EXPERIMENTAL RESULTS
TABLE I. POSE CORRECTION PERFORMANCE ASSESSMENT
In order to validate the performance of the developed
algorithm, the correction process is performed continuously Position Orientation
with different configurations of the cube in the C-Track field X Y Z W P R
of view. The experimental results are presented in Fig. 9. As Initial Error 7.5 17.5 -28.0 6.0 8.0 -2.5
shown in this figure, the initial error on each axis is being Iteration 7
compensated by the developed DPC algorithm and the robot Response time 3.6 seconds
is guided to the desired pose. The pose correction process Settling time (2%) 0.1 sec 1 sec
continues until the required precision for the position and
orientation (0.050 mm and 0.050º) are satisfied. Then, the

219
ACKNOWLEDGMENT
This work is part of project MANU 602, financed by the
NSERC, CRIAQ, Creaform, GE Aviation, and Coriolis
Composites.
REFERENCES
[1] A. Mohebbi, M. Keshmiri, and W. F. Xie, “An eye-in-hand stereo
visual servoing for tracking and catching moving objects,” in Control
Conference (CCC), 2014 33rd Chinese, pp. 8570–8577, IEEE, 2014.
[2] J. F. Engelberger, Robotics in practice: management and applications
of industrial robots. Springer Science & Business Media, 2012.
[3] R. P. Judd and A. B. Knasinski, “A technique to calibrate industrial
robots with experimental verification,” Robotics and Automation,
IEEE Transactions on, vol. 6, no. 1, pp. 20–30, 1990.
[4] M. Summers, “Robot capability test and development of industrial
robot positioning system for the aerospace industry,” SAE
transactions, vol. 114, no. 1, pp. 1108–1118, 2005.
[5] A. Elatta, L. P. Gen, F. L. Zhi, Y. Daoyuan, and L. Fei, “An overview
of robot calibration,” Information Technology Journal, vol. 3, no. 1,
pp. 74–78, 2004.
[6] A. Nubiola and I. A. Bonev, “Absolute calibration of an abb irb 1600
robot using a laser tracker,” Robotics and Computer-Integrated
Manufacturing, vol. 29, no. 1, pp. 236–245, 2013.
[7] A. Joubair, A. Nubiola, and I. Bonev, “Calibration efficiency analysis
based on five observability indices and two calibration models for a
six-axis industrial robot,” SAE International Journal of Aerospace,
vol. 6, no. 2013-01-2117, pp. 161–168, 2013.
[8] A. Nubiola, M. Slamani, A. Joubair, and I. A. Bonev, “Comparison of
two calibration methods for a small industrial robot based on an
Figure 10. Real-time pose error with DPC control algorithm optical cmm and a laser tracker.,” Robotica, vol. 32, no. 3, pp. 447–
466, 2014.
[9] M. Gaudreault, A. Joubair, and I. A. Bonev, “Local and closed-loop
calibration of an industrial serial robot using a new low-cost 3d
VI. CONCLUSION measuring device,” in 2016 IEEE International Conference on
In this paper, an on-line pose correction algorithm has Robotics and Automation (ICRA), pp. 4312–4319, IEEE, 2016.
been developed and implemented on a FANUC M-20iA [10] R. C. DeVlieg, “Robotic manufacturing system with accurate
control,” Mar. 24 2015. US Patent 8,989,898.
robot, to guide its end-effector accurately, to any desired [11] R. Devlieg, “Expanding the use of robotics in airframe assembly via
pose in real-time, by using the C-Track as feedback accurate robot technology,” SAE International Journal of Aerospace,
measurement sensor. An effective noise filtering method vol. 3, no. 2010-01-1846, pp. 198–203, 2010.
using RMS of ten measurements is used to remove the noise [12] M. Keshmiri, W.-F. Xie, and A. Mohebbi, “Augmented image-based
associated with the sensor data. The test results show that the visual servoing of a manipulator using acceleration command,” IEEE
Transactions on Industrial Electronics, vol. 61, no. 10, pp. 5444–
noise of the data for a fixed model has been reduced by 75%. 5452, 2014.
All the procedures for pose calculation, dynamic corrections, [13] R. Holden, P. Lightowler, and S. Andreou, “Robot accuracy: Online
and controller design are implemented in user-friendly compensation (eu comet project),” SAE International Journal of
software by Microsoft Visual Basic. The proposed algorithm Aerospace, vol. 7, no. 2014-01-2257, pp. 274–279, 2014.
[14] V. Lertpiriyasuwat and M. C. Berg, “Adaptive real-time estimation of
in this research is independent of the robot kinematic chain end-effector position and orientation using precise measurements of
parameters; therefore, it can be implemented on different end-effector position,” IEEE/ASME Transactions on Mechatronics,
FANUC robots and can replace the costly and time vol. 11, no. 3, pp. 304–319, 2006.
consuming available calibration methods. Extensive [15] Z. Jin, C. Yu, J. Li, and Y. Ke, “A robot assisted assembly system for
experimental tests demonstrate that the developed pose small components in aircraft assembly,” Industrial Robot: An
International Journal, vol. 41, no. 5, pp. 413–420, 2014.
correction algorithm can improve the positioning accuracy of [16] J. D. Posada, U. Schneider, S. Pidan, M. Geravand, P. Stelzer, and
the robot to 0.050 mm for the position and 0.050º for the Verl, “High accurate robotic drilling with external sensor and
orientation in real-time. In addition, by using the proposed compliance model-based compensation,” in Robotics and Automation
strategy in this paper, the desired pose of the robot is updated (ICRA), 2016 IEEE International Conference on, pp. 3901–3907,
dynamically, through the developed software, according to IEEE, 2016.
[17] J. J. Craig, Introduction to robotics: mechanics and control, vol. 3.
the configuration of the cube without the need to stop the Pearson Prentice Hall Upper Saddle River, 2005.
robot and teach new points.
Future work includes using Kalman filter for noise
removal and applying the developed controller to the other
types of industrial robots such as ABB, KUKA, etc.

220

You might also like