Multi-Robot Systems “The mob has many heads but no brains”. -- English Proverb. Today's’ Objectives To understand some of the problems being studied with multiple robots To understand the challenges involved with coordinating robots To investigate a simple behaviour-based selforganization strategy for a common application To investigate a simple communication strategy Why Multiple Robots? Faster execution More robust Simplify design of robots Task requires it larger range of task domains greater efficiency improved system performance fault tolerance lower economic cost ease of development ??? distributed sensing and action Why Not Multiple Robots? More communication More complexity Harder to test N x the trouble Expensive Performance depends on issues involving interaction between robots Interactions complicate development Difficult to model group behaviors from top down (i.e., centralized control) when environment is unknown and/or dynamic Sensor and/or physical interference Research 5 major themes of robot group research: Group control architecture - decentralization and differentiation Resource conflict resolution - e.g., space sharing A typical research paper will focus on only one theme (or aspect) of group robotics. Origin of cooperation - i.e, genetically−determined social behavior or interaction−based cooperative behavior Learning - e.g., control parameter tuning for desired cooperation Geometric problem solving - e.g., geometric pattern formation Research What kinds of problems have been studied: Multi-robot path planning Traffic control Formation generation, keeping and control Target tracking Multi-robot docking Box-pushing Foraging Multi-robot soccer Exploration and localization Transport Example research in multirobot systems (UPenn) Formations (CMU) Mapping (CMU) Soccer More example research in multi-robot systems … iRobot Swarms (Dartmouth/MIT) Reconfiguration (USC) Mapping (U. Tennessee) Mobile Sensor Net Deployment Terminology Various rather interchangeable terms are used: Group behavior / robotics Collective behavior / robotics Cooperative behavior / robotics Swarm robotics Multi-robot systems Popular and recent area of study due to wide-range of possible application areas Cooperative vs. Competitive Cooperative: picking up a heavy load Competitive: RoboSoccer Recently, more focus on cooperative form not competitive. Why Multiple Robots? Some tasks require a team Some tasks can be decomposed and divided for efficiency Robotic soccer Mapping a large area Many specialists preferable to one generalist Increase robustness with redundancy Teams of robots allow for more varied and creative solutions Multi-robot Application Areas Automated warehouse management Automatic Guided Vehicle (AGV) Systems Planetary exploration Automatic construction Robotic cleanup of hazardous sites Agriculture Military Applications RoboCup Multi-Robot Systems : Brains vs. Bodies Typical Tasks for Multi-Robot Teams - I Mapping and exploration Hazardous clean-up Reconnaissance Tracking Loosely-coordinated Map created by robot team. Typical Tasks for Multi-Robot Teams - II Carrying objects Robot soccer Large-scale construction Constrained exploration Coordinated Reconn. Robotic Construction. Box Carrying Tightly Coordinated Analogy with Traveling Salesman Problem (TSP) Lots of cities, lots of salesmen Distribute cities to salesmen so total distance is minimized. What domains have TSP? New York Chicago LA Houston Pittsburgh Robot Task Allocation How do we assign the cities (tasks) to the salesmen (robots)? Ideas? Motion Coordination Lots of types of motion coordination: Relative to other robots: Relative to the environment: E.g., pursuit, predator-prey, target tracking … Relative to other robots and the environment: E.g., search, foraging, coverage, exploration … Relative to external agents: E.g., formations, flocking, aggregation, dispersion… E.g., containment, perimeter search … Relative to other robots, external agents, and the environment: E.g., evasion, soccer … Most Commonly Studied Tasks for Multi-Robot Systems Foraging Consider a common problem studied in robotic colonies, foraging: gathering/collecting items - possibly bringing them to some specific location(s) (e.g., to particular room) or general locations(s) (e.g., to outer walls). there are many variations of this problem Consider a specific instance: robots can detect when it finds an item and can push it to some location (or pick it up and drop it off). robots will be encoded with a fixed, instinctive behavior and thus will not learn “how” to forage. Foraging Consider allowing robots to move randomly in an environment with no cooperation. Robots must find forage items (e.g., when passing over them) and bring them to the boundaries. Robots may collide, which may interrupt the forage procedure of a robot. Eventually, over time, each forage item will be found by some robot: Foraging Foraging Performance Over Time - Random Movement with Evenly Spread Forage Items 100 90 As more robots are used, the speed of forage completion increases. 5 robots 80 10 robots 70 % Completion 25 robots 50 robots 60 100 robots 50 200 robots 1 robot 40 30 20 10 0 Increasing Time ====> The performance decreases when the forage items are not evenly distributed. Foraging Performance Over Time - Random Movement with Clustered Forage Items 100 90 5 robots 80 10 robots 70 this is because robots are not directed towards forage items, only finding them by chance. % Completion 25 robots 50 robots 60 100 robots 50 200 robots 1 robot 40 30 20 10 0 Increasing Time ====> Foraging Intuitively, performance can be improved by: reducing collisions (or interference) between robots preventing robots from traveling over the same areas directing robots towards clusters of forage items The obvious way of reducing collisions and preventing duplicate travel is to distribute robots by explicitly assigning each one a particular area in the environment in which to forage. environment broken down into “equal−sized” areas which are assigned to individual robots Foraging – Explicit Distribution This strategy has advantages: + ensure even distribution of robots - good when items to be foraged are evenly distributed randomly + minimizes sensor interference and physical collisions between robots and disadvantages: - requires robots to “know” and maintain specific positions - requires knowledge of environment - expensive sensors ?? (e.g., GPS) - expensive computation (e.g., position estimation) - can be inefficient if forage items are clustered Foraging – Explicit Distribution A simple way of determining the foraging areas for each robot is to base the regions on the dual graph: Recursively divide dual graph in “half” until number of regions matches the number of robots: Each robot remains in its own designated area. Foraging – Explicit Distribution Performance (i.e., speed of forage completion) is highly dependant on shape of environment and location of forage items. With forage items evenly distributed, robots work effectively in near optimal configuration, provided that robots do not have to leave their environment to complete the task. With clustered forage items, most robots become useless if forced to remain in a particular area. Foraging – Implicit Distribution Clearly, fixing the locations of each robot may not be the best choice if: the distribution of forage items is not known to be random and evenly distributed the robots must travel outside their areas to complete the forage task (i.e., to deliver their payload). A compromise is to hard−code specific behavioral rules into the robots that minimize their collisions and attempt to keep them distributed. Foraging – Implicit Distribution Consider robots with omni−directional beacons which are detectable from other nearby robots: robots avoid moving towards nearby beacons intuitively, robots should remain separated/distributed When other robot detected within sensor range, robot moves in opposite direction. With multiple beacons, either move away in combined vector direction or away from strongest signal. Although robots may still re−encounter other robots during their movements, in general they remain distributed. Foraging – Comparison A comparison of these schemes shows that: for evenly spread forage items there is no significant advantage of either scheme in terms of forage completion time and the simple random movement seems to do well. for clustered forage items the fixed area scheme performs poorly with few robots and the repel scheme performs better Scheme Comparison - 25/12/4 Robots Evenly Spread Forage Items Repel scheme favorable since performs well AND minimizes robot contact. 100 100 90 90 80 70 Repel (12 robots) 60 Fixed (12 robots) 50 40 Random (12 robots) 30 Fixed (4 robots) Repel (4 robots) 20 10 0 70 Repel (12 robots) 60 Fixed (12 robots) 50 Random (12 robots) 40 Repel (4 robots) Fixed (4 robots) Random (4 robots) 30 Repel (25 robots) 20 Repel (25 robots) Fixed (25 robots) 10 Fixed (25 robots) Random (25 robots) Increasing Time ====> % Completion % Completion 80 Scheme Comparison - 25/12/4 Robots Clustered Forage Items Random (4 robots) 0 Random (25 robots) Increasing Time ====> Foraging – Improvement A more significant improvement can be made if something is known about the forage items (e.g., they are clustered). can “signal” other robots when item is encountered leave signal on until: - fixed amount of time elapses - other robots come nearby can either wait stationary or continue moving Robot turns on beacon when item is found. Robots within beacon’s range will travel toward nearest beacon. Robots outside of beacon’s range will continue moving randomly. Following / Swarming / Flocking / Schooling Natural flocks consist of two balanced, opposing behaviors: Desire to stay close to flock Desire to avoid collisions with flock Why desire to stay close to flock? In natural systems: Protection from predators Statistically improving survival of gene pool from predator attacks Profit from a larger effective search pattern for food Advantages for social and mating activities How do formations work? Separation: steer to avoid crowding local flockmates Alignment: steer towards average heading of local flockmates Cohesion: steer to move toward the average position of local flockmates Multi-Robot Communication Taxonomy Communication range: None Near Infinite Communication topology: Broadcast Addressed Tree Graph Communication bandwidth High (i.e., communication is essentially “free”) Motion-related (i.e., motion and communication costs are about the same) Low (i.e., communication costs are very high Zero (i.e., no communication is available) Explicit Communication Defined as those actions that have the express goal of transferring information from one robot to another Usually involves: Intermittent requests Status information Updates of sensory or model information “Help, I’m stuck” Need to determine: What to communicate When to communicate How to communicate To whom to communicate Communications medium has significant impact Range Bandwidth Rate of failure Implicit Communication Defined as communication “through the world” Two primary types: Robot senses aspect of world that is a side-effect of another’s actions Robot senses another’s actions 2. Awaiting truck knows it is OK to move into position 1. Truck leaves with full load Three Key Considerations in MultiRobot Communication Is communication needed at all? Over what range should communication be permitted? What should the information content be? Is Communication Needed At All? Keep in mind: Communication is not free, and can be unreliable In hostile environments, electronic countermeasures may be in effect Major roles of communication: Synchronization of action: ensuring coordination in task ordering Information exchange: sharing different information gained from different perspectives Negotiations: who does what? Many studies have shown: Significantly higher group performance using communication However, communication does not always need to be explicit Over What Range Should Communication Be Permitted? Tacit assumption: wider range is better But, not necessarily the case Studies have shown: higher communication range can lead to decreased societal performance One approach for balancing communication range and cost Probabilistic approach that minimizes communication delay time between robots Balance out communication flow (input, processing capacity, and output) to obtain optimal range What Should the Information Content Be? Research studies have shown: Explicit communication improves performance significantly in tasks involving little implicit communication Communication is not essential in tasks that include implicit communication More complex communication strategies (e.g., goals) often offer little benefit over basic (state) information “display” behavior is a rich communication method In summary….A Good Multi-robot System Is: Robust: no single point of failure Optimized, even under dynamic conditions Quick to respond to changes Able to deal with imperfect communication Able to allocate limited resources Heterogeneous and able to make use of different robot skills The Coordination Spectrum Loosely-Coordinated Decomposable into subtasks Independent execution Minimum interaction Task decomposition and allocation strategies. Tightly Coordinated Tasks not decomposable Coordinated execution Significant Interaction Basic Approaches Centralized Distributed Attempting optimal plans Every man for himself Market-based Taxonomy of Approaches Centralized Distributed Attempting optimal plans Fully Centralized Centralized Allocation Every man for himself Emergent Reactive BehaviorBased Intentional Hybrid Market Based Fully Centralized – – – Single agent “leader“ plans for entire team Robot team treated as a single “system” with many degrees of freedom Leader plans optimal actions for group Group members send information to leader and carry out actions Potential to be optimal Implicitly encodes coordination Usually computationally intractible Single point of failure Slow to respond to changes Centralized Methods: Pros Leader can take all relevant information into account In theory, coordination can be perfect: Optimal plans possible! Centralized Methods: Cons Computationally hard Makes unrealistic assumptions: Intractable for more than a few robots All relevant info can be transmitted to leader This info doesn’t change during plan construction Result: response sluggish or inaccurate Vulnerable to malfunction of leader Heavy communication load Centralized Allocation – – Single agent assigns tasks to teammates Teammates complete tasks individually Execution is distributed Allocation can be optimal Still computationally expensive Still has single point of failure Distributed Approaches Planning responsibility spread over team Each robot basically independent Robots use locally observable information to make their plans Distributed Methods: Pros Fast response to dynamic conditions Little or no communication required Little computation required Smooth response to environmental changes Very robust No single point of failure Distributed Methods: Cons Not all problems can be decomposed well Plans based only on local information Result: solutions are often highly sub-optimal Emergent Multi-robot systems require efficient and accurate planning Global optimal solutions are expensive communication overhead planning time Solution: An emergent approach Emergent: Solution results from interactions of robots Local approximation to global optimal Low cost and feasible in real-time Task Distribution Task Distribution Reactive Robots have a tight sense-act loop Extremely fast Very simple – Cannot handle complex tasks Behavior-based Use state information to choose actions Fast, simple Robots can contribute to multiple tasks More expressive than reactive — Still cannot plan Intentional – – Communication with the intent to coordinate Facilitates planning, scheduling Better solutions Slow in time-critical situations Very dependent on communication Goal Watcher Box Pushers Hybrid – Emergent approach in larger intentional approach Allows better planning/distribution of resources Can have tight coordination Cannot have complex interactions Robot Formation: Distributed vs. Central Control Performance Measure : Cumulative Formation Error Four Different Strategies: Strategy I: Local Control Only Strategy II: Local Control Augmented by Global Goal Strategy III: Local Control Augmented with Global Goal and Partial Global Information Strategy IV: Local control augmented by global goal and more complete global information Simulation of mission involving formation maintenance while moving to goal 4 different strategies with increasing global control Quantitatively measured via deviation from the formation and time taken to reach goal Strategy I: Local Control Only –Effective for smooth trajectories –Sharp turns cause formation to break up due to local control Robots maintain their position by staying a fixed distance from a certain side of neighbor Strategy II: Local Control Augmented by Global Goal –Robots given knowledge of global goal: Maintain line formation –Robot D now moves to a more globally appropriate position –May be inappropriate if B is merely avoiding obstacle Strategy III: Local Control Augmented with Global Goal and Partial Global Information –At time of robot B’s turn, other robots are informed of destination of waypoint X Strategy IV: Local control augmented by global goal and more complete global information –Robots are given complete knowledge of leaders route –Allows other robots to predict future positions of the leader and resulting positions for themselves Simulation Results Market-based Approach: The Basic Idea Based on the economic model of a free market Each robot seeks to maximize individual “profit” Robots can negotiate and bid for tasks Individual profit helps the common good Decisions are made locally but effects approach optimality Preserves advantages of distributed approach In other words, Robots model an economy: Accomplish task receive revenue Consume resources incur cost Robot goal: maximize own profit Trade tasks and resources over the market (auctions, etc.) By maximizing individual profits, team finds better solution Time permitting, more centralized Limited computational resources, more distributed $ $ $ $ $ Analogy To Real Economy Robots must be self-interested Sometimes robots cooperate, sometimes they compete Individuals gain benefits of their good decisions, suffer consequences of bad ones Just like a real market economy, the result is global efficiency How Do We Determine Profit? Profit = Revenue – Cost Team revenue is sum of individual revenues, and team cost is sum of individual costs Costs and revenues set up per application Maximizing individual profits must move team towards globally optimal solution Robots that produce well at low cost receive a larger share of the overall profit Goal: Task Allocation Efficient Scalable Fault-tolerant Works for heterogeneous physical robots Resource Allocation Not a planning problem Not a task-execution problem Equivalent to conjunctive planning (NP-C) A set of propositions which share variables and must be satisfied simultaneously Auction methods are applicable Not yet demonstrated on real-life task settings Auction Protocol Announcement (when new task comes in) An agent acts as ``auctioneer'' by publishing an announcement message for the task. The message contains details about the task, such as its name, length, and a new subject on which to negotiate it. The message is addressed to the set of subjects which represent the resources required to execute the task; thus only those robots currently capable of performing the task will receive the message Auction Protocol Metric evaluation: Since there may be more than one capable robot available for a given task, we need a method for deciding among them. This decision process is the very basis of achieving effective task allocation; the goal is to allocate each task to the most fit robot. Thus the announcement also includes metric(s) with which each candidate robot can determine its fitness . Announcement includes fitness metric Robots evaluate themselves Auction Protocol Bid submission - After evaluating the appropriate metric(s), each candidate robot publishes its resulting task-specific fitness "score" as a bid message Each robot publishes score Auction Protocol Close of auction - After sufficient time has passed, the auctioneer processes the bids, determines the winner, and notifies the bidders with a close message. The winner is awarded a time-limited contract to execute the task and the losers return to listening for new tasks. Auction Protocol Progress monitoring/contract renewal - While the winner executes the task, the auctioneer monitors task progress. Assuming sufficient progress is being made, the auctioneer periodically sends a renewal message to the winner, which responds with an acknowledgment message, until the task is completed. Experiment: Loose Cooperation Random tasks object-tracking (camera, mobile) sentry-duty (camera, laser, mobile) cleanup (camera, bumpers, mobile) monitor-object (overhead-camera) Results Optimal allocation Low bandwidth usage (mean: 0.66 kb/s) Task allocated whenever resources available Experiment: Box Pushing Tightly-coupled cooperation Pushers cannot see goal Watcher cannot push box Watcher communicates directions to pushers Results: Efficient paths Consistent execution Fault-tolerance Fault-Tolerance Communication is by anonymous broadcast Accounts for fluid network Bad link doesn’t hang whole system Isn’t this just fault-indifference? Auctioneer monitors performance, renews contracts Prevents everyone from waiting on one broken robot What if the auctioneer is faulty? What could go wrong? Rogue robot physically interferes with others Planning/execution problem, not allocation problem Robot is dishonest about abilities System assumes this never happens Examples Cost functions may be complex Based on distance traveled Based on time taken Some function of fuel expended, CPU cycles, etc. Revenue based on completion of tasks Reaching a goal location Moving an object Etc. Prices and Bidding Robots can receive revenue from other robots in exchange for goods or services Example: haulage robot If robots can produce more profit together than apart, they should deal with each other If one is good at finding objects and another is good at transporting them, they can both gain Simple Example 1: pickup task Max Reward = 120 Max Reward = 180 tA 50 Bids Placed for Tasks tB 100 70 130 Robot 1 Profit: 70 tA tB Robot 1 50 100 Robot 2 No bid 70 System cost: 50+70=120 Robot 2 Profit: 110 Simple Example 1: pickup task Max Reward = 120 tA 50 Max Reward = 180 60 Bids Placed for Tasks tB tA tB tA+tB Robot 1 70 50 80 100 110 Robot 2 No bid 110 70 170 100 100 70 130 Robot 1 Profit: 70 System cost: 50+70=120 System cost: 50+60=110 Profit: 190 Robot 2 Profit: 110 Profit: 0 Simple Example 2: pickup task Max Reward = 120 Max Reward = 180 tA 50 Bids Placed for Tasks tB 100 75 110 Robot 1 Profit: 70 tA tB Robot 1 50 100 Robot 2 110 75 System cost: 50+75=125 Robot 2 Profit: 105 Simple Example 2: pickup task Max Reward = 120 tA 50 Max Reward = 180 60 Bids Placed for Tasks tB tA tB tA+tB Robot 1 70 50 80 100 110 Robot 2 No bid 110 110 75 135 60 100 75 110 Robot 1 Profit: 70 System cost: 50+75=125 System cost: 50+60=110 Profit: 190 Robot 2 Profit: 105 Profit: 0 Simple Example 3: pickup task Max Reward = 120 Max Reward = 180 tA 50 Bids Placed for Tasks tB 100 75 110 Robot 1 Profit: 70 tA tB Robot 1 50 100 Robot 2 110 75 System cost: 50+75=125 Robot 2 Profit: 105 Simple Example 3: pickup task w/collaboration between robots Suppose Robot 1 can not measure the path between tA and tB Robot 2 auctions tB to Robot 1 For 110 Max Reward = 120 Max Reward = 180 Bids Placed for Tasks tA tB 60 50 tA tB tA+tB Robot 1 70 50 80 100 No bid Robot 2 110 No bid 75 110 135 60 100 75 110 Robot 1 Profit: 70 Profit: 120+180-(50+60+110) : 80 System cost: 60+75=135 System cost: 50+60=110 Robot 2 Profit: 105 Profit: 110 without even moving versus Profit: 165 at a system cost of 135 Simple Example 4: Pickup and bring home Max Reward = 120 Max Reward = 180 tA 50 Bids Placed for Tasks tB 100 75 110 Robot 1 Profit: 20 tA tB Robot 1 100 50 No 100 bid Robot 2 No bid 150 System cost: 100+150=250 Robot 2 Profit: 30 Simple Example 4: Pickup and bring home Max Reward = 120 tA 50 Max Reward = 180 70 20 100 Bids Placed for Tasks tB 75 110 tA tB tA+tB Robot 1 70 100 No80 bid 220 Robot 2 No bid 110 150 190 Robot 1 Profit: 20 System cost: 100+150=250 System cost: 95+95=190 Profit: 0 Robot 2 Profit: 30 Profit: 110 How Are Prices Determined? Bidding Robots negotiate until price is mutually beneficial Note: this moves global solution towards optimum Robots can negotiate several deals at once Deals can potentially be multi-party Prices determined by supply and demand Example: If there are a lot of haulers, they won’t be able to command a high price This helps distribute robots among “occupations” Competition vs. Coordination Complementary robots will cooperate Similar robots will compete A grasper and a transporter could offer a combined “pick up and place” service This drives prices down This isn’t always true: Subgroups of robots could compete Similar robots could agree to segment the market Several grasping robots might coordinate to move a heavy objects Leaders A robot can offer its services as a leader A leader investigates plans for other robots If it finds a way for other robots to coordinate to maximize profit: Uses this profit to bid for the services of the robots Keeps some profit for itself Note that this introduces a notion of centralization Difficult for more than a few robots Why Is This Good? Robust to changing conditions Not hierarchical If a robot breaks, tasks can be re-bid to others Distributed nature allows for quick response Only local communication necessary Efficient resource utilization and role adoption Advantages of distributed system with optimality approaching centralized system Auction Based Multi-Robot Coordination Example: Multi-Robot Exploration Goal: explore and map unknown environment Environment may be hostile and uncertain Communication may be difficult Multiple robots: Cover more territory more quickly Robust if some robots fail Attempt to minimize repeated coverage Key: coordination Maximize information gain, reduce total costs Want robots to explore and map unknown area Perception: Unknown environment: How to estimate costs? Do your best: assume something about the environment. (its clear) LEARN! Perception: Unknown environment: Some sites may be inside obstacles! Constantly update map information Constantly find new paths to site If no path, site is unreachable. Perception What is an obstacle and what is a teammate? Share your (x,y) location Set teammates’ positions as free space Replanning: Reallocation of Sites What happens when 1) robots miscompute costs 2) robots malfunction/die? Subcontract expensive cities to other teammates Completely offload sites to other teammates zzzz Communication Original allocation of tasks Current position (x,y,t) to everybody New auctions for tasks (city location, bids, winner, etc.) Completion of subcontracted tasks to original owner Architecture of the Market Approach World is represented as a grid Goals are squares in the grid for a robot to explore Squares are unknown (0), occupied (+), or empty (-) Goal points to visit are the main commodity exchanged in market For any goal square in the grid: Cost based on distance traveled to reach goal Revenue based on information gained by reaching goal R = (# of unknown cells near goal) x (weighting factor) Team profit = sum of individual profits When individual robots maximize profit, the whole team gains Example World Exploration Algorithm Algorithm for each robot: 1. Generate goals (based on goal selection strategy) 2. If leader is reachable, check with leader to make sure goals are new 3. Rank goals greedily based on expected profit 4. Try to auction off goals to each reachable robot If a bid is worth more than you would profit from reaching the goal yourself (plus a markup), sell it Exploration Algorithm Once all auctions are closed, explore highest-profit goal Upon reaching goal, generate new goal points 5. 6. 7. Maximum # of goal points is limited Repeat this algorithm until map is complete Bidding Example R1 auctions goal to R2 Expected vs. Real Robots make decisions based on expected profit Actual profit may be different Expected cost and revenue based on current map Unforeseen obstacles may increase cost Once real costs exceed expected costs by some margin, abandon goal Don’t get stuck trying for unreachable goals Goal Selection Strategies Possible strategies: Randomly select points, discard if already visited Greedy exploration: Choose goal point in closest unexplored region Space division by quadtree Benefit of Prices Low-bandwidth mechanisms for communicating aggregate information Map info doesn’t need to be communicated repeatedly for coordination Information Sharing If an auctioneer tries to auction a goal point already covered by a bidder: Robots can sell map information to each other Bidder tells auctioneer to update map Removes goal point Price negotiated based on information gained Reduces overlapping exploration When needed, Leader sends a map request to all reachable robots Robots respond by sending current maps Leader combines the maps by adding up cell values An Experimental Setup 4 or 5 robots Equipped with fiber optic gyroscopes 16 ultrasonic sensors Three test environments Large room cluttered with obstacles Outdoor patio, with open areas as well as walls and tables Large conference room with tables and 100 people wandering around Took between 5 and 10 minutes to map areas Experimental Results Experimental Results Experimental Results Performance metric (exploration efficiency): Area covered / distance traveled [m2 / m] Market architecture improved efficiency over no communication by a factor of 3.4 Market-based approach for multi-robot coordination is promising Robustness and quickness of distributed system Approaches optimality of centralized system Low communication requirements Probably not perfect Cost heuristics can be inaccurate Much of this approach is still under development Some pieces, such as leaders, may be too hard to do