SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
The Agent Net
AGV Forklift Simulation
Larry Suarez
Grid Research Group
Agent Net, Inc.
Abstract
There needs to be significant changes in the way software is developed. The increase in
distributed computing problems (homeland security, cooperative business solutions, automated e-
commerce) has rendered existing software solutions unreasonable. Adding to the dilemma is the
fact that creating reliable, functioning distributed software solutions is beyond the capabilities of
most developers. A distributed software solution must be able to adapt to constant changes,
support non-central control, be self-monitoring, be self-healing, allow modifications at any time,
and persist under failing systems. Agent-based systems, including distributed autonomous
agents (DAA), are viewed as a possible solution to the distributed computing problems in the
world today.
Background
Agent Net has been working on a distributed Agent Grid for the last five years. The grid,
populated by autonomous agents, is viewed as the next generation architecture for distributed
computing solutions. Although the benefits of agent-based systems are well known, the difficulty
has been in how to effectively design and construct agent-based systems. A designer with
minimal or no programming skills should be able to develop effective agent-based solutions. This
paper will discuss the facility used by the Agent Net Corporation to research agent design
paradigms and development tools for agent-based systems. The facility, the Forklift Simulation
Software (FSS), is embedded within the Agent Net Agent Development Environment (ADE). FSS
allows Agent Net researchers to experiment with visual graphical interfaces in the design of
agents and agent systems. FSS is based on a well-known paradigm used by robotic and agent
researchers – a manufacturer’s shop floor on which Automated Guided Vehicles (AGV) operate.
The vehicles, forklifts under the control of agents (or holons), are programmed to navigate the
shop floor. The forklifts are designed to accomplish both simple and complex tasks. Simple tasks
include moving crates from one location to another. Complex tasks include the cooperation of
multiple forklifts when lifting crates beyond the capabilities of a single forklift. The FSS facility
provided by Agent Net includes the following:
1. Graphical design tool to define the shop floor on which the AGV forklifts operate.
2. Graphical flow tool to design “deliberative” agent processing genome. This implies the ability
to weave agent behaviors into a flow to accomplish deliberative tasks such as moving a crate
from one location to another (e.g. move forklift to shelf ‘A’ load crate from shelf onto forklift
move forklift to truck ‘B’ drop crate in truck).
3. Minimal JAVA development text editor tool to construct agent behavior. Agent behavior is
The Agent Net AGV Forklift Simulation 2
constructed using the JAVA programming language. Using JAVA allows an agent behavior to
execute on numerous types of machines and makes it available to a wide number of
developers in the industry today. The editor tool allows the designer to write and compile
JAVA code and assign the JAVA behavior to an agent.
4. Network modeling tool to model the distributed computing environment in which the agent-
based solution will execute. The network modeling tool contains an embedded simulation
component to allow simulating the execution behavior of the solution (including simulating host
execution speed, network speed, and bandwidth capabilities).
The Forklift Simulation
The simplest means in which to understand agents and agent behavior is to present an example.
Agent Net provides a demonstration of agent technology using a recognizable paradigm – the
simulation of AGV forklifts. The simulation models a manufacturer’s shop floor which contains
walls, shelves, crates, and forklifts. Each forklift is managed by an autonomous distributed agent
whose behavior controls the forklift as it migrates through the shop floor. Figure 1 shows the
Agent Net ADE tool in which the user has selected the forklift demonstration and has been taken
to the shop floor designer.
The shop floor consists of a grid measuring 16x16. Each rectangle in the grid can hold either a
shelf, forklift, crate, or wall. Designers can drag and drop objects from the Designer Toolbar onto
the shop floor. Once the shop floor design is completed, the designer can save the layout at
which time the Agent Net tool will generate the necessary agents to control the forklifts. Each
agent is give the standard default name of “ForkLift_<id>” where <id> is some numeric value. In
addition, the shop floor layout is translated into an internal world representation consisting of a
rule-base. Agent behaviors use the world representation to determine the correct actions of the
forklift on the shop floor. Agents are free to manipulate the world representation including adding
and removing world information. The agents do not have any default behavior when first created.
Designers may populate the agent’s behavior by using either existing behaviors or creating new
ones. This document will not define the structure of an agent’s genome but suffice it to say that
the designer has many different capabilities in constructing a genome.
Agent Net, Inc. Company Confidential 2/2/2007
The Agent Net AGV Forklift Simulation 3
Figure 1: Shop
Floor Designer
Society Selector
Designer Toolbar
Shop Floor
(Top View)
The designer can create a shop floor from scratch or augment a number of examples provided by
Agent Net. The agents and the representation of their world (shop floor) are collectively known
as a “society”. The use of the term “society” is not without forethought. The agents within the
society (i.e. agents operating on the shop floor) have the capabilities to collaborate with one
another and to take on behaviors much like other entities that coexist within social structures.
Agent research not only includes the design of the agents themselves but, more importantly, how
agents interact with one another to form complex organizations or hierarchies which are not based
on a central-control paradigm.
Agent Design
Agents are not designed as one would design software today. Current software design principles
operate at only one level: thousands upon thousands of lines of code that execute sequentially
from beginning to end or from one state to another. In contrast, agent design operates at multiple
levels. An agent consists of a collection of “behaviors” in which each behavior is a small, succinct
task or accomplishment. Each behavior executes to completion and then is returned to the
agent’s pool of behaviors for further execution. In other words, a behavior executes over and over
again during the life of an agent until triggered by special start/stop events or until the agent
considers the behavior unusable or detrimental. If a behavior somehow faults (either from a
programming error or hardware error), the behavior is still returned to the pool for execution which
provides a level of fault-tolerance. Agents are free to manipulate at run-time not only it’s world
representation but also it’s pool of behaviors. This provides the “learning” capabilities attributed to
autonomous agents.
Agent Net, Inc. Company Confidential 2/2/2007
The Agent Net AGV Forklift Simulation 4
As an example, lets take an agent that shifts through email looking for indications of terrorist
involvement. Within this agent, some behaviors intelligently break down the email into semantic
information (typically call Information Extraction) and converts the data into the agent’s world.
Other behaviors look for suspicious situations within the world (e.g. use of certain terms such as
“al Qaeda”). Another behavior looks for terms that require immediate attention such as dates
which may imply attacks. The agent may augment itself by searching the Internet for new
behaviors from other agents that are more successful at locating terrorist involvement. Other
behaviors may send located suspicious data to external agents which contain more sophisticated
algorithms for detection (and hence must execute on larger and faster machines). By breaking
the total task of an agent into behaviors, additional behaviors can be added to the agent while it is
executing or different priorities can be adopted per behavior to achieve better results. For
example, to prevent too many erroneous “red flags”. Another level of agent design includes the
creation of complex behaviors by synchronizing a number of simple behaviors much like one
would create a task workflow.
The Simple Shop floor
For our first example, lets design a simple shop floor with some walls, shelves, and a crate. There
will be one forklift and hence one autonomous agent. The trend in agent behavior development
in the industry is to not design large complex behaviors but to construct very succinct behaviors
and then build complex behaviors using these fundamental behaviors as building blocks. Figure 2
shows the initial shop floor. The name of the example (society) is “ForkSim 1”.
Figure 2: Simple
Shop Floor
Forklift
Wall
Shelf
Crate
As previously mentioned, when the shop floor design is saved, the ADE generates the required
Agent Net, Inc. Company Confidential 2/2/2007
The Agent Net AGV Forklift Simulation 5
agents for the simulation and constructs the agent’s world. As shown in figure 2, the left hand
side of the ADE window contains the results of saving the design of the “ForkSim 1” society. The
generated corresponding agent, “ForkLift_1”, is shown as well as the world representation, “World
Model”.
When a simulation is initiated, the following general steps are taken:
1. The Agent Virtual Machine (AVM), which controls the life-span of an agent, is initialized.
2. Each agent is instantiated and begins it’s startup procedure.
3. Each agent loads the internal representation of it’s world into memory. The information
represents the “beliefs” of the agent. Agent research includes the definition and
completeness of world representations.
4. Each agent loads it’s behaviors into memory and then initiates the processing of the
behaviors (e.g. a forklift starts to move on the shop floor).
Within this example, we have defined six behaviors for the agent:
1. GoToALoc: causes the forklift to move to a particular location on the shop floor.
2. MonitorBattery: monitors the battery life of the forklift and, if low, will dock the forklift onto a
“charging pad”.
3. TurnIfBlocked: forces the forklift to turn on it’s axis in another direction if blocked in it’s
current orientation.
4. GiveWay: if confronted by another forklift, this forklift will move to allow passage (or
reverse if the path is not wide enough for two forklifts).
5. MoveToAdjacentLoc: causes forklift to move one rectangle in the direction of its
orientation.
6. LoadCrate: if a crate is in an adjacent shelf, orient the forklift to the crate and load the crate
from the shelf.
Although we have six behaviors for the agent, on the initial run of the simulation we will only
enable the behavior “MoveToAdjacentLoc”. Enabling a behavior implies allowing the behavior to
be used by the agent. Behaviors that are disabled are not available for execution but can be
enabled at a later time. Agents are free to enable or disable their own behaviors based on the
state of it’s world and may do so at anytime during it’s life-span. As mentioned above, the
behavior “MoveToAdjacentLoc” means that the forklift will move indefinitely unless blocked to the
next adjacent location on the shop floor grid in the direction of it’s orientation.
Figure 3 shows the result of the simulation shortly after initiation. The forklift has traveled a short
distance by repeatedly executing the behavior “MoveToAdjacentLoc” and upon reaching a wall
can no longer move to the adjacent location. In traditional software design, the developer would
enhance the behavior “move to adjacent location” to anticipate the existence of walls and other
objects on the shop floor. In agent design, we merely enable the existing behavior called “Turned
if Blocked” which executes at the same level as the “move to adjacent location”. The designer
does not indicate the order of execution and allows both behaviors to execute at the same priority
level. In traditional software design, the software would be enhanced and the original software
replaced during some “off-time” when the software was not in use. With agent design, the new
Agent Net, Inc. Company Confidential 2/2/2007
The Agent Net AGV Forklift Simulation 6
behavior can be added or enabled at any time during the life of the agent and becomes effective
immediately.
Figure 3:
Initiating the
Simulation
Figure 4 shows the forklift now traveling through the shop floor after the “TurnIfBlocked behavior is
enabled. Enabling or disabling a behavior via the Shop Floor Designer is accomplished by right-
clicking on the behavior and choosing the “enable/disable” menu item. The behavior state is then
toggled.
Agent Net, Inc. Company Confidential 2/2/2007
The Agent Net AGV Forklift Simulation 7
Figure 4:
Enabling the
“TurnIfBlocked”
behavior
Agent Behaviors (now
TurnIfBlocked is
enabled as well)
Figure 5 shows the JAVA code used to model the “move to adjacent location” behavior. The code
is viewed via the JAVA development environment embedded within the ADE tool. The code
references a number of functions defined by the Agent system to interrogate the internal world
representation. For example, to determine the current position of the forklift on the shop floor the
function CurrentPosition() is called. The behavior code is executed using a standard JAVA virtual
machine and requires no specialized code on behalf of the designer.
Agent Net, Inc. Company Confidential 2/2/2007
The Agent Net AGV Forklift Simulation 8
Figure 5: Behavior
body Editor with
“MoveToAdjacentLoc”
Advanced Shop Floor Example
The simple shop floor example shows that when a forklift has an agent that contains only two
enabled behaviors (“move-to-adjacent-loc” and “turn-if-blocked”), the forklift can meander through
a shop floor with little trouble. In fact, current agent and robotic research is concluding that most
complex behaviors are derived from a small number of simple behaviors. The “learning”
capabilities of agents includes the construction of complex behaviors from simpler behaviors. The
next shop floor example is a little more complex. The task is to take a crowded shop floor and
have a forklift locate a specific crate and deposit it in a new location (e.g. truck). Figure 6 shows
the shop floor we will be discussing. Notice that there are now two forklifts (two agents) and a
more complicated set of obstacles. Because the task is more complex than simply moving to an
adjacent location, we need to use the behavior modeler to string a number of simple behaviors
together.
Agent Net, Inc. Company Confidential 2/2/2007
The Agent Net AGV Forklift Simulation 9
Figure 6:
Advanced shop
floor example.
Figure 7 shows the behavior that is designed for the current example. The behavior is in the form
of a behavior flow consisting of a number of simpler behaviors of which were discussed in the
previous section. This flow models the “deliberative” behavior found in humans in which humans
are able accomplish complex tasks by coupling many simpler behaviors. The entire complex
behavior consists of the following behaviors executed in the following order:
1. Move to location “A” with coordinates (x,y) (“GotoALoc”).
2. Once positioned at location (x,y), load an available crate in the adjacent location
(“LoadCrate”).
3. Move to location “B” with coordinates (x’, y’) (“GotoBLoc”).
4. Unload the crate in the next location in the currently oriented position of the forklift
(“DropCrate”).
5. Park the forklift onto it’s charging pad.
Agent Net, Inc. Company Confidential 2/2/2007
The Agent Net AGV Forklift Simulation 10
Figure 7: Complex
agent behavior
“LoadTruckB”.
Finally, Figure 8 shows the progress of one of the forklifts moving towards the shelf on which to
drop the crate.
Agent Net, Inc. Company Confidential 2/2/2007
The Agent Net AGV Forklift Simulation 11
Figure 8: Forklift
carrying crate for
dropoff.
Distributing the Solution
A final capability of the Agent FSS facility is the ability to simulate the distribution of agent
societies within a agent grid. The simulation is accomplished via a network modeling tool
embedded within the ADE tool. The network modeler within the FSS facility allows designers to
model many types of network configurations which includes metrics such as “disk access time”,
“host processor speed”, “network bandwidth”, and “disk utilization”. The modeler is a discrete-
system simulator which models the real world as discrete steps that occur at specific events (e.g.
time “ticks”). The designer can also use the simulator as a monitoring tool which can monitor a
live agent-based solution in which values from the monitoring are feed back into the simulation for
accurate future simulation runs.
Figure 9 shows a model of an agent-based solution for the distributed problem of allowing Intuit
customers to send state tax forms to state processing centers. The diagram shows two agent
societies in which one is executing on the tax payer’s home machine while another is executing at
an Intuit processing center. Finally, each state processing center has defined an agent to act as a
connection point to outside submitters in which the agent contains behaviors such as:
• Translate incoming tax forms to state internal formats.
• Filters to quickly test the correctness of the tax form and to return the form if incorrect.
• Filters to quickly flag suspicious tax forms.
• Response data to the submitter to indicate that the forms have been received and have
either successfully or unsuccessfully passed initial document checks.
Agent Net, Inc. Company Confidential 2/2/2007
The Agent Net AGV Forklift Simulation 12
Figure 9: Network
modeler distributing
an agent-based
solution.
Summary
Agent Net is researching the viability of applying agent grids to the distributed computing
problems that exist today. A major issue that will determine the success or failure of agent grids is
the difficulty in designing agent-based solutions. Using the Forklift Simulation Software (FSS)
developed by Agent Net, Agent Net researchers can examine and evaluate the types of
development environments that will allow designers to create powerful agent-based solutions.
Agent Net, Inc. Company Confidential 2/2/2007

