Automated Offline Programming For Robotic Welding System
Automated Offline Programming For Robotic Welding System
Research Online
Faculty of Engineering - Papers (Archive) Faculty of Engineering and Information Sciences
2012
Joseph Polden
University of Wollongong, jpolden@uow.edu.au
Nathan P. Larkin
University of Wollongong, nlarkin@uow.edu.au
John Norrish
University of Wollongong, johnn@uow.edu.au
http://ro.uow.edu.au/engpapers/5042
Publication Details
Pan, Z., Polden, J., Larkin, N. P., van Duin, S. & Norrish, J. (2012). Automated offline programming for robotic welding system with
high degree of freedoms. Lecture Notes in Electrical Engineering, 121 685-692.
Research Online is the open access institutional repository for the University of Wollongong. For further information contact the UOW Library:
research-pubs@uow.edu.au
Automated Offline Programming for Robotic Welding
System with High Degree of Freedoms
1 Introduction
Although robotics based flexible automation is an intriguing prospect for small to
median enterprises (SMEs) in the era of the global competition, the complexity of
programming a robotic system remains one of the major implementation challenges.
In an industrial environment, there are two main methods of robot programming;
online programming (including lead-through and walk-through) and offline
programming (OLP) [1]. Manual online programming requires no additional
hardware and software other than those to be used for the manufacturing process.
However, the generated program is very inflexible and it can only handle simple robot
paths. On the other hand, while OLP methods can generate flexible robot programs
for complex robot paths, its high cost can only be justified for a large production
volume. Also, programming a robotic system using typical commercially available
OLP software is still a manual process. It does not reduce the programming overhead.
Instead, OLP shifts the burden of robot programming from the robot operators
jogging robot manipulator in the workshop to the software engineers, who jog a
simulated robot in a computer modeled environment. OLP provides advantages such
as reusable code, flexibility for modification, and less system downtime during
programming stage. However, the time and cost required to generate code for a
complex robotic system using OLP is expected to be similar to if not more than that
using online programming. Currently, for a complex manufacturing process with
small to median production volume, very few robotic automation solutions are used to
Y. Wu (Ed.): Advances in Computer, Communication, Control & Automation, LNEE 121,, pp. 685692.
springerlink.com Springer-Verlag Berlin Heidelberg 2011
686 Z. Pan et al.
Fig. 1. (a) Robotic system for vehicle hull welding developed by RTA Automation (b) CAD
model of robotic system
As the clash detection among the different parts in the system, such as robot, tool and
environment, is the most computationally intensive, a precise and prompt collision
detection method is critical for successful OLP software. A simplified bounding
volume method is used here for efficient collision checking, where speed is more
important than exactness and visualizations [8]. The clash model for the moving parts
(robot, welding torch and other tools attached) and the fixing parts (the workpiece,
trunion, other fixtures, etc) are modeled differently for fast clash check, as shown in
Fig. 2.
A sphere-bounding model was used to model the robot and tool. A group of
spheres with different diameters represent the robot and tool as collision detection
using spheres is most efficient. Use of a multi-level sphere model was implemented
with fewer spheres providing a rough collision check and more spheres for final
verification. The clash model for the work piece, fixtures and environment has been
modeled using a modified bounding box model (plate model), which treats all
objects as a plate with vertexes on a surface, a normal direction and thickness.
688 Z. Pan et al.
Fig. 2. (a) Sphere model of an ABB IRB4400 robot; (b) Plate model of the workpiece
Since the objects in the workcell are modeled using very simple geometries, the
collision check becomes very efficient. There are only two different cases, collision
between a sphere and a plate (robot-workpiece, tool-workpiece) or between two
spheres (robot-tool). Both in-process motions and transition motions compute
distance check along the path, and search if necessary to avoid collision and maintain
a reasonable distance between tool/robot and obstacles.
The search algorithm for path planning must produce weld motions that are smooth,
collision free, and within the reach of the robot, avoiding singularities and joint limits.
Additionally, the search must produce paths that are as process-optimal as possible in
terms of torch pose relative to weld geometry. It is further desired that the planning
algorithm be very fast when the planning problem is simple, but able to find solutions
for difficult problems when they arise [2].
The complexity of path planning grows exponentially with the number of DOFs,
which is well known as curse of dimensionality. Since the whole system has 13 DOFs
with a robot-on-robot-on-rail setup, a brute-force search through all robot
configurations is very time consuming and not practical if the system is treated as a
single mechanism. As the large auxiliary robot is used to improve the reachability of
the system and is stationary during welding, path planning is broken into three steps:
1) Auxiliary rail and robot positioning,
2) Weld torch placement, and
3) Weld path planning.
While searching a path for the welding robot, the motion of auxiliary robot/rail is
sampled to provide base position for the welding robot, which is considered as a tool
attached on the auxiliary robot with a certain pose. This method dramatically reduces
the complexity of the AOLP process, avoiding the case of selecting an optimal
solution from an infinitive number of solutions.
Transition motions between the welding paths are computed using Probabilistic
Roadmap (PRM) algorithm [9,10,11]. The algorithm computes random trajectories in
joint space and attempts to connect the trajectories to seek a feasible path. The PRM
Automated Offline Programming for Robotic Welding System 689
has shown to be very successfully in solving difficult path planning problems in high
dimensional configuration spaces.
4.1 Preparation
To make the software easy to use for robot operators with limited computer skills, an
Excel spreadsheet is created at the preparation stage as the input for the programming
stage in AOLP. Information including sphere-bounding models for the robots and
tools, plate model for the workpiece and fixtures, tag definition of welding seams,
zone information for auxiliary robot/rail to position the welding robot, are saved in a
single Excel spreadsheet.
The spreadsheet is generated using a manual or automated processes in DELMIA,
a commercial OLP package. Using a combination of VB script and manual selection,
the CAD information for robots, tooling, workpieces, and fixturing is converted into
the MATLAB sphere-bounding model or plate model. To generate the plate model
of workpiece, the vertex coordinates of one surface on each plate are extracted from
CAD in anti-clockwise order and the plate thickness calculated by selecting a vertex
on the other surface. This data is later read by MATLAB to generate surfaces that can
be used for collision detection in path planning.
Weld seams are also generated using DELMIA VB script. Each weld seam is
defined by two tags, which denote the beginning and end of the seam along with
nominal torch pose. When defining the tags, the user first selects the edge that
represents the weld seam location followed by the two surfaces that form the seam to
calculate the orientation of the torch at the welding position. This data is also stored in
the Excel spreadsheet.
As shown in Fig. 3, the user interface of the OLP has three panels from left to right;
setup, OLP and Full path. In the Setup panel, the user selects which welding seam to
program and AOLP will load workcell information such as trunion orientation from
the Excel spreadsheet.
The first step is to determine possible positions for the auxiliary robot. Sampling
the space around the appropriate hull opening for internal seams or space around the
weld seam for external welds for collision and reachability establishes possible weld
robot base positions. Typically 343 positions are tested with around 50 found to be
suitable.
In Gas Metal Arc Welding (GMAW), there is an optimal torch orientation relative
to the plates to be joined, and although the torch can be rotated around the axis of the
filler wire, tool orientation is limited as to not affect weld quality. However, there is
added freedom to reach welds into corners where optimal torch orientation is
sacrificed for access. This adds complexity to the AOLP system as it needs to
maximize flexibility to access difficult areas, but apply optimal the torch angle to
maximize weld quality.
690 Z. Pan et al.
The torch placement algorithm samples the torch orientation space to determine a
list of possible collision free torch paths without the robotic manipulator. The user can
then manually pick the preferred angle or let the torch placement algorithm determine
the most optimal solution.
After a good torch orientation is found, the next step is to find which auxiliary
robot position to use to position the base of the welding robot and which robot
configuration guarantees a collision free reachable solution for the welding path. The
welding path is sampled in increments, currently 100mm, and each collision free
auxiliary robot position is tested until a good solution is found.
A temperature measurement position is automatically selected in the middle of the
weld seam. The temperature is measured before welding to ensure that the preheat
requirement of the weld procedure is satisfied. Weld seams are also locally calibrated
using a laser profile sensor. There are various options to calibrate the weld seam
position depending on the seam geometry. For example, a corner position is
determined by scanning the seam to be welded along with another seam that intersects
with the weld corner. The user can select which calibration method to use for choose
which other geometry is to be used. The AOLP algorithm incorporates the
temperature measurement and calibration points into the generated collision free path.
With the weld path, including calibration and temperature measurement
determined, the next step is to find the transition motions to translate the welding
robot from the folded position to the start of the weld path and back to the folded
position. A probabilistic roadmap based algorithm is used here to generate random
assisted tags to build up the path.
The AOLP software also provides simulation features. The user can either display
the simulation during the programming or after a robot code is generated. This
provides useful information for the user to understand what is happening during the
offline programming and help adjust parameters if the AOLP has troubles
programming a specific seam.
Automated Offline Programming for Robotic Welding System 691
5 Results
In flexible automation, reuse of a robotic system to manufacture variants of a single
product or many different products is important and minimizing system downtime due
to system reprogramming is a key technology to reducing cost and increasing
flexibility. Due to the complexity of the aforementioned robotic system, it took more
than six months to manually (online) program welds for a specific vehicle model. For
any new model, reprogramming using similar conventional methods will result in
similar lengthy programming times. It is estimated that each new seam will take
average 4 hours to reprogram. For a new model with 200 new seams, this equates to a
production loss of around 3 months simply wait for the system to be reprogrammed.
Using off-the-shelf OLP software, the total programming time will be similar to
online programming. However, as programming can take place offline, system
downtime is minimized taking around 1 hour to test each new weld seam. Using
AOLP, robot code for each seam takes less than 5 minutes to generate. The
preparation stage, during which the Excel spreadsheet was set up with system model
information, took 4 weeks. Similar system downtime to OLP is needed to test the
generated code. The system programming time using each method is compared in
Table 1.
Table 1. Comparison of programming time using online programming, OLP and AOLP (Unit:
Weeks)
6 Summary
AOLP provides an automatic means of generating robot code, much faster and more
reliably than previous attempts using either online or offline programming. By
reducing the expense associated with programming overhead, it improves the
commercial viability for robotics-based lean automation for manufacturing low
volume or one-off products, which is common for small to medium enterprise
(SMEs).
AOLP is independent of the process to be accomplished, or any particular robot or
process hardware. This provides opportunity for a large domain of potential
692 Z. Pan et al.
References
1. Pan, Z., Polden, J., Larkin, N., Van Duin, S., Norrish, J.: Recent Progress on Programming
Methods for Industrial Robots. In: ISR/ROBOTIK, Munich, Germany, (June 7-9, 2010)
2. Ames, A.L., Hinman-sweeney, E.M.: Automated Generation of Weld Path Trajectories
(2005)
3. Chan, S.: Post-processing methodologies for off-line robot programming within computer
integrated manufacture. Journal of Materials Processing Technology 139, 814 (2003)
4. Corke, P.: Robotics toolbox for Matlab, http://petercorke.com/
Robotics_Toolbox.html
5. Paul, R., Zhang, H.: Computationally Efficient Kinematics for Manipulators with
Spherical Wrists Based on the Homogeneous Transformation Representation. International
Journal of Robotics Research 5(2), 32 (1986)
6. AS Language Refernce Manual, Kawasaki Industries, Ltd. (2002)
7. ABB IRB4400 product online manual, ABB Flexible Automation, M98
8. Jimenez, P., Thomas, F., Torras, C.: Collision detection algorithms for motion planning.
In: J.-P. Laumond (ed.) Robot Motion Planning and Control, ch. 6 (1998)
9. Kavraki, L.E., Svestka, P., Latombe, J.-C., Overmars, M.H.: Probabilistic roadmaps for
path planning in high-dimensional configuration spaces. IEEE Transactions on Robotics
and Automation 12(4), 566580 (1996), doi:10.1109/70.508439
10. Geraerts, R., Overmars, M.H.: A comparative study of probabilistic roadmap planners. In:
Proc. Workshop on the Algorithmic Foundations of Robotics (WAFR 2002), pp. 4357
(2002)
11. Bertram, D., Kuffner, J., Dillmann, R., Asfour, T.: An integrated approach to inverse
kinematics and path planning for redundant manipulators. In: Proceedings 2006 IEEE
International Conference on Robotics and Automation ICRA 2006, pp. 18741879 (2006)
12. RinasWeld, Kranendonk, http://www.rinas.dk/RW__.htm