Anda di halaman 1dari 55

Control of Mobile Robots

Dr. Magnus Egerstedt


Professor School of Electrical and Computer Engineering

Module 6 The Navigation Problem

How make mobile robots move in effective, safe, predictable, and collaborative ways using modern control theory?

School of Electrical and Computer Engineering

Lecture 6.1 Behaviors Revisited


Lets return to the navigation problem using behaviors Use control theory to describe what is going on

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.1.1

Start Simple: The Model


For the purpose of planning, assume that

x = u, x 2 0 0 1 0 x = x+ u 0 0 0 1 = B AB = I 0 , rank() = 2
CC!
6.1.2

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

The Dynamic Duo


The two bread-and-butter behaviors are go-to-goal and avoidobstacle Go-to-goal: Drives the robot towards the goal Avoid-obstacle: Dont slam into things Control design task: pick a desired motion vector and set that equal to the input u

u x

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.1.3

Go-To-Goal

xg e = xg x

u = Ke e =0x = Ke

Asymptotically stable?

K > 0 or K 0 (eig[K ] > 0) e0

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.1.4

A Concern
A linear controller means the robot goes faster the further away the goal is. Solution, in practice, make the gain K a function of e

xg e = xg x

e = K ( e ) e

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.1.5

A Concern
A linear controller means the robot goes faster the further away the goal is. Solution, in practice, make the gain K a function of e

u K= e

e = K ( e ) e 2 v 0 1 e e e

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.1.5

Avoid-Obstacle
To get the direction, just flip the sign in the go-to-goal behavior

xo

e = xo x x u = Ke e = Ke
Unstable!

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.1.6

More Concerns
The robot drives off to infinity? It is overly cautious? We care less the closer we get? Solutions Make K dependent on e! Switch between behaviors! Use the induced mode!

xo x

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.1.7

More Concerns
The robot drives off to infinity? It is overly cautious? We care less the closer we get? Solutions Make K dependent on e! Switch between behaviors! Use the induced mode!

u 1 K= e c e2 +

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.1.7

Behavior/Mode Transitions?
Whats missing? Couple actual robot dynamics to the behaviors (next module) Figure out the mode transitions (next lecture) But first, lets try it for real!

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.1.8

Lecture 6.2 Hard Switches vs Blending


Given two different behaviors, how should they be combined?

Two options: Hard Switches Blended Behaviors


Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.2.1

Pros and Cons


Philosophical Question: Can robots chew gum and walk at the same time?

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.2.2

Pros and Cons


Philosophical Question: Can robots chew gum and walk at the same time?

Hard Switches: Pro: Performance guarantees Con: Bumpy ride, Zeno?

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.2.3

Pros and Cons


Philosophical Question: Can robots chew gum and walk at the same time?

Hard Switches: Pro: Performance guarantees Con: Bumpy ride, Zeno?

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.2.3

Pros and Cons


Philosophical Question: Can robots chew gum and walk at the same time?

Blending: Pro: Smooth ride Con: No guarantees

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.2.4

A Switch HA

x =u

uGT G = KGT G (xg x)

uAO = KAO (x xo ) do Dsaf e x = uGT G do > Dsaf e +


Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

x = uAO

6.2.4

Blending
Blending function

(do ) [0, 1] x =u = 0.75 x = (do )uGT G + (1 (do ))uAO

6.2.5

Example
1 = 1 e d o do

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.2.6

Punchlines
Two choices both of them come with pros and cons Would like to have our cake and eat it (smooth ride + performance guarantees) Enter: the induced mode

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.2.7

Lecture 6.3 Convex and Non-Convex Worlds


Lets see when our two basic behaviors work and when we need more behaviors! We will start simple and add complexity Point-worlds Circular obstacles Convex worlds Non-convex obstacles Labyrinths COMPLEXITY

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.3.1

Point-Worlds

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.3.2

Point-Worlds

Here the two behaviors are sufficient unless we are superunlucky. (Maybe some mild Zeno) Solution: Add a little bit of noise in practice this is never really needed since the world is noisy
Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.3.2

Circular Obstacles

This is the same as for point-obstacles

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.3.3

Convex Obstacles

convex

non-convex

A set is convex if every line in-between two points in the set lies in the set

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.3.4

Convex Obstacles

Even though the obstacles are quite nice-looking, we can get stuck for real with only these two behaviors We need some way to keep going along the boundary of the obstacle!
Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.3.5

Non-Convex Obstacles

Even worse!

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.3.6

Labyrinths

Forget about it!

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.3.7

Next Lecture
We really need at least one more behavior to be able to deal with non-circular worlds!

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.3.8

Lecture 6.4 Wall Following


We need some way of negotiating complex environments A really useful behavior is one that makes the robot follow the boundary of an obstacle/wall This will also allow us to introduce the induced mode in a systematic way

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.4.1

How To Follow Walls


The follow-wall behavior should maintain a constant distance to the obstacle/wall it is if following

uAO

xo uF W 0 1 = uAO = R( /2)uAO 1 0
6.4.2

uF W

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

Clockwise or Counter-Clockwise?
We can clearly move in two different directions along a wall!

ucc FW

uAO

xo

uc FW

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.4.3

