Multi robot Team Formation for Distributed Area Coverage Raj Dasgupta Computer Science Department University of Nebraska, Omaha
C MANTIC Lab Collaborative Multi AgeNt/Multi robot Technologies for Intelligent Coordination Lab Main research areas: Autonomous, adaptive, multi agent/multi robot systems Biology inspired emergent computing and swarming Game theory and computational economics
Projects COMSTAR Multi UAV system for ATR (Automatic Target Recognition) with an STTR partner Sponsor: U.S. DoD NavAir Period: 2004 2008 MASSES Multi robot system for lunar and Martian surface exploration and mapping Sponsor: NASA Nebraska EPSCoR Period: 2006 2007, 2008 2009 COMRADES Multi robot system for automated landmine detection (Focus: multirobot coordination) Sponsor: Office of Naval Research Period: August 2009 2012
COMSTAR Project Objective: Locate and track mobile and stationary targets within a given area of interest (AOI) using mobile mini robots, (possibly aerially) Target locations not known a priori Use image identification algorithms on board the robots for automatic target recognition(atr) Each mini robot has camera, GPS, distance sensor, wireless radio comm., micro processor Constraints: 1) Robots should not be remote controlled from ground control station by humans, 2) AOI is significantly larger than robot comm range 3) Limited memory, comms, computation capability on board single robot
Our Proposed Solution Multi robot coordination for cooperative target identification Using mini robots Java Demo
Different Phases in Coordination Process Deployment Search and Discovery Multi robot Task Allocation Mobile Target Tracking Task Execution
Different Phases in Coordination Process Deployment Search and Discovery: Multi robot Coverage Multi robot Task Allocation Mobile Target Tracking Task Execution
Robot Simulator Webots Accurate models for environments, robots Physics engine Simulations in real or accelerated time Compatible with robot hardware like e puck, Khepera, etc.
The Challenges Mini robots are small $700 Good: They are not very expensive. Cost of fielding a team of ~50 mini robots is the same as the cost of one large robot Robust: System can continue to work even when a few robots are lost Bad: Very limited capabilities (little memory, slower processor, noisy sensors) Lesson: Keep things(computation) simple for each robot Come up with clever ways to make the team perform complex tasks $35,000 $70,000
Mini Robot: E puck Memory: 128KB RAM, 8 KB flash CPU capable of 14 MIPS Sensors: Forward looking IR distance sensors Emitter/receiver pair (bluetooth enabled) for communication over limited range Camera: Color VGA, 640 X 480 resolution GPS*: gives location in 2 d coordinates and heading in radians
Multi robot Coverage: Model R: set of robots Each robot has a coverage tool attached to it a rt : action (movement) by robot r during time step t f: a rt X l rt c rt, unit coverage function transforms action a rt performed at location l t r to a region c t r Environment size: D 2 O
Definition: Multi robot Distributed Area Coverage Problem Difficult to solve with limited capability mini robots
Definition: Approximate Multi robot Distributed Area Coverage Problem
Our First Solution Robots move and plan individually But each robot coordinates its action with other robots to achieve the maximum coverage and minimum overlap criteria
Existing Approaches Vector Force Field Approach (Parker, Sukhatme) Pair of robots exert repulsive forces on each other when they come within a certain distance of each other Can be used to address maximum coverage criterion, locally Coverage with ant robots (Wagner, Koenig) Ant robots deposit pheromone (node count) at each location or cell on a grid environment Higher node count (pheromone)means that the cell was visited many times Can be used to address minimum overlap criterion, locally
Some Issues Ant robot node counting techniques used a central location to store the state space (pheromone information) But we want to make our system fully distributed: Partial (node count) pheromone maps are stored locally Tradeoff: Robots have to move closer to each other so that exchange their coverage information with each other to achieve the minimum overlap criterion But then they would not be able to disperse away from each other to achieve the maximum coverage criterion
Our Approach Coverage radius Coverage Map Communication Radius Robot maintains two maps Communication map contains locations of all other robots within communication radius of r Coverage map contains the fused node count from all robots for all locations within coverage radius of r Communication Map
Coverage Map Extends over all locations within coverage radius from current location of robot The region stored in the map of a robot changes as the robot moves (have to discard old, possibly useful information) Merge maps from multiple robots that are within coverage radius Record information as a node count Node counting Binary: each location stored as a bit, fused with OR Incremental: each location stored as an integer, fused with ADD Transient: each location stored as a pheromone value with timestamps (real, int), fused with ADD + DECAY Consider gradient of pheromone (trails)
Scenario 1 of 3 r Robot r has no other robots within its communication range Action: Do a random walk
Scenario 2 of 3 r Robot r has some robots within its communication range, but no other robots within its coverage radius Action (Disperse) vector force field approach For each action available to r except its last action Calculate the sum of the Manhattan distances from all other robots in comm. map Select the action that maximizes this sum of Manhattan distances
Scenario 3 of 3 r Robot r has some robots within its communication range and some robots within its coverage radius Action For each action available to r except its last action Calculate the # robots within coverage map with which» Distance decreases» Distance increases Information gain (# robots that get into coverage radius by this action) Select the action that maximizes the weighted sum of the above three parameters Video demo with 6 e puck robots
Coverage: Various Strategies
Redundancy: Varying Number of Robots
Redundancy: Varying Coverage Map Radius
Coverage with Localization Error
Redundancy with Localization Error
Coverage: Various Robot Failure Probabilities
Comparing with Fiducial robot dispersion (right) L. Ludwig and M. Gini, Robotic Swarm Dispersion Using Wireless Intensity Signals, Proc. 8th Intl. Symposium on Distributed Autonomous Robotic Systems(DARS 06), Minneapolis, MN, 2006.
Publications on this topic K, Cheng and P. Dasgupta, "Dynamic Area Coverage using Faulty Multiagent Swarms," Proc. IEEE/WIC/ACM International Conference on Intelligent Agent Technology (IAT 2007), Fremont, CA, 2007, pp. 17 24. P. Dasgupta and K. Cheng, Distributed Coverage of Unknown Environments using Multi robot Swarms with Memory and Communication Constraints, UNO Technical Report no. cst 2009 1, 2009.
Problem: Moving Across Small Spaces
Robot Team Formation for Area Coverage Reynolds flocking model separation, cohesion, alignment Provides a model for controlling groups of robots What we also want to do Dynamic team formation adapt shape and size of team with environment (e.g., obstacles, narrow passages) Robots should be able to change teams depending on operational constraints
Agent Theory Models how humans behave Rational behavior I will do something only if I gain something from doing it My gain is called my utility Multi agent systems mainly deals with interaction and coordination issues between agents, formal framework given by game theory Can be used to answer interesting questions for multirobot team formation: When should one robot leave a team? Should it move alone or join another team? Which team should it pick?
Two Layered Approach Utility Model Utility Model Controller Utility Model What do we gain from this? More human like (rational) behavior from robots Multiple behavior levels, helps abstraction More autonomy Controller Controller Robot 1 Robot 2
Utility Model for Multi Robot, Teambased Distributed Area Coverage Robot redundancy (d r ) how much redundant coverage is a robot doing in its team? 0 not redundant 1 redundant Team redundancy (D t ) how much redundant coverage is a team doing? Ratio between number of robots doing redundant coverage and total number of robots in the team Team utility: U t = 1 D t
Utility Model (contd.) Robot utility u r,t = 2: best possible value, happens when no robot in a team is doing redundant coverage, and team size is < T max 1 < u r,t < 2: Admissible utility, happens when some robots (but not robot r) are doing redundant coverage in the team containing r 0 < u r,t < 1: Inadmissible utility, happens when robot r is doing redundant coverage in its team
Robot Controller for Coverage with Team Formation Maximum utility in formation Move in formation Obstacle Another team within comm. range Move alone Failure Join another team Success Not maximum utility in formation Failure Success Try new formation in same team Move in changed direction to avoid obstacle Obstacle avoided Demos 1,2 of flocking with utility based model
Robot Controller for Coverage with Team Formation Braitenberg controller Maximum utility in formation Move in formation Obstacle Controller for leader referenced flocking Another team within comm. range Move alone Failure Join another team Success Not maximum utility in formation Failure Success Try new formation in same team Move in changed direction to avoid obstacle Obstacle avoided Demos 1,2 of flocking with utility based model
Publications on this topic K. Cheng and P. Dasgupta, "Coalition game based distributed coverage of unknown environments using robot swarms," International Conference on Autonomous Agents and Multi Agent Systems (AAMAS'08), Estoril, Portugal, 2008, pp. 1191 1194. P. Dasgupta, K. Cheng, and L. Fan, Flocking based Distributed Terrain Coverage with Mobile Mini robots, Proc. Swarm Intelligence Symposium, Nashville, TN, 2009, pp. 96 103.
Towards a richer framework: coalition formation in robot teams Can we use coalition formation (branch of game theory that deals with how human beings form teams) to answer more questions More structured team formation techniques Stability of team formation Utility (theory) lies at the core of it I will form a team with A if I can gain more by that than forming a team with B, unless B gives me some more incentive Concepts like Shapley value, least core, etc. are computationally very expensive to compute (approximations exist) Not distributed Recent (2005 2009) richer computational representations of coalition formation (MC Net, MACG, etc.) are centralized, coalition formation under uncertainty (2007) A new representation for coalition games in distributed form?
Other Research Areas Distributed Multi robot Coverage Ke Cheng (Ph.D.), Yi Wang (MS) Multi Robot Task Allocation Taylor Whipple (BS), Randal Olson (MS) Mobile object tracking/pursuit Evasion Games Li Fan (MS) Game Theoretic Information Aggregation Janyl Jumadinova (Ph.D.)
Thank You QUESTIONS