Professional Documents
Culture Documents
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
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
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
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.
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
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