0% found this document useful (0 votes)
33 views22 pages

Fridenfalk and Bolmsjö - 2004 - Design and Validation of A Universal 6D Seam-Tracking System in Robotic Welding Using Arc Sensing

Uploaded by

chendaoming99
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)
33 views22 pages

Fridenfalk and Bolmsjö - 2004 - Design and Validation of A Universal 6D Seam-Tracking System in Robotic Welding Using Arc Sensing

Uploaded by

chendaoming99
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/ 22

Advanced Robotics

ISSN: 0169-1864 (Print) 1568-5535 (Online) Journal homepage: www.tandfonline.com/journals/tadr20

Design and validation of a universal 6D seam-


tracking system in robotic welding using arc
sensing

Mikael Fridenfalk & Gunnar Bolmsjö

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

To link to this article: https://doi.org/10.1163/156855304322753272

Published online: 02 Apr 2012.

Submit your article to this journal

Article views: 135

View related articles

Citing articles: 8 View citing articles

Full Terms & Conditions of access and use can be found at


https://www.tandfonline.com/action/journalInformation?journalCode=tadr20
Advanced Robotics, Vol. 18, No. 1, pp. 1 – 21 (2004)
Ó VSP and Robotics Society of Japan 2004.
Also available online - www.vsppub.com

Full paper

Design and validation of a universal 6D seam-tracking


system in robotic welding using arc sensing

MIKAEL FRIDENFALK and GUNNAR BOLMSJÖ ¤


Division of Robotics, Department of Mechanical Engineering, Lund University, P. O. Box 118,
SE-221 00 Lund, Sweden

Received 23 January 2003; accepted 1 June 2003

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.

Keywords: Seam-tracking; sensor-driven motor control; arc-sensing.

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

and previous work, which is the introduction of a trajectory tangent vector by


curve Ž tting that was made in laser scanning [5, 6]. There exist, however, some
differences between how such vector was used and implemented. The differences
consist of (i) curve Ž tting by second instead of third degree polynomials, for faster
computation and still high control stability, (ii) an analytic solver for curve Ž tting of
second degree polynomials developed and implemented for this system, increasing
the calculation speed further and (iii) using differential vector interpolation instead
of direct use of the trajectory tangent vector, which was shown to be essential for
maintaining control stability.
A 6D seam-tracking system increases the intelligence and  exibility in manufac-
turing systems based on robotic welding using laser scanning. This reduces the
need for accurate robot trajectory programming and geometrical databases. The
simulation results (based on physical experiments) showed that the initial objective
to design a 6D seam-tracking system was reached that could manage a radius of
curvature down to 200 mm.

2. MATERIALS AND METHODS

2.1. Sensor-guided robot control


Many systems have been developed during the last decades for seam tracking at
arc welding. The patents and scientiŽ c publications within this application area
show that laser scanners and arc sensors today replace older systems. In general,
laser scanners have high accuracy, but are expensive and have to be mounted on the
torch, thereby decreasing the workspace of the robot. This problem is partly solved
by introduction of an additional motion that rotates the scanner around the torch to
keep its relative orientation constant with respect to the seam proŽ le. Arc sensors
are inexpensive and, compared with other sensors for seam-tracking, relatively
inaccurate due to the stochastic nature of arc welding. Since welding of large
structures in general requires a relatively low accuracy, however, arc sensors are
a competitive alternative to laser scanners. In addition, it should be mentioned that
there exist solutions for digital image processing of the workpiece before welding.
The problems are, however, that small changes in the surrounding light may disturb
the analysis. Furthermore, a 3D spline curve requires the camera to follow the seam
all the way to be able to capture segments that otherwise would have remained
hidden. This applies also to very long seams. In practical applications today,
solutions based on pure image processing by a CCD camera are successfully used to
Ž nd the initial point where 2D seam-tracking based on laser scanning or arc sensing
should start [2].

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.

2.1.2. Virtual sensors. The development of sensor-guided control systems may


be accelerated using virtual sensors in the simulation control loop. Since a system’s
state is often easily obtained in simulation, assuming that the simulation model
is sufŽ ciently accurate compared to the real system, this provides for a better
foundation for process analysis than in general is possible by physical experiments.
Furthermore, insertion of a sensor in a control loop may cause damage to expensive
equipment, unless the behavior of the entire sensor-guided control system is
precisely known, which is rarely the case at the development stage.
Virtual sensors are used in many application areas, such as robotics, aerospace
and marine technologies [9 – 13]. Development of new robot systems such as for
seam-tracking may be accelerated by application of simulation [14, 15]. In the
development of virtual sensors, if the model is not analytically deŽ nable, artiŽ cial
neural networks or statistical methods are often used [16, 17].

