0% found this document useful (0 votes)
100 views

ReportDifferentialDrive PDF

This document summarizes the kinematics and dynamics of a differential drive mobile robot. It presents the kinematic equations that relate the robot's linear and angular velocities to its motion in Cartesian coordinates. The dynamics are modeled using Lagrange's equations, where the kinetic and potential energies are defined. This results in a system of equations relating the robot's accelerations to the applied wheel torques and nonholonomic constraints. The kinematic and dynamic models are expressed in matrix form.

Uploaded by

Marcos Infante
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
100 views

ReportDifferentialDrive PDF

This document summarizes the kinematics and dynamics of a differential drive mobile robot. It presents the kinematic equations that relate the robot's linear and angular velocities to its motion in Cartesian coordinates. The dynamics are modeled using Lagrange's equations, where the kinetic and potential energies are defined. This results in a system of equations relating the robot's accelerations to the applied wheel torques and nonholonomic constraints. The kinematic and dynamic models are expressed in matrix form.

Uploaded by

Marcos Infante
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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
v0 = (1)
2
vc is the speed of the center of mass of the robot in the robot coordinates.
vc = v0 + d × ω (2)
       
ẋr −d 0 ẋr
vc =  ẏr  +  0  ×  0  = ẏr + ωd (3)
0 0 ω 0
(φ̇r − φ̇l )r
ωc = ω0 = θ̇ = (4)
2b
World coordinates

ẋ = ẋr cos(θ) − ẏr sin(θ) (5)


ẏ = ẋr sin(θ) + ẏr cos(θ) (6)
Solving

ẋr = ẋ cos(θ) + ẏ sin(θ) (7)


ẏr = −ẋ sin(θ) + ẏ cos(θ) (8)
Kinematic constraints of the differential drive in robot coordinates
 (φ̇ +φ̇ )r   
r
2
l ẋ cos(θ) + ẏ sin(θ)
vc =  0  = −ẋ sin(θ) + ẏ cos(θ) + ωd (9)
0 0
0
 

ωc =  0  (10)
(φ̇r −φ̇l )r
2b
That can be rewritten as:

ẋ sin(θ)−ẏ cos(θ) − d · θ̇ = 0 (11)


ẋ cos(θ)+ẏ sin(θ) + b · θ̇ = r · φ̇r (12)
ẋ cos(θ)+ẏ sin(θ) − b · θ̇ = r · φ̇r (13)
In matrix form

AT (q) · q̇ = 0 (14)
 
sin(θ) − cos(θ) −d 0 0
AT (q) = cos(θ) sin(θ) b −r 0 (15)
cos(θ) sin(θ) −b 0 −r

1
2 Dynamics
The Langrage equations of nonholonomic system are given by [1]
 T  T
d ∂L ∂L
− = S(q)τ + A(q)λ (16)
dt ∂ q̇ ∂q

Where for the mobile differential drive robot we have


   
0 0 x
0 0   y
  τr  
S(q) = 0 0 ; τ = τl ; q =  θ  (17)
 
1 0 φr 
0 1 φl

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.
1 1 1 1
L(q, q̇) = T (q, q̇) = mr vc2 + Ir θ̇2 + Iw φ̇2r + Iw φ̇2l (18)
2 2 2 2

vc2 = hvc , vc i = ẋ2 + ẏ 2 − 2d sin(θ)ẋθ̇ + 2d cos(θ)ẏ θ̇ + θ̇2 d2


(φ̇r − φ̇l )2 r2
θ̇2 =
4b2

1   1 1 1
L(q, q̇) = mr ẋ2 + ẏ 2 − 2d sin(θ)ẋθ̇ + 2d cos(θ)ẏ θ̇ + θ̇2 d2 + Ir θ̇2 + Iw φ̇2r + Iw φ̇2l (19)
2 2 2 2
• For x
   
d ∂L ∂L
− = mẍ − md sin(θ)θ̈ − md cos(θ)θ̇2
dt ∂ ẋ ∂x

• For y    
d ∂L ∂L
− = mÿ − md cos(θ)θ̈ − md sin(θ)θ̇2
dt ∂ ẏ ∂y

