Beruflich Dokumente
Kultur Dokumente
How make mobile robots move in effective, safe, predictable, and collaborative ways using modern control theory?
6.1.1
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
u x
6.1.3
Go-To-Goal
xg e = xg x
u = Ke e =0x = Ke
Asymptotically stable?
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
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
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!
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
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 +
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!
6.1.8
6.2.1
6.2.2
6.2.3
6.2.3
6.2.4
A Switch HA
x =u
x = uAO
6.2.4
Blending
Blending function
6.2.5
Example
1 = 1 e d o do
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
6.2.7
6.3.1
Point-Worlds
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
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
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!
6.3.6
Labyrinths
6.3.7
Next Lecture
We really need at least one more behavior to be able to deal with non-circular worlds!
6.3.8
6.4.1
uAO
xo uF W 0 1 = uAO = R( /2)uAO 1 0
6.4.2
uF W
Clockwise or Counter-Clockwise?
We can clearly move in two different directions along a wall!
ucc FW
uAO
xo
uc FW
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
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
Issues
When release the follow-wall behavior? Is there a systematic way to scale the behavior?
R( /2)uAO
6.4.6
6.5.1
The Setup
xo x uAO f2 = CAO (x xo ) xg
6.5.2
f2 = CAO (x xo )
6.5.3
Recall:
ucc F W = R( /2)uAO
They are the same!!
uc F W = R( /2)uAO
6.5.4
6.5.5
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
6.6.2
u=0
x x g
uGT G
x xg < d and
x xo = and
uGT G , uc FW > 0
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
6.6.3
uGT G
x xg < d and
x xo = and
x x g
uGT G , uc FW > 0
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
6.6.4
uGT G
x xg < d and
x xo = and
x x g
uGT G , uc FW > 0
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
6.7.1
6.7.2
Some Options
1. Go with the closest obstacle point (not bad)
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)
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)
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)
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
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
6.7.4
6.7.5
6.8.1