Abstract
1. Introduction
Cooperative multiple robot systems is a hot topic in robotics and much literature has been produced in this field. A multiple robot system surpasses a single robot system greatly in terms of flexibility and versatility in task execution. In particular, multiple robot cooperation is required if we are to assemble and manipulate parts without the aid of fixtures or jigs or if we are to smoothly transfer heavy and voluminous objects from one place to another. An integral part of the development of a multiple robot cooperation system is how to automate motion planning and control in spite of the increased complexity from redundancy in system degrees-of-freedom. This paper focuses on how to automate the cooperative path planning problem for a multiple robot system based on motion constraints between the end-effectors of cooperative robots. The mathematical expressions developed in the motion constraints analysis here establish partly the theoretical foundation for construction of next generation robot controllers with cooperation function.
Until now, strategies for multiple robot control can be divided into three types: master-slave control [1–3], hybrid position-force control [4–6] and dynamic coordination control [7–9]. All these methods pay their attention to the control of the robots themselves. However, a multiple robot system is an intrinsic interactive system and there are certain kinematic and dynamic physical constraints that must be satisfied during their cooperation in task execution. So, in our opinion, in order to enable cooperation between two robots one must keep their kinematic and dynamic motion constraints satisfied. Therefore, cooperation control strategies for a multiple robot system should concentrate on the motion constraints analysis. References [10] and [11] support such opinions. In their work, a formulation of system model based on nonlinear differential algebraic system theory is presented that integrates the kinematic constraints as the algebraic part of system model. But their work excessively simplified the constraints expression. Reference [12] deeply explored motion constraints between two cooperative robots in three types of cooperation motion, but their classification of cooperation motion does not comply with some industrial applications, such as jigless arc welding or assembly. Motivated by these opinions, we investigated the kinematic and dynamic motion constraints between cooperative robots, especially for some industrial application orientated tasks. Based on such motion constraints, a cooperative path planning method is presented in this paper.
The remainder of this paper is organized as follows: Section 2 gives the problem statement and literature review of cooperative path planning for multiple robot systems. Position and orientation constraints between master-slave cooperative robots are introduced in Section 3. Section 4 analyses the joint velocity constraints between master-slave cooperative robots. In addition to the theoretical results, representative experiments for two cooperated industrial robots is presented in Section 5. Concluding remarks follow in Section 6.
2. Problem Statement and Literature Review
2.1. Problem Statement
In control of multiple robot cooperation systems, the master-slave method is still the state of art for industrial robots [13–15]. The master-slave control strategy has to identify one robot as master, the other as slaves. Cooperation control is based on Cartesian coordinate control of the master robot and the slaves are controlled through motion constraint relations. For a cooperative welding system, the positioning robot that holds the workpiece is usually identified as the master and the processing robots that hold the weld torch as slaves. For a cooperative transportation system working in load sharing mode, any robot can be identified as master. To simplify the motion constraints analysis between such master-slave robots, cooperation motion has to be classified into three types according to relative motions between the end-effectors of the master and slave robot, which is,
(1)
Irrespective of what motions they have been executing before, a simultaneous motion start time is forced for all robots at synchronization point t0. No position or orientation constraints exist in this type of cooperation.
(2)
Irrespective of what motions they have been executing before, a simultaneous motion start time is forced for all robots at synchronization point t0. All robots are synchronized and perform identical line or circle arc motions and no relative motion exists between master and slave end-effectors.
The slave robot follows the motions of the master robot, without executing motion blocks of its own. This form of motion is used in load sharing. Figure 1 illustrates a typical two robot cooperation system performing the couple synchronous cooperation in load-sharing mode. In such a cooperation motion, the slave robot requires no separate motion commands of its own because it follows the motion of the master directly.

Two robots cooperating for transportation in coupled synchronous motion
(3)
Irrespective of what motions they have been executing before, an identical motion time is forced for all robots in the synchronization period D
The slave robot follows the basic motions of the master robot, but also executes motion blocks of its own. This form of motion is used in process-dependent mode. Figure 2 shows a typical combined synchronous cooperation of two robots for welding. In such a case, the slave robot processes the workpiece while it is being transferred from one station to another by the master. The master acts as a transportation and positioning robot, while the slave is used as a process robot. During the transferring process, the master keeps the workpiece constantly in an optimal processing position. The relative position and orientation between the workpiece and tool is retained during motions of the workpiece.

