**5. Implementation of net based control system**

Based on net models, a programming and execution system is implemented. A whole task is edited with a net based robot task program editor and simulator. In parallel, a robot motion simulator is used to edit the subtask programs. Using these systems, the net program file, the sequence program file, and the position data file are created and used by the multi-robot controller to execute the coordination task. A schematic of the functions of the robot programming system is illustrated in Figure 20. The connections of the robots and devices with PC are shown in Figure 21.

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

model is transformed into the tabular form, and these files are loaded into the multi-robot controller that executes the programs. Example views of 3D graphic simulation of the arm robot and the mobile robot are shown in Figure 22. The flow chart of the net based programming method of multi-robot tasks using the separated teaching method is shown

**Figure 22.** View of 3D graphic simulation of (a) arm robot and (b) mobile robot

(a) (b)

Start

Edit net based task program

Compute transformation matrix

Teach position data

Simulate the net model with graphic motion simulator

Change position data ?

No

**Figure 23.** Flow chart of net based programming method using separated teaching method

Send files to multi-robot controller

End

Yes

Modify position data

in Figure 23.

**Figure 20.** Structure of the robot programming system

**Figure 21.** Connections of robots and devices with PC

The geometric data of the robot and workspace are specified using the length of the links of the robot, the geometric parameters of workpiece as well as input and deletion positions, and the form of the end-effector. The simulator constructs the three dimensional model of the robot and the workspace. The numerical data of the joint angles, absolute position and orientation of the robot are displayed on the terminal. The operator inputs the sequence of unit motion commands and position data. Then, the motion data are computed with consideration to the geometric parameters of the robots and workpieces. The net model file, the subtask program files and position data files are simulated with the robot task program editor and simulator and robot motion simulator respectively to test the programs and data that will be used to control the robots. The robot behavior is displayed graphically on a terminal step by step. Then the completed net model is transformed into the tabular form, and these files are loaded into the multi-robot controller that executes the programs. Example views of 3D graphic simulation of the arm robot and the mobile robot are shown in Figure 22. The flow chart of the net based programming method of multi-robot tasks using the separated teaching method is shown in Figure 23.

90 Petri Nets – Manufacturing and Computer Science

with PC are shown in Figure 21.

PC

task program editor and simulator

Graphic robot motion simulator

Net based multi-robot controller

**Figure 21.** Connections of robots and devices with PC

Robot motion simulator

Robot task program editor and simulator

**Figure 20.** Structure of the robot programming system

**5. Implementation of net based control system** 

Based on net models, a programming and execution system is implemented. A whole task is edited with a net based robot task program editor and simulator. In parallel, a robot motion simulator is used to edit the subtask programs. Using these systems, the net program file, the sequence program file, and the position data file are created and used by the multi-robot controller to execute the coordination task. A schematic of the functions of the robot programming system is illustrated in Figure 20. The connections of the robots and devices

Micro-

The geometric data of the robot and workspace are specified using the length of the links of the robot, the geometric parameters of workpiece as well as input and deletion positions, and the form of the end-effector. The simulator constructs the three dimensional model of the robot and the workspace. The numerical data of the joint angles, absolute position and orientation of the robot are displayed on the terminal. The operator inputs the sequence of unit motion commands and position data. Then, the motion data are computed with consideration to the geometric parameters of the robots and workpieces. The net model file, the subtask program files and position data files are simulated with the robot task program editor and simulator and robot motion simulator respectively to test the programs and data that will be used to control the robots. The robot behavior is displayed graphically on a terminal step by step. Then the completed net

Wireless RS232C

Mobile robot Net based robot

RS232C

RS232C PLC

Net models of the task

Subtasks program files Position data files

controller Teaching

box

Conveyor

3 axis arm robot

Multi-robot controller

**Figure 22.** View of 3D graphic simulation of (a) arm robot and (b) mobile robot

**Figure 23.** Flow chart of net based programming method using separated teaching method

#### 92 Petri Nets – Manufacturing and Computer Science

