CLUSTER-LEVEL OPERATIONS PLANNING IN ... - Semantic Scholar

2 downloads 0 Views 1MB Size Report
1Division for Industrial Engineering and Computer Sciences. École Nationale Supérieure des Mines de Saint Etienne,. 158, Cours Fauriel, 42023 Saint Etienne, ...
G2I Division for Industrial Engineering and Computer Sciences Centre Génie Industriel et Informatique

CLUSTER-LEVEL OPERATIONS PLANNING IN ARC-WELDING ROBOTIC CELL WITH POSITIONING TABLE A. DOLGUI, A. PASHKEVICH November 2004

RESEARCH REPORT 2004-500-002

G2I research reports are available in PDF format on the site Web of ENSM-SE

Les rapports de recherche du Centre G2I de l'ENSM-SE sont disponibles en format PDF sur le site Web de l'Ecole

www.emse.fr Centre G2I Génie Industriel et Informatique

Division for Industrial Engineering and Computer Sciences (G2I)

Par courier :

By mail:

Ecole Nationale Supérieure des Mines de Saint-Etienne Centre G2I 158, Cours Fauriel 42023 SAINT-ETIENNE CEDEX 2 France

Cluster-Level Operations Planning in Arc-Welding Robotic Cell with Positioning Table

Alexandre Dolgui1, Anatoly Pashkevich1,2 1

Division for Industrial Engineering and Computer Sciences École Nationale Supérieure des Mines de Saint Etienne, 158, Cours Fauriel, 42023 Saint Etienne, France, e-mail: [email protected] 2

Robotic Laboratory, Department of Automatic Control Belarusian State University of Informatics and Radioelectronics 6 P.Brovka St., Minsk 220027, Belarus, e-mail: [email protected]

Abstract Resent advances in computer vision and arc-welding technology motivate rethinking of some postulates and conventions incorporated in the existing robot off-line programming methods. This reserch addresses relaxing of the downhand-position assumption, which became a de-facto standard in robotic welding and requires the weld joint to be oriented in such way that the weldline is horizontal and the weld normal vector is directed strictly opposite to gravity. In contrast to the standard techniques, the developed method explicitly assumes that a weld may be processed in the out-of-position location, which differs from the downhand one within given tolerances. But, to ensure the prescribed quality, the corresponding downhand deviation is charged by reduction of the welding speed in order to satisfy the quality specifications. For such settings, it is proposed a novel method for the cluster-level welding operations planning for a robotic cell with a positioning table. The objective is to minimise the overall manufacturing time, by finding a reasonable trade-off between the positioner motion times and the cluster processing times, since ensuring the downhand orientation for each cluster reduces the cluster processing time but requires more time for the re-configuration of the positioner. It is shown, that associated optimisation problem may be presented as a specific case of the generalised traveling salesman problem, for which has been developed an efficient heuristic algorithm that produces both the optimal welding cluster sequence and corresponding optimal motions of the positioner. The algorithm effectiveness was verified for a number of randomly generated problems, which results are reported and analysed in detail. It is also presented an industrial case study confirming validity of the developed technique and its ability to generate, in reasonable amount of time, solutions accepted by practicing engineers. Keywords: Welding task sequencing; Robotic positioner; Traveling salesman problem.

1. Introduction Welding is one of the most successful applications for industrial robots, which encourages intensive research and development in the area of the CAD-based and off-line programming (Pires et al., 2003, Yagi, 2004). At present, relevant software tools allow to optimise the process parameters, which directly influence the product quality and the system working cycle (Bolmsjo et al., 2003). Besides, they enable users to complete most of the process preparation actions in advance, without access to the workcell, and therefore, to make the robotic systems competitive for both large and small series, or even for unique products (Bolmsjo, 2002; Ranky, 2004; Madsen et al., 2004). However, resent advances in the arc-welding technology motivate rethinking of some postulates and conventions incorporated in the existing off-line programming methods. One of such conventions, the downhand welding position, is addressed in this research work. The welding position (or, more precisely, the weld joint orientation relative to gravity) is an essential issue in both manual and robotic welding, associated with the problem of the weld puddle control. As known from long-term experience, the highest quality and productivity are achieved for the downhand (or flat) welding position, where the workpiece is oriented so that the weld tangent line is horizontal and the weld normal vector is opposite to the gravity direction (Cary, 1995). This orientation is preferable because gravity draws the molten metal downward into the joint allowing it to flow appropriately along the weld contour, that makes the welding faster and easier. For this reason, the downhand welding has been adopted in robotics as a de-factor standard (Bolmsjo, 1987; Fernandez and Cook, 1988) and a typical robotic arc-welding station includes two separate moving mechanisms (Fig. 1): (i) a 5- or 6-axis industrial robot (welding tool manipulator) aimed at moving the weld touch with required speed and orientation relative to the weld joint; and (ii) a 2- or 3-axis positioning table (workpiece manipulator), which ensures the downhand (or close to it) orientation of the weld joint with respect to gravity.

Fig.1. Robotic arc-welding station. In contrast to the robot, a skilled worker-welder is capable to perform such operations in other positions, such as the horizontal, vertical, horizontal-vertical or overhead ones. Obviously, it requires proper training to stabilize the welding puddle and keep it from dropping for the nondownhand welds. To make the out-of-position welding easier, several companies proposed recently their technological innovations, the flux-cored wires, that create a protective coating, supporting the metal against gravity. This allows to enlarge area of the out-of-position welding and employ for it both less-experiences welders and industrial robots (Tolinski, 2001). On the other hand, recent advances in computer vision allow to enhance the robot ability for the welding puddle control. As reported by a number of researches (Hirai et al., 2001; Mnich et al., 2004; Tarn et. al, 2004) the integration of fast computing and high-resolution cameras with the reduced-order fluid-thermal dynamic models allows to remove the requirement of the downhand orientation and execute the out-of-position welds by a robot. Hence, the existing off-line programming techniques must be revised in order to relax the downhand assumption. 2

The remainder of this report is organised as follows. Section 2 contains a review and analysis of related works. Section 3 describes the problem in detail, addressing issues of the CAD-based welding task modelling, welding geometry and kinematics, the cycle time computing, welding task clustering and sequencing, and finally gives a formal mathematical statement of the associated combinatorial optimisation problem. Section 4 contains detailed description of the proposed heuristic algorithm and incorporated optimisation procedures, their comparison with existing methods, and also proposes ways of the algorithm computational speed-up via different application scenarios. In Section 5, there are reported computational results for a set of randomly generated test problems and evaluated the algorithm effectiveness. Section 6 focuses on an industrial case study confirming validity of the developed technique. And, finally, Section 7 summarises the main contributions and proposes future research directions. 2. Related works The automatic programming for robotic arc-welding incorporates a number of non-trivial steps, ranging from specifying a manufacturing task structure to planning of the robot-positioner motions (Bolmsjo, 1989; Tsai et al. 1992, Kim et al., 1994; Pashkevich, 1996; Legoff and Hascoet, 1998; Yao, 1998; Pires et al., 2004). In particular, it includes such stages as the motion/welding feature extraction from the CAD data, welding task planning and sequencing, coordinated control of the robot and positioner, singularity and collision avoidance, determining welding parameters, and numerous implementation issues (interfacing with the operator and robot controller, weldseam tracking, workcell calibration, etc.). Since the beginning of robotic arc-welding, many related research focused on the kinematic control of the robot-positioner system. Theoretically, the arc-welding requires the (5+2)-axis manipulation, needed respectively for the positioning/orienteering of the weld torch and workpiece. However, because a standard industrial robot has 6 degrees-of-freedom, relevant papers cover topics from (6+2)- to (7+3)-axis kinematical structures. Accordingly, in all cases the problem is solved using the kinematic equations which arise by imposing the following task-specific constraints: (i) five constraints on the torch position and orientation, defined by three Cartesian coordinates of the welding tip and two Euler angles of the plasma flow-line; (ii) two constraints on the workpiece orientation relative to gravity, defined by a vertical unit vector aligning the weld normal line (downhand welding). It is implicitly assumed here that both the torch rotation about the plasma flow-line and the workpiece rotation about the vertical line are irrelevant to the welding process. For the typical (6+2)-case, corresponding to a 6-axis robot and a 2-axis balance or till-roll positioner, the problem was studied by several authors (Bolmsjo 1987, 1989; Fernandez and Cook, 1988; Nikoleris, 1990; Kim et al., 1998). The common approach is based on the strictly downhand solution for the positioner inverse kinematics and the augmented solutions for the robot inverse kinematics, which depends on an arbitrary scalar parameter to take into account the robot redundancy. Then, this free parameter is used for singularity or collision avoidance, optimisation of the manipulability, increasing of the robotic tool reach, etc. An alternative approaches to the (6+2)problem uses the Jacobian pseudoinverse or the straightforward constrained optimisation, while implementing the same ideas for the redundancy utilization. These results were extended to the (7+2)-case by Ahmad and Luo (1989) whose study focused on a 6-axis robot mounted on rail and a two-axis positioner; they also used the extra degrees of freedom to keep robot out of singular configurations and to increase its reach. Recently, Wu et al. (2000) applied the genetic algorithm technique to solve similar (7+3)-problem taking into account multiple criteria. 3

It should be noted that a specific (6+1)-case for cutting and painting applications was also considered by Chen and Gu (1993), where a 6-axis robot was mounted on a linear servo-track and an extra degree-of-freedom was used to avoid rotational singularity. Another specific case-study of the robot-positioner system (Jeon et al., 1989) dealt with (5+2)-problem, which was solved with respect to the fixed positioner tilting angle that was further adjusted to maximise the manipulability. Some aspects of the robot-positioner systems, not directly related to the welding, were also explored by Jouaneh et al. (1990) who focused on the coordinated redundancy utilisation for the sharp-corned path tracking and investigated in detail the (3+2)-case, corresponding to the simplified robot model and the roll-tilt table. The positioner inverse kinematics, incorporated in the above control methods, was solved mainly for the precisely-downhand weld orientation. This constraint essentially simplified the analytical expressions, but was in certain disagreement with engineering practice, which admits some tolerances on the weld slope and rotation angles (Yao et al., 1998). Hence, several authors considered more general formulations of this inverse kinematics. In particular, Bolmsjo (1987, 1989) and Nikoleris (1990) stated the problem as aligning any weld-associated vector and any given positioner-base-associated vector. For this formulation, there were obtained numerical and analytical solutions for both the roll-tilt and balance positioners. Later, in the authors’ recent work (Pashkevich et al., 2003), the problem was reformulated and solved in terms of the weld slope-roll angles; there were also studied the solution existence issues and obtained the best least-square solutions for the case when the exact ones do not exist (for both 1-axis and 2-axis positioners). In spite of common understanding, the problem of the downhand-orientation tolerancing was addressed directly only by Kim et al. (1998). These authors introduced the weld "stability" metrics, that allows to compute admissible orientations for both the welding tool and welding joint (defined by work/travel and slope/rotation angles respectively). The open question however is assigning of reasonable "stability limits" to ensure required quality, which obviously needs the welding expert involvement. Besides, it was not proposed any judgements on variations of the welding speed within the stability region. In this work, existence of the orientation tolerances is assumed explicitly and it is proposed to associate the deviation from the downhand orientation with the welding productivity. Another active related research area is the arc-welding operations planning and sequencing. These works concentrate on specific non-trivial cases of the travelling salesman problem (TSP) and rural postman problem (RPP) known from the combinatorial optimisation (see Gutin and Punnen, 2002 for details and latest results). For the arc-welding, the scheduling problem with the minimumtime objective was firstly addressed by Rubinovitz and Wysk (1988) who suggested a heuristic algorithm based on the classical TSP nearest-neighbour method. Then, Fukuda and Yoshikawa (1990) applied to this problem a neural network technique focusing on reduction of the welding distortions. Later, the TSP-based method was enhanced by Kim et al. (1998, , 2002a) who proposed several heuristics and genetic algorithms for both single-pass and multi-pass welding task sequencing, which avoid the heat-caused distortions by imposing the problem-specific non-precedence constraints (while selecting the next weld line, the candidate ones are excluded if they belong to the heat-affected zone surrounding the line just welded). Tsai et al. (1999) addressed this problem from another direction and developed a heuristic welding sequence generator that minimizes the heat-caused distortions in a thin-panel structures by moving progressively from a more rigid joint toward a less rigid one. In another paper, Kim et al. (2002b) reformulated the heat-affected zone constraint by setting the lower bound on the travel time between two consecutive welding operations ("cooling time") and proposed several heuristics based on the nearest-neighbour, 2-opt, 3-opt and tabu search methods. Grenestedt (2003) applied to this problem the simulating annealing in combination with the approximate analytical distortion models. In the latest paper of Kim et al. (2005) there were proposed several enhanced sequencing heuristics, which also adopt the "cooling time" concept. 4