Two robots cooperating for curve tracking in combined synchronous motion
In conventional robotic systems, path planning is usually carried out in two spaces, the Cartesian space and robot configuration space. The robot base frame is the frequently used Cartesian space where continuous-path trajectory, including line motion and circle arc motion, is planned. The robot tool frame and user defined frame also are Cartesian spaces, but they are seldom used for a single robot system. Robot configuration space is conventionally used in the point-to-point trajectory planning problem and is not be suitable for arc welding application. Therefore, the path planning problem for a single robot is to identify two robot positions for line motion and three for circle arc motion in the robot base frame. However, when it comes to a multiple robot cooperation system, things become much more complex.
A typical two robot cooperation system for welding is shown in Figure 3. For such a cooperation system, the trajectory teaching problem has many differences to a single robot system. First, many Cartesian frames exist, such as the absolute world frame, each robot base frame, robot tool frame and some user defined frames. Second, trajectory description for the welding robot only exists relative to workpiece frame, which is a moving dynamic frame. The trajectory description for the welding robot in its base frame or absolute world frame is not obvious, which makes the trajectory planning problem beyond the capabilities of a conventional robot controller. Third, simultaneous motion start/stop and motion synchronization have to be realized between different robot controllers. So far, trajectory teaching and the planning problem for multiple robot cooperation systems can be formed as follows:
Cooperative path planning for a multiple robot system is to identify one robot as master and the other as slaves, determine two Cartesian positions for line motion and three Cartesian positions for circle arc motion in the master base frame for the master robot. For coupled synchronous cooperation, no further information needs to be collected for slaves. For concurrent cooperation or combined synchronous cooperation, determine two Cartesian positions for line motion and three Cartesian positions for circle arc motion in the slave base frame for the slave robots. After that, plan nominal trajectories in configuration space for each robot by this collected information to achieve cooperative motions between master and slave.

