56
Multi-Robot Systems

Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Embed Size (px)

Citation preview

Page 1: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Multi-Robot Systems

Page 2: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 3: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

A Few Multi-robot Scenarios

Automated warehouse management Automatic Guided Vehicle (AGV) Systems Planetary exploration Automatic construction Robotic cleanup of hazardous sites Agriculture Military Applications RoboCup

http://www.openr.org/robocup/movies/2003movies.HTML

  http://www.americanopen03.org/pictures/  http://www.robot.sjtu.edu.cn/robocup/2004/pic.asp 

 

Page 4: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Multi-Robot Systems : Brains vs. Bodies

Page 5: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Are N robots better than 1?

Page 6: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Most Commonly Studied Tasks for Multi-Robot Systems

Page 7: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Communication:

Multi-Robot Communication Taxonomy

Page 8: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 9: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Basic Approaches

Centralized Attempting optimal plans

Distributed Every man for himself

Market-based

Page 10: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

I. Centralized Approaches

Robot team treated as a single “system” with many degrees of freedom

A single robot or computer is the “leader” Leader plans optimal actions for group Group members send information to leader

and carry out actions

Page 11: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Centralized Methods: Pros

Leader can take all relevant information into account

In theory, coordination can be perfect: Optimal plans possible!

Page 12: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Centralized Methods: Cons

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

Page 13: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

II. Distributed Approaches

Planning responsibility spread over team Each robot basically independent Robots use locally observable information to

make their plans

Page 14: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 15: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Distributed Methods: Cons

Not all problems can be decomposed well Plans based only on local information Result: solutions are often highly sub-optimal

Page 16: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 17: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 18: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 19: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 20: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 21: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 22: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Simulation Results

Page 23: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Individual robot state p(n,t) = probability robot is in state n at time t

Markov property: robot’s state at time t+t depends only on its state at time t … and for semi-Markov: how long it has been in that state

Change in probability density

n

tnptnttnpttnp ),(),|,(),(

n

tnttnp 1),|,(

n

n

tnptnttnp

tnptnttnptnpttnp

),(),|,(

),(),|,(),(),(

Dealing with Uncertainty:Distributed Reactive Robots as Markov Processes

Page 24: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

In the continuum limit,

with transition rates

In semi-Markov systems, transition rates are time dependent

nn

tnptnnWtnptnnWdt

tndp),();|(),();|(

),(

0t

t

tnttnptnnW

t

),|,(lim);|(

0

Page 25: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Collective robot state

If robots are independent and indistinguishable

Collective configuration described by n={N1,…, NL}

Nj = number of robots in state j

P(n,t) = probability system is in configuration n at t

Master Equation for P(n,t) specifies how the entire system evolves in time

However, ME is often difficult to formulate and solve – it is difficult to define correct probability distribution for a system

nn

tnPtnnWtnPtnnWdt

tndP),();|(),();|(

),(

From One Robot to Many

Page 26: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Instead, work with the Rate Equation

Derived from the Master Equation

“First moment” of the ME

Describes how the average number of robots in state n changes in time

No need to know exact probability distributions

Used in Population Dynamics

n

nn

nn tNtnnWtNtnnWdt

tNd)();|()();|(

)(

Rate Equation

Page 27: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

III. 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

Page 28: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 29: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

The Market Mechanism In Detail: Background

Consider: A team of robots assembled to perform a

particular set of tasks Each robot is a self-interested agent The team of robots is an economy The goal is to complete the tasks while minimizing

overall costs

Page 30: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 31: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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.

Page 32: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 33: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

No Communication

Page 34: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Subcontracting a Task

Page 35: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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”

Page 36: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 37: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 38: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 39: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Auction Based Multi-Robot Coordination

Page 40: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Auction Based Task Allocation Protocol

1. Task announcement - 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.

2. 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 .

3. Bid submission - After evaluating the appropriate metric(s), each candidate robot publishes its resulting task-specific fitness "score" as a bid message.

4. 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.

5. 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.

Page 41: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 42: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 43: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Example World

Page 44: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 45: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 46: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Bidding Example

R1 auctions goal to R2

Page 47: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 48: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 49: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Benefit of Prices

Low-bandwidth mechanisms for communicating aggregate information

Map info doesn’t need to be communicated repeatedly for coordination

Page 50: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 51: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

An Experimental Setup

4 or 5 robots Equipped with fiber optic

gyroscopes 16 ultrasonic sensors

Page 52: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 53: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Experimental Results

Page 54: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

Experimental Results

Page 55: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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

Page 56: Multi-Robot Systems. Why Multiple Robots? Some tasks require a team Robotic soccer Some tasks can be decomposed and divided for efficiency Mapping a large

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