For other robotic applications, the task scheduling concentrates mainly on the mechanical assembly (Lozano-Perez and Wilson, 1993; Gottschlich et al., 1994; Yuan and Gu, 1999; Del Valle et al., 2003) and grasping-type tasks (Maimon, 1990; Edan et al., 1991). In the area of the spotwelding, which also deals with the TSP-type problems (but is not so critical to the orientational issues), it worth mentioning contributions of Huang et al. (1997) and Kadivar et al. (2000) who proposed relevant genetic algorithms. This work focuses on the cluster-level planning of robotic arc-welding operations for a workcell with a roll/tilt or balance positioner and contributes to research originated from the paper of Kim et al. (1998). In contrast to the previous works, the downhand orientation constraint is relaxed and implicitly converted into the penalty function, which increases the welding time if the weld orientation relative to gravity differs from the optimal one (following welding technology, such orientations are called the "out-of-position" ones). It is also assumed that the given set of welding operations is preliminary divided in groups (clusters) that include welds with similar (within given tolerances) orientations, so all operations belonging the same cluster are processed at the same configuration of the positioning table. Besides, the cluster processing times for the downhand position are assumed to be known, since the within-cluster operation planning may employ well-developed techniques proposed by Kim et al. (2002a, 2002b, 2005). The objective is to minimise the overall manufacturing time, by finding a reasonable trade-off between the positioner motion time and the cluster processing time, since ensuring the downhand orientation for each cluster reduces the cluster processing time but requires more time for re-configuration of the positioner, and vice versa. Thus, rather than using the positioner to achieve optimal workpiece orientation for each weld, it is considered a more global optimisation problem that seeks for both the optimal welding cluster sequence and corresponding optimal positioner motions, while guaranteeing the workpiece to be within a feasible region to perform each welding operation with prescribed quality. 3. Problem description This section gives detailed description of the studied problem, addressing issues of the welding task modelling, welding geometry and kinematics, the cycle time computing, welding task clustering and sequencing, and finally gives a formal mathematical statement of the associated combinatorial optimisation problem. The 3.1 CAD-based welding task model Modern CAD-based tools for the automatic robot programming are based on the aggregated modelling concept (Yao et al., 1998) which enhances traditional CAD descriptions by including the fabrication-specific data, such as welding joint geometry, material combinations, welding process parameters, suitable electrodes, etc. The potential benefit of this concept is the concurrency of the weld-product design and welding-process planning, allowing to start the welding operation sequencing at early stages of the design process. Using features extracted from the aggregated product model, it possible to select proper manipulators and welding equipment, create reasonable workcell layout, choose or design fixture, calculate the welding times and robot/positioner motion times, arrange the welding process steps in a correct sequence, generate a control system program, and verify a current solution via computer simulation of the robotic cell (Bolmsjo et al., 2002). The aggregated modelling allows to create a common framework for the information flow, covering all stages from the conceptual product design to its manufacturing and inspection (Pires, 2002). At the design stage, it is created the information on the product geometry, materials, as well as on the location and size of the welds. The planning stage focuses on the product manufacturing

5

issues, such as machinery selection, fixturing, layout synthesis, production planning, and also on the welding task planning and sequencing that is directly addressed in this work. The fabrication stage concentrates mainly on the machinery and welding process control in order to insure the required product quality and the robotic cell productivity. For the welding task planning, it is required only a subset of the entire information containing in the aggregate model, having major impact on the quality and productivity. Within the objectoriented framework, this information is extracted from the hierarchical classes, usually named as the "workpiece", "assembly", "fabrication", "component", and "weld". However, independent of the particular class definitions which vary from CAD-system to system, the relevant attributes provide information on the type of weld joint (linear, circle), welding speed, number of layers, and also on the weld geometrical parameters, such as the weld length, welding direction, approach direction, welding torch orientation. Detailed description of these parameters is given below. 3.2 Welding task geometry and kinematics The spatial location of the weld torch and the weld joint, as general rigid bodies, can be described by associated coordinate frames defined by six independent parameters (three Cartesian coordinates and three Euler angles). However, defining the welding task geometry requires some additional efforts, to take into account the specificity of this manufacturing process. Since capabilities of modern commercial robotic systems allow to process two basic types of the contours (linear and circular), only these cases are considered below. (a) Linear weld

(b) Circular weld

Fig.2. Definition of the weld joint frames For a linear weld, let us define the spatial location by the coordinate frame XwYwZw in accordance with the following convention (Fig. 2a): • • • •

the Xw-axis is directed along the welding line; the Yw-axis specifies the weld torch approaching direction (normal to the welding line, at the bisectrix of the weld joint surfaces); the Zw-axis completes the right-hand axis orientation (also showing the ‘‘weaving’’ direction); the frame origin is located at the weld line and moves progressively from the beginning to the end, while the welding operation is performed.

It should be noted that, in practice, it is prudent to define the Yw-axis as the bisectrix of the corresponding weld joint surfaces. For such definitions, the spatial location of the linear weld relative to the workpiece base can be described by the homogenous transformation matrix n W(l) =  w 0

sw 0

nw× sw 0

pws + nw ⋅ l   1  4×4

6

(1)

which depends on the parameter l∈[0, L], denoting the welding torch displacement along the welding line of the length L. In this expression, the subscripts "w", "s" denote respectively the weld and its starting point, nw is the unit vector of the welding direction (axis Xw), sw is the unit vector of the approaching direction (axis Yw), and pws is the position vector of the weld starting point. It should be stressed that the vectors (nw, sw , pso) are defined relative to the workpiece base and are transformed further to the world coordinate system taking into account the positioner kinematics. For the circular weld, the moving frame is defined in a similar way but it is necessary to ensure the tangency of the circular welding line and the Xw-axis at every point (Fig. 2b). Since the initial frame wbW(0) is subject to the rotational transformation, the weld geometry is described by the parameterised homogenous matrix  R (ϑ) ⋅ nws W(l) =  e 0 

Re(ϑ) ⋅ sws 0

Re(ϑ) ⋅ (nws× sws) 0

Re(ϑ) ⋅ (pws − pe) + pes   1  4×4

(2)

depending on the rotation angle ϑ = l / r , where r is the corresponding circle radius, the vector pe defines the circle centre position, the vectors nws, sws, pws define respectively the welding/approaching directions at the starting point and this point position, and Re(ϑ) is the general orthogonal 3×3 matrix  ex2 Vϑ + Cϑ  Re(ϑ) = exey Vϑ + ez Sϑ exez Vϑ − ey Sϑ 

exeyVϑ − ez Sϑ 2 y

e Vϑ + Cϑ eyez Vϑ + ex Sϑ

exez Vϑ + ey Sϑ   eyez Vϑ − ex Sϑ  2 ez Vϑ + Cϑ 

(3) 3×3

describing rotation around the axis defined by the unit vector e = [ex ey ez]T and position vector pe (see Fig. 2b), and Cϑ = cos(ϑ) ; Sϑ = sin(ϑ) ; Vϑ = 1 − cos(ϑ) . Since the workpiece is attached to the positioner plate, the absolute weld location oTweld is expressed as the product of the homogenous matrices o

Tweld = [oTpb ⋅ P(qp) ⋅ pf Twb ] ⋅ W(l) ,

(4)

where the left superscript "o", refers to the world coordinate system, the matrix oTpb defines the absolute (world) location of the positioner base; the matrix

pf

Twb describes the workpiece base

location relative to the positioner mounting flange; and the matrix function P(q p) is the positioner direct kinematic model, while qp is the vector of the positioner joint coordinates. Using the matrix oW(l) , there can be evaluated the weld deviation from the downhand orientation, which is completely defined by two angles (Fig. 3) : • the weld slope angle θ ∈ [−π / 2; π / 2] , i.e. the angle between the welding direction and the horizontal plane; • the weld roll angle ξ ∈ (−π; π] , i.e. the angle between the approach direction and the vertical plane including the welding line. Assuming that the Zo-axis of the world coordinate system is directed vertically upward, the weld

7

orientation relative to gravity may be computed from the Cartesian coordinates of the vectors onws, o sws as follows n s −n s −n θ = atan2 2 z 2 ; ξ = atan2 x y y x (5) sz n +n x

y

where the subscript "w" and superscript "o" are omitted for brevity.

Fig.3. Definition of the weld orientation relative to gravity. It should be noted that the expression for ξ degenerates if the weld is directed strictly vertically, both upward or downward (i.e. when onw = [0; 0; ± 1]T ). In this case, the slope angle is θ=±π/2 while the roll angle may be set to any value from the interval ξ∈(-π; π], since the approach direction is horizontal. However, in spite of this singularity, the adopted definition is more suitable for the robotic kinematic equations because it leads to a convenient factorisation of the rotational part of the weld location matrix oW(l) as rot{oTweld} 3×3 = Rz(ϕ) ⋅ Ry(θ) ⋅ Rx(π/2 − ξ)

(6)

where the operator rot{.} denotes the extraction of the rotational 3×3 submatrix from a 4×4 homogenous transformation matrix; Rx, Ry, Rz are the 3×3 orthogonal matrices describing rotations around the axes X, Y, Z respectively, and ϕ is the yaw-angle which is non-essential for the welding quality. Besides, the alternative definition of the roll angle (as the angle between the approach direction and the vertical axis), which is singularity-free in terms of this angle computing, will lead to the similar singularity problem when solving the positioner inverse kinematics (see Pashkevich et al., 2003 for details). For the welding torch, the spatial location can be also described by the associated coordinate frame XtYtZt, which is defined in the following way (Fig. 4a): • the Xt-axis is directed along the welding electrode axis, and specifies thus the weld torch approaching direction; • the Yt-axis is orthogonal to the Xt-axis and parallel to the XcZc plane of the robot wrist connector frame XcYcZc; • the Zw-axis completes the right-hand orientation of the axes Xt , Yt; • the frame origin is located at the end of the weld torch (assuming that the electrode gap is defined separately). Since the welding torch is attached to the robot wrist, its absolute location is expressed as the product of the following homogenous matrices o

