Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
3/12/2003 - Rev 3
Information Technologies Group
Application of Jini technology to a Swarm of Autonomous
Vehicles
March 2004
Chad Hawthorne
Todd Neighoff
Dave Patrone
Dennis Patrone
3/12/20032
Information Technologies Group
Applied Physics Laboratory
• University-Based Applied Research and Development Laboratory
• Focus on National Security
• Major Effort in Space Science and Technology
• Partner in Johns Hopkins Commitment to Education and Medicine
• ~3,350 Staff
• ~$590M Annual Revenues
APL at a GlanceCLO_0063 04_2003
3/12/20033
Information Technologies Group
Jini Applications
Swarm of Heterogeneous Robots Autonomous Surveillance Application
• Jini Lookup-Service used to discover new platforms at run-time
• Allows for a fault-tolerant, self-healing network of sensors and robots
• Jini used for knowledge propagation between agents in swarm
3/12/20034
Information Technologies Group
Autonomous Sensor Networks
• Allow sensor networks to truly operate autonomously– Long-term, unmanned surveillance
• In this domain, Jini can provide:– Introduction of sensor upgrades and new capability to
deployed systems
– Intelligent fault-tolerance and re-distribution of resources
• Prototype Services:– ImageService interface
• Provides images from camera-like devices
– AcousticService interface• Provides acoustic data from microphone/geophone devices
3/12/20035
Information Technologies Group
Sensor Network Prototype
ImageService
ImageServiceProxy
ImageServiceProxy
Full Resolution
Image
Scaled Image
• Wireless network provided to distributed sensors via air vehicle
• ImageService proxy scales image query to conserve network bandwidth and client resources based on platform it lands within (e.g. laptop, handheld, etc.)
3/12/20036
Information Technologies Group
Sensor Network Prototype
– ImageServices allow for manual image retrieval
– AcousticServices report acoustic activity
– If both available, AcousticServices automatically trigger ImageServices when activity is detected
• Client surveillance application reconfigures based on current services available
3/12/20037
Information Technologies Group
Swarming• Modeled after insect behavior
– Knowledge about the world is translated into beliefs (pheromones)
– Shared beliefs between agents dictate behavior
• Heterogeneous Swarm of Vehicles– Emergent behavior
– Self-organizing, Self-regulating
• Communication is critical– Jini is an excellent solution for
application layer communications
– Discovery of agents at run-time
– Propagation of new knowledge types and behavior
3/12/20038
Information Technologies Group
Test Case
• Problem: Area Search– Robots are attracted to goal
areas• Attracted-ness decreases as
area becomes searched
– Repelled from obstacles and each other
• Agents share and propagate beliefs (pheromones).– Beliefs are searchedness,
search goal, robot location(s).
3/12/20039
Information Technologies Group
Robot Specs
• Robot Processor– Pentium II
– 20 GB hard disk drive
– video frame grabber
– Serial Port board
– iRobot Mobility software
• Sensors:– Multi-element Sonar array
– V TC Camera
– Laser Range Finder
– GPS receiver
– Compass / tilt module
3/12/200310
Information Technologies Group
Software Architecture
Belief
Behavior
Action
• Variation on classic AI paradigm of: Sense, Plan, Act– Sensor-based Observations are used
to generate…
– Belief about the current state of the world which in turn is used to devise an appropriate...
– Behaviors to satisfy group goals and objectives. Behaviors are then used to generate…
– Actions which translate into real world movements of the robot.
• Jini currently being used for transmission of beliefs between agents.
Observation
3/12/200311
Information Technologies Group
Jini Benefits
• Java ideal platform for heterogeneous swarm.– UGV, UAV, Windows Laptop, Handheld
– Future embedded devices….
• Deployment– Run-time discovery of new platforms, beliefs, behaviors
• Robust in an unreliable network
3/12/200312
Information Technologies Group
Jini based Beliefs
• New beliefs (pheromones) can be discovered and propagated. – Robot does not need to use new belief, can merely propagate it.
• Proxy provides a simple “put” interface.
• New classes are loaded with a custom ClasspathServer
• Beliefs shared using RMI
+serviceAdded(in event : ServiceDiscoveryEvent)+serviceRemoved(in event : ServiceDiscoveryEvent)
BeliefManagerClient
public void run(){ while(proxyIterator.hasNext()){ BeliefManagerService service = (BeliefManagerService)managerIterator.next(); service.put(belief); }}
+put(in b : Belief)+getName() : String
«interface»BeliefManagerService
3/12/200313
Information Technologies Group
Jini based Beliefs
• Beliefs have behavior associated with their state– Know how to perform “add” operation. May differ
depending on belief type.
– Can degrade quality based on elapsed time and belief type.
+addBelief(in b : Belief)+update()
Belief
PositionBelief GoalBelief SearchedBelief
3/12/200314
Information Technologies Group
Behavior Propagation
• Beliefs are useless without a behavior– Ant pheromone for food-source useless without ability to gather
food
• Each platform should have both a belief and associated behavior
• Seismic sensor can send belief of its location
• Behavior will keep noisy ground vehicles away
RobotSearchGoal
SeismicSensor
attractrepel
result
3/12/200315
Information Technologies Group
Implementation Challenges
• Network is unreliable – Can experience flood of TCP/IP rebroadcasts at edge of
communication range• RMI communication breaks down at edge of wireless range
– UDP multicast is more desirable for belief transmission
• Modifications required for UDP based communications– Implement a UDP based lookup-service
– Implement a UDP based class-loader
– Re-implement Proxy without RMI interface