2.2. Robot system


The design of the 6D seam-tracking system was based on experience and results
from the European ROWER-2 project [18]. The objective of this project was to
automate the welding process in shipbuilding by the design of a robotic system,
speciŽ cally for joining double-hull sections in supercruisers and oil tankers. Fig-
ure 4 shows the robot system developed in the ROWER-2 project and the corre-
sponding simulation model in the Flexible UniŽ ed Simulation Environment (FUSE)
(described below). The implementation of the 3D seam-tracking system was per-
formed in C/C++, running on a QNX-based embedded controller (QNX is a real-

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.

2.3. Simulation system


The development and implementation of the 6D seam-tracking system was initially
performed in FUSE [19]. FUSE is an integrated software system based on Envision
(robot simulator; Delmia Inc.) and Matlab (MathWorks Inc.), including Matlab
Robot Toolbox [20]. The integration was performed by compiling these software
applications and their libraries into one single software application, running under
IRIX, SGI. The methodology developed for the design of the 6D seam-tracking
system was based on the integration of mechanical virtual prototyping and software
prototyping. The 6D seam-tracking simulations in FUSE were performed by using
the robot developed in the ROWER-2 project and a ABB S4 IRB2400.16 robot
(Figs 4 and 5). After the design and successful validation of the 6D seam-tracking
system for arc sensing, the virtual prototyping and software models, partly written
in C code and partly in Matlab code, were translated to pure Matlab code. The
translation was necessary, since it saved development time for the implementation
of the evaluations system, for the accurate calculation of position and orientation
errors during simulation.

Figure 5. Examples of 6D seam-tracking experiments performed in FUSE, Envision, using a model


of the ROWER-2 robot.
8 M. Fridenfalk and G. Bolmsjö

2.4. Calculation of position and orientation errors


Error is deŽ ned as the difference between the desired and current pose P. The posi-
tion errors were calculated by projection of ²a and ²n on a plane Ät perpendicular to
the desired trajectory while intersecting the current TCP, Pt . Thereby, by deŽ nition
²o D 0. The orientation error (the orientation part of P± ) is calculated by:
P± D P¡1
t ¢ P Ät ; (9)
where Pt is the current TCP and PÄt is the desired TCP for any sample point t. The
errors around n, o and a are calculated by the subsequent conversion of the resulting
transformation matrix to roll, pitch and yaw, here deŽ ned as rotation around, in turn,
a, o and n. Rotation in the positive was deŽ ned as counterclockwise rotation from
the perspective of a viewer when the axis points towards the viewer.

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

³ D [k1 k2 ] in Figs 2 and 7. The proportional constants K1 , K2 and K3 denote the


control response to errors in position, trajectory tangent vector and pitch control. N
is also used in trajectory tangent vector control and is a measure of the memory size
of the algorithm.
The seam proŽ le presented in Fig. 1 is a Ž llet joint. Since all standard seam
proŽ les are basically L-shaped, the generic parameters » and ³ may be estimated
by the same proŽ le extraction methods used for Ž llet joints. An alternative to a
Ž llet joint is, for instance, the V-groove, which mainly contains a gap between the
seam walls. In arc sensing, since electrical current always takes the shortest path
between the TCP and the seam walls, see Fig. 2, such a gap has in general a small
in uence on the measurements in arc sensing. In addition, since using other shapes
than a sine wave, such as a sawtooth or square wave, does not effect seam-tracking
as much as it effects the welding process in arc sensing, only sine waves were used
in the simulation experiments.

3.1. Position control

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):

²a D s.iA / C s.i¡A / ¡ 2d; (10)


²n D s.i¡A / ¡ s.iA /: (11)

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ö

Since the distance to the workpice is approximately inverse proportional to the