rf

o

Ttorch = Trb ⋅ R(qR) ⋅ Twt

8

(7)

where, as above, the left superscript "o", refers to the world coordinate system, the matrix oTrb defines the absolute (world) location of the robot base; the matrix rf Twt describes the welding torch location relative to the robot mounting flange; and the matrix function R(qR) is the robot direct kinematic model, while qR is the vector of the robot joint coordinates. (a)

(b)

WRIST CONNECTOR FRAME Y

β

c

Zc Yt Zt

α

ROBOT BASE FRAME

Xc WELD TORCH FRAME

Z0

Xt



Approach direction Welding direction

X0

η

Y0

Fig.4. Definition of the position and orientation for the welding torch (a - relative to the world frame; b – relative to the welding joint) For the arc-welding technology, it is also essential to maintain desired relative location of the welding torch with respect to the welding seam, which is defined by the following parameters (see Fig. 4b): • the torch work angle α ∈ (−π / 2; π / 2) , i.e. the angle between the weld joint bisector plane XwYw and the torch travel plane (swept by the electrode axis during welding); • the weld travel angle β ∈ (−π / 2; π / 2) , i.e. the angle between the weld line normal and the electrode axis (its is also often called a drag angle during backward welding, a push angle during forward welding); • the torch gap ∆, i.e. the distance from the torch tip to the surface of the weld joint containing the weld line (measured along the Xt-axis); • the torch shift η, i.e. the shift of the actual weld line with respect to the hypothetical one defined in the CAD model (measured in the direction of the Zt-axis) It is obvious that these parameters impose only four of possible six constrains on the torch spatial location (two positional and two orientation ones), and the torch positioning at a particular point of the weld seam imposes one more positional constraint. Hence, the torch rotation angle γ around the lengthwise electrode axis is treated here as a free parameter, which is not essential for the welding (it may be utilised for collision or singularity avoidance). Following the above conventions, the basic kinematic equation for the welding torch positioning and orienting relative to welding joint is written as [oTpb ⋅ P(qp) ⋅ pf Twb ] ⋅ W(l) ⋅ Ty(δ)Tz(η)Rx(α)Ry(β ) ⋅ Rz(γ) = [oTrb ⋅ R(qR) ⋅ rf Twt] ⋅ Ho

(8)

where the homogenous transformation matrix Ho ensures proper alignments of the frame axes, namely in the case of zero α, β the axes aligned such as : (i) the weld torch Xt-axis is directed against the weld joint Yw-axis, and (ii) the weld torch Yt-axis is directed along the weld joint Xwaxis. Hence, the welding geometry and kinematics are basically characterised by six location parameters {α, β, δ, η, θ, ξ} and the welding speed V(α, β,θ, ξ), depending on the weld/torch orientation angles. In the robotic welding workcell, the parameters {α, β, δ, η, V} are controlled by

9

the robot, and the parameters {θ, ξ} are controlled by the positioner. All of these parameters affect the world quality, however this study focuses on the relation of the welding speed V and the gravity-relevant angles {θ, ξ}, which are the most essential for the quality/productivity trade-off. 3.3 Welding task times The overall cycle time of the robotic arc-welding cell is basically determined by two major components: (i) the “arc time” which is actually spent for the welding , and (ii) the “motion time” required for the torch moving and the workpiece positioning between the welding operations. The are also several other time components related to the workpiece cooling and downloading/uploading, the torch tip cleaning, equipment adjustment/maintenance, etc., but they are beyond the welding process model considered here (some of them can be efficiently handled by methods proposed by Kim et. al, 2002, 2005). As stressed above, the arc time is minimal for the downhand position and the welding speed must be reduced, if the “out-of-position” welding is used. Since the downhand location corresponds to θ=ξ=0 , it is proposed to approximate the welding speed reduction by the following expression T −1 V(θ, ξ) = (1 + kv || (θ, ξ) ||) ⋅ Vo (9) where Vo is the downhand welding speed, kv is the scaling factor, and || . || denotes the general algebraic norm of the vector (θ, ξ)T. It is obvious that definition of this norm for a particular welding task is not trivial and must rely on the expert judgements, who assigns the maximum allowable tolerances (θmax, ξmax) and also corresponding reduction of the welding speed kmax. For such settings, it is practical to use the Euclidian norm and adjust the scaling factor to meet the assigned speed reduction: kv = (kmax − 1) / || (θmax, ξmax)T || . Example of such definition is given in the application example presented in Section 6. The robot and positioner motion times highly depend on the welding task sequencing, which allow to avoid unreasonable movements of both the welding torch and the workpiece. For a single trajectory, the motion time depends on the motion control mode (simultaneous or sequential) and also on the travel distance and the velocity/acceleration constraints incorporated in the pathplanning algorithms. In can be proved, that for such constraints, the minimum time required for the movement of a single manipulator joint (for both the robot and positioner) is defined by the equation 2 ∆q / q&max + q&max / q&&max , if ∆q > q&max / q&&max (10) τ= &&max , 2 ∆q / q otherwise  where ∆q is the absolute value of the joint displacement, and q&max and q&&max are respectively the maximum velocity and acceleration. Then, the robot motion time for a single torch displacement (simultaneous control, as a rule) is defined by the slowest joint drive tR = max { τi } i

(11)

where i=1,…6 is the joint number. It should be noted that the latter expression is valid, if the path planning is performed in the manipulator joint-space. In the alternative case (the Cartesian-space path planning), the index variable must be extended to i=0,…6, where τ0 is computed via the Cartesian displacement and relative velocity/acceleration constraints in a similar way.

10

In contrast, the positioner motion time for a single workpiece reconfiguration (simultaneous control, usually) is defined as the sum of the elementary joint motion times tP = ∑ τi + ∑ ∆τi + τR , i

(12)

i

which also includes the pauses ∆τi between the successive joint movements and the auxiliary time τR required for the welding torch removing to the safe location, to avoid possible torch-workpiece collisions. As follows from this equation, its preferable to avoid achieving the downhand orientation for each weld individually, since it requires extra time for the torch removing that may compensate the downhand welding benefits. 3.4 Welding task clustering and sequencing Because of its complexity, the general problem of the robotic welding task planning is usually decomposed in several hierarchical stages (Maimon, 1990; Kim et al., 1998). This decomposition implements a problem-specific mechanism, which allows to reduce the size of the related combinatorial optimisation problems, while maintaining the productivity/quality compromise. These stages are defined as follows: (i) the weld joint clustering, which arranges the welds into the groups that can be welded without changing the positioner configuration (in the downhand position preferably, within the allowable tolerances); (ii) the intra-cluster sequencing, which determines the seam start/end points and the welding order for each cluster individually (minimising the robot motions subject to the heatdistortion related constrains); (iii) the inter-cluster sequencing, which determines the cluster processing order that minimises the positioner motions subject to the downhand-related constrains. After completing these stages, each operation is further broken into detailed robot-positioner movements, that finally results in the workcell control programs. For the first stage, there can be applied the well-developed clustering techniques (Everitt, 2001) that group together the welds having similar vectors sw. These vectors indicate orientations of the seam normal lines (torch-approaching directions) relative to the workpiece base. However, taking into account the welding specificity, it is prudent to perform the clustering in terms of the θ-, ξangles that are computed for the same positioner configuration, giving the downhand-closest orientation for the whole cluster. This poses the following optimisation problem for the obtaining the positioner coordinates vector qp

{

}

max || (θi(qp), ξi(qp) ) || → min , q i∈C i

T

p

which is solved within the usual clustering algorithms for evaluating the cluster diversity. In this expression, Ci denotes the index set of the jth cluster, || . || is the norm of the vector (θ, ξ)T, and the functions θi( qp), ξi( qp) define the ith weld orientation relative to gravity for the given positioner coordinate vector qp.. Obviously, in order to ensure the desired welding quality, it is necessary to constraint the inter-cluster diversity by assigning the upper bound ∆max for the above norm || (θ(i, qpi ), ξ(i, qpi ) )T || ≤ ∆max , ∀i ∈ C j , which is also easily incorporated in the existing clustering methods. An example of slightly different weld clustering techniques, which is based on the “representative weld-line” concept is given in Kim et al. (1998). 11

For the second stage, there are already exist a number of problem-specific heuristics, neural network based methods, and genetic algorithms that allow generating the minim-time inter-cluster welding sequence. They take into account the heat-related distortions by assigning the minimum cooling time, size of the heat-affected zone, etc. Comprehensive review of recent advances in this area is given by Kim et al. (2005). This work focuses on the third welding task planning stage, the intra-cluster sequencing, related to the optimisation of the positioner motions. To our knowledge, the only paper that addresses this problem directly is a work of Kim et al. (1998) devoted to the welding operations planning in a robotic workcell with a rotating-tilting positioner. However, their approach assumes that each cluster is oriented using the representative weldline, which is transformed to the strictly downhand location by the positioner. Besides, after such orienting, the cluster welding time is assumed to be constant and computed directly from the welding speed and the weld line length. In contrast to the known one, the proposed approach admits the out-of-position (i.e. not exactly downhand) weld location, which however is charged by the welding speed reduction. It allows to pose a problem of the minimum-time cluster sequence planning by finding a reasonable trade-off between the positioner motion time and the cluster processing time (since the downhand orientation for each cluster reduces the welding time but increases the positioner re-configuration time, and vice versa). Another useful feature of the proposed technique is the re-clustering ability. It means that the developed algorithm is able to find the same positioner configuration for several neighbouring clusters (i.e. to merge them), if the corresponding increase of the welding time is over-compensated by the reduction of the robot-positioner motion time. This allows to modify the clustering stage, which may impose very strong constraints on the inter-cluster similarity, and partly combine the clustering stage with the cluster sequencing one. 3.5 Associated optimisation problem In more formal way, the considered problem may be stated as follows. Let us assume the whole set of the welds is preliminary clustered in n groups, while the positioner joint coordinate space is sampled and presented by the uniform grid with the set of nodes { Qp} corresponding to the admissible positioner configurations. For each such node and each welding cluster, let us evaluate the feasibility of the all inter-cluster weld orientations (within the given tolerance ∆max) and compute corresponding processing times, required for both the welding and the torch movements between the welds. At this step, the cluster welding time is adjusted in accordance with the allowable welding speed defined by equation (9). Using the obtained data, let us create a new cluster set {Qp(1), Qp(2),L Qp(n)} in the sampled positioner coordinate space, where each cluster Qp(i) is composed

of

admissible

nodes

{Qp(ik) | k = 1, mi }

with

their

welding

time

attributes

{Tw (i, k) | k = 1, mi } . Besides, let us assume that there are also computed the positioner inter-node

motion times {Tm(i1, k1, i2, k2) | ki = 1, mi } , and is given the auxiliary robot motion time τR required for the torch moving before/after positioner re-configuration. Then, the minimum-time objective for the inter-cluster sequencing may be written as n

∑ Tw(i, ki) + i =1

n

∑ Tm(i1, ki1, i2, ki2) + τR ⋅ ∑1(Qp1 1 ≠ Qp1 1 ) → min I, K

(i1,i2)∈I