Schematic diagram of a two robot cooperation system for jigless welding
2.2. Literature Review
By far, limited research has reported on motion constraints analysis between cooperative robots. Motion constraints for general cooperation process encounters great difficulty due to redundancy in system degrees-of-freedom and complexity in curve description of robot trajectory. However, when this problem is constrained to an industrial process, it becomes easier because only a few curves of motion trajectory exist, such as line, circle arc and helix.
Taking the flexible multiple robot cooperative welding system as an example, kinematic constraint relations between the welding robot and the positioning robot are of vital importance, which directly determines the weld quality. As for the arc welding process, reference [16] presents a simple and automated programming method of a redundant multiple robot system for concurrent motion. However, constraint relations between the end-effectors of cooperative robots are not further expounded. In reference [17], the kinematics of coordinated motion and the multi-robot programming schemes are reviewed, which expresses the motion of the welding robot as a Cartesian path in a moving reference frame attached to a 2 DOF part positioner. Reference [18] presents a strategy to simultaneously coordinate motions of a welding robot and a positioning table to track sharp corners along a Cartesian path. However, none of this research deeply expounds upon the kinematic constraints between cooperative robots. Constrained relations between two coordinated industrial robots for motion control have been explored in reference [12], where both the posture and joint velocity constraint relations are discussed. There, three types of cooperation are classified according to object differences: two robots handling a rigid-body object, two robots handling a pair of pliers and two robots handling an object with a spherical joint. Their conclusions are very heuristic but not feasible for the jigless welding process which does not belong to any type of classification in reference [12].
3. Position and orientation constraints analysis between master-slave cooperative robots
As for the above three types of cooperation, concurrent cooperation only requires a simultaneous motion start time and no position or orientation constraints exist in this type, so no further investigations will be carried out for this type. As for the remaining two types, constraint relations in coupled synchronous cooperation is much simpler than the combined synchronous cooperation, because no relative motion exists between the master and slave end-effectors for couple cooperation.
A homogeneous transformation matrix is usually adopted to represent position and orientation of the robot end-effector, which forms like
where
The desired motion trajectory for a robot can be specified as a time varying transformation matrix of its end-effector in the form of
Now, the position and orientation constraints between two cooperative master-slave robots for the last two types, coupled synchronous cooperation and combined synchronous cooperation, will be investigated.
3.1. Coupled synchronous cooperation
Consider two robots, each with n joints, handling a voluminous rigid body object (as shown in Figure 1) that is beyond the payload capacity of any individual robot. To move the object, two robot end-effectors must grasp it at two specified points. It is assumed that the end-effectors furnish tight grips so that there are no relative motions among the end-effectors and the object. Followed by the definition of coupled synchronous cooperation, no relative motion exists between master and slave end-effectors once their motion has been coupled, which means relative position/orientation between master end-effector and slave end-effector will hold constant during the entire period of cooperation.
Let
where
Substituting Equation (3) into (4) at time
By Equation (5), we have
As with the definition of coupled synchronous cooperation,
By Equation (7), we have
Equation (8) expresses the holonomic constraints for the position and orientation between master and slave robots during their coupled cooperation motion. This equation also implies that the slave trajectory can be uniquely determined in terms of those of the master and relative position/orientation at the initial time of master-slave couple cooperation. This equation establishes the theoretical foundation of our cooperative path planning method for coupled synchronous cooperation. Invoking (1), this constraint can be decomposed into two parts, one for position and the other for orientation. Equation (9) is the individual constraint relations for coupled synchronous cooperation, the first part for orientation and the second part for position. In Equation (9) there are 12 scalar equations, but only six of them are independent because the orientation of the end-effector can be uniquely defined by three parameters, such as the Euler angles.
Transformation between Euler angles and the rotation matrix has been provided in Appendix A.
3.2. Combined synchronous cooperation
Consider two robots cooperate for a jigless welding process as shown in Figure 2. Here, the master robot holds the workpiece while the slave holds a processing tool. In such a case, motion trajectory for the master robot must be specified beforehand, whereas slave trajectory can not be specified directly and it must be determined by the processing requirement in order to achieve a cooperative motion which is a combined one. Usually, the processing requirement can only be given in the workpiece frame. It is supposed that no relative motion is allowed when the master robot holds the workpiece. In such a supposition, the processing requirement can also be specified or converted to the master end-effector frame because a constant transformation matrix exists between the workpiece frame and the master end-effector frame. Constraint relations for such cooperative motions of the master-slave robots will then be different from that of the coupled case. Unlike the constant relation in the first case, a definite time-varying constraint of the processing requirement must be retained during the combined cooperation.
Let
where
Substituting (11) to (10) yields,
Equation (12) expresses the holonomic constraints for the position and orientation between master and slave robots during their combined cooperation motion. This equation also implies that the slave trajectory can be uniquely determined in terms of the counterpart of the master and task processing requirement. This equation establishes the theoretical foundation of our cooperative path planning method for combined synchronous cooperation.
Identically, this constraint can also be decomposed into two parts by invoking Equation (1), one for position and the other for orientation. Equation (13) is the individual constraint relations for combined synchronous cooperation, the first part for orientation and the second part for position. In Equation (13) there are also 12 scalar equations and only six of them are independent identically.
4. Constraints analysis for joint velocity between master-slave cooperative robots
Constraint relations for the position/orientation between master-slave robots have been shown in Equations (9) and (13). Someone may suppose that constraints for joint velocity could be determined by taking the time derivative of such constraints for position and orientation. This could be effective for the translational velocity, however, the angular velocity for robot end-effector is not equal to the time derivative of orientation angular displacement. In reference [20], equations to calculate the angular velocity given Euler angles as in Appendix A are,
At the same time, derivative of rotation matrix with time has obscure meaning in physics and produces complex forms of orientation angles. Therefore, constraints for angular velocity will be analysed directly from the definitions of different cooperation types. Relations between the robot joint velocity and its end-effector position velocity/ angular velocity have been provided in reference [20] as,
where
4.1. Coupled synchronous cooperation
Let
Constraint relations for the translational velocity between master and slave end-effectors can be obtained by differentiating the second part of Equation (9) with respect to time t, which is
As the definition of translational velocity, we have
Substituting (18) into (17) yields
By invoking (16), we have
where
Equation (21) establishes half of the constraint relations for master-slave joint velocity in the positional aspect. Constraints are also imposed on the angular velocities of the two end-effectors, but it cannot be obtained through differentiation of the corresponding constraint equations. As the definition of coupled synchronous cooperation, there are no relative motions between the master and slave end-effectors. So their angular velocities are always the same, that is
Angular velocity can be converted from one frame to another by the equations provided in reference [21],
Substituting (22) and (16) into (23) yields
where
Equation (26) gives the constraint relations between the joint velocities of the master-slave robots when they move in coupled synchronous cooperation. Actually, once the joint velocities of the follower are determined, its joint displacements can be obtained by integration. Consequently, the robot motions are uniquely specified by the joint velocities and the initial joint displacements.
4.2. Combined synchronous cooperation
Identically, constraint relations for the translational velocity of master-slave end-effectors can be obtained by differentiating the second part of Equation (13) with respect to time
However, the differential of the rotation matrix appears in Equation (27) and this will lead to an unaffordably complex computation. Reference [21] provided a simple method to calculate the time differential of the rotation matrix R, which is
Where
in which
Let
By Equation (18), (27), (28), and (29), we have the Equation (30) and (31). Substituting (16) into (31) yields the Equation (32). Solving the Equation (32), it leads to a equation for joint velocity as (33).
Equation (33) establishes half of the constraint relations for master-slave joint velocity in the positional aspect. Constraints of the other part in the orientational aspect will also be established directly by the definition of combined synchronous cooperation. Let mews be the angular velocity of the slave end-effector with reference to the master end-effector frame. As the definition of combined synchronous cooperation, mews will be specified beforehand by the task processing requirement
Transform this angular velocity from the master end-effector frame to the slave base frame by invoking the angular velocity conversion equation in [21],
By Equation (35), we have
In Equation (36), the rotation matrix
Substituting the Equation (16) and (37) into (36) yields,
By Equation (39), we have
where
Equation (41) gives the constraint relations between the joint velocities of the master-slave robots when they move in coupled synchronous cooperation. By now, constraint relations of the position/orientation and joint velocity for the master-slave robots have been definitely proposed, both in couple synchronous cooperation and combined synchronous cooperation. These conclusions can be used to solve the cooperative path planning problem for cooperative motions in a multiple robot system.
5. Representative experiments
In order to validate the above theoretical developments and conclusions, representative experiments have been carried out in our lab. The testbed is composed of two industrial robots, Motoman VA1400 and HP20, which are produced by YASKAWA Electronic Corporation, Japan. An external PC, DELL Optiplex 780, is used as a top layer controller to implement all the control logic. This external PC is connected to the robot controller DX100 by Ethernet cable. The communication software MotoCom SDK, which is also provided by YASKAWA Electronic Corporation, is installed on the PC to help transfer robot data and job files between the PC and DX100 robot controller. Figure 4 shows the experimental testbed we used here in our lab. Using the communication software MotoCom SDK, user applications can be developed and executed on a PC platform. Two different types of experiments have been carried out in our lab, one is the box transportation as shown in Figure 1 and the other is curve tracking as shown in Figure 2. MotoCom SDK provides users with the function to obtain the trajectory a robot moves, which forms the experiment data in the following analysis.

