Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Framework for Multi-agent Discrete Event Simulation: V-Lab ® Prasanna Sridhar Shahab Sheikh-Bahaei 12/05/2003 Autonomous Control Engineering University.

Similar presentations


Presentation on theme: "A Framework for Multi-agent Discrete Event Simulation: V-Lab ® Prasanna Sridhar Shahab Sheikh-Bahaei 12/05/2003 Autonomous Control Engineering University."— Presentation transcript:

1 A Framework for Multi-agent Discrete Event Simulation: V-Lab ® Prasanna Sridhar Shahab Sheikh-Bahaei 12/05/2003 Autonomous Control Engineering University of New Mexico This work was supported by NASA AMES under grant NAG 2-1547

2 V-Lab® V-Lab® Environment Layers –Hardware Networking Networking foundation for inter-machine communication –Middleware Software environment for inter-process communication –IDEVS Library of tools for soft computing in DEVS formalism –V-Lab® Organizational structure for DEVS objects. Management objects to control time and message flow in multi-agent systems PHYSICAL NETWORK MIDDLEWARE I-DEVS V-Lab

3 Inside Layered Architecture middleware Atomic Model Coupled Model simman

4 V-lab® Uses the IDEVS structure for creating objects Provides inbuilt agents and physics to model multi-agent multi- physics system SimMan is the message router to perform indirect message passing. Hierarchical Tree SimEnv Agents Physics Agents SimManPhysics

5 SimMan and SimEnv SimEnv –Highest leveled coupled model –Instatiates all other models –Houses all other models –Couples all other models together SimMan –Message liaison providing indirection between all other models –Controls flow of time and messages between models for the simulation SimEnv SimMan Agent

6 Parsing A grammar defines rules for building syntactically correct programs. One way of defining grammar is through BNF (Backus- Naur Form) BNF of our simulation configurations is translated JavaCC format and saved as file parseConfig.jj When parseConfig.jj is compiled by JavaCC, it generates a Java file parseConfig.java. Parsing can be done by instatiating an object of parseConfig.java

7 Sample Config file robo2 = Robot.Robot; //agent robo3 = Robot.Robot; //agent robo4 = Robot.Robot; //agent robo5 = Robot.Robot; //agent robo6 = Robot.Robot; //agent robo7 = Robot.Robot; //agent terr = Robot.Terrain;

8 Need for Agent Manager 4 agents connected together 18 agents connected18 agents connected with manager manager

9 Message routing A1 SimMan R1 A2 A3 A4 A5 R1:A2, A4, A5 R2:A1,A3 R1 Legend: A1,A2,A3,A4,A5: Agents R1: Request Message R1: A2, A4,… : Database for request/response A1 SimMan Re A2 A3 A4 A5 R1:A2, A4, A5 R2:A1,A3 Re Legend: A1,A2,A3,A4,A5: Agents Re: Response Message R1: A2, A4,… : Database for request/response Re Potential repliers can be known by special messages

10 I-DEVS DEVSJAVA Library Soft Computing I-DEVS Library Extension of DEVSJAVA classes Efficient way of handling Time parameters

11 Simulation Results

12 Fuzzy Logic Controller Defuzzilier Fuzzifier Inference Engine Membership Functions Fuzzy (IF THEN) Rules Fuzzy Variables Linguistic Variables Crisp Values Crisp Values

13 Devs-Fuzzy Logic DEVS primitives to compose a Mamdani rule: Membership Functions A typical Mamdani rule can be composed as follows X (real number) Fuzzy Value Fuzzifier Output Block Output Block Fuzzy Value Y (Fuzzy set) … AND/OR Fuzzy Values DOF Defuzzifier Y1Y1 Y2Y2 YnYn … Method of Defuzzification Defuzzified output (real number) Connectives

14 IF theta is POS AND theta_dot is POS THEN force is NEG NEG ZERO POS Fuzzifier (POS) Fuzzifier (POS) AND Defuzzifier theta theta_dot Fuzzifier (NEG) Fuzzifier (NEG) force Output Block (NEG) Output Block (NEG) Center of Gravity Rule #2 Rule #3 force Output Change Detectors

15 Robot Obstacle Avoidance Distance to obstacle (measured by sensor i) Angle of sensor i w v Fuzzy-Logic-Controller 22 11

16 Fuzzy-Logic Obstacle Avoidance a) Distance measured by sensor (d) b) Angle of sensor (th) c) Forward velocity (V) d) Angular Velocity (W) Close Near Far Neg Zero Pos Zero VSlow Slow Fast Neg SNeg Zero SPos Pos Membership Functions:

17 Fuzzy-Logic Obstacle Avoidance 1."IF distance i is Close And angle i is Pos Then V Is VSlow W is Neg " 2."IF distance i is Close And angle i is Zero Then V Is Zero " 3."IF distance i is Close And angle i is Neg Then V Is VSlow W Is Pos " 4."IF distance i is Near And angle i is Pos Then V Is Slow W Is SNeg" 5."IF distance i is Near And angle i is Zero Then V Is VSlow W Is SNeg" 6."IF distance i is Near And angle i is Neg Then V Is Slow W Is Spos" 7."IF distance i is Far And angle i is Pos Then V Is Fast W Is Zero" 8."IF distance i is Far And angle i is Zero Then V Is Fast W Is Zero" 9."IF distance i is Far And angle i is Neg Then V Is Fast W Is Zero" Fuzzy rules for the i th sensor:

18 Simulation time Activities Discrete Event FuzzyConventional Fuzzy Conventional Fuzzy vs. DEVS-Fuzzy

19 Cooperative Robotics Cooperative pushing task:

20 Pushing task: Pushing region rArA rBrB f r =0 f r <0 f r >0 f l <0 f l =0 f l >0 A

21 Cooperative pushing task: rBrB Pushing regions

22 Cooperative Pushing Task “in”?command “out”!goal_reached “in”?object_reached “in”?object_lost “out”?object_touched “in”?everybody_ready “in”?outside_pushing_region “out”?object_reached_the_goal “in” “out”

23 Simulation Results

24

25 Experiment Results

26


Download ppt "A Framework for Multi-agent Discrete Event Simulation: V-Lab ® Prasanna Sridhar Shahab Sheikh-Bahaei 12/05/2003 Autonomous Control Engineering University."

Similar presentations


Ads by Google