multi-robot systems
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Multi-Robot SystemsMulti-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 self-organization 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 communicationMore complexityHarder to testN x the troubleExpensivePerformance 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
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
A typical research paper will focus on only one theme (or aspect) of group robotics.
A typical research paper will focus on only one theme (or aspect) of group robotics.
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 multi-robot systems
(CMU) Mapping(CMU)Soccer
(UPenn) Formations
More example research in multi-robot systems …
(Dartmouth/MIT)Reconfiguration
(USC) Mapping
(U. Tennessee)Mobile Sensor NetDeployment
iRobotSwarms
Terminology 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. CompetitiveCooperative 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 Robotic soccer
Some tasks can be decomposed and divided for efficiency 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
Map created by robot team.
Loosely-coordinated
Typical Tasks for Multi-Robot Teams - II
Carrying objects Robot soccer Large-scale construction Constrained exploration Coordinated Reconn.
RoboticConstruction.
Tightly Coordinated
Box Carrying
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?
Pittsburgh
Chicago
New York
LA
Houston
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: E.g., formations, flocking, aggregation, dispersion…
Relative to the environment: E.g., search, foraging, coverage, exploration …
Relative to external agents: E.g., pursuit, predator-prey, target tracking …
Relative to other robots and the environment: 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
As more robots are used,
the speed of forage
completion increases.
The performance decreases
when the forage items are
not evenly distributed.
this is because robots are
not directed towards forage
items, only finding them by
chance.
Foraging Performance Over Time - Random Movement with Evenly Spread Forage Items
0
10
20
30
40
50
60
70
80
90
100
Increasing Time ====>
% C
om
ple
tio
n
5 robots
10 robots
25 robots
50 robots
100 robots
200 robots
1 robot
Foraging Performance Over Time - Random Movement with Clustered Forage Items
0
10
20
30
40
50
60
70
80
90
100
Increasing Time ====>
% C
om
ple
tio
n
5 robots
10 robots
25 robots
50 robots
100 robots
200 robots
1 robot
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
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:
Foraging – Explicit Distribution
Each robot remains in its own designated area.
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 clustered forage items, most robots become useless if forced to remain in a particular area.
With clustered forage items, most robots become useless if forced to remain in a particular area.
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 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.
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.
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.
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.
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 RobotsEvenly Spread Forage Items
0
10
20
30
40
50
60
70
80
90
100
Increasing Time ====>
% C
om
ple
tio
n Repel (12 robots)
Fixed (12 robots)
Random (12 robots)
Repel (4 robots)
Fixed (4 robots)
Random (4 robots)
Repel (25 robots)
Fixed (25 robots)
Random (25 robots)
Scheme Comparison - 25/12/4 RobotsClustered Forage Items
0
10
20
30
40
50
60
70
80
90
100
Increasing Time ====>
% C
om
ple
tio
n Repel (12 robots)
Fixed (12 robots)
Random (12 robots)
Repel (4 robots)
Fixed (4 robots)
Random (4 robots)
Repel (25 robots)
Fixed (25 robots)
Random (25 robots)
Repel scheme favorable since performs well AND minimizes robot contact.
Repel scheme favorable since performs well AND minimizes robot contact.
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.
Robot turns on beacon when item is found.
Robots within beacon’s range will travel toward nearest beacon.
Robots within beacon’s range will travel toward nearest beacon.
Robots outside of beacon’s range will continue moving randomly.
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?
Alignment: steer towardsaverage heading of local flockmates
Cohesion: steer to move towardthe average position of localflockmates
Separation: steer to avoidcrowding 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
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
“Help, I’m stuck”
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
1. Truck leaves with full load
2. Awaiting truck knows it isOK to move into position
Three Key Considerations in Multi-Robot 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 Tightly Coordinated Decomposable into
subtasks Independent execution Minimum interaction Task decomposition and
allocation strategies.
Tasks not decomposable Coordinated execution Significant Interaction
Basic Approaches
Centralized Attempting optimal plans
Distributed Every man for himself
Market-based
Taxonomy of Approaches
CentralizedAttempting optimal plans
DistributedEvery man for himself
Emergent HybridIntentional
Reactive Behavior-Based
Fully Centralized
Centralized Allocation
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
Leader can take all relevant information into account
In theory, coordination can be perfect: Optimal plans possible!
Centralized Methods: Pros
Computationally hard Intractable for more than a few robots
Makes unrealistic assumptions: 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 Methods: Cons
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
Box
Pushers
Watcher
Goal
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 OnlyStrategy II: Local Control Augmented by Global GoalStrategy 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
5070
130
100
tA tB
Robot 1 50 100
Max Reward = 120
tA
Max Reward = 180
tB Bids Placed for Tasks
System cost: 50+70=120
tA tB
Robot 1 50 100
Robot 2 No bid 70
Profit: 70
Profit: 110
Robot 1
Robot 2
5070
tA tB tA+tB
Robot 1 70 80 110
Robot 2 No bid 110 170
Robot 2
Max Reward = 120
tA
Max Reward = 180
tB Bids Placed for Tasks
System cost: 50+70=120
60
100
System cost: 50+60=110
Robot 1
Robot 2
tA tB
Robot 1 50 100
Robot 2 No bid 70
Profit: 70
Profit: 110
Profit: 190
Profit: 0
Robot 1
Robot 2
Simple Example 1: pickup task
100
130
Simple Example 2: pickup task
5075
110
100
tA tB
Robot 1 50 100
Max Reward = 120
tA
Max Reward = 180
tB Bids Placed for Tasks
System cost: 50+75=125
tA tB
Robot 1 50 100
Robot 2 110 75
Profit: 70
Profit: 105
Robot 1
Robot 2
5075
tA tB tA+tB
Robot 1 70 80 110
Robot 2 No bid 110 135
Robot 2
Max Reward = 120
tA
Max Reward = 180
tB Bids Placed for Tasks
System cost: 50+75=125
60
60
System cost: 50+60=110
Robot 1
Robot 2
tA tB
Robot 1 50 100
Robot 2 110 75
Profit: 70
Profit: 105
Profit: 190
Profit: 0
Robot 1
Robot 2
110
100
Simple Example 2: pickup task
Simple Example 3: pickup task
5075
110
100
tA tB
Robot 1 50 100
Max Reward = 120
tA
Max Reward = 180
tB Bids Placed for Tasks
System cost: 50+75=125
tA tB
Robot 1 50 100
Robot 2 110 75
Profit: 70
Profit: 105
Robot 1
Robot 2
5075
tA tB tA+tB
Robot 1 70 80 No bid
Robot 2 No bid 110 135
Robot 2
Max Reward = 120
tA
Max Reward = 180
tB Bids Placed for Tasks
System cost: 60+75=135
60
60
System cost: 50+60=110
Robot 1
Robot 2
tA tB
Robot 1 50 100
Robot 2 110 75
Profit: 70
Profit: 105
Profit: 120+180-(50+60+110) : 80
Profit: 110 without even moving versusProfit: 165 at a system cost of 135
Robot 1
Robot 2
110
Simple Example 3: pickup task w/collaboration between robots
Suppose Robot 1 can not measure the path between tA and tBRobot 2 auctions tB to Robot 1 For 110
100
Simple Example 4: Pickup and bring home
5075
110
100
tA tB
Robot 1 50 100
Max Reward = 120
tA
Max Reward = 180
tB Bids Placed for Tasks
System cost: 100+150=250
tA tB
Robot 1 100 No bid
Robot 2 No bid 150
Profit: 20
Profit: 30
Robot 1
Robot 2
5075
tA tB tA+tB
Robot 1 70 80 220
Robot 2 No bid 110 190
Robot 2
Max Reward = 120
tA
Max Reward = 180
tB Bids Placed for Tasks
System cost: 100+150=250
7020
System cost: 95+95=190
Robot 1
Robot 2
tA tB
Robot 1 100 No bid
Robot 2 No bid 150
Profit: 20
Profit: 30
Profit: 0
Profit: 110
Robot 1
Robot 2
110
100
Simple Example 4: Pickup and bring home
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 A grasper and a transporter could offer a
combined “pick up and place” service Similar robots will compete
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 Squares are unknown (0), occupied (+), or empty (-)
Goals are squares in the grid for a robot to explore 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
5. Once all auctions are closed, explore highest-profit goal
6. Upon reaching goal, generate new goal points
Maximum # of goal points is limited
7. Repeat this algorithm until map is complete
Bidding Example
R1 auctions goal to R2
Expected vs. Real
Robots make decisions based on expected profit Expected cost and revenue based on current map
Actual profit may be different 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: Bidder tells auctioneer to update map Removes goal point
Robots can sell map information to each other 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