**3. Synchronization and coordination**

A net representation of cooperative operation using synchronization mechanism with permissive and inhibitive gate arcs is shown in Figure 10, where the shared transition requires mutual synchronization between two tasks [19]. Synchronization of transitions is also employed for decomposition of a complex task into simple tasks cooperatively executed by two robots, as shown in Figure 11.

**Figure 10.** Distributed implementation of synchronization between two machines

82 Petri Nets – Manufacturing and Computer Science

deadlock situation

**3. Synchronization and coordination** 

because of inconsistency with respect to transition firing.

synchronization. In Figure 9, a loop with no token implies that the net falls into a deadlock

**Figure 8.** Net representations of basic structure of cooperation between two robots: (a) cyclic, (b) parallel

**Figure 9.** (a) Example net which has a loop with no token, (b) parallel representation which indicates a

A net representation of cooperative operation using synchronization mechanism with permissive and inhibitive gate arcs is shown in Figure 10, where the shared transition

**Figure 11.** Decomposition of a complex net into two simple nets using synchronization mechanism of transitions

The decomposition procedure of a net is as follows. First, a new place is added in parallel to the input place of the decomposed transition. Then, transitions are added in the input and output of the two places. The input transition of the new place is a source transition. Each place exchanges internal gate signals to input and output transitions with the other place when a token is in the place. The gate arcs are implemented using asynchronous communication between different robots.

Implementation of Distributed Control Architecture for Multiple Robot Systems Using Petri Nets 85

Station Arm robot Mobile robot Depository Picking Loading Transfer

The picking, loading, or transfer is specified using a local path in the neighborhood of the start and end place and a global path from the two places. Mutual exclusive resources or shared workspace such as buffers are also considered to avoid robot collision. The work flow diagram is transformed into a conceptual net model considering machines in charge of each processing. Figure 14 illustrates the net model of the coordination task between the two robots. At this point, associated processing such as object identification, alarm processing, exception handling is added. Then each processing is translated into detailed operations or actions. At each step of detailed specification, places of the net are substituted by a subnet in a manner which maintains the structural property such as liveness and safeness.

Picking Loading

Movement to station

> Range sensors

The conceptual coordination task is specified as follows. First, after the reception of a start command, in "Identification" place, the arm robot judges whether or not there are still parts in the station using the visual sensor. If not, the arm robot informs the mobile robot that the

Waiting

Obstacle avoidance

Movement to depository

End of task

Hierarchical decomposition assures detailed net models free from deadlock.

Identification

Home

Home

**Figure 14.** Net model of carrying task by two robots

(Arm robot)

(Mobile robot)

1. picking from the station pallet by the arm robot 2. loading into the mobile robot by the arm robot

3. transfer from the station to the depository by the mobile robot

**Figure 13.** Task specification based on work flow processed on parts