The multi-robot controller accomplishes the specified task by executing the net model constructed above. Unit actions in a net model used for lowest level controllers are defined in a specified task space, where the action is executed. In the control software the position and orientation in the task space is transformed to the robot coordinate system using the homogeneous transformation matrix. The controller coordinates and supervises the individual controllers based on information explicitly represented by places, place parameters, transitions, arcs, and gates. That is, when a token enters a place that represents a subtask, immediately the controller defined by the control code is informed to execute the subtask with a specified data. Because of the proper nature of the Petri net, the designer can easily create a multi-robot task program which is free of logical errors. The method acts as a programming method on the coordination level and on the organization level [20]. That is, the Petri net is applied as a tool to the operator who plans the multi-robot task, and by executing the net model the individual hardware controllers are regulated and supervised. If, before moving the real robot, the outputs of the robot controller are linked with the graphic robot motion simulator, the whole task programmed can be tested off-line. When the task specification is required to be changed, the net model can be modified on-line.

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

[4] Lozano-Perez, T. (1983). Robot Programming. *Proceedings of the IEEE*, Vol. 71, No. 7, pp.

[5] Yasuda, G. (1996). An Object-oriented Network Environment for Computer Vision Based Multirobot System Architectures, *Proceedings of 20th International Conference on* 

[6] Yasuda, G. & Tachibana, K. (1996). An Integrated Object-oriented Expert System for Welding Procedure Selection and Process Control, *CRITICAL TECHNOLOGY:* 

[7] Yasuda, G. (1997). Intelligent Manufacturing and Engineering, In: Jay Liebowitz Ed. *The* 

[8] Bussmann, S. (1998). Agent-Oriented Programming of Manufacturing Control Tasks, *Proceedings of the 3rd International Conference on Multi-Agent Systems,* pp. 57 - 63 [9] Yasuda, G. (1999). A Multiagent Architecture for Sensor-Based Control of Intelligent Autonomous Mobile Robots, *ACTA IMEKO 1999 (Proceedings of the 15th World Congress of the International Measurement Confederation (IMEKO))*, Vol.Ⅹ (TC-17), pp.

[10] Cassinis, R. (1983). Hierarchical Control of Integrated Manufacturing Systems, *Proceedings of the 13th International Symposium on Industrial Robots and Robots 7*, pp. 12-9 -

[11] Wood, B. O. & Fugelso, M. A. (1983). MCL, The Manufacturing Control Language, *Proceedings of the 13th International Symposium on Industrial Robots and Robots 7*, pp. 12-84

[12] Yasuda, G., Takai, H. & Tachibana, K. (1994). Performance Evaluation of a Multimicrocomputer-Based Software Servo System for Real-Time Distributed Robot Control, *AUTOMATIC CONTROL 1994 (Proceedings of the 12th Triennial World Congress* 

[13] Murata, T. (1989). Petri Nets: Properties, Analysis and Applications. *Proceedings of the* 

[14] Simon, D., Espiau, B., Kapellos, K. & Pissard-Gibolette, R. (1997). Orccad: Software Engineering for Real-Time Robotics. A Technical Insight. *Robotica*, Vol. 15, pp. 111-115 [15] Caloini, A., Magnani, G. & Pesse, M. (1998). A Technique for Designing Robotic Control Systems Based on Petri Nets. *IEEE Transactions on Control Systems Technology*, Vol. 6, No.

[16] Oliveira, P., Pascoal, A., Silva, V. & Silvestre, C. (1998). Mission Control of the Autonomous Underwater Vehicle: System Design, Implementation and Sea Trials.

[17] Yasuda, G. (2010). Design and Implementation of Hierarchical and Distributed Control for Robotic Manufacturing Systems using Petri Nets. In: Pawel Pawlewski Ed. *Petri* 

[18] Unimation Inc. (1979). *User Guide to VAL – A Robot Programming and Control System* 

*Nets: Applications*, InTech Education and Publishing, Chapter 19, pp. 379-392

*International Journal of Systems Science*, Vol. 29, No. 4, pp. 1065-1080

*Proceedings of the Third World Congress on Expert Systems*, pp. 186-193

*Handbook of Applied Expert Systems*, CRC Press, Chapter 22, pp. 22.1-22.14

*Computers & Industrial Engineering*, pp. 1199-1202

*of IFAC)*, Pergamon, Vol. 2, pp. 673-678

*IEEE*, Vol. 77, No. 4, pp. 541-580

821-841

145-152

12-20


1, pp. 72-87

*Version II*