(i k )

(i k )

i =1

where I, K denote the optimal cluster sequence and corresponding cluster node numbers, ki defines the optimal node within the ith cluster, the first term accumulates the cluster-processing times (welding and torch travel ones) , the second term represents the positioner motion times (between the clusters), and the third term takes into account the auxiliary robot motions between the positioner re-configurations via the indicator function 1(.). 12

Geometrical interpretation of this formulation is presented in Fig. 5 , where each welding cluster is defined by the set of feasible nodes in the positioner coordinate space. For each node within each cluster, it is assigned the node-processing time that varies within the cluster, with the minimum located in the cluster centre. For each pair of the nodes, there are also given the internode travel times. Besides, it is assumed that each non-zero travel requires some additional pausetime, needed for preparations of the safe movements. The goal is to find the minimum-time tour, which visits each cluster exactly ones, defined by both the cluster sequence and the set of visiting nodes within the clusters. The hypothetical solution (see Fig. 5) shows a compromise between visiting cluster centres and their peripheries, since the node-processing times and the inter-node travel times compete inside the total sum to be minimised. Moreover, this solution utilises advantages of cluster overlapping by processing the clusters #3, #6 in the same positioner configuration (it removes the corresponding pause-time between successive positioner motions). Another interesting feature is the one-axis motion between the clusters #1 and #2, which is more time-economical than the two-axis motion requiring a pause between activating the axis drives. Sampled positioner coordinate space Welding positioner

Cluster #1

Axis #2

Cluster #2 Cluster #3

Axis #1

Cluster #5 Cluster #4

Cluster #6 Cluster #7

Fig. 5. Representation of the inter-cluster sequencing problem in the positioner coordinate space It should be noted that this study focuses on generating the non-closed optimal tours for cluster visiting and processing, assuming that the workpiece downloading/uploading is performed at the tour start/end points interchangeably. However, the proposed technique is easily modified for the case of the closed tour, as well as for the case of a predetermined loading positioner configuration. Another essential specificity of the considered problem is related to the cluster geometry, since the welding task clusters are usually composed of several disjoint regions in the positioner coordinate space, corresponding to different inverse kinematic solutions. The following section proposes an optimisation algorithm that takes into account this problem specificity. 4. Optimisation Algorithm

This section contains description of the proposed heuristic algorithm and incorporated optimisation procedures, their comparison with existing methods, and also proposes ways of the algorithm computational speed-up using various application scenarios 4.1 Analysis of the existing methods As shown above, the considered problem of the inter-cluster operation planning can be converted into the generalised TSP (GTSP), in which the set of given nodes consists of several clusters (overlapped, in our case) and the objective is to find the shortest route passing through each cluster exactly once. The GTSP was first mentioned in operation research literature in relations to computer files sequencing and scheduling of clients through welfare agencies (Henry-Labordere, 1969; Saksena, 1970). Further applications dealt with postal van routing, flexible manufacturing scheduling, material-flow systems design, airport selection, design of ring networks, integrated 13

circuit testing (for more details see Laporte and Palekar, 2002; Ben-Arieh et al., 2003) . It is obvious that the GTSP is NP-hard, as it is reduced to the classical TSP when each cluster contains a single node. Besides, theoretically, the GTSP can be easily transformed into a TSP by radically increasing the distances within a cluster; however, such transformation essentially increases the computational complexity, so it is preferable to solve the GTSP directly, by means of specialized algorithms. Early algorithms for the GTSP were based on dynamic programming and assumed that the clusters are derived by the strict portioning (i.e. no overlapping), and the distance matrix is Euclidean, i.e. symmetrical and satisfies the triangle inequality (Srivastava, 1969). However, the required amount of computer memory restricted their application for small size problems only. So, later it was proposed an integer linear programming approach (Lokin, 1978; Laporte and Nobert, 1983; Jongens and Volgenant, 1985) capable of solving the problem with 10 clusters (50 nodes overall). This approach was further applied to the asymmetrical case and enhanced to solve the problem with up 13 clusters and 100 nodes in total (Laporte et al., 1987). Since then, a number of papers related to the GTSP have appeared in the literature concentrating on both exact and heuristic algorithms, as well as on some theoretical issues of the problem. In particular, Noon and Bean (1991) developed a Lagrangian-based branch-and-bound algorithm; Fischetti et al. (1997) proposed a cutting-plane/branch-and-cut technique using their results on the facet-defining inequalities; Chentsov (2001) used the dynamic programming as a core of his exact algorithm. Several papers focus on the GTSP transformations into the standard TSP of larger size, which then, theoretically, can be solved applying the known TSP algorithms and heuristics (Lien et al., 1993); some authors try to find solution via the GTST approximation (Anily, 1999). But the case of the overlapping clusters, vital for robotic welding, was not addressed directly, since the authors implicitly assumed that the overlapping can be excluded by the relevant transformation. A comprehensive review and state-of-the-art in area of the TSP/GTSP is given in (Gutin and Punnen, 2002). Since the GTSP is NP-hard and the exact algorithms usually are not able to obtain the optimal solution in a reasonable amount of computational time, a variety of heuristics is presented in the literature. The simplest of them are based on adaptation of the standard TSP techniques, such as nearest-neighbour, farthest-insertion, nearest-insertion, and cheapest-insertion. The most sophisticated to our knowledge heuristic, GI3, was proposed by Renaud and Boctor (1998). It consists of three phases: (i) Generalized Initialization, (ii) Generalized Insertion, and (iii) Generalized Improvement. At the first phase, it is generated an initial tour by choosing a single node from each cluster, which is “close” to the other clusters; then it is greedily built a tour that passes through some of the chosen nodes (not necessarily through all). At the second phase, the tour is completed by successively inserting nodes from unvisited clusters in the cheapest possible manner, allowing the visited clusters to adjust their nodes via the tour reoptimisation. And finally, at the third phase, the tour is improved using the TSP heuristics based on the 2-opt and 3-opt exchanges. The authors reported that the GI3 performed very well on 36 test problems with up to 442 nodes (in all clusters) produced from the TSPLIB library by strict partitioning of the original n0 nodes by n0/5 mutually exclusive and exhaustive subsets (by defining the cluster centres as the farthest nodes from each other, and assigning each remaining node to its nearest centre). Hence, the evaluation results correspond to very small cluster sizes and the simplest cluster structure (nonoverlapping and geometrically connected regions, with the intra-cluster distances much smaller the inter-cluster ones), which is non-typical for the robotic welding application studied here. Besides, the first phase of the GI3 assumes that the nodes are defined as points on the Cartesian plane, with Euclidian distances (in order to construct an enveloping sub-tour), otherwise the authors suggest simply select three nodes that are farthest from each other. Obviously, this does not work for our cluster structure. 14

In the following sub-sections, it is presented a new heuristic algorithm for the GTSP specially developed for the considered robotic application. The development of this heuristic has been primary motivated by the high computational expenses of the existing methods applied the specific geometrical structure of the clusters and also necessity to solve the GTSP a large number of times. Besides, majority of the known GTSP-solving techniques assume that (i) clusters are mutually disjoint; (ii) distances satisfy the triangle inequality; (iii) the cost of the node including in the tour is zero (or fixed). In contrast to them, the proposed technique handle the case of strongly overlapped clusters derived from the grid and the non-Euclidean distance matrix incorporating both travelling and processing times of the robotic systems; also, the tour is non-closed and starting/ending nodes may be (or not be) prespecified. 4.2 Outline of the proposed heuristic To improve efficiency and computational speed in the case of the overlapping multi-region clusters and non-Euclidean distances, the composite heuristics of Renaud and Boctor (1998) was revised by simplifying the first two phases and replacing them with a straightforward generation of a random initial solution (random tour and node subset, i.e. cluster sequence and list of visited nodes, exactly one per each cluster). Besides, the third phase is run in a slightly different manner, using two nested loops. The internal loop contains a classical TSP tour-improvement routine, which is repeated until no improvement is achieved by modifying the cluster sequence (for a fixed node subset). Then, within the external loop, the node-improvement routine is invoked to optimise the node subset, while the cluster sequence (tour) is considered unvarying. The external loop is also repeated until no improvement is achieved, converging to a local optimum. To increase chance of attaining the global optimum, the algorithm is repeated several times, each time starting from a new random initial solution and finishing with updating the best solution. The basic idea and outline of the proposed composite algorithm (called GI2+) are given below: Algorithm 1: Heuristic GI2+ (1) Generate random solution {Tour, Node} (2) Set done:=0; (3) Repeat while done=0 (a) Repeat while done=0 (i) Set done:=1; (ii) ImproveTour( ); Set done:=0, if improved (b) ImproveNodes( ); Set done:=0, if improved (5) Update best solution and repeat from Step 1, if desired

In contrast to the original GI3 technique, the proposed heuristic completely revises the subset after each tour alteration, and the tour improvement is run indefinite number of times, until no improvement is achieved (The GI3 favours to the predetermined number of iterations for the tour improvement and for the reduced node improvement, executed for several neighbouring clusters only). The main reason for this amendment is the multi-region cluster geometry that disables the ideas implemented in the GI3. Besides, the proposed algorithm structure (with two nested loops) simplifies the coding while keeping reasonable computational speed. The GI2+ algorithm incorporates three main procedures (generation of an initial solution; tourimprovement and subset-improvement). Those of them that are based on well known techniques will be sketched briefly; procedures which were specially developed will be given in more details. To 15

describe them, let us introduce some notations. Let G = ( S1 U S2 U KSn, E) be a complete undirected graph with the set of nodes V = U in=1 Si partitioned into n mutually exclusive and exhaustive subsets (clusters) Si = {Vik , k = 1,mi } of sizes | Si |= mi . Here Vik = (i, k) denotes the kth node (vertex) of the

ith cluster. It is assumed that each node v ∈ V is associated with some processing cost (distance/time) Cp(v) and each edge (u, v) ∈ E is evaluated by some travelling cost (distance/time) Ct(u, v) . Besides, including the node vi in a solution (v1, v2, K , vn) is charged by some fixed cost C0 , which however may be reset to zero if there is no actual travelling from the preceding node, i.e.

if Ct (vi −1, vi ) = 0 . It should be noted that the above formulation does not admit cluster intersection in the set theory sense (i.e. Si I S j = ∅, ∀ i ≠ j ) , but it admits the geometrical overlapping defined by the traveling costs (i.e., there may exist pairs of nodes from different clusters for which the traveling cost is zero: ∃vi, v j : Cp(vi, v j) = 0, vi ∈ Si ; v j ∈ S j ; i ≠ j ). For the application problem studied in this work, it means that the same grid node (from the positioner coordinate space) may be included in several clusters, with the corresponding processing cost, so further these nodes are treated as distinct ones. For such formulation, the nodes may be coded as the paires (i, k), the edges are identified by the quadruplets (i1, k1, i2, k2), and the solution is defined by two arrays containing the i-indices {T(i), i=1:n} and k-indices{N(i), i=1:n} of the sequential visiting nodes. So, the desired solution is expressed as {(i, k) | i = T(j), k = N(i), j=1:n}. Also, following this notation, the cluster sizes will be defined in the array {Kmax(i), i=1:n} and the cost components will be denoted as CP(i, k), CT(i1, k1, i2, k2), and C0. 4.3 Incorporated optimisation procedures A random initial solution can be generated in a straightforward way, applying the following procedure, which (i) randomly selects a node from each cluster, and (ii) generates a random permutation starting from [1,2 … n] and then exchanging the ith element with a randomly selected one from the first i elements for i = 1, ..., n ( “Shuffle” algorithm of Durstenfeld). Procedure 1a: Initial Solution (1) For i = 1 to n do Set N (i) := Kmax(i) ⋅ rand( ) (2) Set i1: = n; T := [1, 2, 3 … n]; (3) While i1: > 0 do Set i2 : = i1 ⋅ rand( ); T = Swap(T, i1, i2); i1 : = i1 –1

