Modelling of Mobile Robot Dynamics: JANUARY 2010
Modelling of Mobile Robot Dynamics: JANUARY 2010
discussions, stats, and author profiles for this publication at: http://www.researchgate.net/publication/228561343
CITATIONS
3 AUTHORS, INCLUDING:
Edouard Ivanjko
University of Zagreb
25 PUBLICATIONS 77 CITATIONS
SEE PROFILE
Abstract
This paper presents two approaches to modelling of mobile robot dynamics. First
approach is based on physical modelling and second approach is based on exper-
imental identification of mobile robot dynamics features. Model of mobile robot
dynamics can then be used to improve the navigational system, especially path
planing and localization modules. Localization module estimates mobile robot
pose using its kinematic odometry model for pose prediction and additional sen-
sor measurements for pose correction. Kinematic odometry models are simple,
valid if mobile robot is travelling with low velocity, low acceleration and light
load. Disadvantage is that they don’t take any dynamic constraints into account.
This leads to errors in pose prediction, especially when significant control signal
(translational and rotational velocity reference) changes occur. Problem lies in the
fact that mobile robot can’t immediately change its current velocity to the desired
value and mostly there exists a communication delay between the navigation com-
puter and mobile robot micro-controller. Errors in predicted pose cause additional
computations in path planning and localization modules. In order to reduce such
pose prediction errors and considering that mobile robots are designed to travel
at higher velocities and perform heavy duty work, mobile robot drive dynamics
can be modelled and included as part of the navigational system. Proposed two
modelling approaches are described and first results using a Pioneer 3DX mobile
robot are presented. They are also compared regarding to complexity, accuracy
and suitability of implementation as part of the mobile robot navigational system.
Keywords: Modelling, mobile robot, estimation, dynamic model.
tion and other modules. This would be the first step or center of mass
V
C
model creation. Second step would include validation
of obtained model. It isn’t good to validate the model C A Θ
y
d
on real mobile robot in its working environment due to
center of axle
danger of damage. More preferable is simulation test- b
ing where velocity data from mobile robot experiments
castor wheel
are used. Such a way is used in this article also. V
R
right actuated
This paper presents two approaches to modelling dy- wheel
namic mobile robot features including influence of me- x
chanical drive characteristics. First approach is based X
on making a physical model of mobile robot body and
components used for velocity control like velocity con- Fig. 1 Geometrical dependencies of a differential drive
troller, motor, gearbox, etc. Second approach is based mobile robot.
on experimental fitting of recorded mobile robot veloc-
ity data regarding reference velocity data. Both models
are validated using velocity data recorded using a Pio- Dynamic motion equation can be derived using Euler-
neer 3DX mobile robot. Lagrange formulation [8, 9]:
The rest of the paper is organised as follows. Sec- ( )
ond section contains description of both modelling ap- d ∂L ∂L
− = Qi , (1)
proaches. Third section gives an overview on models dt ∂ q̇i ∂qi
implementations in M ATLAB/S IMULINK. After that
obtained results are given followed with models com- where L stands for difference of kinetic, T , and poten-
parison. Paper ends with conclusion and description of tial, U , energy, qi stands for generalized coordinate, and
future work on this topic. Qi stands for generalized force that acts on the mechan-
ical system.
2 Modelling approaches Under assumption that mobile robot moves only on a
plane surface, potential energy of robot is zero (U = 0)
As mentioned above, this article presents two ap-
and we have to find only kinetic energy of the mobile
proaches to mobile robot dynamics modelling. First
robot. Kinetic energy of the whole structure is given by
steps needed for physical modelling are described and
the following equation:
secondly steps taken for experimental identifications
are described. Both models need to take into account
maximal values of rotational and translational veloci- T = Tt + Tr + Trwr , (2)
ties including maximal rotational and translational ac-
celeration and deceleration values. These model fea- where Tt is kinetic energy of mobile robot translation,
tures can be easily taken into account by using satura- Tr is kinetic energy of mobile robot rotation, and Trwr
tion and slope limitation functions. is kinetic energy of rotation of wheels and rotors of DC
motors, all in (kgmm2 /s2 ) respectively. Values of in-
2.1 Physical modelling
troduced energy terms can be expressed by following
Used Pioneer 3DX robot is a two wheeled differen- equations:
tial drive robot, where each wheel is driven indepen-
dently. Forward motion is produced by both wheels 1 1
driven at the same rate, turning right is achieved by Tt = mv 2 = m(x2c + yc2 ), (3)
2 c 2
driving the left wheel at a higher rate than the right
wheel and vice versa for turning left. This type of mo- 1
bile robot can turn on the spot by driving one wheel Tr = IA Θ̇2 , (4)
forward and second wheel in the opposite direction 2
at same rate. Third wheel is a castor wheel needed
for mobile robot stability. Drive wheels are equipped 1 1
Trwr = I0 Θ̇2R + I0 Θ̇2L , (5)
with encoders and their angular velocity readings be- 2 2
come available through simple routine calls. Kinematic
model of a differential drive mobile robot can be found where m is the mass of entire mobile robot (kg), vc
in [7] and geometrical dependencies are given in Fig. 1, is linear velocity of the mobile robot’s center of mass
where r is drive wheel radius (mm), vL and vR are left C (mm/s), IA is the moment of inertia of entire mo-
and right drive wheel velocities, respectively (mm/s), bile robot with respect to the point A (kgmm2 ), Θ is
x and y present mobile robot position in cartesian co- mobile robot orientation (rad), Θ̇ is mobile robot ro-
ordinates in (mm), and b is axle length between drive tational speed (rad/s), I0 is the moment of inertia of
wheels (mm). combined drive motor (rotor) and wheel (kgmm2 ), and
Θ̇R , and Θ̇L are angular velocities of the right and left
drive wheel, respectively (rad/s). B Θ̈R + AΘ̈L = ML − K Θ̇L , (15)
Components of the velocity of point A, can be ex-
( ( ) )
pressed in terms of Θ̇R and Θ̇L : mr2 IA + md2 r2
A= + + I0 , (16)
r 4 b2
ẋA = (Θ̇R + Θ̇L ) cos(Θ), (6)
2 ( ( ) )
mr2 IA + md2 r2
r B= − . (17)
ẏA = (Θ̇R + Θ̇L ) sin(Θ), (7) 4 b2
2
2.2 Experimental identification
r(Θ̇R − Θ̇L ) Number of needed values is much smaller in this case
Θ̇ = , (8)
b and it consist of maximal rotational and translation ve-
locity including their maximal acceleration and decel-
where ẋA presents velocity of point A in direction of eration values.
the X-axis (mm/s), and ẏA presents velocity of point
A in direction of the Y -axis (mm/s). Other features can be obtained by creating appropri-
ate experiments. To obtain this features, first critical
Components of the velocity of point C considering ve- velocity change cases have to be defined. Such cases
locity of point A are now: are partly covered with the above mentioned maximal
values. Other cases are, when mobile robot changes
ẋC = ẋA + dΘ̇ sin Θ, (9) its translational or rotational velocity direction, when
it starts its movement (step wise velocity reference
change), and when velocity is constant (steady move-
ment) or constantly changing (mobile robot is acceler-
ẏC = ẏA − dΘ̇ cos Θ, (10) ating or decelerating). Figs. 2 to 5 show mobile robot
reference and measured velocity relationship for men-
where d is the distance between points A and C in tioned cases. Only translational velocities are presented
(mm), and ẋC presents velocity of point C in direc- whence rotational velocity responses show similar be-
tion of the X-axis (mm/s), and ẏC presents velocity haviors. Velocity responses where obtained using a Pi-
of point C in direction of the Y -axis (mm/s). oneer 3DX mobile robot controlled with an application
Total kinetic energy of the mobile robot can be calcu- using 100 (ms) sampling time. Only for stand still area
observation smaller sampling time was used (20 (ms)).
lated in terms of Θ̇R and Θ̇L :
150
( ) reference value
mr 2 (IA +md2 )r 2 I0
T (Θ̇R ,Θ̇L ) = 8 + 2b2
+ 2 Θ̇2R measured value
( )
translational velocity [mm/s]
mr 2 (IA +md2 )r 2 I0
+ 8 + 2b2
+ 2 Θ̇2L 100
( )
mr 2 (I +md2 )r 2
+ 4 − A b2 Θ̇R Θ̇L .
(11)
50
are applied. MR and ML are right and left actua- It can be seen that in case of a step-like velocity refer-
tion torques, respectively in (kgmm/s2 ) and K Θ̇R and ence change (Fig. 2), mobile robot velocity response is
K Θ̇L are viscous friction values of right and left wheel- similar to a ramp determined by maximal acceleration
motor systems, respectively in (kgmm/s2 ). Finally, value. Such behavior is expected but there is also an
dynamic motion equations can be expressed as: additional time delay in the velocity response. It can
be explained as a communication delay. Fig. 3 displays
case of a constant reference. Mobile robot can hold de-
AΘ̈R + B Θ̈L = MR − K Θ̇R , (14) sired velocity with influence of noise. On the right side
cluding a greater error when the ramp begins. One part
of the greater error happens due to used drive controller
−140
reference value
influence and friction. Fig. 5 displays the case of a ve-
locity direction change. An area where mobile robot
translational velocity [mm/s]
measured value
−145 stands still can be observed. Deceleration to stand still
happens constantly like the reference but acceleration in
the opposite direction continues after velocity reference
−150 reaches a certain value. This feature can be explained
with influence of movement in previous direction and
−155
friction.
In order to reduce error between control input values
used for velocity values prediction and true mobile
−160
3 4 5 6 7 8 9 10 11 robot movement values, appropriate dynamic model
time [s] can be used. It has to take into account all mentioned
Fig. 3 Mobile robot velocity response in case of a con- cases. Additionally, model has to be simple so that it
stant velocity reference. doesn’t make any additional burden on the navigation
computer. Also a small number of model parameters
is preferable to enable a possibility of their on-line es-
timation. Communication delay can be modelled us-
35 ing transport delay, and behavior around standstill us-
reference value ing a variable threshold. After reference value reaches
30 measured value
threshold value, estimated velocity values start to rise.
25 Crucial model values that have to be obtained experi-
translational velocity [mm/s]
0
Error Physical model Experimental model
Maximal 4.31 4.59 −50
Tab. 4 Error values in case of translational velocity es- 26.8 27 27.2 27.4
time [s]
27.6 27.8 28
5 Model comparison
For the sake of a better model comparison using devia-
tion values between this two data sets, average velocity As it was expected, second data set results with a less
values have to be known. First data set had maximal accurate estimation. One reason for the less accurate
translational velocity of 300 (mm/s) and maximal ro- estimation is more frequent change of the velocity ref-
tational velocity of 50 (◦ /s). Second data set had max- erence. Second reason are situations that can’t be de-
imal values of 600 (mm/s) and 63 (◦ /s), respectively. tected by an off-line model like drive wheel slippage or
8
value can be used as a good base for real mobile robot
6 travelling velocity estimation in combination with other
sensors [12].
translational speed difference [ mm/s]
5
6 Conclusion & future work
4 This paper presents two modelling approaches regard-
3
ing mobile robot drive dynamics. First approach con-
siders modelling every element of mobile robot drive
rotational speed difference [ °/s]
2
system and corresponding control framework. Second
1 approach models characteristic velocity change cases.
0 It results in a simpler model that gives smaller average
velocity error.
−1