current, this may explain the main differences between (4) and (6) and (10) and (11).
Also here, Ea D Ka ²a , En D Kn ²n and pN is calculated by (8). In the ROWER-2
project, simulation and physical experiments showed that Kn should be 50% of Ka
for maximum control stability, both (4)–(6) and (10) and (11). Here, Ka D K1 and
Kn D K1 =2. Since the position is controlled by keeping the distance from TCP
to the nearest seam wall constant at the turning points of the weaving, the desired
distance from the TCP to the intersection point of the seam walls in Fig. 1 was
derived as:
A C d 1 C tan2 .®=2/
DD : (12)
tan .®=2/
This equation is valid for any angle ® different to an integer multiple of ¼ , where
D is instead equal to d. This relation was primarily used for the calculation of the
position errors in evaluation of the 6D arc sensing system.

3.2. Trajectory tangent vector control

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

3.3. Pitch control


Pitch control is performed in two steps. First, aN¡1 is orthogonalized with respect
to oN . This step could also have been performed after the second step (which
then becomes the Ž rst step). Empirical experiments showed, however, that the
performance of the algorithm is slightly improved by pre-orthogonalization. In the
second step the new coordinate system is rotated around o by ±Á:
±Á D ¡K3 ¢ .k1 C k2 /: (13)
Here, ±Á is in radians, and k1 and k2 are estimated by the least-squares method,
based on sampling of the arc current during a half weaving cycle, see Figs 2 and 7.
The index i in these Ž gures denotes arc current samples. Since current always
takes the shortest path between the TCP and the nearest seam wall (homogenously
conducting surface), and the distance between the TCP and the seam walls may be
calculated by (1), the full extraction of the seam proŽ le is theoretically possible.
With sin ° D @s=@n and k D ¡@s=@n in Figs 2 and 7, the following relation is
deduced:
k D ¡ sin ° : (14)
The orientation of the walls projected on plane Ä is calculated from the vector
components of si :
si D jsi j.cos ° ¢ ai C sin ° ¢ ni /; (15)
where jsi j is the distance calculated from the current measurement, using (1).
Equation (14) and sin 2 ° C cos2 ° D 1 give in turn the relation:

cos ° D 1 ¡ sin2 ° D 1 ¡ k2; (16)


which Ž nally yields the direction of the current, projected on plane Ä:
si D jsi j. 1 ¡ k 2 ¢ ai ¡ k ¢ n i /: (17)

3.4. Arc sensing weaving interpolation


The interpolation between two poses such as PN ¡1 and PN is usually performed
by vector interpolation of position p and quaternion interpolation of the orientation
{n,o,a}. Since most of the calculation time in arc sensing was spent on quaternion
interpolation, a new method was adopted that was empirically shown to work much
faster in Matlab and still performed as well as quaternion interpolation in 6D seam-
tracking. The denotations in this subsection, generically labeled as x 0 and x 00 , are
local and not related to other denotations elsewhere.
In this method, linear interpolation was Ž rst performed between PN ¡1 and P N
including o, a and p for any sample i, resulting in oi0 , ai00 and pi . oi0 was rescaled to
the unit vector oi and ai00 was projected on the plane perpendicular to oi by:
ai0 D ai00 ¡ .ai00 ¢ oi /oi : (18)
12 M. Fridenfalk and G. Bolmsjö

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.

3.5. Code and pseudo code samples


The actual implementation of the 6D seam-tracking system was shown to be
straightforward. Most of the development effort was spent on the design of the
surrounding environment of the seam-tracking system, including a semi-automatic
testing and evaluation system. A pseudo code representation of the 6D seam-
tracking system in Fig. 6 follows below:
(i) pN D pN ¡1 ¡ rw o C K1 ¢ [.1=2/en n C ea a] based on (5), (7), (8), (10) and
(11), and the relation K1 D 2Kn D Ka .
(ii) Calculation of xN by shifting xN¡1 one step to the left with pN : xN ¡1 D
[p0 p1 : : : pN ¡2 pN ¡1 ] ! xN D [p1 p2 : : : pN ¡1 pN ].
(iii) Estimation of the trajectory tangent vector F by least-squares curve Ž tting of
the parameterized 3D curve X D C¢T with a parameter t to three independent
second-degree polynomials (for x, y and z). F D @X=@tjt DN with X D C ¢T ,
where C D [c0 c1 c2 ] D [cx cy cz ]T and T = [1 t t 2 ]T (note that AT is the
transpose function for a vector or matrix A and has no correlation with the
vector T ). This gives F D C ¢@T =@tjt DN D C ¢[0 1 2t]T jt DN D C ¢[0 1 2N ]T .
C is calculated by the estimation of the parameters ci for i D fx; y; zg, where
ci D .H T H /¡1 .H T pi / and pi are the row vectors of xN , which may also be
written as xN D [px py pz ]T . The matrix H consists of N rows of [1 t t 2 ]
with t D 1 : : : N , where t is the row number. It should be mentioned that C
may be directly calculated by the expression C D ..H T H /¡1 .H T xNT //T , but
we have chosen to use the notation above for pedagogical reasons.
(iv) oN D normalize.oN ¡1 ¡ K2 ¢ .normalize.F / C oN¡1 //. Normalization of a
vector v denotes v divided by its length.
(v) a 00 D normalize.aN¡1 ¡ dot.oN ; aN ¡1 / ¢ oN /, where dot.oN ; aN¡1 / is the dot
product oTN ¢ aN ¡1 .
n N¡1 oN a 00 pN
(vi) P0 D .
0 0 0 1
(vii) For the estimation of k1 and k2 , see previous text and Fig. 2. It should,
however, be mentioned that the x-components in linear Ž tting depend on
the weaving function between ¡A and A. For a sinusoidal wave, this gives
that the x-components in the negative n direction are A sin.2¼ i=M/ with i
A universal 6D seam-tracking system 13

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)