Solution cost is evaluated by summing three types of the defined above cost components assuming that the tour is not closed, as motivated by the considering practical application. Procedure 1b: Solution Cost (1) Set C := C0 (2) For j = 1 to n do Set i1 := T (j); k1:= N(i1); C := C + CP(i1, k1); (3) For j = 2 to n do (a) Set i1 := T(j); k1:= N(i1); i2: := T(j-1); k2:= N(i2); (b) If CT(i1, k1, i2, k2) > 0 then Set C := C + CT (i1, k1, i2, k2) + C0 ;

16

For the tour-improvement, it is prudent to apply the 2-opt and 3-opt branch exchange heuristics of Lin (1965), which provide a close to optimum solution in a reasonable amount of time. They are less accurate than the most sophisticated modifications of the LKH-technique (Lin and Kerningham, 1973) that solved to optimality the largest known today nontrivial problem. However, computationally, the 2-opt and 3-opt are more efficient and easy to implement. Besides, for relatively small n that are typical for the studied application, the 2-opt and 3-opt are able to find an optimal solution in almost all cases. As an example, below is given an outline of the modified 2-opt procedure, which takes into account additional cost components. At its final step, the procedure includes the Reverse( ) function, which inverts the order of elements in the sub-array {T(j), j=j1:j2}. The 3-opt heuristic is modified in the similar way, except of the search space becomes 3dimensional (j1, j2, j3) and the reversion is performed separately for two sub-arrays with the indices (j1…j2) and ( j2+1…j3). Procedure 1c: Tour Improvement (modified 2-opt) (1) Set Cmin := C (2) For (j1, j2)∈{(1:n-1)×( 1: j1-1)} do (a) Set Ccur:=C; i1:=T(j1); k1:=N(i1); i2:=T(j2); k2:=N(i2); (b) If j1 > 1 then (i) Set i1p:=T(j1-1); k1p:=N(i1p); (ii) If CT (i1p, k1p, i1, k1) > 0 then Set Ccur := Ccur – CT(i1p, k1p, i1, k1) - C0; (iii) If CT (i1p, k1p, i2, k2) > 0 then Set Ccur := Ccur + CT(i1p, k1p, i1, k1) + C0; (c) If j2 < n then (i) Set i1s:=T(j2+1); k1s:=N(i1s); (ii) If CT (i2, k2, i2s, k2s) > 0 then Set Ccur := Ccur – CT(i2, k2, i2s, k2s) - C0; (iii) If CT (i1, k1, i2s, k2s) > 0 then Set Ccur := Ccur + CT(i1, k1, i2s, k2s) + C0; (d) If Ccur < Cmin then Set Cmin := Ccur; j1o:= j1 ; j2o:= j2 (3) If Cmin < C then (a) Set done := 0; C := Cmin (b) Set T := Reverse(T, j1o, j2o)

For the node-improvement, it was adopted the dynamic programming technique used by several authors for different versions of the GTSP (Fischetti, 1997; Renaud and Boctor, 1998; Chentsov, 2001). Since the cluster sequence (i1, … in) is considered prespecified, there can be constructed a layered network having n layers corresponding to the clusters Si1, … Sin , with arcs between successive clusters only (see Fig. 6a). It should be noted, that the network does not include an extra node required in the classical case seeking for a closed tour. Besides, some original geometrical nodes may be duplicated, i.e. included in several clusters with zero travel cost as shown in Fig. 6b.

17

Si 1

S i2

Si 3



S in S i1

a)

b)

Si 3

S i5

S i2

Si 4

Fig.6. The layered network and corresponding cluster geometry. Using the network presentation, the problem is reformulated into finding the shortest path between the nodes belonging to the first and last clusters, which is solvable by dynamic programming in polynomial time. To avoid bulky expressions in presenting relevant algorithm, let us assume that the clusters are renumbered according to the visiting order, i.e. as (1, 2,… n), and the arc lengths d(vi,k1,vi+1,k2) include the cost components in following manner: (i)

for each arc, the distance d(.) entirely incorporates the relevant travelling and fixed costs; for arcs between S1, S2 , the distance d(.) incorporates the processing costs for both left and right nodes v1,k1 and v2,k2 ; for arcs between Si, Si+1 , i > 1, the distance d(.) includes the processing cost for the right node vi+1,k2 only.

(ii) (iii)

Corresponding procedure for the network distance computing, implementing these assumptions, is given below. Procedure 1d. Network Distances: d = D(ic, kc, ip,kp) (1) Set d = CP (ic, kc) (2) If ip=1 then Set d := d + CP (ip, kp); (3) If CT (i1, k1, i2s, k2s) > 0 then Set d := d + CT(ic, kc, ip,kp) + C0; 0

Then, if Dik denotes the length of the shortest path linking a node vik ∈ Si to the nearest node u ∈ S1 and passing exactly one node from S2, …Si-1 , the desired optimal path can be found as

follows: (k10,K kn0) = arg min Dnk0 k

(13)

0

where Dik are computed iteratively from the expressions Dik0 = min Di0−1, p + d(vi −1, p, vi,k) p

∀i = 2, n ; k = 1, mi

(14)

0

starting from D1k = 0 ∀ k = 1, m1 . An outline of the node-improvement procedure (for an arbitrary cluster sequence, given by the array Tour) is presented below. The procedure consists of six basic steps where the first two (1), (2) deal with creating matrices of optimal distances Md(j, k) and corresponding k-indices of the 18

preceding clusters Mk(j, k). On steps (3), (4), it is computed the minimum value in the nth column of Md, in order to select the best node in the last cluster. And finally, on steps (5), (6), the best nodes of the preceding clusters are iteratively extracted from Mk(.). The final result is contained in the array N( ). Procedure 1d. Node Improvement (dynamic programming) (1) For k = 1 to Kmax(1) do Set Md(1, k):=0; Mk(1, k):=0 (2) For j = 2 to n do (a) Set ic := T(j); ip := T(j-1); (b) For kc = 1 to Kmax(ic) do (i) Set dmin := inf; (ii) For kp = 1 to Kmax(ip) do (α) Set dcur := Md(j-1, kp) + D(ic, kc, ip, kp); (β) If dcur < dmin then Set dmin := dcur; k0 := kp (iii) Set Md(j, kc) := dmin ; Mk(j, kc) := k0; (3) Set dmin := inf; (4) For k := 1 to Kmax(T(n)) do If dmin > Md(n, k) then Set dmin := Md(n, k); k0 := k (5) If dmin < C then (a) Set done := 0; C := dmin (b) For j=0 to n-1 do Set N(T(n-j)) := k0 ; k0 := Mk(n-j, k0);

4.4. Time complexity and execution scenarios The complexity of the GI2+ heuristic can not be determined exactly, since it is impossible to predict the number of times that the tour- and node-improvement procedures will be executed (they are repeated until no improvement is achieved). However it is valuable to get certain estimates for the separate phases of the GI2+, taking into account some empirical results from the previous works. For the fist phase (initial solution), the required number of computations is O(n2). The calculation of the cost components needs O(n2m2) operations. For the second phase (solution improvements), it is necessary to consider both the single λ-opt exchange complexity O(nλ) and the complexity of the node-improvement procedure, which is O(n m2). As follows from several empirical studies, number of λ-exchanges for the classical TSP may be evaluated as O(nµ) with µ ≈ 0.2…0.5 (but there is no an exact theoretical upper bound on µ). Thus, the overall complexity of the GI2+ complete iteration is O(nλ+µ m2) but, to obtain a good solution, it is necessary to repeat it for a number of starting tours and node subsets. Some further conclusions on required number of iterations and the GI2+ complexity were obtained via computational experiments presented in Section 5 devoted to the simulation experiments. To speed up computations, there can be applied some variations of the GI2+, which take into the cluster geometry of the studied robotic application. These variations allow to get a good initial solution rapidly and then apply the GI2+ improvement procedure only once, to obtain almostoptimal result. Below, there are given several possible variants of such amendment (two-grid approach, and two versions of two-size approaches). 19

Variant 1. First, run the heuristic for reduced-size clusters, with the nodes extracted from the course grid in the decision variable space. Repeat iterations several times, starting from different random solutions. Then, restore the full-size clusters corresponding to the fine grid and apply the heuristic improvement phase once, starting from the best solution obtained for the course grid. Variant 2. Generate the reduced-size clusters by shrinking disconnected geometrical regions in the decision variable space up to single points (nodes), corresponding to the local minimums of the node-processing time. Then, solve sequentially the problem several times for the reduced-size clusters (for a number of random initial solutions) and once for the full-size clusters, similar to the Variant 1. Variant 3. Obtain the reduced-size clusters by sequentially deleting the nodes corresponding to the geometrical region boundary in the decision variable space. Then, solve the problem for the reduced and full cluster sizes, similar to the Variant 2. There can be also other variations of the developed heuristics, which generate initial solutions using approximation of the cluster regions by single nodes. Moreover, for small-size clusters, it can be also applied an exact technique presented in the following sub-section. 4.5. Exact branch-and-bound algorithm If the number of clusters n and their sizes mi are relatively small, the problem can be solved to optimality via the classical branch-and-bound tour enumeration scheme with the nested dynamic programming routine, which selects the optimal node subset. This strategy prunes the search tree by computing a partial tour cost for the best partial node subset and comparing it to the best solution found so far. To describe the exact algorithm, let us use the adopted above notations assuming that the best initial solution is denoted as{Topt, Nopt, Copt}. Also, here there are used two additional arrays, {Dmin(i); i=1,…n} and {Kmin(i); i=1,…n}, which contain the best cost values and corresponding kindices of the partial tours. The algorithm is based on the standard permutation recursion with bounding, which is enhanced to generate the dynamic programming matrices for optimisation of the node subset. In contrast to the node-improvement procedure incorporated in the proposed heuristic, which generates all n columns each time it is invoked, here the matrixes are created gradually (one column by a call ) and are updated using the backtracking. The outline of the exact algorithm is given below. Algorithm 2: Exact branch-and-bound algorithm (with nested DP) (1) Set i := 1; Ccur := 0; U := [0, …, 0]n (2) For k = 1 to max(Kmax) do Set Md(1, k):=0; Mk(1, k):=0 (3) For j = 1 to n do (a) Set T(1) := j; U(j) := 1; (b) If Ccur < Copt then Call Branch&Bound( ) (c) Set U(j) := 0;

20