• For θ    
d ∂L ∂L
− = −md sin(θ)ẍ + md cos(θ)ÿ + Ir + md2 θ̈
dt ∂ θ̇ ∂θ

• For φr
   
d ∂L ∂L mrd sin(θ) mrd cos(θ) mrd cos(θ) mrd sin(θ)
− =− ẍ + ÿ − ẋθ̇ − ẏ θ̇+
dt ∂ φ˙r ∂φr b b b b
md2 r2 Ir r2 md2 r2 Ir r2
   
Iw + + 2 φ̈r − + 2 φ̈l (20)
4b2 4b 4b2 4b

• For φl
   
d ∂L ∂L mrd sin(θ) mrd cos(θ) mrd cos(θ) mrd sin(θ)
− = ẍ − ÿ + ẋθ̇ + ẏ θ̇
dt ∂ φ̇l ∂φl b b b b
md2 r2 Ir r2 md2 r2 Ir r 2
   
+ Iw + + 2 φ̈l − + 2 φ̈r (21)
4b2 4b 4b2 4b

2
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

 0 m md cos(θ) 0 0 
2
B(q) =  −md
 r sin(θ) md cos(θ) I r + md 0 0 (23)
r

− md sin(θ) md cos(θ) 0 α1 α2 
b b
r
b md sin(θ) − rb md cos(θ) 0 α2 α1
mr2 d2 Ir r2
α1 = Iw + +
4b2 4b2
md2 r2 Ir r2
 
α2 = − +
4b2 4b2
 
−θ̇2 md cos(θ)

 −θ̇2 md sin(θ) 

n(q, q̇) = 
 0 
 (24)
 mrd cos(θ) mrd sin(θ)
− ẋ θ̇ − ẏ θ̇

b b 
mrd cos(θ) mrd sin(θ)
b ẋ θ̇ + b ẏ θ̇

3 Reduced Dynamic Model


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

q̇ = G(q)v (25)
Solving for the differential drive robot we have
 br cos(θ)+dr sin(θ) br cos(θ)−dr sin(θ) 
2b 2b
 br sin(θ)−dr cos(θ) br sin(θ)+dr cos(θ) 
 2b 2b 
G(q) = r r (26)

 2b − 2b 

 1 0 
0 1
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̈ = Ġ(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) (29)


m(q, v) = GT (q)B(q)Ġ(q)v + GT (q) n (q, G(q)v). (30)

The state space reduced model can be found by solving for q̇ and v̇

3
q̇ = G(q)v (31)
v̇ = −M−1 (q)m(q, v) + M−1 (q)GT (q)S(q)τ (32)

4 DC Motor Model
DC motor dynamics are given by

L di + Ri + K φ̇ = E

w
dt (33)
Is φ̈ − Kt i + V φ̇ − τ = 0

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
R can be neglected if compared to the mechanical time constant VI . Hence, we consider L = 0 and the
first equation yields

E − Kw φ̇
i=
R
that can be replaced on the second equation
!
E − Kw φ̇
Is φ̈ − Kt + V φ̇ − τ = 0
R
That gives us
 
Kt Kw Kt
Is φ̈ + + V φ̇ − E=τ (34)
R R
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)λ (35)


 
m 0 −md sin(θ) 0 0

 0 m md cos(θ) 0 0 
2
B(q) =  −md
 r sin(θ) md cos(θ) I r + md 0 0 (36)
r

− md sin(θ) md cos(θ) 0 α1 α2 
b b
r r
b md sin(θ) − b md cos(θ) 0 α2 α1
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(θ) 

n(q, q̇) = 
 0 
 (37)
 mrd cos(θ) mrd sin(θ)
ẏ θ̇ + KtRKw φ̇r 

− ẋθ̇ −

b b
mrd cos(θ)
ẋθ̇ + mrd sin(θ) ẏ θ̇ + KtRKw φ̇l

b b
 
0 0
0 0  
 ; E = Er
 
S(q) =  0 0 (38)
K  El
 t
R 0
Kt
0 R

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

You might also like