Mais conteúdo relacionado

Destaque

aotomated guided vehicle
aotomated guided vehicleaotomated guided vehicle
aotomated guided vehicleAlamkhan Pathan
 
Mtrl handling
Mtrl handlingMtrl handling
Mtrl handlingE P John
 
Line following robot - Mini project
Line following robot - Mini projectLine following robot - Mini project
Line following robot - Mini projectAmit Upadhye
 
Material handling
Material handling Material handling
Material handling Dev Jain
 
Project Report for Automated Guided Vehicle
Project Report for Automated Guided VehicleProject Report for Automated Guided Vehicle
Project Report for Automated Guided VehicleSOORAJ V R
 
Automated storage and retrieval system
Automated storage and retrieval systemAutomated storage and retrieval system
Automated storage and retrieval systemPrasanna3804
 
Fabrication of Automatic Guided Vehicle
Fabrication of Automatic Guided Vehicle Fabrication of Automatic Guided Vehicle
Fabrication of Automatic Guided Vehicle Ajith Aravind
 

Destaque (8)

aotomated guided vehicle
aotomated guided vehicleaotomated guided vehicle
aotomated guided vehicle
 
Mtrl handling
Mtrl handlingMtrl handling
Mtrl handling
 
Automated guided vehicle
Automated guided vehicleAutomated guided vehicle
Automated guided vehicle
 