Procedure 2a. Branch&Bound( ) (1´) If i = n then (a) Set Topt := T; Copt := Ccur; k0 := Kmin(n) (b) For j = 0 to i-1 do Set Nopt(T(n-j)) := k0 ; k0 := Mk(n-j, k0) (1") Else For j = 1 to n do If U(j) = 0 then (a) Set i := i+1; T(i) := j; U(j) := 0; (b) Set ic := T(i); ip := T(i-1); (c) For kc = 1 to Kmax(ic) do (i) Set Cmin := inf; (ii) For kp = 1 to Kmax(ip) do (α) Set Ccur := Md(i-1, kp) + D(ic, kc, ip, kp); (β) If Ccur < Cmin then Set Cmin := Ccur; k0 := kp (iii) Set Md(i, kc) := Cmin ; Mk(i, kc) := k0; (d) Set Cmin := inf (e) For k := 1 to Kmax(T(ic)) do If Cmin > Md(i, k) than Set Cmin := Md(i, k); k0 := k (f) Set Kmin(i) := k0 ; Dmin(i) := Cmin ; Ccur := Cmin (b) If Ccur < Copt then Call Branch&Bound( ) (h) Set i := i -1; Ccur := Dmin(i); U(j) := 0;

It is obvious that this exact technique is not efficient for the general GTSP, but it may be useful for robotics where number of the welding clusters rarely exceeds 10…15, particularly in the case of rough approximation of the cluster geometry. Undoubtedly, to obtain some computational speed up, there can be also applied more sophisticated TSP branch-and-cut schemes (adopted similar to the above algorithm), but for the full-scale solution of the studied application problem the proposed GI2+ heuristic seems to be the most reasonable. 5. Computational Results

The developed algorithm was tested on a number of randomly generated problems comprising from 50 to 1000 nodes (from 5 to 10 clusters and up to 100 nodes per cluster) and compared to the exact bound-and-cut technique. It was coded in Matlab and run on a PC with a 2.8 GHz Intel Pentium IV processor and 512 MB memory. To take into account specific properties of the considered robotic application, each cluster was build as a union of two disjoint circles, and the clusters were allowed to have essential intersection regions. Each node was presented by a point on a two-dimensional uniform grid corresponding to the positioner joint coordinates. The optimisation task times were computed taking into account the following issues: (i) the positioner motion time depends on both the travel distance and the relevant velocity/acceleration constraints; (ii) the positioner coordinates are alternated sequentially, with the time-pause required to activate the axis drives; (iii) each positioner motion causes some additional time-expenses needed for taking the welding gun away from the workpiece and bringing it back; (iv) the node processing time depends on both the corresponding weld length and its orientation relative to the direction of gravity. 21

For these settings, 100 randomly generated problems were solved for every combination of n ∈ {5…10} and m ∈ {10, 20, 50, 100}. Tables 1, 2 report average results for the problems which could be solved within 30 sec using 10 iterations. The table columns contain the following data: Problem Size (n, m); Execution Time (mean/min/max values); Reaching of Optimum (percentage of successive runs that have reached the optimum, and mean/max over-the-optimum ratio); Relative Speed (mean/min/max ratios of the exact algorithm and heuristics running times). The execution times are also presented in Fig. 7 that allows to evaluate the computational complexity of the heuristic. The results indicate that the developed algorithm is quite efficient. Problems involving up to 1000 nodes and 10 clusters were solved to optimality in 70-80% of cases, and an average solution is only 0.3…2.6 % over the optimum, that is quite acceptable for engineering applications. In contrast, the exact algorithm, based on branch-and-cut technique with the nested dynamic programming, can handle only low-dimensional problems with relatively small n and m (problems size is roughly up to 5×100, 6×50, 7×20, 8×10). For larger (n, m), the branch-and-cut method becomes noncompetitive; for instance, it requires about 6 hours for the problem 10×100) while the heuristics solves it during 20.2…32.4 seconds. However, for smaller number of clusters (n < 5) the branchand-cut method takes over the heuristics (for example, the 4×100 problem is solved by the branchand-cut in 5.5 sec, while the heuristics requires about 7.0 sec). Problem Size

Execution Time

Problem Size

Execution Time

n

m

Mean

Min

Max

n

m

Mean

Min

Max

5

10

0.142 0.448 2.444 9.466 0.192 0.607 3.278 12.376 0.259 0.773 4.024 15.660

0.125

0.187

8

10

0.347

0.281

0.406

0.375 2.203 8.734 0.156 0.485 2.828 11.047 0.218 0.641 3.406 13.328

0.593 3.016 11.922 0.235 0.704 5.265 15.016 0.344 0.985 5.453 21.407

20 50 100 10 20 50 100 10 20 50 100

0.968 4.939 18.534 0.439 1.157 5.829 21.723 0.549 1.360 6.836 25.416

0.766 4.000 15.532 0.375 0.954 4.843 17.860 0.437 1.078 5.485 20.188

1.266 6.000 23.328 0.531 1.438 8.000 32.172 0.656 1.625 8.390 32.375

6

7

20 50 100 10 20 50 100 10 20 50 100

9

10

Table 1. Execution times for the proposed heuristic (10 iterations, Intel PentiumIV 2.8 GHz) Time, sec

100

25

m

20

100 100

10

0

100

100

15

5

100

50 10 20 5

50 20 10 6

50 20 10 7

50 20 10

n

8

50 20 10 9

50 20 10 10

Fig. 7. Heuristic execution time for different m, n.

22

Relative Speed (Exact/Heuristics)

Reaching of Optimum (Heuristics/ Exact)

Problem Size n

m

Succ%

Mean

Max

Mean

Min

Max

5

10 20 50 100 10 20 50 100 10 20 50 100

87 85 92 95 87 82 88 89 55 53 71 77

1.005 1.006 1.008 1.003 1.011 1.007 1.009 1.003 1.013 1.026 1.024 1.010

1.202 1.165 1.368 1.137 1.220 1.125 1.429 1.166 1.182 1.188 1.259 1.130

2.73 2.77 2.96 2.84 10.24 10.84 11.59 11.20 41.03 45.05 49.35 50.03

1.82 1.58 1.34 1.55 6.37 5.70 6.39 6.92 22.96 23.74 23.18 7.80

3.87 3.62 3.75 3.73 14.53 15.08 15.92 16.70 56.05 65.64 78.30 79.75

6

7

Table 2. Quality of the heuristic solutions (10 iterations) As follows from the graphical analysis, the developed algorithm is favouring to the tours with minimum number of segments (less than n) and also tries to orient the segments vertically or horizontally. It is caused by large cluster intersections and specificity of the objective function, which imposes penalties on stopping at each node and on using two sequential positioner motions instead of a single one. It is an advantage from an application point of view, since the algorithm combines positioner motion planning with re-clustering of the welding joints. Examples of the obtained solutions are presented in Fig. 8 where, for the simplicity of presentation, it is shown the simplest cluster structure (a single joined region), while the above simulation results were obtained for more complicated cluster shapes typical for robotics (several disjoint regions). 4-segment tour

3-segment tour 2

1

4

5

4

3 1

3 2

5

2-segment tour 1

1-segment tour 2

2

3

5 1 3

5 4

4

Fig. 8. Typical tour patterns for the overlapping clusters It was also noticed that, in many cases, the heuristic finds its best solution in the first few iterations and spends most of the remaining time waiting for the termination. This illustrates by histograms presented in Fig. 9, which show the distribution of the last successful trial number (out of 10), in which the heuristics improved the solution. As follows from this results, in 23% of cases 23

the best solution was found at the first iteration, and in 49% of cases three iterations was enough to reach it. However, in the general case, the required number of iterations, as well as computing time, essentially depends on the cluster structure. In particular, it was found that for the simplest cluster structure (a single-region pattern), the best solution is usually obtained at the first iteration, and the related computing expenses are about twice lower. But for the considered robotic application extra iterations are required. 25 20

25 5 x 10

25 5 x 50

20

15

15

15

10

10

10

5

5

5

0

0

1 2 3 4 5 6 7 8 9 10

25 20

1 2 3 4 5 6 7 8 9 10

25 7 x 10

0

15

15

10

10

10

5

5

5

0

0

20

1 2 3 4 5 6 7 8 9 10

25 10 x 10

0

1 2 3 4 5 6 7 8 9 10

25 10 x 50

20

10 x 100

20

15

15

15

10

10

10

5

5

5

0

0

1 2 3 4 5 6 7 8 9 10

7 x 100

20

15

25

1 2 3 4 5 6 7 8 9 10

25 7 x 50

20

1 2 3 4 5 6 7 8 9 10

5 x 100

20

1 2 3 4 5 6 7 8 9 10

0

1 2 3 4 5 6 7 8 9 10

Fig. 9. Distribution of the heuristic iterations till reaching the best solution (out of 10) Algorithm

α

β

c

Dist. Comput.

2.12

1.99

5.78 e-6

1.7

7.4

Heuristics

1.44

1.92

1.33 e-4

9.5

32.1

Branch-and-Cut

10.68

2.06

6.25 e-11

28.2

101600.5

Time5×100 Time10×100

Table 3. Least-square approximation of the execution times ( Time = c⋅nαmβ ) To summarise the empirical performance of the heuristics and the branch-and-cut algorithms, the reported running times were approximated by the expression Time = c⋅nαmβ using the log-leastsquare technique. The (α,β,c)-estimates as well as the execution times for two typical cases are given in Table 3, which shows that the heuristics remains rather moderate with respect to n, while for the branch-and-cut algorithm the problem difficulty severely increases with the number of clusters. Concerning the cluster size m, both algorithms exhibit comparable behaviour (almost quadratic). It should be also noted that both algorithms require inter-node distance pre-computing, whose complexity O(n2m2) is comparable with the heuristic running time. Hence, in comparison with the bound-and-cut, the developed algorithm demonstrates significant superiority in terms of the execution time.

24

6. Application Example

The developed algorithms were incorporated in the robotic CAD system Robomax, which is aimed at computer-aided programming of the arc and spot welding robotic cells (Pashkevich, 2003). This Section presents a case-study that demonstrates the efficiency of the relevant software tools and describes the design methodology within the Robomax environment. The considered robotic cell included a 6-axis industrial robot (welding tool manipulator) and a till-roll positioner with fixturing clamps (workpiece manipulator), which provided the desired orientation of the workpiece relative to gravity. The kinematical capabilities of the positioner are illustrated by Fig. 10, which shows sets of admissible axis coordinates (q1P, q2P ) ensuring the desired welding joint orientation within the given tolerance (θ, ξ) ≤ ∆ , ∆=30°. These sets are parameterised by the initial orientation (θ0, ξ0) corresponding to the zero values of q1P, q2P. The set centres are marked by circles "o" , which match either the downhand orientation (0, 0) or the best achievable one. As follows from the figure, the positioner is able to re-orient into the downhand location almost all welding joints, except of ones with the initial orientation close to (θ0 = ±180°, ξ0 ≈ 0°). Besides, most of the sets are composed of 2 disjoined regions with their own centre-points, excluding the trivial case (θ0, ξ0) = (0, 0) that is composed of a single region and possesses a centreline (q1P=0, q2P = any) instead of a centre-point. Moreover, several admissible sets are separated by two parts by the lines q2P = ±180°. It should be notes that, from strictly mathematical point of view, the latter cluster separation can be avoided by considering the positioner coordinates located on the torus surface (instead of on the plane). But it is not allowable in robotics where the shortest-torus path (180°-ε) → (180°) → (-180°+ε) is usually forbidden in order to avoid the fixture cable deformations. So, this motion is performed via the longest-torus path (180°-ε) → (0°) → (-180°+ε) that corresponds to (360°-2 ε) displacement instead of 2ε. Thus, in general case the welding clusters may consist of up to three disconnected regions.

