Fridenfalk and Bolmsjö - 2004 - Design and Validation of A Universal 6D Seam-Tracking System in Robotic Welding Using Arc Sensing
Fridenfalk and Bolmsjö - 2004 - Design and Validation of A Universal 6D Seam-Tracking System in Robotic Welding Using Arc Sensing
To cite this article: Mikael Fridenfalk & Gunnar Bolmsjö (2004) Design and validation of a
universal 6D seam-tracking system in robotic welding using arc sensing , Advanced Robotics,
18:1, 1-21, DOI: 10.1163/156855304322753272
Full paper
Abstract—This paper presents the design and validation of a novel and universal 6D seam-tracking
system that reduces the need for accurate robot trajectory programming and geometrical databases
in robotic arc welding. Such sensor-driven motion control together with adaptive control of the
welding process is the foundation for increased exibility and autonomous behavior of robotic and
manufacturing systems. The system is able to follow any 3D spline seam in space with a moderate
radius of curvature by real-time correction of the position and orientation of the welding torch,
using the through-arc sensing method. The 6D seam-tracking system was developed in the Flexible
Uni ed Simulation Environment (FUSE), integrating software prototyping with mechanical virtual
prototyping, based on physical experiments. The validation experiments showed that this system was
both robust and reliable, and is able to manage a radius of curvature less than 200 mm.
1. INTRODUCTION
Robot automation increases productivity, the product quality and frees man from
involuntary, unhealthy and dangerous work. While computational power has
increased exponentially during the last decades, since many new application areas
require operation in relatively unstructured environments — the current limitations
in exibility constitute a bottleneck in the further evolution of robotic systems.
One application for intelligent systems is seam-tracking in robotic welding.
Seam-tracking is among others used for the manufacturing of large ships such
as cruisers and oil tankers, where relatively high tolerances in the sheet material
are allowed to minimize the manufacturing costs [1, 2]. Seam-tracking today is
typically only performed in 2D, by a constant motion in x and compensation of the
¤
To whom correspondence should be addressed. E-mail: [email protected]
2 M. Fridenfalk and G. Bolmsjö
Figure 1. Left: de nition of the TCP and the orthonormal coordinate system fn; o; ag. Weaving,
if any, is performed in the n direction in arc sensing, o is opposite to the direction of welding and
perpendicular to the plane Ä, and a is the direction of approach. fx; y; zg is a local coordinate system,
de ned for the workpiece. Right: the optimal position for seam-tracking in arc sensing.
errors in y and z directions (Fig. 1). There exist solutions for higher autonomy that
include seam-tracking in 3D where compensation is also performed in o direction
or around an orientation axis. However, these limitations make seam-tracking only
possible for workpieces with relatively simple geometrical shapes.
The next step in the evolution of sensor systems in robotic welding is the
introduction of a full 6D sensor-guided control system for seam tracking that is
able to correct the tool center point (TCP) in x; y; z and around roll, pitch and yaw.
Such an ultimate system is by de nition able to follow any continuous 3D seam
with moderate curvature. This system has many similarities with an airplane control
system, where a change in either position or orientation effects all other d.o.f.
Although seam-tracking has been performed in 2D for at least 40 years, the
hypothetical design of 6D seam-tracking systems was probably rst addressed at the
beginning of the last decade by suggestions of models based on force sensors [3, 4]
and laser scanners [5, 6]. It is, however, dif cult to evaluate these systems, since no
experimental results are presented, neither any explicit control systems for creating
a balance between the subsystems.
The major contribution of this paper is the invention of a universal 6D seam-
tracking system for robotic welding, validated by simulation experiments based on
physical experiments that proved that 6D seam-tracking is possible and even very
robust for arc sensing [7]. On a more detailed level, the general contributions of
this paper are the introduction of: (i) the concept of 6D seam-tracking based on
arc sensing, (ii) the trajectory tangent vector in arc sensing, (iii) pitch control in
arc sensing and (iv) a new method replacing quaternion interpolation and thereby
increasing the computational ef ciency signi cantly.
The authors have found no references from the literature that describe 6D seam-
tracking based on arc sensing, but there exists one similarity between this work
A universal 6D seam-tracking system 3
2.1.1. Arc sensing. In ‘through-arc’ sensing, or simply arc sensing [8], the arc
current is sampled while a weaving motion is added to the TCP in n direction
(Fig. 1). Weaving is useful in arc welding due to process-related factors and was
4 M. Fridenfalk and G. Bolmsjö
Figure 2. Arc sensing. Left: cross-section, perpendicular to the approach vector a. The weaving
is added to the interpolated motion between PN ¡2 and PN ¡1 , including changes in position and
orientation. Right: cross-section, plane Ä. By measurement of the current from n¡A (start) to nA
(end), the pro le of the workpiece is approximately determined.
already used before the introduction of arc sensing at the beginning of the 1980s. In
arc sensing, by keeping the voltage constant, it is possible to calculate the distance
from the TCP to the nearest seam wall at each current sample and thereby obtain the
pro le of the seam during a weaving cycle. According to experimental results [8]
the approximate relationship between arc voltage V , arc current I , and the nearest
distance between the electrode and the workpiece l for an electrode extension
ranging between 5 and 15 mm may be expressed by the relation:
V D ¯1 I C ¯2 C ¯3 =I C ¯4 l; (1)
where the constants ¯1 –¯4 are dependent on factors such as wire, shielding gas
and power source. In practice, the voltage and current readings of the arc contain
much noise, which is why the signal has to be low-pass ltered before it is used
for feedback control. An example of such ltered signal sampled in the ROWER-2
project is presented in Fig. 3.
In automatic control, error is de ned as the difference between the desired (input)
value u and the current (output) value y. The control algorithms in arc sensing are
based on methods such as template matching or differential control [8]. In template
matching the errors may for instance be calculated by integrating the difference of
the template u and the arc signal y, where A denotes the weaving amplitude:
A
Ea D ²a D .u.n/ ¡ y.n// dn; (2)
¡A
A universal 6D seam-tracking system 5
Figure 3. Example of a ltered arc signal at seam-tracking, sampled in the ROWER-2 project.
Although anomalies are common at the ignition of the arc, only minor deviations from this pattern
were shown to occur during continuous seam-tracking. The unit of the horizontal axis is ticks, which
equals 20 ms (50 Hz sampling rate). The current values were ltered by an analogue active fourth-
order Bessel low-pass lter with f0 D 10 Hz before sampling.
0 A
En D ²n D .u.n/ ¡ y.n// dn ¡ .u.n/ ¡ y.n// dn: (3)
¡A 0
Another example includes using integrated difference squared errors. The equation
above use n as a variable to simplify the notation. Actually, more speci cally, the
integration between ¡A and A is performed in the negative o direction, using an
auxiliary variable à denoting the state of weaving in n direction, integrated over
[áA ; ÃA ], where áA and ÃA denote the turning points of weaving. In differential
control, which has proven to be quite reliable for control in a and n directions,
current sampling is performed at the turning points of the weaving. Here, the errors
in a and n directions are obtained by:
iCA C i¡A
²a D Iref ¡ ; (4)
2
Ea D Ka ²a ; (5)
²n D iCA ¡ i¡A ; (6)
En D Kn ²n ; (7)
where Iref is a reference current value, and iCA and i¡A are the average measured
current values at a pair of adjacent extreme points. The parameters Iref , Ka and Kn
are dependent on the weld joint geometry and other process parameters, such as
shielding gas and wire feed rate. Since these parameters will be known in advance,
Ka and Kn may be de ned for any welding application. An example of how Ea and
En are used for position control follows below:
pN D pN ¡1 C En n ¡ rw o C Ea a; (8)
6 M. Fridenfalk and G. Bolmsjö
where pN ¡1 and pN denote current and next positions, and rw is nominal displace-
ment during a weaving cycle, also in Fig. 1, which is equal to the welding speed
(without consideration to the weaving motion) divided by the weaving frequency.
Figure 4. The design of the robot system for 3D seam-tracking based on arc sensing in the ROWER-2
project (left) was based on simulations in FUSE (right). The 6D seam-tracking system presented in
this paper was developed based on experience and results gained from the ROWER-2 project.
A universal 6D seam-tracking system 7
time operating system for embedded controllers). The robot was manufactured
partly in aluminum alloy to decrease the weight for easy transportation and mount-
ed on a mobile platform with 1 d.o.f. for increased workspace. The robot system
was integrated and successfully validated on-site at a shipyard.
3. MODELING
In this section the design of the 6D seam-tracking system is described. The principal
control scheme of this system is presented in Fig. 6. The control system is based
on three main components — position, trajectory tangent vector and pitch control.
Pitch denotes rotation around o. The main input of this control system is the 4 £ 4
transformation matrix PN ¡1 , denoting the current TCP position and orientation. The
output is the next TCP, PN . N is the number of samples used for orientation control.
The input parameters are N, the proportional control constants K1 , K2 and K3 ,
and the generic sensor input values denoting » D [²a ²n ] in (10) and (11), and
Figure 6. The principal scheme of the 6D seam-tracking control system. P N¡1 and P N denote current
and next TCP. Next TCP is calculated at the beginning of each weaving cycle, and the motion between
PN ¡1 and PN is interpolated.
A universal 6D seam-tracking system 9
The 6D seam-tracking algorithm starts by the calculation of the next position for the
TCP. The position is calculated by the differential method in (10) and (11), rewritten
as a function of distance instead of current (with d de ned in Fig. 1), calculated by
using (1):
Figure 7. Cross-section, plane Ä, corresponding to the upper seam wall in Fig. 1. The measured
distance from TCP to nearest wall is always perpendicular to the wall. The geometrical relation
between the measured distance and the geometrical shape of the workpiece is calculated by the least-
squares estimate of the coef cients k1 and k2 in Fig. 2. Note that since both position and orientation of
TCP are interpolated between PN ¡2 and PN ¡1 , this gure is only an approximation of the trajectory
between Pi ¤ and Pi . Note also that ° < 0 for k > 0.
10 M. Fridenfalk and G. Bolmsjö
The positions p1 : : : pN are used for trajectory estimation by curve tting (Fig. 8).
To decrease calculation time, an analytical estimator was devised for rst- and
second-degree polynomials that was shown to work much faster than traditional
matrix multiplication followed by inversion techniques using Gauss elimination.
The estimation of the trajectory at N gives o0 . Since an attempt to abruptly change
the direction of o from oN ¡1 to o0 would most probably create instability in the
system, the motion between oN¡1 and o0 is balanced by vector interpolation using
K2 . The scalar ·2 is not explicitly used in the calculations, but used for visualization
of the calculation of oN in Fig. 8.
Figure 8. Trajectory tangent vector control is performed by least-squares curve tting of the last N
trajectory points to a second-degree polynomial curve for x, y and z, followed by vector interpolation.
Here N D 5. X; c0 ; c1 and c2 denote vector entities. The trajectory tangent vector F is for a second-
degree polynomial equal to c1 C 2Nc2 .
A universal 6D seam-tracking system 11
The dot product ai00 ¢oi gives the length of the vector ai00 orthogonally projected on oi .
Finally, ai was calculated by rescaling ai0 to the unit vector ai and ni was calculated
by oi £ ai . The weaving motion was added as a second layer of motion to Pi in n i
direction. In robot simulation the torch was allowed to freely rotate §180± around
a as a third layer of motion, which was shown to be important, but not entirely
imperative for the robot, to be able to perform 360± welding of pipe intersection
joints, see Fig. 5. The angle around a was determined by the position of the robot
with respect to the position of the workpiece.
running from the position ¡A to 0 for k1 and from the position 0 to A for
k2 . M is here number of samples per weaving cycle. The y-components in
linear tting are the corresponding measured distances (subsets of s in Fig. 2).
Linear tting may be performed by:
k = (n*sxy-sx*sy)/(n*sxx-sx^2),
where n, sx, sy, sxx and sxy are de ned below in the function pfit.
(viii) P00 D P0 ¢ roty.¡K3 .k1 C k2 //, where roty.µ/, with µ counted in radians, is a
4£4 transformation matrix with elements Amn (rows m, columns n), such that
all elements are zero except for A11 D A33 D cos.µ/; A13 D ¡A31 D sin.µ /
and A22 D A44 D 1. This gives:
n00 oN aN pN
P00 D :
0 0 0 1
oN £ aN oN aN pN
(ix) PN D .
0 0 0 1
The initial value of x is determined by linear extrapolation with respect to
the estimated direction at the beginning of the seam. The elements of F .i/
with i D f1; 2; 3g for fx; y; zg were calculated here by the Matlab function
pfit..1 : N/0 ; x.i; :/0/ (the input parameters x and y in this function are
[1 2 : : : N]T and bi as de ned above). The pfit function was developed in this
work using Maple (Waterloo Maple Inc.) and gives an analythical solution to
second-degree polynomial curve tting for this application, that works 8 times faster
for N D 10 and 4 times faster for N D 100 than the standard Matlab function poly-
t. The analytical function pfit was implemented according to:
function k = pfit(x,y)
4. EXPERIMENTAL RESULTS
Figure 9. Seam-tracking, arc sensing, with addition of random noise to the measured distance. Pipe
intersection (top) and workpiece for isolating control around a (bottom). K1 D 1:0, K2 D 0:5,
K3 D 0:25, N D 10. Error denotes the difference between the desired and current pose.
Figure 10. Seam-tracking, arc sensing, with addition of random noise to the measured distance.
Isolating rotation around n, following the inner and outer curves. Note that in this gure, the case in
the bottom is not very realistic, but only included for completeness of the experiments. K1 D 1:0,
K2 D 0:5, K3 D 0:25, N D 10.
16 M. Fridenfalk and G. Bolmsjö
alone the mode of the control system: continuous or discrete. For seam-tracking
of objects with a large radius of curvature, the discrete mode works well for both
continuous and discrete workpieces.
The control parameters K1 ; K2 ; K3 and N used in the presented experiments were
shown to work well for each category (continuous and discrete). These settings
were found by more than 100 arc sensing simulation experiments in Matlab, and
large deviation from these parameters was shown to create instability in the system,
making the control components working against each other instead of in synergy,
resulting in divergence from the seam and ultimately failure at seam-tracking.
As mentioned previously, the seam-tracking system is theoretically able to handle
any angle ® (in Figs 1 and 2) between 0 and 180± . In practice, however, a small
angle may cause collision between the torch and workpiece. For simplicity, ® was
set to 90± for all experiments except for pipe intersections. Further, d in Fig. 1 was
set to 1 mm.
The experiments presented in this paper were intentionally performed at the verge
of instability to clarify the behavior of the algorithm at a small radius of curvature.
To make the experiments realistic, random noise with a range of 1 mm was added
to the measured distance for each current sample. The experiments are brie y
discussed below:
² Continuous mode, i.e. K1 D 1:0, K2 D 0:5, K3 D 0:25, N D 10, see Figs 9
and 10.
Figure 9 (top) shows a pipe intersection simulation. At such extremely small
radius of curvature, the angular error is especially large, more than 20± in
(negative) n direction. Note that the error around n is a lag in keeping a
perpendicular orientation to the weld. A larger radius will decrease this lag
and keep the process stable. This orientation lag occurs due to the algorithm
component that calculates the new orientation based on historical data values, in
this case 10 (N D 10).
Figure 9 (bottom) shows a workpiece that isolates rotation around a. Using the
parameter settings above, some oscillations occurred in a direction due to high
gains at small radius of curvature. In this case the simulation experiment focuses
on the orientation only.
Figure 10 (top) shows a workpiece isolating rotation around n. A very small
radius was followed at the expense of a large deviation around n, on some
occasions more than 25± in the negative direction. The nature of this lag is the
same as described in Fig. 9.
Figure 10 (bottom) shows a workpiece that isolated rotation around n. Inner
curves were shown to be much more dif cult to follow than outer curves. In
this experiment the error around n is in some instance 20± , although the radius is
twice as large as in the previous experiment.
A universal 6D seam-tracking system 17
Figure 11. Seam-tracking, arc sensing, with addition of random noise to the measured distance. The
step is introduced at x D 0 mm. K1 D 0:5, K2 D 0:2, K3 D 0:1, N D 20.
Figure 12. Seam-tracking, arc sensing, with addition of random noise to the measured distance. In
this gure, the case in the bottom denotes a step of ¡30± performed around o. K1 D 0:5, K2 D 0:2,
K3 D 0:1, N D 20.
18 M. Fridenfalk and G. Bolmsjö
² Discrete mode, i.e. K1 D 0:5, K2 D 0:2, K3 D 0:1, N D 20, see Figs 11 and 12.
In general, if the radius of curvature is not very small, these parameter settings
would work perfectly well also in continuous mode.
Figure 11 (top) shows a 5-mm step in the a direction. Since a step in the a
direction is the same thing as a sharp curve around n, the algorithm also makes
a slight correction around n. By using a low gain value for K2 (0.2) and a high
value for N (20), a total ip around n is avoided.
Figure 11 (bottom) shows a similar case as above, but with a 5-mm step in the
negative a direction. Since position control works slightly differently for positive
and negative errors in the a direction, both cases were investigated. However, the
result is that due to the high level of random noise added to the system, there is
no notable difference in the reaction patterns between steps in the positive and
negative a direction.
Figure 12 (top) shows a 5-mm step performed in the n direction. The largest
compensation regarding the orientation is performed around a.
Figure 12 (bottom) shows a 30± step around the negative o direction. The
stepwise change is large, but the algorithm performs a smooth weld trajectory
without overshoot.
One conclusion of these experiments is that the parameter settings in the discrete
mode makes the algorithm work properly even when facing steps. In reality,
however, large steps are very likely to result in poor welding quality, even in cases
when the algorithm has no dif culty following the seam as such.
6. FUTURE WORK
REFERENCES
1. G. Bolmsjö, Sensor systems in arc welding, Technical Report, Robotics Group, Department of
Production and Materials Engineering, Lund University (1997).
2. M. Fridenfalk and G. Bolmsjö, Design and validation of a sensor guided robot control system
for welding in shipbuilding, Int. J. Joining Mater. 14, 44–55 (2002).
3. H. Bruyninckx, J. De Schutter and B. Allotta, Model-based constrained motion: a. modeling,
speci cation and control, in: Proc. 5th Int. Conf. on Advanced Robotics: ‘Robots in Unstructured
Environments’ (91 ICAR), Vol. 2, pp. 976–981 (1991).
4. H. Bruyninckx, J. De Schutter and B. Allotta, Model-based constrained motion: b. introducing
on-line identi cation and observation of the motion constraints, in: Proc. 5th Int. Conf. on
Advanced Robotics: ‘Robots in Unstructured Environments’ (91 ICAR), Vol. 2, pp. 982–987
(1991).
5. N. Nayak and A. Ray, An integrated system for intelligent seam tracking in robotic welding. Part
I. Conceptual and analytical development, in: Proc. IEEE Int. Conf. on Robotics and Automation,
Vol. 3, pp. 1892–1897 (1990).
6. N. Nayak and A. Ray, An integrated system for intelligent seam tracking in robotic welding. Part
II. Design and implementation, in: Proc. IEEE Int. Conf. on Robotics and Automation, Vol. 3,
pp. 1898–1903 (1990).
7. M. Fridenfalk and G. Bolmsjö, Intelligent system eliminating trajectory programming and
geometrical databases in robotic welding, Patent application SE0203239-9 (2002).
8. G. E. Cook, K. Andersen, K. R. Fernandez, M. E. Shepard and A. M. Wells, Electric arc sensing
for robot positioning control, in: Robot Welding, J. D. Lane (Ed.), pp. 181–216. IFS Publications,
Springer-Verlag, London (1987).
9. G. Bolmsjö, Programming robot welding systems using advanced simulation tools, in: Proc. Int.
Conf. on the Joining of Materials, Helsingør, pp. 284–291 (1999).
10. W. Doggett and S. Vazquez, An architecture for real-time interpretation and visualization of
structural sensor data in a laboratory environment, in: Proc. 19th Digital Avionics Systems Conf.,
Vol. 2, pp. 6D2/1–6D2/8 (2000).
11. G. Hailu and A. Zygmont, Improving tracking behavior with virtual sensors in the loop, in: Proc.
IEEE Aerospace Conference, Vol. 4, pp. 1729–1737 (2001).
12. M. Oosterom and R. Babuska, Virtual sensor for fault detection and isolation in ight control
systems — fuzzy modeling approach, in: Proc. 39th IEEE Conf. on Decision and Control, Vol. 3,
pp. 2645–2650 (2000).
13. P. Ridao, J. Battle, J. Amat and M. Carreras, A distributed environment for virtual and/or real
experiments for underwater robots, in: Proc. IEEE Int. Conf. on Robotics and Automation, Vol. 4,
pp. 3250–3255 (2001).
14. M. Fridenfalk, U. Lorentzon and G. Bolmsjö, Virtual prototyping and experience of modular
robotics design based on user involvement, in: Proc. 5th Eur. Conf. for the Advancement of
Assistive Technology, Düsseldorf, pp. 308–315 (1999).
15. M. Fridenfalk, M. Olsson and G. Bolmsjö, Simulation based design of a robotic welding system,
in: Proc. Scandinavian Symp. on Robotics, Oulu, pp. 271–280 (1999).
16. M. A. A. Arroyo Leon, A. Ruiz Castro and R. R. Leal Ascencio, An arti cial neural network
on a eld programmable gate array as a virtual sensor, in: Proc. 3rd Int. Workshop Design of
Mixed-Mode Integrated Circuits and Applications, pp. 114–117 (1999).
17. H. Pasika, S. Haykin, E. Clothiaux and R. Stewart, Neural networks for sensor fusion in remote
sensing, in: Proc. Int. Joint Conf. on Neural Networks, Vol. 4, pp. 2772–2776 (1999).
18. European Commission, ROWER-2: On-Board Automatic Welding for Ship Erection — Phase 2.
Record Control Number 39785. www.cordis.lu, update 2002-11-05.
19. M. Fridenfalk and G. Bolmsjö, The Uni ed Simulation Environment — Envision telerobotics
and Matlab merged in one application, in: Proc. Nordic Matlab Conf., Oslo, pp. 177–181 (2001).
A universal 6D seam-tracking system 21
20. P. Corke, A robotics toolbox for MATLAB, IEEE Robotics Automat. Mag. 3, 24–32 (1996).
21. M. Fridenfalk, Eliminating position errors caused by kinematics singularitiesin robotic wrists for
use in intelligent control and telerobotics applications, Patent application SE0203180-5 (2002).
22. M. Wilson, Vision systems in the automotive industry, Industrial Robot Int. J. 26, 354–357
(1999).
Gunnar Bolmsjö received the MSc and PhD degree in Mechanical Engineering
at Lund University. He is since 1987 Professor in Robotics at the same university.
His research focus is on modeling, analysis and simulation of robot manipulators.
Applied research include industrial robots including advanced manufacturing
systems design, and service robots and speci cally robots for disabled users.