Line following robot - Mini project
Line following robot - Mini projectLine following robot - Mini project
Line following robot - Mini project
 
Material handling
Material handling Material handling
Material handling
 
Project Report for Automated Guided Vehicle
Project Report for Automated Guided VehicleProject Report for Automated Guided Vehicle
Project Report for Automated Guided Vehicle
 
Automated storage and retrieval system
Automated storage and retrieval systemAutomated storage and retrieval system
Automated storage and retrieval system
 
Fabrication of Automatic Guided Vehicle
Fabrication of Automatic Guided Vehicle Fabrication of Automatic Guided Vehicle
Fabrication of Automatic Guided Vehicle
 

Semelhante a The Agent Net AGV Forklift Simulation

Operator-Less DataCenters A Near Future Reality
Operator-Less DataCenters A Near Future RealityOperator-Less DataCenters A Near Future Reality
Operator-Less DataCenters A Near Future RealityKishore Arya
 
Operator-less DataCenters -- A Reality
Operator-less DataCenters -- A RealityOperator-less DataCenters -- A Reality
Operator-less DataCenters -- A RealityKishore Arya
 
Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021NeerajKumar1965
 
Getting started with ibm worklight tips
Getting started with ibm worklight tipsGetting started with ibm worklight tips
Getting started with ibm worklight tipsbupbechanhgmail
 