Fig.10. Arc-welding robotic station with a positioner

The considered workpiece (a car part) contains a number of welding joints, which were preliminary grouped in 7 clusters, depending on their relative orientation. Detailed description of the welding task is given in Table 4, where T0p denotes the cluster processing time in the downhand location; (θ0, ξ0) is the initial cluster orientation (for zero positioner coordinates); (θ, ξ)opt is the best orientation provided by the positioner; the vectors (q1, q2)P+ and (q1, q2)P-- contain corresponding positioner axis coordinates for two possible configurations; and the wild-card symbol "*" states for

25

any value of the axis coordinate. It should be noted that the positioner provides the “optimum orientation” (0°, 0°) for all clusters except of the last one, for which the best achievable orientation is (±15°, 0°). The latter is limited by the positioner kinematical capabilities for the assumed initial workpiece location. However, as follows from practical experience, this orientation is also admissible by the welding technology, but the processing time should be fairly increased. The relevant expert conclusions are stated as follows: (i) the weld joint orientation must be within given limits (θ, ξ) ≤ 30° ; (ii) in the case of the non-optimal orientation, the welding time must be increased by the factor kmax=1.1 (see Sub-section 3.3 for details). The positioner motion time was calculated using the axis drive specifications, which give the maximum velocities q&1max = 4 rpm , q&2max = 8 rpm and acceleration/deceleration time for each axis τ = 0.5 sec. It was also assumed that the axis were altered sequentially, and each positioner motion was preceded by a pause of ∆t = 1.5 sec required for moving the welding tool away from the workpiece. These parameters yield the maximum positioner motion time 25.0 sec (from lower to upper axis limits) , which is comparable to the total welding time (equals to 84.0 sec) that makes optimisation of the cluster sequence sensible from the engineering point of view.

Cluster

S1 S2 S3 S4 S5 S6 S7

Processing time, sec T0p

Initial orientation (θ0, ξ0)

Positioner coordinates, deg

12.0 5.0 15.0 21.0 7.0 14.0 10.0

0 30 30 90 90 120 150

0 152.7 56.9 99.9 99.9 125.9 180.0

0 135 45 45 135 -45 0

(q1, q2)P

Best orientation (θ, ξ)opt

(q1, q2)M * 148.9 141.7 110.5 -159.5 4.1 0.0

0 -152.7 -56.9 -99.9 -99.9 -125.9 -180.0

* 84.2 -14.8 -20.5 69.5 -102.3 0.0

(0, 0) (0, 0) (0, 0) (0, 0) (0, 0) (0, 0) (±15, 0)

Table 4. Parameters of the welding clusters

Cluster

Number of nodes

Number of regions

Intersections

S1

259

2

| S1 I S3 |= 11

S2

102

3

| S2 I S5 |= 16

S3

85

2

| S1 I S3 |= 11 , | S3 I S4 |= 14

S4

70

2

| S3 I S4 |= 14

S5

75

3

| S2 I S5 |= 16

S6

101

2

| S6 I S7 |= 13

S7

66

2

| S6 I S7 |= 13

Table 5. Sizes of the sampled clusters and their intersections

26

(0°, 0°)

(0°, 90°)

(0°, 45°)

Downhand

Downhand

(0°, 135°)

Downhand

Downhand

(30°, 0°)

Downhand

(60°, 0°)

Downhand

(90°, 0°)

Downhand

(120°, 0°)

Downhand

(150°, 0°)

(30°, 90°)

(30°, 45°)

Downhand

(30°, 135°)

Downhand

Downhand

(60°, 45°)

(60°, 90°)

Downhand

Downhand

(90°, 45°)

(90°, 90°)

Downhand

Downhand

(120°, 45°)

(120°, 90°)

Downhand

Downhand

(150°, 45°)

(150°, 90°)

(60°, 135°)

Downhand

(90°, 135°)

Downhand

(120°, 135°)

Downhand

(150°, 135°)

Non-Downhand (15°, 0°) Downhand

(180°, 0°)

No solutions

Downhand

(180°, 45°)

(180°, 90°)

Downhand

Downhand

Downhand

(180°, 135°)

Downhand

Fig. 11. Geometry of the welding clusters in the positioner coordinated space for different initial orientation of the weld (θ0, ξ0) and the downhand tolerance ∆=30°

27

To generate cluster nodes, the positioner axis space (q1P, q2P)∈ [-180, 180]×[-180, 180] was firsts sampled with the coarse step 10°. The number of nodes in the clusters and their intersections are given in Table 5, which allow evaluate dimension of the relevant combinatorial optimisation problem as well as degree of the cluster overlapping. Since the coarse grid gives the cluster sizes of about 100, the exact branch-and-bound algorithm is not able to find the solution in reasonable time. However, the exact technique was applied to the reduced problem where each cluster was approximated by two nodes closest to the geometrical centres. The obtained solution is presented in Fig.11a. It consists of 6 segments and obviously does not utilize the overlapping to minimize the positioner travel distances. The total solution cost is 114.3 sec (including both travel and processing times for kpr=0.1), it obviously can be treated as the upper bound for further optimisation steps. The lower bound was computed using the developed heuristics and assuming that kv = 0, i.e. without penalising the solution for the non-downhand weld orientations while keeping the constraint (θ, ξ) ≤ ∆ . The obtained solution (Fig. 11b) consists of 3 segments and utilizes the cluster overlapping in the maximum degree. The corresponding cycle time is 98.8 sec, that gives the robotic cell designer about 15 sec of the time-gain that may be hypothetically obtained from the optimisation. For the actual non-zero value of kv, the heuristics yielded the solution with slightly higher cycle time, 105.6 sec, but also consisting of 3 segments (Fig. 11c). However, this solution qualitatively differs from the case of kv=0, since it uses other overlapping regions. Further improvement was performed via the local optimisation, when the fine grid (with step of 1°) was created locally, around the best-so-far solution nodes (Fig. 11d). This technique was applied several times, and the heuristic produced the same solutions with the cost 105.2 sec. This indicates that further reduction of the grid step is not reasonable. T = 114.3 sec

T = 98.8 sec

( cluster centres, kv ≠ 0 ) 180

3b

q2

3b

q2

2b

5c 2b

2a

b

4 5a

7a

180

5c

2a

0

( coarse grid, kv = 0 )

3

4a

4 5a

1

b

1

7b

7b

a

0

6b

7a

3a

a

4

6b

(b)

(a)

6a

a

6

5b

5b 2c

c

2

-180 0

q1

T = 105.2sec ( fine grid, kv ≠ 0 )

3b

7

1 3

4a

5c 2b

2a

4b 5a

3b

q2

2b

2a

(c)

180

5c

4b 5a

7b

a

0

6b

7

a

180

q1

T = 105.6 sec 180

a

0

( coarse grid, kv ≠ 0 ) q2

0

-180 180

4a

1 3

7b

a

6b

(d) a

6

6a

5b 2c

-180 0

q1

5b 2c

-180 180

0

Fig. 12. Optimal solutions for different approximations of the welding clusters 28

q1

180

Hence, as follows from the obtained results, the developed heuristic and proposed optimisation scenario are capable to solve the problems of real-life dimension in acceptable time. They produced the cluster sequence and corresponding node subset that keeps a trade-off between minimising the positioner motion time and the welding time, which depends on the workpiece orientation relative to the gravity direction. 7. Conclusion

The welding position (or, more precisely, the weld joint orientation relative to gravity) is an essential issue in robotic welding. As known from practice, the highest quality and productivity are achieved for the downhand welding position, where the workpiece is oriented so that the weld tangent line is horizontal and the weld normal vector is directed opposite to gravity. This welding posture has been adopted in robotics as a de-factor standard and is incorporated in majority of the off-line programming and welding operation planning methods. However, recent advances in computer vision and arc-welding technology allow to perform the welding operations in the out-ofposition (non-downhand) posture, but with lower welding speed in order to reach the prescribed product quality. These relaxation of the downhand-position constraint and converting it to the timepenalty function motivates enhancements of the existing welding operations planning methods. This work contributes to the solution of the cluster-level welding operation planning by finding a reasonable trade-off between the welding times and the intermediate travel times needed for changing the workpiece posture (since ensuring the downhand orientation for each cluster reduces the cluster welding time but requires more time for the re-configuration of the positioner). It is shown that after applying the search space discretization, the associated optimisation problem may be presented as a specific case of the generalised traveling salesman problem, for which has been developed an efficient heuristic algorithm that takes into account such problem-specific features as complicated cluster geometry (union of several mutually disjoint regions), non-Euclidean distance matrix and also strong inter-cluster overlapping. The proposed algorithm sequentially improves random initial solutions by applying two nested loops. The internal loop contains a classical TSP tour-improvement routine, which is repeated until no improvement is achieved by modifying the cluster sequence (for a fixed node subset). Then, within the external loop, the node-improvement dynamic programming routine is invoked to optimise the node subset, while the cluster sequence (tour) is considered unvarying. The external loop is also repeated until no improvement is achieved, converging to a local optimum. Because of the adopted cluster definition, the algorithm is also able to perform the re-clustering, i.e. to find the same positioner configuration for several neighbouring clusters and to merge them, if the corresponding increase of the welding time is over-compensated by the reduction of the robot-positioner motion time. This allows to modify the clustering stage, which may impose very strong constraints on the inter-cluster similarity, and partly combine the clustering with the cluster sequencing. The algorithm effectiveness was verified for a number of randomly generated test problems, comprising from 50 to 1000 nodes (from 5 to 10 clusters and up to 100 nodes per cluster) and compared to the exact bound-and-cut technique. The results indicate that the algorithm is reasonably efficient and is able to solve to optimality about 80% of test problems, and an average solution is only 0.3…2.6 % over the optimum, that is quite acceptable for engineering applications. The algorithm has been also applied to an industrial case study and produced a meaningful solution that keeps a trade-off between minimising the positioner motion time and the welding time. This confirms that the developed heuristic and proposed optimisation scenario are capable to solve the problems of real-life dimension in acceptable time.

29

