Multi-Robot Coordination, Communication, Multi

advertisement
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
Download