IRJET- Conversational Commerce (ESTILO)
IRJET- Conversational Commerce (ESTILO)IRJET- Conversational Commerce (ESTILO)
IRJET- Conversational Commerce (ESTILO)IRJET Journal
 
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...IRJET Journal
 
Designing Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDesigning Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDave Malouf
 
Building Your Own AI Agent System: A Comprehensive Guide
Building Your Own AI Agent System: A Comprehensive GuideBuilding Your Own AI Agent System: A Comprehensive Guide
Building Your Own AI Agent System: A Comprehensive GuideChristopherTHyatt
 
A Conceptual Model Of An Erp System Using Uml
A Conceptual Model Of An Erp System Using UmlA Conceptual Model Of An Erp System Using Uml
A Conceptual Model Of An Erp System Using UmlDeborah Gastineau
 
Smart buckets ppt
Smart buckets pptSmart buckets ppt
Smart buckets pptkiran Patel
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitectureABDEL RAHMAN KARIM
 
Stanfy - Crafting Custom Software Systems
Stanfy - Crafting Custom Software SystemsStanfy - Crafting Custom Software Systems
Stanfy - Crafting Custom Software SystemsDmytro Karamshuk
 

Semelhante a The Agent Net AGV Forklift Simulation (20)

The Agent Grid
The Agent GridThe Agent Grid
The Agent Grid
 
