Modelling of Mobile Robot Dynamics
Modelling of Mobile Robot Dynamics
Modelling of Mobile Robot Dynamics
This paper presents two approaches to modelling of mobile robot dynamics. First
approach is based on physical modelling and second approach is based on experimental 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 sensor 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 dont 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 cant immediately change its current velocity to the desired
value and mostly there exists a communication delay between the navigation computer 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.
Presenting Authors Biography
Edouard Ivanjko received his PhD in 2009. from Faculty of Electrical
Engineering and Computing, University of Zagreb, Croatia where he is
currently working. His main research interests are: mobile robotics, localization of mobile robots and environment modelling for mobile robots.
He published 3 papers in international journals and 19 papers in proceedings of international conferences. He is a member of IEEE, KoREMA and
Croatian Society for Robotics. He speaks fluent German and English.
1 Introduction
In recent years huge interest in autonomous industrial
vehicles can be noticed. Control systems for such vehicles should take into account all disturbances which
can appear during their missions. Their control systems
should react quickly and adapt to changing environment
conditions. Many classical methods for designing
control systems (optimum-control methods, algebraic
methods) for such vehicles require a physical system
description together with all of its parameters. For accurate mobile robot system description its necessary to
generate an appropriate dynamic model. The dynamic
model allows considering such properties as: mass, inertia, friction forces, centrifugal force, torque, etc. Such
models are built in order to better understand the structure and operation of the controlled mechatronic system. Creation of such a model becomes even more important if high complex systems have to be developed.
Preparation and application of needed dynamical model
allows early detection of flaws and mistakes in the description (model) of the real system. Their modification
is simpler and less expensive in the virtual construction
stage in comparison with physical prototypes.
Knowledge about mobile robot dynamics is very important for planning feasible mobile robot trajectories.
First a path consisting of a series of poses is generated
in the path planning module. Such a path is generated
regarding to mobile robot dimensions in the sense that
the mobile robot can traverse free workspace underlying planned path. In this case dynamic properties are
not important. Desired path following is only done in
geometric space and path planning criterion is that the
mobile robot doesnt collide with any stationary obstacles. Typical path planning algorithms for such applications are the A* and D* algorithms [1].
Things change when moving obstacles are part of mobile robot workspace. They can be people or other mobile robots or other moving machines. In these situations a certain pose must be reached by the mobile robot
in a certain time frame to avoid collision. In such cases
mobile robot motion velocity has to be constantly altered in an appropriate way that mobile robot can avoid
collision with a moving obstacle. Only in that way a
collision free motion in a workspace with moving obstacles can be guaranteed [2]. During trajectory planning phase mobile robot dynamic properties are used to
create a set of velocity profiles that can be performed by
the mobile robot in a safe manner. In this process mobile robot velocity limitations must be respected with
preserved trajectory curvature [3].
Mobile robot dynamical model is very important in
cases when mobile robot velocities generate forces
which influence cant be neglected during movement.
A good example is mobile robot soccer where used mobile robots are small and velocities are significant compared to their size and mass. Typical shape is a cube
of about 7.5 (cm) size and velocities can be faster than
2 (m/s). Small size and mass combined with such velocity values can cause slippage of drive wheels or turn
overs in a curvature trajectory. Slippage can especially
occur when significant velocity changes (big acceleration or deceleration values) are requested from the mobile robot. Appropriate control strategies and trajectories need to include mobile robot dynamics properties [4].
Recent published research also uses mobile robot dynamics to cope with workspace floor characteristics.
In [5] authors developed a two-level mobile robot
motion control strategy that can cope with different
workspace floor characteristics. Low level part is a classical wheel velocity controller whereas high level part
uses measured wheel velocities to adapt generated trajectory if there are significant differences from desired
values. For this purpose authors modelled the mobile
robot as a rigid body that rolls on two drive wheels and
one castor including velocity changes constraints by the
used actuators.
Mobile robot dynamic model can be also used to improve estimated pose in the localization module. This
module mostly uses a kinematic model to predict mobile robot pose using appropriate control input values.
In this case control input consists of translational and
rotational velocities. Predicted pose is then corrected
using additional sensor measurements. A typical example is usage of non-linear Kalman filters for this
task [6]. Quality of so estimated pose depends on used
kinematic model accuracy, used additional sensors and
workspace model (map) accuracy. Kinematic model accuracy has a significant influence in such a framework.
Control input for kinematic model is usually computed
in a navigational computer connected via a communication link with a low level micro-controller. The
micro-controller handles drive wheels velocity control
and their current velocity measurement. Velocity measurement is then returned to the navigational computer
and used for pose estimation or path planning computations. Control input values of the navigational computer can differ from values that the micro-controller
currently uses for drive wheels velocity control. Reasons are communication link delay, mobile robot dynamic properties and used drive mechanical characteristics. Mechanical characteristics include influence of
friction, backlash, etc. Result is that used kinematic
model predicts mobile robot movement, while microcontroller hasnt received movement command yet or
predicts a mobile robot movement that cant be performed by the used mobile robot. So, there exists a constant prediction error that cant be taken into account by
means of calibration or path planning restrictions.
It would be beneficial to model such features and include them in the pose prediction step as part of the
localization module. Also path planning could be improved, especially the moving obstacle avoidance part
when generated path is altered in time space i.e. a
trajectory is created. To do this mobile robot physical properties have to be examined and their influence
on interesting variables has to be determined. In case
of mobile robot navigation, crucial variable is its pose
which is predicted i.e. estimated using drive wheel velocities. Input variables are velocity references and ap-
propriate model should use them too as an input to provide current mobile robot velocity value on its output.
These velocity values can then be used by the localization and other modules. This would be the first step or
model creation. Second step would include validation
of obtained model. It isnt good to validate the model
on real mobile robot in its working environment due to
danger of damage. More preferable is simulation testing where velocity data from mobile robot experiments
are used. Such a way is used in this article also.
This paper presents two approaches to modelling dynamic mobile robot features including influence of mechanical drive characteristics. First approach is based
on making a physical model of mobile robot body and
components used for velocity control like velocity controller, motor, gearbox, etc. Second approach is based
on experimental fitting of recorded mobile robot velocity data regarding reference velocity data. Both models
are validated using velocity data recorded using a Pioneer 3DX mobile robot.
The rest of the paper is organised as follows. Second section contains description of both modelling approaches. Third section gives an overview on models
implementations in M ATLAB/S IMULINK. After that
obtained results are given followed with models comparison. Paper ends with conclusion and description of
future work on this topic.
2 Modelling approaches
As mentioned above, this article presents two approaches to mobile robot dynamics modelling. First
steps needed for physical modelling are described and
secondly steps taken for experimental identifications
are described. Both models need to take into account
maximal values of rotational and translational velocities including maximal rotational and translational acceleration and deceleration values. These model features can be easily taken into account by using saturation and slope limitation functions.
2.1 Physical modelling
Used Pioneer 3DX robot is a two wheeled differential drive robot, where each wheel is driven independently. Forward motion is produced by both wheels
driven at the same rate, turning right is achieved by
driving the left wheel at a higher rate than the right
wheel and vice versa for turning left. This type of mobile robot can turn on the spot by driving one wheel
forward and second wheel in the opposite direction
at same rate. Third wheel is a castor wheel needed
for mobile robot stability. Drive wheels are equipped
with encoders and their angular velocity readings become available through simple routine calls. Kinematic
model of a differential drive mobile robot can be found
in [7] and geometrical dependencies are given in Fig. 1,
where r is drive wheel radius (mm), vL and vR are left
and right drive wheel velocities, respectively (mm/s),
x and y present mobile robot position in cartesian coordinates in (mm), and b is axle length between drive
wheels (mm).
left actuated
wheel
center of mass
center of axle
castor wheel
right actuated
wheel
Dynamic motion equation can be derived using EulerLagrange formulation [8, 9]:
d
dt
L
qi
L
= Qi ,
qi
(1)
where L stands for difference of kinetic, T , and potential, U , energy, qi stands for generalized coordinate, and
Qi stands for generalized force that acts on the mechanical system.
Under assumption that mobile robot moves only on a
plane surface, potential energy of robot is zero (U = 0)
and we have to find only kinetic energy of the mobile
robot. Kinetic energy of the whole structure is given by
the following equation:
T = Tt + Tr + Trwr ,
(2)
1
1
mv 2 = m(x2c + yc2 ),
2 c
2
(3)
1 2
IA ,
2
(4)
Tr =
Trwr =
1 2
1 2
I0 R + I0
L,
2
2
(5)
R , and
L are angular velocities of the right and left
R + A
L = ML K
L,
B
(
A=
x A = (
R + L ) cos(),
2
(6)
r
L ) sin(),
(R +
2
(7)
y A =
)
(
)
IA + md2 r2
mr2
+
+ I0 ,
4
b2
(
B=
2.2
= r(R L ) ,
(8)
(9)
cos ,
y C = y A d
(10)
(15)
(
) )
IA + md2 r2
mr2
.
4
b2
(16)
(17)
Experimental identification
R ,
L)
T (
(IA +md2 )r 2
mr 2
8 +
2b2
(
+
(
+
)
+
(IA +md2 )r 2
2b2
mr 2
8
mr 2
4
(I +md2 )r 2
A b2
I0
2
reference value
measured value
R
)
I0
2
)
R
L.
(11)
100
50
L
R
L
L
L
R,
= MR K
R
(12)
L
L,
= ML K
L
(13)
0.5
1.5
time [s]
K L are viscous friction values of right and left wheelmotor systems, respectively in (kgmm/s2 ). Finally,
dynamic motion equations can be expressed as:
R + B
L = MR K
R,
A
(14)
Fig. 2 Mobile robot velocity response in case of a steplike velocity reference change.
It can be seen that in case of a step-like velocity reference change (Fig. 2), mobile robot velocity response is
similar to a ramp determined by maximal acceleration
value. Such behavior is expected but there is also an
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 desired velocity with influence of noise. On the right side
140
reference value
measured value
145
150
155
160
3
7
time [s]
10
11
35
reference value
measured value
30
25
20
15
10
0
13
13.1
13.2
13.3
time [s]
13.4
13.5
13.6
Fig. 4 Mobile robot velocity response in case of a ramplike velocity reference change.
30
reference value
measured value
20
10
10
20
30
25.8
26
26.2
26.4
time [s]
26.6
26.8
27
Fig. 5 Mobile robot velocity response in case of a ramplike velocity reference change crossing stand still point.
Model implementation
This section describes how obtained models were implemented in M ATLAB/S IMULINK. Both models are
implemented with equal requirements. First requirement is of course best possible accuracy. Second requirement was that model can accept measurements obtained from a real mobile robot and compare velocity
values for model accuracy validation. For the sake of
16
ometric center of that element. This is a good approximation because all elements have a symmetrical shape
and constitution like batteries, wheels, motor with gearbox, case, etc. PI controller for drive wheel angular velocity is used. Integral time constant compensates dominant time constant of the velocity control loop. Proportional gain is chosen in order to damping factor of
regulation loop be satisfied ( = 0.9). PI parameters
were so KR = 11996 and TI = 4.58 (s).
14
12
10
8
measured threshold value
estimated threshold value
6
4
2
0
50
100
150
200
250
300
2
velocity and
acceleration left wheel angular
constrains
velocity reference
+
kinematic
right wheel angular
model
+
velocity reference
time delay
esimated
translation
velocity
[mm/s]
PI
controller
DC
motor
PI
controller
DC
motor
rotation
velocity
reference
[o/s]
Mobile
robot
dynamics
+
encoders
Mobile
robot
kinematic
model
estimated
rotation
velocity
[o/s]
Value
28.05
95
320
57.8
9.24 102
175 103
Unit
(kg)
(mm)
(mm)
(mm)
(kgmm2 )
(kgmm2 )
Value
0.013
0.029
1.1
8.5
35 107
Unit
(A/V
)
(N m/ W )
(ms)
(ms)
(N ms/rad)
Coordinates of mobile robot center of mass and moment of inertia with respect to the mobile robot center of mass were computed by separating used mobile
robot on distinctive elements whose mass and pose inside mobile robot could be easily measured. It is assumed that mass of each element is concentrated in ge-
Experimental model
Velocity reference
Tab. 5 Error values in case of rotational velocity estimation in ( /s) for second test values set
Communication delay
Velocity and
acceleration constrains
Threshold at
zero velocity
Error
Maximal
Average
4 Obtained results
In order to test proposed dynamic models two data sets
obtained from a real Pioneer 3DX mobile robot were
prepared. First data set consists of clearly separated
critical velocity change cases. Second data set is taken
from a navigation algorithm testing experiment. Navigation algorithm generated velocity references considering current obstacle situation in mobile robot environment and respecting mobile robot motion constraints. It
presents a more realistic situation and is therefore better
situated for described models accuracy comparison.
Experimental model
8.94
0.92
Tab. 6 Error values in case of translational velocity estimation in (mm/s) for second test values set
Error
Maximal
Average
Estimated velocity
Physical model
6.25
1.19
Physical model
53.96
6.77
Experimental model
32
4.66
Rotation
12.87
2.13
Translation
48.83
14.76
Obtained values of maximal velocity error and its average value are given in Tabs. 3 to 6. For comparison
Tab. 7 contains error values for the case with no model.
Significant improvement can be observed. Apart error values, obtained velocity responses were also examined. They are given in Figs. 9 and 11. Only a part
of recorded velocity values are presented for the sake of
a better representation.
Figs. 10 and 12 present error between measured velocity and estimated velocity. Fig. 10 presents translational
part for first data set and Fig. 12 rotational part for second data set. Other cases can be presented in a similar
fashion.
150
100
Tab. 3 Error values in case of rotational velocity estimation in ( /s) for first test values set
Error
Maximal
Average
Physical model
4.31
0.81
Experimental model
4.59
0.48
50
50
reference
measurement
physical model
experimental model
100
150
Tab. 4 Error values in case of translational velocity estimation in (mm/s) for first test values set
Error
Maximal
Average
Physical model
18.8
3.36
Experimental model
12.4
1.62
For the sake of a better model comparison using deviation values between this two data sets, average velocity
values have to be known. First data set had maximal
translational velocity of 300 (mm/s) and maximal rotational velocity of 50 ( /s). Second data set had maximal values of 600 (mm/s) and 63 ( /s), respectively.
26.8
27
27.2
27.4
time [s]
27.6
27.8
28
Model comparison
6
4
2
0
2
4
6
8
10
12
10
15
20
25
30
35
time [s]
10
12
14
reference
measurement
physical model
experimental model
16
18
81
81.5
82
82.5
time [s]
83
83.5
84
84.5
This paper presents two modelling approaches regarding mobile robot drive dynamics. First approach considers modelling every element of mobile robot drive
system and corresponding control framework. Second
approach models characteristic velocity change cases.
It results in a simpler model that gives smaller average
velocity error.
4
3
rotational speed difference [ /s]
Another crucial aspect of the proposed dynamic models comparison is possibility of their implementation as
part of mobile robot navigational system. Also possibility of making an on-line parameter estimation framework would be a good feature. In both cases only communication delay can be estimated on-line. One has
to consider that only available measurement is mobile
robot velocity. Regarding possibility of implementation
experimental model is simpler and doesnt suffer from
the accuracy loss when discretized.
2
1
0
1
2
3
4
5
20
40
60
80
100
time [s]
tained from real mobile robot in real navigational conditions. First test results confirm an improvement in
comparison to usage of velocity reference values for
mobile robot motion prediction. When used by navigational system, mobile robot pose prediction could be
more accurate and a more precise generated trajectory
following can be assured.
So future work will go into direction of including this
dynamic model into mobile robot navigational system
(localization and path planing module) and expanding
it with an on-line estimation framework.
7 Acknowledgement
This research has been supported by the Ministry of
Science and Technology of the Republic of Croatia under grant No. 036-0363078-3018. Authors wish also
to thank Marija Dakulovic for help in providing needed
velocity data from her navigation experiments for dynamic model testing.
8 References
[1] Anthony Stentz. Optimal and efficient path planning for unknown and dynamic environments. International Journal of Robotics and Automation,
10:89100, 1993.
[2] M. Djakulovic and I. Petrovic. Dynamic window
based approach to mobile robot motion control in
the presence of moving obstacles. In Proceedings
of IEEE International Conference on Robotics
and Automation - ICRA 2007, Roma, Italy, 10-14
April 2007, pages 19861991, 2007.
[3] G. Oriolo, A. D. Luca, and M. Vendittelli. Wmr
control via dynamic feedback linearization: Design, implementacion, and experimental validation. IEEE Transactions on Control Systems Technology, 10(6):835852, 2002.