Experimental testbed in our lab
5.1. Experiments of coupled synchronous cooperation
Experiments of Motoman VA1400 and HP20 robots cooperating in coupled synchronous motion are carried out here. As shown in Figure 1, the two robots grasp a cuboid box at two different points. To hold the box steady, there would be no relative motion between the end-effectors of the two robots.
In our experiments, relative position and orientation from the base frames of the VA1400 robot to the HP20 robot is
Here, the HP20 robot is identified as the master and VA1400 as the slave. A 6-dimensional vector
For a line coupled synchronous cooperation motion, two points for the master robot trajectory must be taught by a teaching pendant. Here, the two teaching points for the HP20 robot in its base frame are

3D coordinate measuring machine Actiris350
These values are directly read out from the robot controller DX100 by function
For a coupled synchronous motion, the begin point for the slave robot also needs to be taught. Here, the begin point for the VA1400 robot in its base frame is
As the definition of coupled synchronous cooperation, slave robots require no further teaching operation. Slave trajectories should be calculated autonomously according to the master trajectory by the above conclusion of Equation (8) or (9). By Equation (8), we have
After

Trajectory of VA1400 and HP20 robots in couple line synchronous motion

Joint position of master robot HP20 in couple line synchronous motion

Joint position of slave robot VA1400 in couple line synchronous motion
Besides the couple line motion, couple circle synchronous motion has also been tested for the two robots. As for a circle arc trajectory, three points on the trajectory have to be identified. Here, only the third point mbP3 for master robot needs to be added, that is

