Mobile Robots
Dr. Magnus Egerstedt
Professor
School of Electrical and
Computer Engineering
Module 5
Hybrid Systems
5.1.1
Switches by Necessity
5.1.2
Switches by Design
5.1.3
Switches by Design
5.1.4
Issues
Models?
Stability and Performance? (t )
Compositionality?
Traps?
5.1.5
5.2.1
x = fq (x, u)
5.2.2
x Gq,q
As a final component, we would like to allow for abrupt
changes in the continuous state as the transitions occur, which
we will call resets:
x := Rq,q (x)
5.2.3
x := R1,2 (x)
q=1
x = f1 (x, u)
x := R3,1 (x)
x G1,2
x G2,1
x := R2,1 (x)
x G3,1
x = f3 (x, u)
q=2
x = f2 (x, u)
x G2,3
x := R2,3 (x)
q=3
Magnus
Egerstedt,
Control
of
Mobile
Robots,
Georgia
Ins<tute
of
Technology
5.2.4
HA Example 1 - Thermostat
T Td +
T = Fheat (T )
T = Fcool (T )
T Td
5.2.5
RP M (v) c1
RP M (v) c1
v = f2 (v, u)
RP M (v) c2
RP M (v) c2
v = f3 (v, u)
5.2.6
HA Example 3 Behaviors
x xO d
x = fGT G (x)
x = fAO (x)
x xO d
5.2.7
5.3.1
x = A1 x =
x = A2 x =
x
x
eig(Ai ) = 1.41j
5.3.2
Mode 1
x = A1 x
1
0.5
0.5
1.5
1.5
0.5
0.5
1.5
5.3.3
Mode 2
x = A2 x
1
0.5
0.5
1.5
0.5
0.5
1.5
5.3.4
HA 1
x = A1 x
0 1
1 0
x=0
x = A2 x
x=0
ASYMPTOTICALLY STABLE
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
0.5
0.5
1.5
5.3.5
x = A1 x
50
HA 2
1 0
0 1
UNSTABLE
x=0
x = A2 x
x=0
50
100
150
250
200
150
100
50
50
100
150
200
5.3.6
Punchlines
By combining stable modes, the resulting hybrid system may
be unstable!
By combining unstable modes, the resulting hybrid system
may be stable!
Design stable modes but be aware that this is a risk one may
face!
5.3.7
5.4.1
Switched Systems
We saw last time that it was possible to destabilize stable
subsystems by an unfortunate series of switches
Ignoring resets, we can write the hybrid system as a switched
system:
x = f (x, u)
switch signal
(t) = {1, . . . , p}
5.4.2
x 0,
s.t. x 0
x0
5.4.3
Some Results
If all the individual modes are A.S., then
Existentially A.S.
Why? Simply pick a mode and never switch!
Not always universally A.S.
Why? See the counter example
What to do? (common Lyapunov function)
5.4.4
Practically Speaking
5.4.5
h
Equations of motion in-between bounces:
= g x =
h
0 1
0 0
Bounces:
h := h x :=
1
0
x+
0
g
, y=
x
5.5.1
The Ball HA
xG
Guards?
x = Ax + b
x := Rx
0 1
0
A=
, b=
0 0
g
1 0
R=
0
Magnus
Egerstedt,
Control
of
Mobile
Robots,
Georgia
Ins<tute
of
Technology
h0
x0
h 0 and h 0 x 0
5.5.2
The Ball HA
xG
x = Ax + b
x := Rx
Is this any good?
To answer that we need to figure out how the
system actually behaves!
5.5.3
0 1
0 0
x+
y = C(t, t0 )x(t0 ) + C
(t, ) = eA(t )
0
g
t
, y=
(t, )Bu( )d
t0
A2 = A3 = . . . = 0
At
1 t
At
e =
= I + At + 0 =
0 1
k!
k=0
5.5.4
0 1
0 0
x+
0
g
t
, y=
y = C(t, t0 )x(t0 ) + C
(t, )Bu( )d
t0
1 t t0
h0
y= 1 0
0
1
h 0
t 1 t
0
+ 1 0
d
0
1
g
t0
g
= h0 + h0 (t t0 ) (t t0 )2
2
5.5.4
y = h0 + h0 (t t0 ) (t t0 )2
2
h0 = 0, t0 = 0
g 2
y(T ) = 0 = h0 T T = T (h 0 g/2T )
2
2h 0
T = 0, T =
g
5.5.5
h 0,0 = v
velocity after first bounce
h 0,1 = v
..
.
h 0,k = k v
TN
2h 0
T =
g
2v
T1 =
g
2v
=
g
N
1
k=0
2v
2v
T2 =
+
g
g
2v 1
g 1
k
<1
5.5.6
So What?
T
2v 1
=
<
g 1
5.5.7
5.6.1
The tortoise
5.6.2
5.6.2
5.6.2
5.6.2
Example
x =
1
+1
x0
x<0
x = 1
x<0
x0
x = +1
5.6.3
Super-Zeno?
x =
1
+1
x0
x<0
x = 1
x<0
x0
x = +1
5.6.4
5.6.5
x0
x = +1
5.7.1
Switching Surfaces
switching surface
x = f1 (x)
g(x) 0
g(x) < 0
g(x) > 0
g(x) = 0
x = f2 (x)
g(x) < 0
Both vector fields point inwards = bad!
We should keep sliding along the switching surface
Sliding Mode Control
5.7.2
Sliding?
g T
x
f2
f1
Sliding occurs if
g(x) > 0
g(x) = 0
g(x) < 0
g
g
f1 < 0 AND
f2 > 0
x
x
derivative of g in direction f = Lf g = Lie derivative
Magnus
Egerstedt,
Control
of
Mobile
Robots,
Georgia
Ins<tute
of
Technology
5.7.3
Sliding?
g T
x
f2
f1
Sliding occurs if
g(x) > 0
g(x) = 0
g(x) < 0
5.7.3
5.7.4
x = f1 (x)
g(x) 0
g(x) < 0
x = f2 (x)
f1
Sliding occurs if
g(x) > 0
g(x) = 0
g(x) < 0
5.8.1
dg
=0
dt
g=0
dg
g
g
=
x =
(1 f1 + 2 f2 ) = 1 Lf1 g + 2 Lf2 g
dt
x
x
L f1 g
= 0 2 = 1
L f2 g
1 , 2 0, 1 + 2 = 1
Magnus
Egerstedt,
Control
of
Mobile
Robots,
Georgia
Ins<tute
of
Technology
5.8.2
1
+1
x0
x<0
g(x) = x = 0
g
L f1 g =
f1 = 1(1) = 1
x
g
L f1 g =
f2 = 1 1 = 1
x
x = 0.5f1 + 0.5f2 = 0
L f1 g
1
2 = 1
= 1
= 1
L f2 g
1
1 = 2 = 0.5
Magnus
Egerstedt,
Control
of
Mobile
Robots,
Georgia
Ins<tute
of
Technology
5.8.3
Lf1 g
L f1 g
1 + 2 = 1 1
2 = 1
Lf2 g
L f2 g
1
L f2 g
1 =
=
Lf1 g
L f2 g L f1 g
1 Lf g
=1
L f1 g
2 =
L f2 g L f1 g
1
x =
Lf2 gf1 Lf1 gf2
L f2 g L f1 g
Magnus
Egerstedt,
Control
of
Mobile
Robots,
Georgia
Ins<tute
of
Technology
5.8.4
g(x) < 0
g(x) > 0
x = f2 (x)
5.8.5
g>0 g<0
g<0
x = f2 (x)
1
x =
Lf2 gf1 Lf1 gf2
L f2 g L f1 g
5.8.5
5.8.6