In this work, the intra-cluster and inter-cluster planning are assumed to be independent, and the problem of avoiding the heat-caused distortions is associated with the operations planning within the cluster. However, utilising the positioner travel time for cooling of the last processed weld gives additional opportunity for minimising of the overall cycle time. This indicates future research direction, motivating development of interactive weld-planning tools within the robotic CAD package that gives more realistic estimation of the cluster-processing times, taking into account the collision avoidance and the path-planning particularities of the industrial robot and the robotic positioner. References Ahmad, S. and Luo, S., 1989, Coordinated motion control of multiple robotic devices for welding and redundancy coordination through constrained optimization in Cartesian space. IEEE Transactions on Robotics and Automation, 5(4), 409 – 417. Anily, S., Bramel, J. and Hertz, A., 1999. A 5/3-approximation algorithm for the clustered traveling salesman tour and path problems, Operations Research Letters, 24, 29-35. Ben-Arieh, D., Gutin, G., Penn, M., Yeo, A. and Zverovitch, A., 2003, Process planning for rotational parts using the generalized travelling salesman problem. International Journal of Production Research, 41(11), 2581-2596. Bolmsjo, G., 1987. A kinematic description of a positioner and its application in arc welding robots. Proceedings of the 2nd international conference on developments in automated and robotic welding, paper no. 2, London: The Welding Institute, 8 pp. Bolmsjo, G., 1989, Programming robot systems for arc welding in small series production. Robotics and Computer-Integrated Manufacturing, 5(2/3), 199-205. Bolmsjo, G., Olsson, M. and Cederberg, P., 2002. Robotic arc welding - trends and developments for higher autonomy. Industrial Robot: An International Journal; 29(2), 98-104. Cary, H.B., 1995, Arc welding automation (New York : Marcel Dekker), 527 pp. Chen, Y. and Gu, Y.-L., 1993, Optimal path generation of a (6+1)-axis robot for auto-industrial applications. Proceedings of IEEE International Conference on Robotics and Automation, vol.1, 388 - 395 Chentsov A.A. and Chentsov, A.G., 2001, The dynamic programming method in the generalized traveling salesman problem. Mathematical and Computer Modelling, 33, 81-819. Del Valle, C. , Toro, M., Camacho, E.F. and Gasca, R.M., 2003, A scheduling approach to assembly sequence planning. Proceedings of the IEEE International Symposium on Assembly and Task Planning, pp.103 – 108. Edan, Y., Flash, T., Peiper, U.M., Shmulevich, I. and Sarig, Y., 1991, Near-minimum-time task planning for fruit-picking robots. IEEE Transactions on Robotics and Automation, 7(1), 48 – 56. Everitt, B.S., Landau, S. and Leese, M., 2001. Cluster Analysis (New York: Oxford University Press), 237 pp. Fernandez, K. and Cook, G. E., 1988, A generalized method for automatic downhand and wire feed control of a welding robot and positioner. NASA Technical paper 2807. Fischetti M., Gonzalez, J.J.S. and Toth, P., 1997, A branch-and-cut algorithm for the symmetric generalized traveling salesman problem, Operations Research, 45, 378-394. Fukuda, S. and Yoshikawa, K., 1990, Determination of welding sequence: a neural net approach. Engineering Analysis with boundary elements, 7 (2), 78–82, Gottschlich, S., Ramos, C. and Lyons, D., 1994. Assembly and task planning: a taxonomy. IEEE Robotics and Automation Magazine, 1(3), 4–12. Grenestedt, JL, 2003, Optimization of the Weld Path for Overlay Coatings. Journal of Structural and MultiDisciplinary Optimization, 25(3), 2003, 215-224. Gutin G. and Punnen, A. P. (Eds.), 2002, The Traveling Salesman Problem and Its Variations (Dordrecht: Kluwer Academic Publishers), 848pp.

30

Helsgaun, K. K., 2000, An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic, European Journal of Operational Research, 126 (1), 106-130. Henry-Labordere, A.L., 1969, The record balancing problem: A dynamic programming solution of a generalized traveling salesman problem, RIRO B-2 (Revue d’informatique et de recherche operationnelle), 43-49. Hirai, A., Y. Kaneko, T. Hosoda, S.Yamane, and Oshima, K., 2001, Sensing and control of weld pool by fuzzy-neural network in robotic welding system, Proceedings of IECON’01: IEEE Industrial Electronics Society Conference, vol. 1, pp. 238-242. Huang M.W., Hsieh, C.C. and Arora, J.S., 1997, A genetic algorithm for sequencing type problems in engineering design. International Journal for Numerical Methods in Engineering, 40, 3105–3115. Jeon, O.S., J.W., Chang, Oh, J.E. and Youm, S.H., 1989, Analysis of singularity and redundancy control for robot-positioner system, Proceedings of Korean Automatic Control Conference (KACC'89), pp. 615-620 Jongens K. and Volgenant, T., 1985, The symmetric clustered traveling salesman problem. European Journal of Operational Research, 19(1), 68–75. Jouaneh, M.K., Wang, Z. and Dornfeld, D.A., 1990, Trajectory planning for coordinated motion of a robot and a positioning table. Part I: Path specification. IEEE Transactions on Robotics and Automation, 6 (6), 735-745. Kadivar, M.H., Jafarpur, K. and Baradaran, G.H., 2000, Optimizing welding sequence with genetic algorithm. Computational Mechanics, 26, 514–519. Kim, D.W. , Kishinami, T., Kang, Y.J. and Saito, K., 1994. A feature-based modelling of a welded plate construction. Journal Materials Processing technology, 44(3–4), 257–264. Kim, D.W., Choi, J-S, and Nnaji, B.O., 1998, Robot Arc Welding Operations Planning with a Rotating/Tilting Positioner, International Journal of Production Research, 36(4), 957-979. Kim, H.J., Kim, Y.D. and Lee, D.H., 2005, Scheduling for an arc-welding robot considering heat-caused distortion Journal of the Operational Research Society, advance online publication 4 August 2004. Kim, K.Y., Kim, D.W., and Nnaji, B.O., 2002a, Robot Arc Welding Task Sequencing Using Genetic Algorithms, IIE Transactions on Design and Manufacturing, 34(10), 865-880. Kim, K.Y., Norman, B., and Nnaji, B.O., 2002b, Heuristics for single-pass welding task sequencing, International Journal of Production Research, 40(12), 2769-2788. Laporte, G. and Nobert, Y., 1983, Generalized traveling salesman problem through n sets of nodes: an integer programming approach, INFOR Journal, 21, 61-75. Laporte, G. and Palekar, U., 2002, Some applications of the clustered travelling salesman problem. Journal of the Operational Research Society, 53(9), 972-976. Laporte, J., Mercure, H. and Nobert, Y., 1987, Generalized traveling salesman problem through n sets of nodes: the asymmetrical case. Discrete Applied Mathematics, 18, 185-197. Legoff, O and Hascoet, J.Y., 1998, From CAD to computer aided welding. International Journal of Production Research, 36(2), 417 – 436. Lien, Y.N., Ma, E. and Wah, B.W.S., 1993, Transformation of the generalized traveling salesman problem into the standard traveling-salesman problem. Information Sciences, 74, 177-189. Lin, S. and Kernighan, B. W., 1973, An Effective Heuristic Algorithm for the Traveling-Salesman Problem. Operations Research, 21, 498-516. Lin, S., 1965, Computer Solutions of the Traveling Salesman Problem. Bell System Technical Journal, 44, 2245-2269. Lokin, F.C.J., 1979, Procedures for travelling salesman problems with additional constraints. European Journal of Operational Research, 3(2), 135–141. Lozano-Perez, T.; Wilson, R.H., 1993, Assembly sequencing for arbitrary motions. Proceedings of the IEEE International Conference on Robotics and Automation, vol. 2, p. 527 – 532. Madsen, O., Steen Jensen, T. and Langeland, B., 2004, Integrating Welding Process Knowledge into Robotic Off-line Programming Systems. Proceedings of International IEEE conference on Mechatronics and Robotics, Aachen, Germany, 6pp.

31

Maimon, O., 1990, The robot task-sequencing problem. IEEE Transactions on Robotics and Automation, 6(6), 760-765. Maimon, O., Braha, D. and Seth, V., 2000, A neural network approach for a robot task sequencing problem. Artificial Intelligence in Engineering, 14(2), 175-189. Mnich, C., Al-Bayat, F. , Debrunner, C., Steele, J.P.H. and Vincent, T. L., 2004. In situ weld pool measurement using stereovision," presented at Japan-USA Symposium on Flexible Automation, Denver, Colorado, 2pp. Nikoleris, G., 1990, A programming system for welding robots. International Journal for the Joining of Materials, 2(2), 55–61. Noon, C.E. and Bean, J.C., 1991, A Lagrangian based approach for the asymmetric generalized traveling salesman problem. Operations Research, 39, 623-632. Pashkevich, A. P., 1996, Computer-aided design of industrial robots and robotic cells for assembling and welding. (Minsk: Belarusian State University of Informatics and Radio-Electronics), 107pp. Pashkevich, A.P., Dolgui, A.B. and Semkin, K.I., 2003, Kinematic aspects of a robot-positioner system in an arc welding application. Control Engineering Practice, 11(6), 633-647. Pires, J.N., Godinho, T. and Ferreira, P., 2004, CAD interface for automatic robot welding programming. Industrial Robot: An International Journal, 31(1), 71-76. Pires, J.N; Loureiro, A., Godinho, T., Ferreira, P., Fernando, B. and Morgado, J., 2003, Welding robots. IEEE Robotics and Automation Magazine, 10(2), 45- 55. Pires, J.N; Loureiro, A., Godinho, T., Ferreira, P., Fernando, B. and Morgado, J., 2002, Object-Oriented and Distributed Software applied to Industrial Robotic Welding, Industrial Robot: An International Journal, 29(2), 149-161. Ranky, P.G., 2004. Automotive robotics. Industrial Robot: An International Journal; 31(3), 252 – 257. Renaud, J. and Boctor, F.F., 1998, An efficient composite heuristic for the symmetric generalized traveling salesman problem. European Journal of Operational Research, 108, 571-584. Rubinovitz, J. and Wysk, R.A., 1988, Task level off-line programming system for robotic arc welding – an overview. Journal of Manufacturing Systems, 7(4), 293–299. Saksena, J.P., 1970, Mathematical model of scheduling clients through welfare agencies.. CORS Journal, No 8 , pp.185-200. Smartt, H.B., Kenney, K.L. and Tolle, C.R., 2002, Intelligent Control of Modular Robotic Welding Cell. Proceedings of the 6th ASM International Conference on Trends in Welding Research, Pine Mountain, GA, USA, 6 pp. Srivastava S.S., Kumar, S., Garg, R.C. and Sen, P., 1969, Generalized traveling salesman problem through n sets of nodes, CORS Journal, 7, 97-101. Tarn, T.J., Chen, S.B., and Zhou, C. (Eds.), 2004), Robotic Welding, Intelligence and Automation, Lecture Notes in Control and Information Sciences, vol. 299, (New York: Springer-Verlag), 379 pp. Tolinski, M., 2001, Getting to the Core of Welding Wire. Forming and Fabricating: SME Journal, 8(1), 5 pp. Tsai, C.L., Park, S.C. and Cheng, W.T., 1999, Welding distortion of a thin-plate panel structure. Welding Journal, 78, 156–165. Tsai, M. J., Lin, S. D., and Chen, M. C., 1992, Mathematical model for robotic arc welding off-line programming system. International Journal of Computer Integrated Manufacturing, 5 (4), 231-240. Wu, L., Cui, K. and Chen, S. B., 2000, Redundancy coordination of multiple robotic devices for welding through genetic algorithm. Robotica, 18 (6), 669 – 676. Yagi, T., 2004, State-of-the-art welding and de-burring robots. Industrial Robot: An International Journal, 31(1), 48-54. Yao, Z., Bradley, H.D., and Maropoulos, P.G., 1998, An Aggregate Weld Product Model For The Early Design Stages. Artificial Intelligence for Engineering Design, Analysis and Manufacturing, 12(5), 447– 461. Yuan,X. and Gu, Y., 1999, An integration of robot programming and sequence planning. Proceedings of the IEEE International Conference on Robotics and Automation, vol. 1, pp. 102 - 107

32

Ecole Nationale Supérieure des Mines de Saint-Etienne Centre G2I 158, Cours Fauriel 42023 SAINT-ETIENNE CEDEX 2 www.emse.fr

Suggest Documents