Clockwise or Counter-Clockwise?
We can clearly move in two different directions along a wall! Rotation Matrix: R( ) =

cos() sin()

sin() cos()

uc FW

0 1 = R( /2)uAO = uAO 1 0 0 1 cc uF W = R( /2)uAO = uAO 1 0

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.4.3

Clockwise or Counter-Clockwise?
Which direction to choose?

There is no obvious answer to that! Maybe let the goal-to-goal direction determine?
Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.4.4

Clockwise or Counter-Clockwise?

v, w = v T w = v w cos((v, w))
c uGT G , uc > 0 u FW FW cc uGT G , ucc > 0 u FW FW
6.4.5

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

Issues
When release the follow-wall behavior? Is there a systematic way to scale the behavior?

R( /2)uAO

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.4.6

Lecture 6.5 The Induced Mode


We have seen that we need wall-following to solve complex navigation problems Last lecture: R( /2)uAO This lecture: How can this be connected to the induced mode between go-to-goal and avoid-obstacle in a more systematic manner?

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.5.1

The Setup
xo x uAO f2 = CAO (x xo ) xg

uGT G f1 = CGT G (xg x) x x o = 1 g (x) = (x xo 2 2 ) = 0 2

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.5.2

Connecting to the Induced Mode


1 g (x) = (x xo 2 2 ) = 0 2 f1 = CGT G (xg x) The Induced Mode:

f2 = CAO (x xo )

g = ( x xo ) T x g L f2 g = f2 = (x xo )T CAO (x xo ) = CAO x xo 2 x g L f1 g = f1 = CGT G (x xo )T (xg x) x


Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

1 x = Lf2 gf1 Lf1 gf2 L f2 g L f1 g

6.5.3

Connecting to the Induced Mode


Lf1 g = CGT G (x xo )T (xg x) Lf2 g = CAO x xo 2 1 x = Lf2 gf1 Lf1 gf2 L f2 g L f1 g
Quite a mess! The Induced Mode:

Recall:

ucc F W = R( /2)uAO
They are the same!!

uc F W = R( /2)uAO

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.5.4

When to Stop Sliding?

Not so easy! Next time.


Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.5.5

Lecture 6.6 A Complete Navigation System


When do we stop following walls? Not when we stop sliding!

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.6.1

When To Stop?
We should stop when enough progress has been made and we have a clear shot to the goal!

= time of last switch progress: x xg < x( ) xg clear shot: uAO , uGT G > 0

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.6.2

Putting It All Together


x xo = and uGT G , ucc FW > 0
d := x xg

u=0
x x g

uGT G
x xg < d and

x xo = and

uGT G , uc FW > 0
d := x xg

uAO , uGT G > 0


d := x xg d := x xg

ucc FW
x x o <

uc FW
x xo = and x xo = and c u , u GT G uGT G , ucc > 0 FW > 0 FW

x x o <

uAO

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.6.3

Does This Work?


u=0
x xo = and uGT G , ucc FW > 0
d := x xg

uGT G
x xg < d and

x xo = and

x x g

uGT G , uc FW > 0
d := x xg

uAO , uGT G > 0


d := x xg d := x xg

ucc FW
x x o <

uc FW
x xo = and x xo = and uGT G , uc uGT G , ucc FW > 0 FW > 0

x x o <

uAO

Nope! Next time: Practical considerations!

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.6.4

Lecture 6.7 Practical Considerations


u=0
x xo = and uGT G , ucc FW > 0
d := x xg

uGT G
x xg < d and

x xo = and

x x g

uGT G , uc FW > 0
d := x xg

uAO , uGT G > 0


d := x xg d := x xg

ucc FW
x x o <

uc FW
x xo = and x xo = and uGT G , uc uGT G , ucc FW > 0 FW > 0

x x o <

uAO

Non-Point-Obstacles Fat Guards Tweak, Tweak, Tweak

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.7.1

Obstacles Arent Points


We have to allow for non-point obstacles! But most (all) sensors really return points

How to deal with this situation?

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.7.2

Some Options
1. Go with the closest obstacle point (not bad)

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.7.3

Some Options
1. Go with the closest obstacle point (not bad) 2. Weigh and add the obstacle vectors depending on distance (better)

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.7.3

Some Options
1. Go with the closest obstacle point (not bad) 2. Weigh and add the obstacle vectors depending on distance (better) 3. Weight and add depending on distance and direction of travel (best)

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.7.3

Some Options
1. Go with the closest obstacle point (not bad) 2. Weigh and add the obstacle vectors depending on distance (better) 3. Weight and add depending on distance and direction of travel (best) 4. Make a map and plan (most bestest not in this class)

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.7.3

Fat Guards
Since no sensor is perfect, always allow for fat guards in the navigation HA

g ( x) < 0 x = f1 g ( x) > 0 x = f2

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.7.4

Fat Guards
Since no sensor is perfect, always allow for fat guards in the navigation HA

g ( x) < 0 x = f1 g ( x) > 0 + x = f2

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.7.4

And The Final Advise Is.

TWEAK, TWEAK, TWEAK!!!!

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.7.5

Lecture 6.8 Lets Do It!


Enough Talk!

Magnus Egerstedt, Control of Mobile Robots, Georgia Ins<tute of Technology

6.8.1