150 likes | 427 Views
AGV Simulation. Tutorial Nelis Boucké Alexander Helleboogh. Overview. Introduction Architecture Installation Use Extensions. Simulation is crucial for MAS applications. AGVs (Automated Guided Vehicles) Transport loads in warehouse Complex network of road segments and crossroads
E N D
AGV Simulation Tutorial Nelis Boucké Alexander Helleboogh
Overview • Introduction • Architecture • Installation • Use • Extensions
Simulation is crucial for MAS applications • AGVs (Automated Guided Vehicles) • Transport loads in warehouse • Complex network of road segments and crossroads • Advantage of using MAS • Decentralized system behavior • Robust & flexible • In dynamic & unpredictable environments • Test before deployment! • Decentralized systems • No risk of damaging AGVs • Challenge for simulation • Test robustness & flexibility • Dynamic test scenarios needed!
How do we test? Agent software Test Deploy Simulated environment Warehouse environment
Overview • Introduction • Architecture • Installation • Use • Extensions
agentwise. agvsimulation. behaviordemo agentwise. agvsimulation.ui AGV Agent Behavior AGV Simulator GUI Plug-in agentwise. agvsimulation AGV Batch Simulator MAP editor Simulation Runner Eclipse Platform Architecture XML Java VM
AGV batch simulator Deliberation Time Model Interface Interface Interface Simulated Environment
Programming AGV Behavior Interface • Class: • AGVRandomWalkBehavior • Specify your behavior here! • Package agentwise.agvsimulation.behaviordemo • Classes you can use: • AGVBehavior • The complete set of instructions to steer the AGV robot • package agentwise.agvsimulation.agv
sendUnicast @ T=1 driveToStation @ T=1 driveToStation @ T=2 Scenario: decisions of agents A B Influences
Send activity over (1,2) Move activity over (1,5) Move activity over (2,6) Activities Scenario: decisons result in activities A B
B A A A B B Activities interfere! A B Intended outcome Actual outcome
What does this imply? • Specification of AGV programming interface • No post conditions in terms of what will happen • All kinds of catastrophes can happen • Not indicated by exceptions • Only specifies what an agent tries to do • Thinking versus acting • Agents can think and act in parallel • Agent have to wait explicitly while their AGV is driving • waitsecond() • Agents can send messages while their AGV is driving • Agents are not notified of anything • have to rely on polling their sensors