Escolar Documentos
Profissional Documentos
Cultura Documentos
Mobile Robots
Module 3
Dr. Magnus Egerstedt
Professor
School of Electrical and
Linear Systems
Computer Engineering
x1 = p x1 = x2
x2 = p
x2 = u
y = p = x1 = 1 0 x
x = Ax + Bu
y = Cx
u x = Ax + Bu y
y = Cx
1
x = v cos
y = v sin Not linear!
=
(x, y)
We need to be more systematic/
clever when it comes to generating
x = v
LTI models from nonlinear
y = v Still not linear! systems!
=
x = xo + x
y = h(x)
u = uo + u
A = f
x (xo , uo )
f (xo , uo ) = 0
h(xo ) = 0
B = f
u (xo , uo )
C = h
x (xo )
u1
f2
um
f2 h1 h1
f
u
=
u1
..
..
um
..
x1 xn
. . .
fn
fn h .. .. ..
u1 um
= . . .
x hp hp
x1 xn
pn
(xo , uo ) = (0, 0)
f1 f1
x1 x2 0 1 0 1
A= f2 f2 = =
x1 x2
g/ cos(x1 ) 0 (0,0)
g/ 0
(0,0)
(xo , uo ) = (0, 0)
f1
u 0 0
B= f2 = =
u
cos(x1 ) (0,0)
1
(0,0)
(xo , uo ) = (0, 0)
h h
C= x1 x2 (0,0)
= 1 0
x2 = 0 ???
u x = Ax + Bu y
y = Cx
matrix exponential
Derivative:
d Ak t k kAk tk1 Ak1 tk1 Ak t k
=0+ =A =A
dt k! k! (k 1)! k!
k=0 k=1 k=1 k=0
d At
e = AeAt
dt
t t
d d
f (t, )d = f (t, t) + f (t, )d
dt t0 t0 dt
t
(t, t)Bu(t) + A(t, )Bu( )d
t0
d
x = Ax + Bu
dt
t
y(t) = C(t, t0 )x(t0 ) + C (t, )Bu( )d
t0
(t, ) = eA(t )
a>0:
100
50
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
a<0: 0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
a=0: 1.8
1.6
1.4
1.2
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Av = v eigenvector n
0 1 1 = 1, 2 = 1
A=
1 0
unstable!
Problem: Have all the agents meet at the same (unspecified) position
x1 x2
If the agents simply aim towards each other:
u1 = x2 x1 1 1
x = x
u2 = x1 x2 1 1
We have that
x1 , x2 (x1 x2 ) 0
Rendezvous is achieved!
If there are more than two agents, they should probably aim
towards the centroid of their neighbors (or something similar)
xi = (xj xi )
jNi
xi , i (xi xj ) 0, i, j
Rendezvous is achieved!
2 Kheperas
Same PID go-to-goal controller as before
The proposed high-level controllers are used to pick a
intermediary goal-points
Robots keep track of position using odometry
Positions are communicated rather than sensed (later)
u x = Ax + Bu y
y = Cx
u > 0 if y < 0 u = y
u < 0 if y > 0
x = Ax + Bu = Ax BKCx = (A BKC)x
eig(A BKC) = j
Critically stable!
Need to stabilize the system such that all the eigenvalues have
negative real part Using state feedback!
u x = Ax + Bu y
y = Cx
x = Ax + Bu
u = Kx closed-loop dynamics
x = Ax + Bu = Ax BKx = (A BK)x
k1 = 0.1, k2 = 1
0 1
A BK =
0.1 1
eig(A BK) = 0.1127, 0.8873
Asymptotically stable!
No oscillations