Sdlc
SdlcSdlc
Sdlc
 
Sdlc
SdlcSdlc
Sdlc
 
Operator-Less DataCenters A Near Future Reality
Operator-Less DataCenters A Near Future RealityOperator-Less DataCenters A Near Future Reality
Operator-Less DataCenters A Near Future Reality
 
Operator-less DataCenters -- A Reality
Operator-less DataCenters -- A RealityOperator-less DataCenters -- A Reality
Operator-less DataCenters -- A Reality
 
Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021
 
Getting started with ibm worklight tips
Getting started with ibm worklight tipsGetting started with ibm worklight tips
Getting started with ibm worklight tips
 
IRJET- Conversational Commerce (ESTILO)
IRJET- Conversational Commerce (ESTILO)IRJET- Conversational Commerce (ESTILO)
IRJET- Conversational Commerce (ESTILO)
 
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
 
Designing Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDesigning Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAs
 
Index
IndexIndex
Index
 
Building Your Own AI Agent System: A Comprehensive Guide
Building Your Own AI Agent System: A Comprehensive GuideBuilding Your Own AI Agent System: A Comprehensive Guide
Building Your Own AI Agent System: A Comprehensive Guide
 
Teamwork Presentation
Teamwork PresentationTeamwork Presentation
Teamwork Presentation
 
Web engineering
Web engineeringWeb engineering
Web engineering
 
A Conceptual Model Of An Erp System Using Uml
A Conceptual Model Of An Erp System Using UmlA Conceptual Model Of An Erp System Using Uml
A Conceptual Model Of An Erp System Using Uml
 
Ob Essay
Ob EssayOb Essay
Ob Essay
 
Smart buckets ppt
Smart buckets pptSmart buckets ppt
Smart buckets ppt
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
 
Stanfy - Crafting Custom Software Systems
Stanfy - Crafting Custom Software SystemsStanfy - Crafting Custom Software Systems
Stanfy - Crafting Custom Software Systems
 
Haritham brochure 2010
Haritham brochure 2010Haritham brochure 2010
Haritham brochure 2010
 

Mais de Larry Suarez

emPATH Developer's Guide
emPATH Developer's GuideemPATH Developer's Guide
emPATH Developer's GuideLarry Suarez
 
Agent-Based Workflow
Agent-Based WorkflowAgent-Based Workflow
Agent-Based WorkflowLarry Suarez
 
emPATH Open Sourced Mobile Framework
emPATH Open Sourced Mobile FrameworkemPATH Open Sourced Mobile Framework
emPATH Open Sourced Mobile FrameworkLarry Suarez
 
Predictive Arrival
Predictive ArrivalPredictive Arrival
Predictive ArrivalLarry Suarez
 
Cross Docks and Smart Motes
Cross Docks and Smart MotesCross Docks and Smart Motes
Cross Docks and Smart MotesLarry Suarez
 

Mais de Larry Suarez (8)

emPATH Developer's Guide
emPATH Developer's GuideemPATH Developer's Guide
emPATH Developer's Guide
 
The C2 Agent Grid
The C2 Agent GridThe C2 Agent Grid
The C2 Agent Grid
 
Agent-Based Workflow
Agent-Based WorkflowAgent-Based Workflow
Agent-Based Workflow
 
emPATH Open Sourced Mobile Framework
emPATH Open Sourced Mobile FrameworkemPATH Open Sourced Mobile Framework
emPATH Open Sourced Mobile Framework
 
Predictive Arrival
Predictive ArrivalPredictive Arrival
Predictive Arrival
 
MedRPM
MedRPMMedRPM
MedRPM
 
Cross Docks and Smart Motes
Cross Docks and Smart MotesCross Docks and Smart Motes
Cross Docks and Smart Motes
 
U.S. Medical Grid
U.S. Medical GridU.S. Medical Grid
U.S. Medical Grid
 

Último

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Último (20)

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