n = length(x); sx = sum(x); sy = sum(y); sxx = x’*x;


sxy = x’*y; sx3 = sum(x.^3); sx4 = sum(x.^4);
sxxy = sum(x.^2.*y);
t2 = sx*sx; t7 = sx3*sx3; t9 = sx3*sxx; t12 = sxx*sxx;
den = 1/(sx4*sxx*n-sx4*t2-t7*n+2.0*t9*sx-t12*sxx);
t21 = (sx3*n-sxx*sx)*t15;
k = 2.0*n*((sxx*n-t2)*t15*sxxy-t21*sxy+(sx3*sx-t12)
*t15*sy)- ...
t21*sxxy+(sx4*n-t12)*t15*sxy+(t9-sx4*sx)*t15*sy;

The calculation speed was optimization by the application of Cramer’s rule by an


analythical inversion of H T H in Maple and the elimination of c0 . In the function
above, x and y are N £ 1 column vectors, x 0 equals x T , sum(x) is the sum of
the vector elements of x, and a point before an operator such as the exponential
operator O, denotes elementwise operation. This implementation may be further
14 M. Fridenfalk and G. Bolmsjö

optimized by reusing terms that only depend on x in pfit (which is equal to t


outside pfit). However, since such optimization is outside the scope of this paper,
we have chosen to keep this presentation as simple as possible.

3.6. Kinematics singularities


In sensor-guided control, the manipulator may involuntarily move into areas in
which no inverse kinematics solutions exist, generally called kinematics singular-
ities. It is, however, possible to minimize inner singularity problems caused by
robotic wrists. A novel method is suggested in [21] which was designed for the 6D
seam-tracking system, but works basically for any industrial robot with 6 d.o.f. In
this method, the stronger motors, often at the base of the robot, assist the weaker
wrist motors to compensate for any position error. This method also allows for
smooth transitions between different conŽ gurations.

3.7. Initial and Ž nal conditions


In the experiments, seam-tracking was initiated from a proper position already from
start. The start position for seam-tracking is in general found either by image
analysis using a camera or by seam-tracking itself. Since previous positions are
unknown at the start, an estimation is made of previous N ¡ 1 positions, by
extrapolation of the trajectory in the direction of o. This is the reason why in some
experiments higher orientation errors occurred at the beginning of seam-tracking.
The condition to stop seam-tracking may be based on the position of the TCP.
The stop signal may be triggered by deŽ nition of volumes outside which no seam-
tracking is allowed.

4. EXPERIMENTAL RESULTS

4.1. Workpiece samples


The position and orientation errors at seam-tracking were calculated based on
simulation experiments of basically eight different workpieces (Figs 9–12). It
should be mentioned that the experiment at the bottom of Fig. 10 is not actually
possible in practice due to collision problems, but was performed for the analysis of
the control system. The worpieces in Matlab were approximated by lines orthogonal
to the direction of the weld and the resolution was deŽ ned as the nominal distance
between these lines. These resolutions were set to 0.5 mm.
The workpieces were categorized into two groups, continuous and discrete. In
the experiments presented in this paper, the range was 0–180± for continuous and
120 mm for discrete workpieces. In seam-tracking of a continuous workpiece, a
sudden change is interpreted as a curve with a small radius of curvature (Figs 9 and
10), while in seam-tracking of a discrete workpiece, a sudden change is regarded
as a disturbance (Figs 11 and 12). The settings of the control parameters decide
A universal 6D seam-tracking system 15

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.

