MOBILE ROBOT DYNAMICS WITH FRICTION IN SIMULINK
J. Čerkala, A. Jadlovská
Department of Cybernetics and Artificial Intelligence, Faculty of Electrical Engineering and
Informatics, Technical University of Košice, Slovak Republic
Abstract
This article focuses on the modeling of two-wheel mobile robot with differential chassis, which
is moving in the plane. According to the application, it can be modeled with different accuracy
levels depending on structural limits and other physical impacts. Main goal of this article is
to include the effects of friction into the mobile robot dynamics. Four basic models of friction
are combined into generalized model, which is then implemented as single Simulink block and
added to model of mobile robot. Experiments show behaviour of friction models and mobile
robot with friction.
1 Introduction
Advanced simulation and computing programs, such as Matlab/Simulink offer options to create and use
a large variety of dynamic systems simulation models, that also includes the mobile robots. Based on the
mathematical and physical relations, it is possible to obtain the mathematical models of mobile robots
with different levels of accuracy, which can be used as basis for simulation models programming. They
are useful during the robot prototype design process, as a parts of advanced control structures or as a
simulation data source for physical variables, that cannot be measured on real models.
The main subject of interest of this article is the nonholonmic mobile robot with differentially
driven wheels. In literature, this model of robot is usually considered as a mathematical model with
simple dynamics [1], that includes the influences of robot’s mass m and overall moment of inertia J to
it’s movement. The simulation model based on this mathematical model is usually used in more complex
control structures and it is often extended by internal feedback control loop with PI controllers, designed
to suppress the negative dynamics effects [1], [6]. The friction forces acting against robot movement are
usually not taken into account in the mathematical model, because it is assumed, that the internal control
loop can suppress them too, but simulation model itself without the internal control loop is not accurate
in several views, for example:
• while there is a constant applied traction force, the robot accelerates without limit,
• wheel engines can set robot in motion at any non-zero force, that is not possible in reality,
• after robot achieves the constant velocity and has a zero acceleration, the traction forces are zero
and the robot win never stop or slow down.
From this point of view, the measured simulation data for engine traction forces are not valid. To get
simulation data, that are suitable for the feedforward neural model training [6], it is appropriate to increase the accuracy of mathematical model by adding influences of friction, that is usually not taken into
account [1] or only simplified [6]. The main disadvantage of friction modelling is the non-linearity at
zero velocity and subsequent numerical problems in calculations and simulations [3]. The focus of this
article is in the implementation of friction into simulation model of nonholonomic mobile robot with
differentially driven wheels, performed in the Simulink environment.
2 Mathematical model of mobile robot
Usually, the main control task for mentioned type of mobile robot is to control it’s position in plane,
which can be defined as a vector
qR = [x y ϕ θR θL ]T ,
(1)
that describes the robot’s centre of gravity CoG position in terms of the global coordinate system (GCS)
by cartesian coordinates x, y on X and Y axes. The angle ϕ express the rotation of robot’s local coordinate
system against the GCS. Position vector can be extended by θR and θL for description of the right and
left wheel angular positions. The overall robot’s position in GCS is depicted on Fig. 1.
Figure 1: Definition of mobile robot dimensions and position in global coordinate system
The mathematical model of mobile robot can be interpreted as a conjunction of the kinematic and
dynamic model. Kinematic model define the position of robot in plane [5] and the dynamic model covers
the robot’s dynamical properties and influences [1].
2.1
Kinematic model of mobile robot
Kinematic model of mobile robot with differentially driven wheels can be obtained from the assumptions
for wheel movement in the plane [4]:
• the robot can move in plane while its Z axis is always perpendicular to this plane,
• wheels are rolling without forward slip fulfilling the holonomic constraints for movement of this
type of robot in plane [2],
• it is assumed, that in a small time samples, even while the robot is moving straight forward, it
always moves on an arc, which centre is the ICC - instantaneous centre of curvature and this arc’s
radius is in term of CoG defined as Ro [5],
• the robot base is solid, it’s mass is constant and the wheels are only moving parts of the robot.
The kinematic model can be derived from the geometric properties of the robot motion in plane by
defining the angular velocity of mobile robot centre of gravity CoG in respect to ICC as [5]
ω(t) =
vR (t)
Ro + b
or
vL (t)
,
Ro − b
vR (t) − vL (t)
ω(t) =
,
2b
ω(t) =
(2)
where b expresses the distance between wheel and CoG, which lies in the middle of wheels rotation axis.
The radius Ro of an arc than can be defined as
Ro =
b[vR (t) + vL (t)]
−vR (t) + vL (t)
(3)
and the linear velocity v(t) of mobile robot moving at this arc is
v(t) = Ro ω(t) =
vR (t) + vL (t)
.
2
(4)
In terms of GCS, the kinematic equations for mobile robot movement defined for linear velocity v(t) and
its overall angular velocit ω(t) can be summed as
ẋ(t) = v(t) cos ϕ(t),
ẏ(t) = v(t) sin ϕ(t),
(5)
ϕ̇(t) = ω(t).
If necessary, the kinematic model (5) can be also defined for the wheel linear velocities vR (t), vL (t) from
angular velocity equations (2) and for the wheel angular velocities ωR , ωL by incorporating the wheel
radius r [1]. For the purposes of mobile robot control, the x(t) and y(t) position coordinates of robot’s
CoG are the most important, the orientation angle ϕ(t) can be also used as one goal of the control. The
angular positions of wheels θR (t), θL (t) can be obtained as well [2], but they have rather informational
value. Kinematic model defined as system of equations (5) is the ideal mobile robot mathematical model,
which is sufficient for some types of applications, but if the goal is to get more realistic data, it has to be
extended by dynamic effects.
2.2
Dynamic model of mobile robot
Given that the dynamic properties of mobile robot have an important influence to its motion, mainly
from the wheel engines traction forces FR , FL , it is possible to incorporate them into the mobile robot’s
dynamic model. According to the second Newtons law [1]
Fi = mi ai ,
(6)
the linear acceleration of mobile robot’s base can be interpreted as a derivation of its linear velocity v
and interpreted as a sum
FR F L
+
.
(7)
v̇ =
m
m
while the traction forces FR , FL can be defined from the robot’s overall torque
τrobot = τR + τL ,
(8)
where τR , τL express partial wheel torques. Those torques can be defined in terms of the traction forces
as
τR = FR b and τL = −FL b,
(9)
while the left engine traction force FL is considered in opposite direction to suit the relation (8) for the
robot’s overall torque τrobot , this situation is depicted on Fig. 2
Figure 2: Definition of mobile robot’s overall torque τrobot and orientation of traction forces FR , FL
Angular acceleration of mobile robot ω̇ can be expressed by its torque τrobot and robot’s overall
moment of inertia J as
τrobot = J ω̇.
(10)
By substituting the partial wheel torques (9) for right and left engine τR , τL into the sum (8) of total
mobile robot’s torque τrobot and by comparing it with the equation (10), it is possible to obtain the
angular velocity ω̇ of two wheeled mobile robot (11) as a function of a robot’s engines traction forces.
ω̇ = FR
b
b
− FL .
J
J
(11)
Mathematical model of mobile robot with differentially driven wheels, that consist of a kinematic (5)
and dynamic (7), (11) model may be represented by block diagram depicted on Fig. 3 and it can be
programmed as a simulation model in the Simulink environment.
Figure 3: Block diagram of a mobile robot with the wheel engines traction forces as inputs and the
position coordinates as outputs
The following part of the article analyses the friction as an extension to the mobile robot dynamic
model expressed by (7) and (11).
2.3
Friction in mobile robot dynamics
Friction acting against the movement is dependent on the object’s mass by the normal force FN and it can
be classified as a static or a kinetic friction [3], [7]. Static friction is considered only at zero velocity and
it is represented by its coefficient µs as a force threshold Fs , which must be overcome to set the object,
in this case a mobile robot, moving. Until reaching this force threshold, the effect of wheel traction force
Fext is compensated by static friction force Ff r . After overcoming the Fs , the robot is set in motion,
now affected by kinetic friction, which is usually represented as a constant Coulomb friction, defined as
Ff r (v) = µk FN · sign(v),
(12)
where µk is the Coulomb friction coefficient. This (12) kinetic friction model defines the friction force at
non-zero velocities, it is independent on the size of contact area and always acts against the movement,
however the friction force Ff r is dependent on a moving object’s velocity direction, no matter the size.
In general, the coefficients are defined in term µs ≥ µk , while in the case of µs > µk it is possible to
consider the effect of stiction [3], illustrated on Fig. 4.
Figure 4: Friction models: a) Coulomb friction model, b) Coulomb friction model with stiction effect
Kinetic model of friction can be further extended by considering the viscous friction, defined by
µv coefficent, which causes an increase in the friction force with increasing velocity v of moving object.
Finally, at small velocities and with the active stiction effect, it is possible to apply the Stribeck curve
defined by coefficent ast , which replaces the step change of the friction force from Fs to Fk by stepless change at a small velocities interval [3]. By combining the above mentioned friction models, a
generalized model of friction can be obtained as [3]
Fext
Fs
Ff r (Fext , v) =
F + (Fs − Fk )e−ast v + Fv v
k
−Fk + (Fk − Fs )east v − Fv v
v
v
v
v
= 0 a Fext < Fs
= 0 a Fext ≥ Fs
>0
<0
(13)
and it can be represented as a function of velocity v depicted in Fig. 5.
Figure 5: Generalized model of friction - a function of velocity v
In Simulink environment, it is advantageous to create a variable block, that allows user to select
desired friction model through the dynamic mask. Fig. 6 shows the programmed block with different
settings for typical friction models [7]. The block have an additional state input vsta and reset output
vrst , both used later when the block is integrated into the simulation model of mobile robot dynamic
model in the following part of article.
Figure 6: Different setting for created friction model in Simulink
3 Mobile robot dynamics with friction in Simulink
Dynamic model of the mobile robot, shown in Fig 3, that covers the influences of robot’s mass m and
inertia J defined for linear (7) and angular acceleration (11) can be extended in the Simulink environment
by connecting the generalized friction (13) block. Since it may be expressed for external, traction force
Fext and linear velocity v, it can be integrated into the dynamic model of mobile robot individually for
both wheels, while it is necessary to express their linear velocities vR , vL as a functions of the traction
forces FR , FL .
Model trenia
Fext(t)
Ftr(t)
[VR]
v(t)
[norm]
FN(t)
[Rsta]
vsta
vrst
[VL]
[Rrst]
1
Coulomb + Stribeck + Viscous MRB
Linear
velocity
Friction against movement and traction force - Right wheel
vR(t)
1
FR(t)
FR(t)
Fr
[Rrst]
2
ω(t)
omega
reset
Included Mass
and
Inertia
rst L
Reset velocity logic
Fext(t)
Apply friction to
left wheel
[Lsta]
4
states
alfa
aL(t)
FL(t)
Fl
[Rsta]
α(t)
ω
FL(t)
2
DYNAMIC PART
rst R
Reset
[Lrst]
[VR]
aR(t)
Apply friction
to right wheel
ω
v
MRB
vL(t)
3
[VL]
Linear
acceleration
Dynamic part with mass and
inertia for single wheels
Model trenia
a
Normal Force
Ftr(t)
[VL]
m
v(t)
Normal force
[norm]
FN(t)
[Lsta]
vsta
vrst
[norm]
9.81
g
[Lrst]
Coulomb + Stribeck + Viscous MRB
Friction against movement and traction force - Left wheel
Figure 7: Dynamic model of the mobile robot extended by adjustable friction
The state outputs from integrator blocks, that calculates the wheel linear velocities are connected
to the friction block’s ports vsta and those integrators have an external reset inputs, connected to output
ports vrst . The implementation of this scheme in Simulink environment is shown in Fig. 7.
4 Experiments and results
The first simulation experiment, which output is depicted on Fig. 8 illustrates the effects only of the
Coulomb friction due to acting external force and velocity of the moving object. The inputs of friction
force block are the normal force FN = 10 N, the external force Fext is simulated as a sine wave with
an amplitude of 1, the linear velocity v is the same sine signal reduced to half and delayed by 1 second,
output of the block is the frictional force Ff r dependent on inputs and friction coefficients relevant for
rolling movement.
Friction force acting against external force or velocity
1.5
External force F
(t)
ext
Linear velocity v(t)
Friction force F (t)
1
Forces and velocity
fr
0.5
0
−0.5
−1
0
1
2
3
4
5
6
7
8
9
10
Simulation time t [s]
Figure 8: The Coulomb friction - effects of static and kinetic friction with regard to the external force
and caused linear velocity
In the second experiment, plotted on the Fig. 9, a generalised model of friction (13) with same
input conditions is used. From the behaviour of the friction force Ff r , the influences of stiction, Coulomb
kinetic friction, viscous friction and the stribeck curve at small velocities can be seen.
Friction force acting against external force or velocity − stiction effect
1.5
External force Fext(t)
Linear velocity v(t)
Friction force Ffr(t)
Forces and velocity
1
0.5
0
−0.5
−1
0
1
2
3
4
5
6
7
8
9
10
Simulation time t [s]
Figure 9: The generalized friction - the effects of static and kinetic friction with regard to the external
force and caused linear velocity
The generalized model of friction (13) is also considered in the next experiment: a constant traction
forces FR = 0.5N a FL = 0.51N are fed for 3 seconds to the simulation model of mobile robot inputs.
The mobile robot block in experiment shown on Fig. 10 implements the block diagram from Fig. 3.
Figure 10: The simulation experiment for demonstration of the friction effects acting on mobile robot
movement
Both forces are greater than the threshold of static friction force Fs and therefore, the robot is
immediately set in motion. At the moment, when the robot starts moving and its velocity v slowly rises,
the friction force Ff r gradually decline according to stribeck curve. After reaching the local minimum
at constant Coulomb friction, with rising velocity the viscous friction impact is more significant. After
period of 3 seconds, the excitation forces are no longer in effect and because of friction, the robot starts
to slow down until it stops - the linear velocity v is than zero as well as friction forces. Fig. 11 plots the
overall linear velocity of robot v(t) and the friction forces acting on both wheels.
Robot overall linear velocity v(t)
Linear velocity
−1
v(t) [m⋅s ]
3
2.5
2
1.5
1
0.5
0
0
1
2
3
4
5
6
5
6
Friction forces acting against movement
Right wheel friction Ffr R
Left wheel friction Ffr L
−0.1
Excited until →
fr
Acting friction
force F [N]
0
−0.2
−0.3
−0.4
0
1
2
3
4
Simulation time t [s]
Figure 11: The simulation experiment - the overall linear velocity and the impact of friction forces to the
robot wheels
Given that the input excitation forces FR and FL are not equal, the robot starts to turn in meaning
of a weaker force, in this case it turns right. Mobile robot’s movement in the plane for last simulation
experiment is shown on Fig. 12.
Robot with friction moving in plane excited for 3 seconds.
Y position coordinate [m]
1
0.5
0
Robot trajectory
Initial position
Final position
−0.5
−1
−1.5
←End of excitation
−2
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
X position coordinate [m]
Figure 12: The simulation experiment - robot movement in the plane affected by friction
The Simulink environment enables to program the simulation model of mobile robot with dynamics based on mathematical model and use it in simulation experiments to obtain desired data. It also offers
options to create a simulation block, that realizes a the generalized model of friction and implement it
into a dynamic model of the mobile robot.
5 Conclusion
This article describes how to include the friction into the dynamic model of the mobile robot and thus
suppress the inaccuracies mentioned in the introduction of the article. If the friction is included in the
dynamics of the simulation model of robot, then
• the robot does not move until the engines have a sufficient force to overcome the Fs threshold,
• due to friction, an already moving robot without the external input will slow down and stop,
• the viscous friction ensure that robot has a maximal velocity,
• at a constant velocity, the engines develop a traction forces that keeps the robot moving.
By taking the friction into account, the simulation model of mobile robot with differentially driven wheels
is more complex, however the obtained data are more accurate and they are usable for example, to train
the feed-forward neural model [6].
To control the mobile robot position or for the trajectory tracking [1], [2], the reference values are
usually angular velocities of wheels ωR a ωL . For these reason, the mobile robot shown in Fig. 3 has
to be extended by the internal feed-back control loop with PI controllers, that can suppress the dynamic
effects. Block diagram of the proposed control structure is shown on Fig. 13.
Figure 13: Diagram of a mobile robot with an internal control loop
Thanks to the internal control loop, the influences of friction should be suppressed like other robot
dynamics, but obtained simulation data will be more realistic.
Acknowledgment
This work has been supported by the Scientific Grant Agencyof Slovak Republicunder project Vega
No.1/0286/11 Dynamic Hybrid Architectures of the Multiagent Network Control Systems (40%), by
the Research and Development Operational Program forproject: University Science Park Technicom for
innovative applications with knowledge technology support, ITMS code 26220220182, co-financed by
the ERDF (40%) and project KEGA 021TUKE-4/2012 (20%).
References
[1] Jaroslav Šembera and František Šolc. Modelování a řízení mobilního robotu s diferenciálním podvozkem. AT&P Journal PLUS1, pages 203–207, 2007.
[2] Takanori Fukao, Hiroshi Nakagawa, and Norihiko Adachi. Adaptive tracking control of a nonholonomic mobile robot. Robotics and Automation, IEEE Transactions on, 16(5):609–615, Oct 2000.
[3] Claudiu Iurian, Fayçal Ikhouane, José Rodellar Benedé, and Robert Griñó Cubero. Identification of
a system with dry friction, 2005. External research report.
[4] Jose Mireles Jr. Kinematic models of mobile robots. Automation and Robotics Research Institute,
University of Texas at Austin, 2004.
[5] Vamsi Mohan Peri and Dan Simon. Fuzzy logic control for an autonomous robot. In Fuzzy Information Processing Society, 2005. NAFIPS 2005. Annual Meeting of the North American, pages
337–342, June 2005.
[6] Peter Šuster and Anna Jadlovská. Neural tracking trajectory of the mobile robot Khepera II in
internal model control structure. In Process Control 2010 : 9th International Conference, 2010.
[7] Ivan Virgala and Michal Kelemen. Experimental friction identification of a dc motor. International
Journal of Mechanics and Applications, 3(1):26–30, 2013.
Ing. Jakub Čerkala
jakub.cerkala@tuke.sk
doc. Ing. Anna Jadlovská, PhD.
anna.jadlovska@tuke.sk