Off-Line Programming Techniques For Multirobot Cooperation System
Off-Line Programming Techniques For Multirobot Cooperation System
Off-Line Programming Techniques For Multirobot Cooperation System
DOI: 10.5772/56506
© 2013 Gan et al.; licensee InTech. This is an open access article distributed under the terms of the Creative
Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use,
distribution, and reproduction in any medium, provided the original work is properly cited.
www.intechopen.com Yahui Gan, Xianzhong Dai and Dongwei Li: Off-Line ProgrammingInt. j. adv. robot.
Techniques syst., 2013,
for Multirobot Vol. 10, 282:2013
Cooperation System 1
Nowadays, rapid change and high competition of global are available to provide a programmer with numerous
markets are forcing complex product (e.g. automotive, functions which are useful to the various specific areas of
plastic, electronics) manufacturing companies to robotic OLP, such as robot target definition, reachability
implement more flexible and higher quality manufacturing analysis, clash testing, path planning/augmentation etc.
systems. In order to hit the market window with the right CimStation Robotics (CSR) [3] is powerful 3 Dimensional
product at the right time, companies must have simulation and off‐line programming software that enables
manufacturing operations that are flexible, agile, and able manufacturers to quickly and easily simulate and evaluate
to launch a quality product on time and cost effectively. alternative methods for automating the manufacturing
One of the evolving and emerging technologies that will process and programming the robots. The CSR software is
enable companies to achieve the business imperative of modular in fashion to suit even the most modest budgets
timely and cost effective product launches is multiple robot and covers applications including non‐destructive
system. Multirobot cooperation system offers one solution inspection, welding, painting, assembly, press and
to the depicted issue because of its incredible flexibility. polishing. A range of utilities are available to build up cells
Once the manufacturing workcell been setup, little change of varying complexity.
is need for different initial conditions and process
variations. This greatly curtails economy cost for Robot OLP softwares coming from robot manufacturers
production variations and make it possible to deliver include Robotstudio (ABB), KUKA.Sim Pro (KUKA),
innovative products to the market in timely manner and MotoSIM EG‐VRC (Yaskawa), RoboGuide (FANUC), etc.
typically at reduced costs. RobotStudio [4] is ABB’s simulation and off‐line
programming software, which allows robot
Although both the OLP software development for single programming to be done on a PC platform in the office
robot and mutirobot cooperation control problem have without shutting down production. It also enables robot
been extensively explored, seldom literatures have programs to be prepared in advance, increasing overall
touched the problem of devising an OLP software for productivity. RobotStudio provides the tools to increase
mutirobot systems. Therefore, aim of this paper is to the profitability of robot system by letting manufacturers
investigate the feasibility of providing current OLP perform tasks such as training, programming, and
softwares with augmented function of multirobot optimization without disturbing production. This
cooperation. At the outset of the project, a literature provides numerous benefits including risk reduction,
review of current OLP software has been conducted. quicker start‐up, shorter change‐over and increased
Present robot OLP softwares mainly comes from 3 productivity. KUKA.Sim Pro [5] is developed for the
sources: from generic robotics software producers, from offline programming of KUKA robots. The product is
robot manufacturers and finally from research connected in real time to KUKA.OfficeLite, the virtual
institutions that produce their own programming and KUKA controller, thus allowing cycle time analysis and
simulation software, usually developed around existing the generation of robot programs. KUKA.Sim Pro uses
CAD software such as AutoCAD or SolidWorks or from the build‐in tools to load CAD data from other systems
scratch using OpenGL, VRML and Java3D technology. into KUKA.Sim Pro or build models using the CAD tools
in the system. It also allows to build grippers, welding
Typical examples of robot OLP softwares coming from guns and other kinematical structures. MotoSim EG‐VRC
generic robotics software producers are Tecnomatix (Motoman Simulator Enhanced Graphics‐ Virtual Robot
RobCAD , Delmia D5/V5, and CimStation Robotics. Control) [6] is a comprehensive software package that
Tecnomatix RobCAD software [1] enables the design, provides accurate 3D simulation of robot cells. This
simulation, optimization, analysis and off‐line powerful simulation software can be used to optimize
programming of multi‐device robotic and automated robot and equipment placement, as well as to perform
manufacturing processes in the context of product and collision detection, reach modeling and cycle calculations.
production resources. It provides a concurrent engineering It also provides accurate off‐line programming of
platform to optimize processes and calculate cycle times. complex systems. Virtual Robot Controller capability
With RobCAD, customers can design life‐like, full‐action means that the simulation software now operates and
mockups of complete manufacturing cells and systems. displays the actual programming pendant interface for
RobCAD enables manufacturers to flawlessly introduce the DX100 and NX100 controllers. The VRC supports
automated processes by allowing manufacturing engineers standard INFORM (robot language) instructions, and can
to virtually validate automation concepts upfront. completely simulate the DX100 and NX100 controller
DELMIA [2] is a robotics and manufacturing based OLP software in the PC environment, including system
package that is utilized widely within various respective configuration functions and condition file editing.
manufacturing industries today. DELMIA utilizes a 3D
simulation environment to test and optimize robot As for the robot OLP softwares coming from research
programs before implementation into real world institutions, they are usually open source robotics
applications. DELMIA features assorted “toolboxes” that software for academic purpose and developed around
www.intechopen.com Yahui Gan, Xianzhong Dai and Dongwei Li: Off-Line Programming Techniques for Multirobot Cooperation System 3
A brief description of each instruction in MultiMove enables precisely coordinated teamwork between up to
function for ABB robots is presented in Table 1. These 15 robots through fast synchronization of the path
instructions are all included in RAPID (robot motions. This allows the robots to work faster, and
programming language for ABB robot) instructions for with greater precision and versatility than before.
ABB IRC5 robot controller. For more information, see the Cooperating robots allow totally new plant and cell
respective instruction in Technical reference manual ‐ layouts with shorter production lines and simpler
RAPID Instructions, Functions and Data types. installations. In this way, load sharing makes it
possible to flexibly multiply the payload capacity of
Instruction Description standard robots. Or workpieces can be processed
WaitSyncTask WaitSyncTask is used to synchronize during transfer to the next assembly station, thereby
several task programs at a special point in reducing the nonproductive transfer time. A further
the program. advantage of the KUKA.RoboTeam function is that
A WaitSyncTask instruction will wait for
each robot keeps its standard controller. This is
the other task programs. When all task
connected to a high‐speed local network (Ethernet) via
programs have reached the WaitSyncTask
instruction, they will continue their which the controllers communicate with one another
execution. and synchronize themselves. RoboTeam groups are
SyncMoveOn SyncMoveOn is used to start synchronized programmed conveniently and transparently using
movement mode. inline forms that contain all the command parameters
A SyncMoveOn instruction will wait for and exclude the possibility of incorrect entries.
the other task programs. When all task
programs have reached the SyncMoveOn,
Forms of cooperation for KUKA RoboTeam function
they will continue their execution in
synchronized movement mode. The move
include 4 types: load sharing, process‐dependent
instructions in the different task programs procedure, combined procedure and extended master‐
are executed simultaneously, until the slave principle. Load sharing consists of geometrically
instruction SyncMoveOff is executed. coupled robots, whose motions are identical and
A stop point must be programmed before synchronized once the workpiece has been picked up.
the SyncMoveOn instruction. The kinematic systems are combined to form a self‐
SyncMoveOff SyncMoveOff is used to end synchronized
contained chain. The slave follows the motions of the
movement mode.
master directly. It is programmed in the base
A SyncMoveOff instruction will wait for
the other task programs. When all task coordinate system of the master. In process‐dependent
programs have reached the SyncMoveOff, procedure, the slave processes the workpiece while it
they will continue their execution in is being transferred from one place to another by the
unsynchronized mode. master robot. In such a case, the master acts as a
A stop point must be programmed before transfer and positioning robot, while the slave is used
the SyncMoveOff instruction. as a process robot. The base coordinate system of the
SyncMoveUndo SyncMoveUndo is used to turn off
slave is relative to the flange coordinate system of the
synchronized movements, even if not all
the other task programs execute the master robot. In this way, the relative positioning of
SyncMoveUndo instruction. the workpiece and tool is retained during motions of
SyncMoveUndo is intended for UNDO the workpiece. Geometric coupling of several slaves
handlers. When the program pointer is with the master is also possible. Combined procedure
moved from the procedure, indicates that the load sharing is combined with
SyncMoveUndo is used to turn off the process‐dependent variants. The extended master‐
synchronization.
slave principle refers to the cooperation between two
MoveExtJ MoveExtJ (Move External Joints) moves
or more robots and an external axis (e.g. linear unit or
one or several mechanical units without
TCP. turntable). The master is linked to a mobile external
MoveExtJ is used to move additional axes, axis and performs geometrically coupled tasks
in a task without any robot. together with a second robot mounted on the external
Table 1. Each instruction in MultiMove function for ABB robots axis.
2.2 Introduction of RoboTeam function for KUKA robot A general introduction of programming instructions in
RoboTeam function for KUKA robots is presented in
As the aforementioned MultiMove function of ABB Table 2. These instructions are all included in KRL (robot
robot, RoboTeam function [12] is the similar function programming language for KUKA robot) instructions for
for KUKA robots. The RoboTeam application package KUKA KRC2 robot controller.
www.intechopen.com Yahui Gan, Xianzhong Dai and Dongwei Li: Off-Line Programming Techniques for Multirobot Cooperation System 5
A single NX100/DX100 controller can control up to 8 need in their cooperation control. Such a centralized
robots, up to 72 axes in total including robots and control structure of ABB robot has limited ability and
external axes, providing unmatched ability to handle only 4 robots can be involved in 1 cooperative motion
multiple tasks and synchronous coordination. maximally. The Independent/Coordinated function of
Consequently a robot in the multi‐system knows the Motoman robot are most flexible in system structure. This
positions of the other robots. This means that costly flexibility has a direct impact on their instruction format
downtime and production fall‐outs caused by colliding and numbers of controller for their cooperative function.
robots could be substantially reduced.
3. Path planning principle of basic cooperative motion
Two or more robots with a single controller can be
Since aim of this paper is to investigate the OLP
programmed to work independently or synchronously.
techniques for multirobot cooperation system, only the
Various control combinations are possible so that
cooperation functions that currently have been provided
multiple robots perform completely different tasks at the
by robot manufacturers are considered in this paper. To
same time, the same task simultaneously or are
summarize the functions introduced in Section 2, there
coordinated to perform different steps of the same task.
are only 3 cooperative motions considered here,
Multi‐robot technology is ideal for jigless manufacturing
concurrent cooperation, coupled synchronous
in which one robot holds the workpiece while another
cooperation and combined synchronous cooperation. In
performs a welding or machining operation.
addition, the discussions here for robot path planning
Table 3 presents a general introduction of the only involve the kinematic aspects. Incorporating
programming instructions in Independent/Coordinated dynamics into motion planning still requires further
function for YASKAWA Motoman robots. These investigation and not mentioned here.
instructions are all included in INFORM (robot
3.1 Classification of basic cooperative motions
programming language for Motoman robot) instructions
for Motoman NX100/DX100 robot controller. In reference [14], cooperative motions for multiple robot
systems have been classified into three types according to
2.4 Comparison of the aforementioned multirobot functions
relative motions between end‐effectors of individual robot,
In order to make a comparison of advantages and which is concurrent cooperation, coupled synchronous
disadvantages of the aforementioned multirobot cooperation and combined synchronous cooperation. Since
cooperative functions, Table 4 is listed here to show their cartesian trajectory of cooperative motion in robot joint
detailed specifications. space is hard to imagine, only cooperations between robots
in cartesian space is considered here.
Item ABB KUKA Motoman
Independent A. Concurrent cooperation
Function Name MultiMove RoboTeam
/Coordinated
Appearance time 2004 2005 2004 Irrespective of what motions they have been executing
Max number of before, a simultaneous motion start time is forced for all
4 15 8
robota robots at synchronization point t 0 . No position or
Number of orientation constraints exist in this type of cooperation.
1 n b 1 or n
controller
Ethernet & Windows B. Coupled synchronous cooperation
Communication
Safety signal & IEEE 1394
interface
cable VxWorks Irrespective of what motions they have been executing
Instruction format 1‐1c 1‐1 1‐n d before, a simultaneous motion start time is forced for all
robots at synchronization point t 0 . All robots are
a Max number of robot involved in 1 cooperative motion process
b Number of the robot involved in the cooperative process
synchronized and perform identical line or circle arc
c 1 cooperative instruction for 1 robot cooperative motion
motions and no relative motion exists between master
d 1 cooperative instruction for n robot cooperative motion
and slave end‐effectors.
Table 4. Comparison of specifications for different multirobot
cooperative function The slave robot follows the motions of the master robot,
without executing motion blocks of its own. This form of
In Table 4, it is clear that the RoboTeam function of
cooperation is mostly used in load sharing task. Figure 1
KUKA robot has the biggest ability to control up to 15
illustrates a typical two robots cooperative system
robot. Meanwhile, its control structure is the most
performing the coupled synchronous cooperation in load‐
complicated because n controllers are needed for
sharing mode. In such a cooperation motion, the slave
RoboTeam function. The MultiMove function of ABB
robot requires no separate motion commands of its own
robot has the simplest structure and only 1 controller is
because it follows the motion of the master directly.
Figure 1. Two robots cooperating for transportation in coupled
synchronous motion.
C. Combined synchronous cooperation
Most of all, the above 3 cooperation types include all the
cooperative functions mentioned in Section 2.
3.2 Path planning for coupled synchronous cooperation
In conventional robotic systems, path planning is usually
carried out in two spaces, the cartesian space and robot
configuration space. Robot base frame is the frequently
used cartesian space where Continuous‐Path trajectory
including line motion and circle arc motion is planned.
Robot tool frame and user defined frame also are
cartesian spaces, but they are seldom used for single
robot system. Robot configuration space is conventionally
used in the Point‐To‐Point trajectory planning problem Figure 3. Schematic diagram of two robots cooperative system
and will not be suitable for arc welding application. for welding.
www.intechopen.com Yahui Gan, Xianzhong Dai and Dongwei Li: Off-Line Programming Techniques for Multirobot Cooperation System 7
Cooperative path planning for a multiple robots system is Substituting equation (1) into (2) at time t t 0 yields
to identify one robot as master and the other as slaves,
determine two cartesian positions for line motion and mb
Pm 0 m
Hs mb Hsb sb Ps 0 (3)
three cartesian positions for circle arc motion in master
base frame for master robot. For coupled synchronous By equation (3), we have
cooperation, no further information needs to be collected
for slaves. For concurrent cooperation or combined 1
m
Hs mb
Pm 0 sb
Ps 0 sb Hmb (4)
synchronous cooperation, determine two cartesian
positions for line motion and three cartesian positions for
circle arc motion in slave base frame for slave robots. As the definition of coupled synchronous cooperation,
m
After that, plan nominal trajectories in configuration Hs will be hold constant during the entire period of
space for each robot by these collected information to coupled synchronous cooperation, which means
achieve cooperative motions between master and slave. mb
Pm t m
Hs mb Ps t
In the above 3 cooperation types, no motion constraints m
Hs mb Hsb sb Ps t
exists for concurrent cooperation. Therefore, cooperative (5)
1
mb
Pm 0 sb
Ps 0 sb H mb mb Hsb sb Ps t
path planning strategy is not needed for this type of
0 P 0
1
cooperation. In the following part, the cooperative path mb
Pm sb
sb Ps t
s
planning problem is only investigated for the rest two
cooperations, coupled synchronous cooperation and
By equation (5), we have
combined synchronous cooperation.
1
Consider two robots, each with n joints, handling a
sb
Ps t sb
Ps 0 mb
Pm 0 mb Pm t (6)
voluminous rigid body object (as shown in Figure 1) that
is beyond the payload capacity of any individual robot. Equation (6) expresses the holonomic constraints for the
To move the object, two robot end‐effectors must grasp it position and orientation between master and slave robots
at two specified points. It is assumed that the end‐ during their coupled cooperation motion. This equation
effectors furnish tight grips so that there are no relative also implies that the slave trajectory sb Ps t in its base
motions among the end‐effectors and the object. Followed frame can be uniquely determined in terms of the master
by the definition of Coupled synchronous cooperation, no trajector mb Pm t and relative position/orientation
relative motion exists between master and slave end‐ mb
Pm 0 at the initial time of coupled cooperation. This
effectors once their motion have been coupled, which equation establishes the theoretical foundation of our
means relative position/orientation between master end‐ cooperative path planning method for coupled
effector and slave end‐effector will hold const during the synchronous cooperation.
entire period of cooperation.
3.3 Path planning for combined synchronous cooperation
Let the homogenous matrix mb Pm t 44 be the
Consider two robots cooperate for a jigless welding process
position/orientation of master robot in master base frame
as shown in Figure 2. Here, the master robot holds the
and sb Ps t 4 4 be the position/orientation of slave
workpiece while the slave holds a processing tool. In such
robot in slave base frame at time t. Let coordinates for
a case, motion trajectory for master robot must be specified
slave end‐effector in master base frame be mb Ps t 44 ,
beforehand. Whereas, slave trajectory can not be specified
we have
directly and it must be determined by the processing
requirement in order to achieve a cooperative motion
mb
Ps t mb
Hsb sb Ps t (1)
which is a combined one. Usually, the processing
requirement can only be given in workpiece frame. It is
where mb Hsb 44 is the transformation matrix from
supposed that no relative motion is allowed when the
slave base frame to master base frame. Once the robots
master robot holds the workpiece. In such a supposition,
have been mounted, their base will not be changed
processing requirement can also be specified or converted
during the entire period of cooperation. So mb Hsb will be
to the master endeffector frame because a constant
a constant homogeneous transformation matrix during
transformation matrix exists between the workpiece frame
the entire process. Let t0 be the simultaneous start time
and master end‐effector frame. Constraint relations for
for mb Pm t and sb Ps t . Let m Hs t 4 4 be the
such cooperative motions of the master‐slave robots will
transformation matrix from slave end‐effector to master
then be different from that of the coupled case. Unlike the
end‐effector in master base frame at time t 0 , which means constant relation in the above case, a definite time‐varying
constraints of the processing requirement must be retained
mb
Pm 0 m
Hs mb Ps 0 (2)
during the combined cooperation.
4. Software architecture
4.1 Extended prototype instructions for cooperative motion
www.intechopen.com Yahui Gan, Xianzhong Dai and Dongwei Li: Off-Line Programming Techniques for Multirobot Cooperation System 9
added or removed from the cooperative system by such and
instructions. When a component is added, its role must be
specified as master or slave at the same time. Prototype MOVCIRC [POS, VIA] VEL=[VAR] [FLYBY]
instructions are listed below,
which realize a continuous linear or circular path in
SETCOOP [ID_STRING] cartesian space. Here, argument POS is the cartesian
[Rbt1, Rbt2, , RbtN] [Role1, Role2, , RoleN] position destination to be reached, argument VIA is the
via cartesian position for circular path, argument VAR
or specifies the path velocity during the motion. FLYBY is an
optional argument which indicates that with FLYBY the
ADDCOOP [ID_STRING] robot will go through this intermedius position without
[Rbt1, Rbt2, , RbtN] [Role1, Role2, , RoleN] stopping while without FLYBY it will stop.
Figure 6. Part of the class view of the OLP software.
www.intechopen.com Yahui Gan, Xianzhong Dai and Dongwei Li: Off-Line Programming Techniques for Multirobot Cooperation System 11
3D CAD Model: This step is to prepare the 3D CAD program [16]. SolidWorks is an outstanding 3D entity
models of robots and environment setups. These design and modeling software. It is easy‐to‐use and has
CAD models should be standardized and used good performance in 3D visualation and simulation.
universally in different 3D CAD design softwares, Besides that, SolidWorks allows secondary development of
like Pro/E, UG, SolidWorks, etc. Nowadays, the SolidWorks Application Programming Interface (API),
commercial industrial robot manufactures always which you can use to automate and customize the
provide CAD models of their robots in their product SolidWorks software. SolidWorks API contains hundreds
introduction webpages, including ABB, KUKA and of functions that you can call from Visual Basic 6.0, Visual
Motoman. These models are collected and involved Basic for Applications (VBA), Visual Basic .NET, Visual C#
in our research work. As for robot tools and the other .NET, Visual C++ 6.0, Visual C++ .NET, or SolidWorks macro
setups, their CAD models need to be sketched in the files. These functions provide direct access to SolidWorks
aforementioned CAD design softwares. functionality such as creating a line, inserting an existing
Kinematic Modeling: This step is to make clear part into a part document, or verifying the parameters of a
relations between robot joint positions and robot tool surface. Here, the Microsoft ® Visual C++ 6.0 is adopted as
postures. Forward kinematics and inverse kinematics the programming tool in our research work.
of every robot need to be figured out in this step. The
only difference of robot kinematic modeling between
a single‐robot OLP and a multirobot OLP lies in that
robot base frames relative to absolute world frame
must be calibrated beforehand and involved in these
kinematic equations.
Cooperative Path Planning: This step is an unique part
of multirobot OLP softwares. Strategies of
cooperative path planning have already been
presented in Section 3 of this manuscript. This step is
to calculate cooperative cartesian path for master and
slave robots by equation (6) or equation (9) with
robot teach points.
Motion Planning: This step is to calculate joint
trajectory for each robot. Strategies used in this step
are the same with single robot OLP softwares.
Simulation: This step is to show a 3D animation of robot
motions. Techniques of robot 3D animation used in this Figure 7. Multirobot OLP programme developed with
SolidWorks ® 2010
step are the same with single robot OLP softwares.
Calibration: This step is to make up errors between
the simulated environment and the real world. This
calibration step includes robot base frame calibration,
robot tool calibration, workpiece calibration and so
on. Techniques used in this step are also the same
with single robot OLP softwares.
Real Robot: This step is to download robot jobs
generated by the OLP software into real robot
controllers. There are usually some standard
communication interface (or software) for robot job
download, such as Motocom SDK or KUKA.Sim pro.
5. Software realization result
5.1 Cooperative system configuration and workcell layout
In the first step of the procedure, the graphical simulation
of industrial robots, processing tools, workpiece and Figure 8. Software modules of the developed multirobot OLP
workspace is achieved using the SolidWorks ® 2010 SP2 programme
5.2 Job files for cooperative motion and its simulation
In this part, the above proposed cooperation instructions
are organized into job files to realize the aforementioned
3 cooperative motions. In the following part, Motoman
HP20 and VA1400 robot are selected as the exemplary
robots for considered cooperation process. Both of the
two robots are widely‐used and high‐performance
industrial robots. Photographs of the two robots and their
kinematic models are shown in Figure 10. Denavit‐
Hartenberg parameters of the two robot are shown in
Figure 9. Simulated graphics of workcell layout in our OLP Table 5 and 6 respectively.
software. (a) 2 ABB robots and a positioner; (b) 4 ABB robots; (c)
2 Motoman robots and a positioner; (d) 3 Motoman robots
Table 5. DH parameters for Motoman HP20 robot
Table 6. DH parameters for Motoman VA1400 robot
www.intechopen.com Yahui Gan, Xianzhong Dai and Dongwei Li: Off-Line Programming Techniques for Multirobot Cooperation System 13
SETCOOP testcoop1 HP20, Master, VA1400, Slave
CONCURRENT testcoop1 HP20,VA1400 WAIT
MOVJOINT homepos1 VEL=30% COOP=testcoop1 HP20
MOVJOINT homepos2 VEL=30% COOP=testcoop1 VA1400
RELEASECOOP testcoop1
COUPLED testcoop2 VA1400 TO HP20
MOVLIN pos1 VEL=100mm/s COOP=testcoop2 HP20
MOVCIRC pos2,viapos2 VEL=100mm/s COOP=testcoop2 HP20
RELEASECOOP testcoop2
Figure 11. Snapshot of combined synchronous cooperation by two Motoman robots, HP20 and VA1400.
Figure 13. Time evolution of the joint position and joint velocity for Motoman VA1400 robot.
In this programm section, only one motion instruction for combined synchronous motions are executed with HP20
master robot HP20 is able to produce two robot motions robot moves in line path and VA1400 robot moves in
during the coupled synchronous cooperation. As the above line path and circular path with respect to the
mentioned, motions of the slave robot VA1400 must be workpiece. In this process, HP20 robot is identified as
calculated automatically after motions of master robot the master which holds the workpiece and transports it
HP20 being taught in order to achieve the coupled motion. from one workstation to another. VA1400 robot is
identified as the slave which carries out the welding
Secondly, a welding task is considered for the two robot task. After the welding process being finished, the two
HP20 and VA1400. At first, the two robot move to their robots will be released from the combined cooperation.
home positions concurrently and prepare for the Using the instruction set developed in the previous
welding task. Then, they move to the welding positions section, the assigned task can be programmed via the
by point to point motion in joint space. After that, following code:
www.intechopen.com Yahui Gan, Xianzhong Dai and Dongwei Li: Off-Line Programming Techniques for Multirobot Cooperation System 15
SETCOOP testcoop1 HP20, Master, VA1400, Slave
CONCURRENT testcoop1 HP20,VA1400 WAIT
MOVJOINT homepos1 VEL=30% COOP=testcoop1 HP20
MOVJOINT homepos2 VEL=30% COOP=testcoop1 VA1400
RELEASECOOP testcoop1
COMBINED testcoop3 VA1400 TO HP20
MOVLIN pos1 VEL=50mm/s COOP=testcoop3 HP20
MOVLIN pos2 VEL=65mm/s COOP=testcoop3 VA1400
MOVLIN pos3 VEL=50mm/s COOP=testcoop3 HP20
MOVCIRC pos4, viapos4 VEL=40mm/s COOP=testcoop3 VA1400
RELEASECOOP testcoop3
In this programm section, individual motion instruction Special issues presented in this paper for multirobot
for both master robot HP20 and slave robot VA1400 need cooperation system include cooperation motion analysis,
to be specified. As the above mentioned, motions of the cooperative path planning strategy, cooperative
slave robot VA1400 needs to be calculated based on both instructions design and cooperative motion simulation. It
path information of the master and slave in order to is believed that these investigated techniques will
achieve the combined motion. promote researches of OLP software development for
multirobot cooperation systems. Only basic problems
Snapshot of the motion animations for the two robots have been touched in this paper. Technique details to
cooperation process is presented in Figure 11. For clarity design an OLP software support multirobot cooperation
reason, a square board with a red circle mark has been for commercial use still need to be clarified in our further
mounted at the end of HP20 robot. Trajectory of the tool‐ research.
centerpoint for VA1400 robot in the task space has be
marked by a green curve while trajectory of the tool‐ 7. Acknowledgements
center‐point for HP20 robot in the task space has be
marked by a red curve in Figure 11. This cooperative This work was supported by the National Natural Science
motion animation shows a combined cooperation Foundation of China under Grant No.61175113, National
process, in which HP20 moves along a straight line while High Technology Research and Development Program of
VA1400 moves around a circle on the board at the end of China under Grant No.2009AA043903‐1‐1, No.2007AA
HP20 robot simultaneously. Time evolution of the joint 041703, Research Innovation Program for College
position and joint velocity for Motoman HP20 robot with Graduates of Jiangsu Province under No. CX10B_076Z
respect to Figure 11 are shown in Figure 12(a) and Figure and Scientific Research Foundation of Graduate School of
12(b) respectively. Time evolution of the joint position Southeast University under Grant No.YBPY1302.
and joint velocity for Motoman VA1400 robot with
8. References
respect to Figure 11 are shown in Figure 13(a) and Figure
13(b) respectively. These data in Figure 12 and 13 are all [1] Siemens Product Lifecycle Management Software
generated by our simulated robot path planner in the Inc. Robotics and automation workcell simulation,
multirobot OLP software.
validation and off‐line programming [EB/OL].
6. Conclusion http://www.plm.automation.siemens.com/zhcn/
products/tecnomatix/roboticsautomation/robcad/
Techniques of devising an OLP software for multirobot index.shtml, avaliable 2012.10.6
cooperation systems are investigated in this paper. The [2] Dassault Systemes. DELMIA Digital Manufacturing
discussion is focused on special issues encountered by & Production [EB/OL].
multiple robot cooperation process. These issues can be http://www.3ds.com/products/delmia/,avaliable
recognized as an augmented part of the conventional 2012.10.6
OLP softwares to make them support not only single [3] Applied Computing & Engineering Ltd. CimStation
robot but also multiple robots systems. Robotics [EB/OL].
http://acel.squarespace.com/cimstation‐robotics,
avaliable 2012.10.6
www.intechopen.com Yahui Gan, Xianzhong Dai and Dongwei Li: Off-Line Programming Techniques for Multirobot Cooperation System 17