The Agent Net AGV Forklift Simulation

  • 1. The Agent Net AGV Forklift Simulation Larry Suarez Grid Research Group Agent Net, Inc. Abstract There needs to be significant changes in the way software is developed. The increase in distributed computing problems (homeland security, cooperative business solutions, automated e- commerce) has rendered existing software solutions unreasonable. Adding to the dilemma is the fact that creating reliable, functioning distributed software solutions is beyond the capabilities of most developers. A distributed software solution must be able to adapt to constant changes, support non-central control, be self-monitoring, be self-healing, allow modifications at any time, and persist under failing systems. Agent-based systems, including distributed autonomous agents (DAA), are viewed as a possible solution to the distributed computing problems in the world today. Background Agent Net has been working on a distributed Agent Grid for the last five years. The grid, populated by autonomous agents, is viewed as the next generation architecture for distributed computing solutions. Although the benefits of agent-based systems are well known, the difficulty has been in how to effectively design and construct agent-based systems. A designer with minimal or no programming skills should be able to develop effective agent-based solutions. This paper will discuss the facility used by the Agent Net Corporation to research agent design paradigms and development tools for agent-based systems. The facility, the Forklift Simulation Software (FSS), is embedded within the Agent Net Agent Development Environment (ADE). FSS allows Agent Net researchers to experiment with visual graphical interfaces in the design of agents and agent systems. FSS is based on a well-known paradigm used by robotic and agent researchers – a manufacturer’s shop floor on which Automated Guided Vehicles (AGV) operate. The vehicles, forklifts under the control of agents (or holons), are programmed to navigate the shop floor. The forklifts are designed to accomplish both simple and complex tasks. Simple tasks include moving crates from one location to another. Complex tasks include the cooperation of multiple forklifts when lifting crates beyond the capabilities of a single forklift. The FSS facility provided by Agent Net includes the following: 1. Graphical design tool to define the shop floor on which the AGV forklifts operate. 2. Graphical flow tool to design “deliberative” agent processing genome. This implies the ability to weave agent behaviors into a flow to accomplish deliberative tasks such as moving a crate from one location to another (e.g. move forklift to shelf ‘A’ load crate from shelf onto forklift move forklift to truck ‘B’ drop crate in truck). 3. Minimal JAVA development text editor tool to construct agent behavior. Agent behavior is
  • 2. The Agent Net AGV Forklift Simulation 2 constructed using the JAVA programming language. Using JAVA allows an agent behavior to execute on numerous types of machines and makes it available to a wide number of developers in the industry today. The editor tool allows the designer to write and compile JAVA code and assign the JAVA behavior to an agent. 4. Network modeling tool to model the distributed computing environment in which the agent- based solution will execute. The network modeling tool contains an embedded simulation component to allow simulating the execution behavior of the solution (including simulating host execution speed, network speed, and bandwidth capabilities). The Forklift Simulation The simplest means in which to understand agents and agent behavior is to present an example. Agent Net provides a demonstration of agent technology using a recognizable paradigm – the simulation of AGV forklifts. The simulation models a manufacturer’s shop floor which contains walls, shelves, crates, and forklifts. Each forklift is managed by an autonomous distributed agent whose behavior controls the forklift as it migrates through the shop floor. Figure 1 shows the Agent Net ADE tool in which the user has selected the forklift demonstration and has been taken to the shop floor designer. The shop floor consists of a grid measuring 16x16. Each rectangle in the grid can hold either a shelf, forklift, crate, or wall. Designers can drag and drop objects from the Designer Toolbar onto the shop floor. Once the shop floor design is completed, the designer can save the layout at which time the Agent Net tool will generate the necessary agents to control the forklifts. Each agent is give the standard default name of “ForkLift_<id>” where <id> is some numeric value. In addition, the shop floor layout is translated into an internal world representation consisting of a rule-base. Agent behaviors use the world representation to determine the correct actions of the forklift on the shop floor. Agents are free to manipulate the world representation including adding and removing world information. The agents do not have any default behavior when first created. Designers may populate the agent’s behavior by using either existing behaviors or creating new ones. This document will not define the structure of an agent’s genome but suffice it to say that the designer has many different capabilities in constructing a genome. Agent Net, Inc. Company Confidential 2/2/2007
  • 3. The Agent Net AGV Forklift Simulation 3 Figure 1: Shop Floor Designer Society Selector Designer Toolbar Shop Floor (Top View) The designer can create a shop floor from scratch or augment a number of examples provided by Agent Net. The agents and the representation of their world (shop floor) are collectively known as a “society”. The use of the term “society” is not without forethought. The agents within the society (i.e. agents operating on the shop floor) have the capabilities to collaborate with one another and to take on behaviors much like other entities that coexist within social structures. Agent research not only includes the design of the agents themselves but, more importantly, how agents interact with one another to form complex organizations or hierarchies which are not based on a central-control paradigm. Agent Design Agents are not designed as one would design software today. Current software design principles operate at only one level: thousands upon thousands of lines of code that execute sequentially from beginning to end or from one state to another. In contrast, agent design operates at multiple levels. An agent consists of a collection of “behaviors” in which each behavior is a small, succinct task or accomplishment. Each behavior executes to completion and then is returned to the agent’s pool of behaviors for further execution. In other words, a behavior executes over and over again during the life of an agent until triggered by special start/stop events or until the agent considers the behavior unusable or detrimental. If a behavior somehow faults (either from a programming error or hardware error), the behavior is still returned to the pool for execution which provides a level of fault-tolerance. Agents are free to manipulate at run-time not only it’s world representation but also it’s pool of behaviors. This provides the “learning” capabilities attributed to autonomous agents. Agent Net, Inc. Company Confidential 2/2/2007
  • 4. The Agent Net AGV Forklift Simulation 4 As an example, lets take an agent that shifts through email looking for indications of terrorist involvement. Within this agent, some behaviors intelligently break down the email into semantic information (typically call Information Extraction) and converts the data into the agent’s world. Other behaviors look for suspicious situations within the world (e.g. use of certain terms such as “al Qaeda”). Another behavior looks for terms that require immediate attention such as dates which may imply attacks. The agent may augment itself by searching the Internet for new behaviors from other agents that are more successful at locating terrorist involvement. Other behaviors may send located suspicious data to external agents which contain more sophisticated algorithms for detection (and hence must execute on larger and faster machines). By breaking the total task of an agent into behaviors, additional behaviors can be added to the agent while it is executing or different priorities can be adopted per behavior to achieve better results. For example, to prevent too many erroneous “red flags”. Another level of agent design includes the creation of complex behaviors by synchronizing a number of simple behaviors much like one would create a task workflow. The Simple Shop floor For our first example, lets design a simple shop floor with some walls, shelves, and a crate. There will be one forklift and hence one autonomous agent. The trend in agent behavior development in the industry is to not design large complex behaviors but to construct very succinct behaviors and then build complex behaviors using these fundamental behaviors as building blocks. Figure 2 shows the initial shop floor. The name of the example (society) is “ForkSim 1”. Figure 2: Simple Shop Floor Forklift Wall Shelf Crate As previously mentioned, when the shop floor design is saved, the ADE generates the required Agent Net, Inc. Company Confidential 2/2/2007
  • 5. The Agent Net AGV Forklift Simulation 5 agents for the simulation and constructs the agent’s world. As shown in figure 2, the left hand side of the ADE window contains the results of saving the design of the “ForkSim 1” society. The generated corresponding agent, “ForkLift_1”, is shown as well as the world representation, “World Model”. When a simulation is initiated, the following general steps are taken: 1. The Agent Virtual Machine (AVM), which controls the life-span of an agent, is initialized. 2. Each agent is instantiated and begins it’s startup procedure. 3. Each agent loads the internal representation of it’s world into memory. The information represents the “beliefs” of the agent. Agent research includes the definition and completeness of world representations. 4. Each agent loads it’s behaviors into memory and then initiates the processing of the behaviors (e.g. a forklift starts to move on the shop floor). Within this example, we have defined six behaviors for the agent: 1. GoToALoc: causes the forklift to move to a particular location on the shop floor. 2. MonitorBattery: monitors the battery life of the forklift and, if low, will dock the forklift onto a “charging pad”. 3. TurnIfBlocked: forces the forklift to turn on it’s axis in another direction if blocked in it’s current orientation. 4. GiveWay: if confronted by another forklift, this forklift will move to allow passage (or reverse if the path is not wide enough for two forklifts). 5. MoveToAdjacentLoc: causes forklift to move one rectangle in the direction of its orientation. 6. LoadCrate: if a crate is in an adjacent shelf, orient the forklift to the crate and load the crate from the shelf. Although we have six behaviors for the agent, on the initial run of the simulation we will only enable the behavior “MoveToAdjacentLoc”. Enabling a behavior implies allowing the behavior to be used by the agent. Behaviors that are disabled are not available for execution but can be enabled at a later time. Agents are free to enable or disable their own behaviors based on the state of it’s world and may do so at anytime during it’s life-span. As mentioned above, the behavior “MoveToAdjacentLoc” means that the forklift will move indefinitely unless blocked to the next adjacent location on the shop floor grid in the direction of it’s orientation. Figure 3 shows the result of the simulation shortly after initiation. The forklift has traveled a short distance by repeatedly executing the behavior “MoveToAdjacentLoc” and upon reaching a wall can no longer move to the adjacent location. In traditional software design, the developer would enhance the behavior “move to adjacent location” to anticipate the existence of walls and other objects on the shop floor. In agent design, we merely enable the existing behavior called “Turned if Blocked” which executes at the same level as the “move to adjacent location”. The designer does not indicate the order of execution and allows both behaviors to execute at the same priority level. In traditional software design, the software would be enhanced and the original software replaced during some “off-time” when the software was not in use. With agent design, the new Agent Net, Inc. Company Confidential 2/2/2007
  • 6. The Agent Net AGV Forklift Simulation 6 behavior can be added or enabled at any time during the life of the agent and becomes effective immediately. Figure 3: Initiating the Simulation Figure 4 shows the forklift now traveling through the shop floor after the “TurnIfBlocked behavior is enabled. Enabling or disabling a behavior via the Shop Floor Designer is accomplished by right- clicking on the behavior and choosing the “enable/disable” menu item. The behavior state is then toggled. Agent Net, Inc. Company Confidential 2/2/2007
  • 7. The Agent Net AGV Forklift Simulation 7 Figure 4: Enabling the “TurnIfBlocked” behavior Agent Behaviors (now TurnIfBlocked is enabled as well) Figure 5 shows the JAVA code used to model the “move to adjacent location” behavior. The code is viewed via the JAVA development environment embedded within the ADE tool. The code references a number of functions defined by the Agent system to interrogate the internal world representation. For example, to determine the current position of the forklift on the shop floor the function CurrentPosition() is called. The behavior code is executed using a standard JAVA virtual machine and requires no specialized code on behalf of the designer. Agent Net, Inc. Company Confidential 2/2/2007
  • 8. The Agent Net AGV Forklift Simulation 8 Figure 5: Behavior body Editor with “MoveToAdjacentLoc” Advanced Shop Floor Example The simple shop floor example shows that when a forklift has an agent that contains only two enabled behaviors (“move-to-adjacent-loc” and “turn-if-blocked”), the forklift can meander through a shop floor with little trouble. In fact, current agent and robotic research is concluding that most complex behaviors are derived from a small number of simple behaviors. The “learning” capabilities of agents includes the construction of complex behaviors from simpler behaviors. The next shop floor example is a little more complex. The task is to take a crowded shop floor and have a forklift locate a specific crate and deposit it in a new location (e.g. truck). Figure 6 shows the shop floor we will be discussing. Notice that there are now two forklifts (two agents) and a more complicated set of obstacles. Because the task is more complex than simply moving to an adjacent location, we need to use the behavior modeler to string a number of simple behaviors together. Agent Net, Inc. Company Confidential 2/2/2007
  • 9. The Agent Net AGV Forklift Simulation 9 Figure 6: Advanced shop floor example. Figure 7 shows the behavior that is designed for the current example. The behavior is in the form of a behavior flow consisting of a number of simpler behaviors of which were discussed in the previous section. This flow models the “deliberative” behavior found in humans in which humans are able accomplish complex tasks by coupling many simpler behaviors. The entire complex behavior consists of the following behaviors executed in the following order: 1. Move to location “A” with coordinates (x,y) (“GotoALoc”). 2. Once positioned at location (x,y), load an available crate in the adjacent location (“LoadCrate”). 3. Move to location “B” with coordinates (x’, y’) (“GotoBLoc”). 4. Unload the crate in the next location in the currently oriented position of the forklift (“DropCrate”). 5. Park the forklift onto it’s charging pad. Agent Net, Inc. Company Confidential 2/2/2007
  • 10. The Agent Net AGV Forklift Simulation 10 Figure 7: Complex agent behavior “LoadTruckB”. Finally, Figure 8 shows the progress of one of the forklifts moving towards the shelf on which to drop the crate. Agent Net, Inc. Company Confidential 2/2/2007
  • 11. The Agent Net AGV Forklift Simulation 11 Figure 8: Forklift carrying crate for dropoff. Distributing the Solution A final capability of the Agent FSS facility is the ability to simulate the distribution of agent societies within a agent grid. The simulation is accomplished via a network modeling tool embedded within the ADE tool. The network modeler within the FSS facility allows designers to model many types of network configurations which includes metrics such as “disk access time”, “host processor speed”, “network bandwidth”, and “disk utilization”. The modeler is a discrete- system simulator which models the real world as discrete steps that occur at specific events (e.g. time “ticks”). The designer can also use the simulator as a monitoring tool which can monitor a live agent-based solution in which values from the monitoring are feed back into the simulation for accurate future simulation runs. Figure 9 shows a model of an agent-based solution for the distributed problem of allowing Intuit customers to send state tax forms to state processing centers. The diagram shows two agent societies in which one is executing on the tax payer’s home machine while another is executing at an Intuit processing center. Finally, each state processing center has defined an agent to act as a connection point to outside submitters in which the agent contains behaviors such as: • Translate incoming tax forms to state internal formats. • Filters to quickly test the correctness of the tax form and to return the form if incorrect. • Filters to quickly flag suspicious tax forms. • Response data to the submitter to indicate that the forms have been received and have either successfully or unsuccessfully passed initial document checks. Agent Net, Inc. Company Confidential 2/2/2007
  • 12. The Agent Net AGV Forklift Simulation 12 Figure 9: Network modeler distributing an agent-based solution. Summary Agent Net is researching the viability of applying agent grids to the distributed computing problems that exist today. A major issue that will determine the success or failure of agent grids is the difficulty in designing agent-based solutions. Using the Forklift Simulation Software (FSS) developed by Agent Net, Agent Net researchers can examine and evaluate the types of development environments that will allow designers to create powerful agent-based solutions. Agent Net, Inc. Company Confidential 2/2/2007