Sie sind auf Seite 1von 5

Model and Control of a differential drive mobile robot

Marinho T. Ramos J.L.


May 23, 2013

1 Kinematics of the Differential Drive Robot


( r + l )r
2
vc is the speed of the center of mass of the robot in the robot coordinates.
v0 =

(1)

vc = v0 + d

(2)

x r
d
0
x r
vc = y r + 0 0 = y r + d
0
0

(3)

( r l )r
c = 0 = =
2b

(4)

World coordinates
x = x r cos() y r sin()

(5)

y = x r sin() + y r cos()

(6)

Solving
x r = x cos() + y sin()

(7)

y r = x sin() + y cos()

(8)

Kinematic constraints of the differential drive in robot coordinates

( + )r
r
l
x cos() + y sin()
2
= x sin() + y cos() + d
vc =
0
0
0

0
c =
( r l )r
2b

(9)

(10)

That can be rewritten as:


x sin()y cos() d = 0
x cos()+y sin() + b = r r

(11)

x cos()+y sin() b = r r

(13)

AT (q) q = 0

(14)

(12)

In matrix form

sin() cos() d 0
sin()
b r
AT (q) = cos()
cos()
sin()
b 0
1

0
0
r

(15)

2 Dynamics
The Langrage equations of nonholonomic system are given by [1]
d
dt

L
q

T

Where for the mobile differential drive robot

0
0

S(q) =
0
1
0

L
q

T
= S(q) + A(q)

we have

x
0
y
 
0

r

0
; = l ; q =
r
0
l
1

(16)

(17)

Let us solve left side of the dynamic equation for each generalized coordinate of q.
We know that L(q, q)
= T (q, q)U(q).

However the mobile robot has a horizontal restricted dynamics


that yields U(q) = 0.
L(q, q)
= T (q, q)
=

1
1
1
1
mr vc2 + Ir 2 + Iw 2r + Iw 2l
2
2
2
2

(18)

vc2 = hvc , vc i = x 2 + y 2 2d sin()x + 2d cos()y + 2 d2


( r l )2 r2
2 =
4b2

L(q, q)
=



1
1
1
1
mr x 2 + y 2 2d sin()x + 2d cos()y + 2 d2 + Ir 2 + Iw 2r + Iw 2l
2
2
2
2

(19)

For x
d
dt

d
dt

For y

For

d
dt

L
r

L
x

L
y

L
x

= m
x md sin() md cos()2

L
y

= m
y md cos() md sin()2

= md sin()
x + md cos()
y + Ir + md2

For r
d
dt

L
r

mrd sin()
mrd cos()
mrd cos() mrd sin()
x
+
y
x
y +
b
b
b
b




md2 r2
Ir r2
md2 r2
Ir r2
Iw +
+ 2 r
+ 2 l
4b2
4b
4b2
4b

(20)

For l
d
dt

L
l

L
l


=

mrd sin()
mrd cos()
mrd cos() mrd sin()
x

y +
x +
y
b
b
b
b




md2 r2
Ir r2
Ir r 2
md2 r2
+ Iw +
+ 2 l
+ 2 r
4b2
4b
4b2
4b

(21)

The dynamical model can be written in matrix form where


B(q)
q + n(q, q)
= S(q) + A(q)

(22)

m
0
md sin() 0

0
m
md cos()
0

2
md
sin()
md
cos()
I
+
md
0
B(q) =
r
r
r
md sin()
md
cos()
0

1
b
b
r
rb md cos()
0
2
b md sin()
mr2 d2
Ir r2
1 = Iw +
+
4b2
4b2


md2 r2
Ir r2
2 =
+
4b2
4b2

2 md cos()

2 md sin()

0
n(q, q)
=

mrd cos() mrd sin()


x

b
b
mrd cos()
x + mrd sin() y
b

0
0

2
1

(23)

(24)

3 Reduced Dynamic Model


T
From equations (11) to (13) one can derive a relation between the pseudo-velocity vector v = [vc , ]
and the generalized velocities q where
q = G(q)v

(25)

Solving for the differential drive robot we have


br cos()+dr sin()
G(q) =

2b
br sin()dr cos()

2b

2b

1
0

br cos()dr sin()
2b
br sin()+dr cos()

2b

r
2b

0
1

(26)

From equation (14) one can see that G(q) columns are the null spaces of A(q)T so that A(q)T G(q) =
T
G(q) A(q) = 0.
The Lagrange multipliers in equation (35) can be eliminated premultiplying both sides of the equation
by G(q)T . This leads to the reduced dynamic model
G(q)T (B(q)
q + n(q, q))
= G(q)T S(q)

(27)

Where the differentiation of equation (25) in respect to time yields

q
= G(q)v
+ G(q)v
The reduced dynamic model can be rewritten as
M(q)v + m(q, v) = GT (q)S(q)

(28)

if we premultiply equation (27) by GT (q)B(q) and define


M(q) = GT (q)B(q)G(q)

m(q, v) = GT (q)B(q)G(q)v
+ GT (q) n (q, G(q)v).
The state space reduced model can be found by solving for q and v
3

(29)
(30)

q = G(q)v

(31)

v = M1 (q)m(q, v) + M1 (q)GT (q)S(q)

(32)

4 DC Motor Model
DC motor dynamics are given by

L di + Ri + K = E
w
dt

Is Kt i + V = 0

(33)

as in [ 1, p.198 ] where E and i denote the armature voltage and current, R and L are respectively the
armature resistance and inductance while Is is the motor shaft inertia, V the viscous friction coefficient
and the dynamic load applied to the motor. Kt is the motor torque constant and Kw the voltage
constant.
A reduced order model can be achieved for the dynamic behaviour since the electric time constant
L
can
be neglected if compared to the mechanical time constant VI . Hence, we consider L = 0 and the
R
first equation yields
i=

E Kw
R

that can be replaced on the second equation


Is Kt

E Kw
R

!
+ V = 0

That gives us
Is +


Kt
Kt Kw
+ V
E=
R
R

(34)

Therefore the new dynamic model for the mobile robot including the DC motor dynamics is
B(q)
q + n(q, q)
= S(q)E + A(q)

m
0
md sin() 0

0
m
md cos()
0

2
md
sin()
md
cos()
I
+
md
0
B(q) =
r
r
r
md sin()
md
cos()
0

1
b
b
r
r
md
sin()

md
cos()
0

2
b
b

(35)

0
0

2
1

(36)

mr2 d2
Ir r2
1 = Iw + Is +
+
4b2
4b2


2 2
2
md r
Ir r
2 =
+ 2
2
4b
4b

2 md cos()

2 md sin()

0
n(q, q)
=

mrd cos() mrd sin()


x
y + KtRKw r

b
b

mrd cos()
x + mrd sin()
y + KtRKw l
b
b

0
0
0
 
0

; E = Er
0
0
S(q) =

K
El
t
0
R
Kt
0
R

(37)

(38)

References
[1] B. Siciliano, P. L. Sciavicco, L. Vilani and G. Oriolo, A Guide to LATEX, 3rd ed. Harlow, England:
Addison-Wesley, 1999.

Das könnte Ihnen auch gefallen