4.2. Arc sensing


According to Ref. [22], the accuracy of an arc sensor in seam tracking is 0.5 mm.
In simulation, the workpiece line resolution was set to 0.5 mm. To increase the
errors in the system, a random signal with a range of 1 mm was added to the
measured distance. In addition, no integration of the current measurement values
was made near the turning points at weaving. On the contrary, one measurement
was considered as enough for each turning point. The signal was preŽ ltered by
an active fourth-order Bessel low-pass Ž lter in the ROWER-2 project. No Ž ltering
was performed in the simulation experiments presented in this paper. Thereby the
accuracy had been decreased to less than half of the accuracy suggested in Ref. [22].
In practical applications, however, the arc signal should be Ž ltered by a method that
does not add any phase shift to the signal, such as a proper digital Ž lter.
The arc sensing simulations presented in this paper were performed with a
constant welding speed of 10 mm/s, weaving amplitude and frequency of 5 mm
and 3 Hz, and 64 current samplings per weaving cycle (or 192 samplings per
second). The algorithm worked well also for lower sampling rates, such as 50
samples per second, which was used in the ROWER-2 project. In general, higher
sampling rates were shown to improve the controlability of the system, for rates
higher than perhaps 10 samples per weaving cycle, although rather slightly than
A universal 6D seam-tracking system 19

proportionally. The simulation models proved to predict the estimations derived


from physical experiments in the ROWER-2 project for 6D motion. According
to those experiments, it was possible to perform differential seam tracking in y
and z directions in Fig. 1, up to 20 mm for a seam with a length of 1 m. At
a speed of 9 mm/s, weaving amplitude and frequency of 3 mm and 3 Hz, this
gives a redirection capability of 1:15± per weaving cycle which in the worst case
is equivalent to a minimum radius of 150 mm. Using a power source without any
intrinsic current control would further give up to 3 times better results according to
the experiments in the ROWER-2 project (current control was only applied by the
power source to limit the current). Using a high-performing industrial robot and
a weaving amplitude of 5 mm instead of 3 mm, this would Ž nally bring down the
curvature to 25–50 mm, which actually was the amount found by simulation.

5. RESULTS AND DISCUSSION

A 6D seam-tracking system was designed and validated by simulation that is able to


follow any continuous 3D seam with moderate curvature, using an arc sensor, and
is able to continuously correct both position and orientation of the tool tip of the
welding torch along the seam. Thereby, the need for robot trajectory programming
or geometrical databases were eliminated for workpieces with moderate radius of
curvatures, increasing intelligence in robotic arc welding.
Simulations based on physical experiments in the ROWER-2 project showed,
however, that arc sensing in real-time welding was theoretically possible for a radius
of curvature below 50 mm. This is much less than the initial objective to design a
6D seam-tracking system that could manage a radius of curvature below 200 mm,
which is still considered as small, for instance, in shipbuilding.

6. FUTURE WORK

Although the 6D seam-tracking system was shown to be very robust, optimization


of the algorithm is still possible. Presently, pitch control in arc sensing is based on
data measurements during a half weaving cycle. By extending the measurements
to one full cycle, pitch control may be optimized. Further, although the control
system worked well using proportional constants alone, if needed, PID or adaptive
control may be included to enhance the performance. One of many examples is, for
instance, to deŽ ne K2 as a function of the ‘radius of curvature’ (or more speciŽ cally
as a function of, for example, c2 in Fig. 8) of the second-degree polynomial
used for calculation of the trajectory tangent vector, thereby enabling the system
to automatically change between normal operation, used for maximum control
stability, and extraordinary operation with fast response, used for management of
small radius of curvatures.
20 M. Fridenfalk and G. Bolmsjö

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).

ABOUT THE AUTHORS


Mikael Fridenfalk received the MSc degree in Engineering Physics from Lund
University in 1998. He joined the Division of Robotics and Ž nished his PhD
in robotics 2003 at the same university. His major work has been in the Ž eld
of sensor guidance control in an EU funded project focusing on the shipyard
industry in Europe. His interests has included software development, simulation
and intelligent systems.

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.

You might also like