Trajectory of VA1400 and HP20 robots in couple circle synchronous motion

Joint position of master robot HP20 in couple circle synchronous motion

Joint position of slave robot VA1400 in couple circle synchronous motion
Similarly,
Figure 9 shows robot trajectories for the VA1400 and HP20 robots moving in a couple circle arc synchronous motion relative to the base frame of HP20 robot. The corresponding joint positions for each robot, master robot HP20 and slave robot VA1400, have been shown in Figure 10 and 11 respectively.
5.2. Experiments of combined synchronous cooperation
Experiments of Motoman VA1400 and HP20 robots cooperating in combined synchronous motion are carried out here. As shown in Figure 2, HP20 robot holds a panel while VA1400 carries an arc weld torch. In our experiments, the HP20 robot is identified as the master robot and VA1400 as the slave. The slave robot tracks the line or circle arc trajectories on the panel while the master transports the panel. The master robot adjusts the position and orientation of the panel constantly to keep it in an optimal posture for the slave processing.
Identically, relative position and orientation from the base frames of VA1400 robot to HP20 robot are
Firstly, the HP20 robot moves in a line motion from P1 toP2 in its base frame while the VA1400 robot moves in a linemotion from PI to PII relative to the end-effector frame ofthe HP20 robot. Teach points for master robot HP20 in itsbase frame are
As the definition of combined synchronous cooperation, trajectory points also need to be taught for the slave robot. Here, two teach points in a line motion for the slave robot are
These points are relative to the base frame of the slave robot. By Equation (12), coordinates of these points can be transformed relative to the end-effector frame of the master robot. After
Next, combined circle synchronous motion was tested for the two robots. During this motion, the HP20 robot acts as the master and still moves in a line motion from

Trajectory of VA1400 and HP20 robots in combined line synchronous motion

Joint position of master robot HP20 in combined line synchronous motion

Joint position of slave robot VA1400 in combined line synchronous motion
Similarly, transform the coordinates of

Trajectory of VA1400 and HP20 robots in combined circle synchronous motion

Joint position of master robot HP20 in combined circle synchronous motion

Joint position of slave robot VA1400 in combined circle synchronous motion
So far we have finished all our test experiments. By the above figures, it is clear that the two robots can move in a cooperative motion whether for a line trajectory or circle trajectory, both for coupled synchronous cooperation and combined synchronous cooperation. Since the commercial industrial robots Motoman VA1400 and HP20 cannot be controlled in the velocity mode, a verification experiment for conclusions of joint velocity constraints has not been carried out here.
6. Conclusion
The aims of this paper are to establish the theoretical foundation for automated cooperative path planning and present a typical application use of this method. Focus of our cooperative path planning method is to autonomously calculate the trajectory of slave robots in the slave base frame given the master trajectory in the master base frame and task processing requirements in the workpiece frame. Motion constraints between cooperative master and slave robots are the basis for this method. Cooperative motions have been classified into three types: concurrent cooperation, coupled synchronous cooperation and combined synchronous cooperation. Constraints for each type of cooperation motion are introduced here. At the end of the paper, representative path planning experiments are presented on two industrial robots, Motoman VA1400 and HP20.
The cooperative path planning method introduced here has great application in the construction of next generation industrial robot controllers with the function of cooperative motion. It is believed that the application of multiple robot cooperative systems will herald a new era in the manufacturing industry. Whereas, traditional robot controllers cannot provide the function of cooperative path planning and cooperative motion control. It is believed that our method provides an effective solution to this problem and will greatly benefit industrial development.
