You are on page 1of 14

1

Construction of a WMR for trajectory tracking


control: experimental results
R. Silva-Ortigoza♣ , C. Márquez-Sánchez♣ , M. Marcelino-Aranda , M. Marciano-Melchor♣ ,
G. Silva-Ortigoza , R. Bautista-Quintero♠ , E. R. Ramos-Silvestre ,
J. C. Rivera-Dı́az , and D. Muñoz-Carrillo♣
♣ InstitutoPolitécnico Nacional, CIDETEC. Área de Mecatrónica.
Unidad Profesional Adolfo López Mateos. CP 07700, México, DF., Mexico.

Instituto Politécnico Nacional, UPIICSA. Sección de Estudios de
Posgrado e Investigación. CP 08400, México, DF., Mexico.

Benemérita Universidad Autónoma de Puebla. Facultad de Ciencias
Fı́sico Matemáticas. CP 72001, Puebla, Pue., Mexico.
♠ Instituto Tecnológico de Culiacán. Departamento de Metal-Mecánica.

CP 80220, Culiacán, Sin., Mexico.



Universidad del Valle. Facultad de Informática y Electrónica.
Cochabamba, Bolivia.

Centro Nacional de Actualización Docente. Área de Máquinas.
CP 13420, México, DF., Mexico.

Abstract—This paper reports a solution for the trajectory this field –generally– has focused to solve these problems: 1)
tracking control of a differential drive Wheeled-Mobile-Robot Mobile robot positioning, 2) Regulation, 3) Trajectory-tracking
(WMR) based on a hierarchical approach. Additionally, the control, 4) Planning trajectories and 5) Obstacle avoidance.
general design and construction of the WMR is described. The
hierarchical controller proposed has two components; a high- In the robot positioning problem, according to [3], it is
level control and a low-level control. The high-level control law, known that a non-holonomic system can not be asymptotically
is based on input-output linearization scheme for the robot stabilized at an equilibrium point using a differentiable control
kinematics model, which provides the desired angular velocity law, despite of the system being completely controllable.
profiles that WMR has to track, in order to achieve the desired Accordingly, the stabilization of non-holonomic systems can
position (x∗ , y ∗ ) and orientation (ϕ∗ ). Then, a low-level control
law, based on a Proportional Integral (PI) approach, is designed only be achieved by non-differentiable control laws [4] or
to control speed of the WMR wheels that ensure the tracking time-dependent ones [5]-[9].
features aforementioned. Regarding to the trajectories, this paper Moreover, the tracking problem in non-holonomic systems
provides the solution for the following cases: 1) time-variant can be performed through differentiable control laws. Ac-
parametric trajectories such as straight lines, parabolas, etc., and cording to [10], the experimental results for a trailer-type
2) Smooth curves fitted by cubic splines, which are generated by
desired data points {(x∗1 , y1∗ ) , . . . , (x∗n , yn∗ )}. A straightforward system proposed a hierarchical control scheme based on
algorithm is developed for constructing the cubic splines. Finally, two-levels (high-level and low-level). The high-level strategy
this paper includes experimental validation of the proposed generates a path trajectory from an off-line algorithm, then
technique by employing a DS1104 dSPACE electronic board a linearized kinematic model about the trajectory previously
along with Matlab-Simulink software. generated is tracked via a Linear Quadratic Regulator (LQR).
Index Terms—Wheeled mobile robot, Trajectory tracking con- Both traction and steering wheel are meant to follow an
trol, DC motor, Construction and implementation, Cubic splines. specific profile in order that the car-trailer tracks the cartesian
path trajectory. Then, a low-level strategy is designed for
controlling the traction motor and steering wheel actuator
I. I NTRODUCTION by using a Proportional Integrative Derivative (PID) control
In the last decades the control of Wheeled-Mobile-Robots law. Similarly, in [11], the control of a differential WMR,
(WMRs) has been an interesting topic to research [1]. The dif- is proposed a variable structure control scheme, based on
ferential robot configuration studied in this paper (in the con- external and internal control strategies. The external control
text of control theory) has non-holonomic constrains. These is associated to the kinematics model of the mobile robot,
features imply restrictions to integrate the velocities of the which is responsible for generating the desired angular veloc-
model; in other words, the velocity plane is restricted [2]. In ity profiles for the motors, via an input-output linearization
order to improve autonomy of the Mobile robots, literature in scheme. Meanwhile the external control is meant to track the
2

velocities imposed by the external control via a PID control. To this end, the current paper is organized as follows.
Furthermore, by exploiting the differential property of flatness, Section II presents the general description of the WMR
see [12], which satisfies the WMR kinematic model. Likewise construction. Section III describes the hierarchical controller
in [13], the dynamic controller design for trajectory tracking law for the kinematic model for the trajectory tracking task.
tasks was presented. In [14], a control approach, based on Section IV shows an algorithm to generate smooth curves
sliding mode control in combination with differential flatness based on specific points given in the XY plane via cubic
was presented. In [15], by linearizing the dynamic model splines. Section V shows the real-time control implementa-
of a WMR and using the torque calculation method [16], tion for the WMR. Finally, conclusions and future work are
the trajectory tracking control via sliding mode control was presented in Section VI.
reported. More recently, in [17], a input-output linearization
design is presented while the actuators are controlled by a II. C ONSTRUCTION OF THE WMR
sensorless scheme. In [18], a formal justification of using
the velocity and current inner loops driven by proportional A mobile Robot is –in general– composed by two mechan-
controllers, this approach integrates the actuators dynamic for ical subsystems: 1) Actuators and 2) Mechanical design. In
trajectory tracking tasks. order to control each subsystem it requires two electronic
Different approaches for trajectory tracking generation prob- stages: 1) power stage and 2) control stage. For this work, a
lem have been widely studied, see for instance [19]. where the block-diagram structure of the prototype is shown in the Figure
“path planning” problem is related to generate a sequence of 1. The electronic power stage (stage 2) allows the interaction
points where the robot, must pass through, (either an end- between the electronic control interface (stage 3) and the
effector of an industrial robot or the mobile path trajectory) two dynamic subsystems (stage 1). This interaction includes
see more in [20]. Another approach is known as “trajectory the communication system, power supply and conditioning
planning and optimization”, and it includes a structure that circuits (in order to interconnect the electronic board DS1104).
integrates the dynamic with the path planning. Multi-objective The strategy designed in the PC (using Matlab-Simulink)
optimization can be addressed, such as, cost-efficiency use of keeps the whole system under control considering physical
energy, tasking time and other similar constraints, see more restrictions. Likewise, control stage describes the control
in [21]. Although the trajectory generation can be solved strategies used to integrate functioning of each subsystems
regardless dynamic consideration, real constraints issues make (based on plant mathematic models).
this approach not a practical choice for many applications.
An ideal trajectory implementation with smooth transitions A. Stage 1. Subsystems
(human-like) as well as robust against external disturbances This part describes the WMR dynamic subsystems a and b
must be designed under multi-objective contradicting goals. which includes actuators, sensors and mechanic structure. The
A well known implementation for this problem is based on subsystem a (motors and sensors) allows the WMR propulsion
Splines [22], [23] and [24], which can be designed in such under a specified workspace and the discrete position sensing.
a way, that both speed and acceleration transitions follow The subsystem b is described for the mechanical design.
the dynamic requirements. For instance: in [25] and [26] an 1) Subsystem a: Actuators and Sensors: The prototype
algorithm for path planning for mobile robots used in football described in this work uses DC motors as actuators. In order
competitions was presented. In [27] a technique was shown to estimate the mechanical capacity of these actuators it is
for path planning based on splines, it was used for simulation proposed the maximum speed, acceleration and weight of the
of differential mobile robots. WMR system:
After the literature review related to differential drive
WMRs into its own multidisciplinary scenario of theoretical υ = 1 m/s, a = 1 m/s2 , m = 46.74 kg.
control and implementation issues. The contribution of this
work presents an integration of both theoretical and practical Based on the mass m and maximum acceleration a, is possible
knowledge in order to close the gap between the two. A to calculate required force F for its displacement:
relevant and modern open-architecture testbed described in F = ma = (46.74 kg)(1 m/s2 ) = 46.74 N.
this paper deals with the synergic combination of an effective
control approach and state-of-the-art technology for rapid Since two motors are used, each of them has an associated
prototyping that conjugate hard real-time control implemen- force; Frm for the right wheel motor and Flm for the left
tation and a software (Matlab-simulink) widely used for these wheel motor, respectively. One motor provides half of the total
applications. In this context, the paper has three aims: 1) force required, i.e:
to describe the construction of a differential drive WMR, 2) F 46.74 N
to show the implementation in real-time hierarchical control Frm = Flm = = = 23.37 N.
2 2
strategy in order to execute the trajectory tracking control task,
and 3) to present a methodology for generating the WMR path Due to the wheel diameter is 0.15 m (r = 0.075 m), the
trajectories (based on cubic-splines) which are constructed required torque for each motor is given by:
by desired data points {(x∗1 , y1∗ ) , . . . , (x∗n , yn∗ )}, additionally, τrm = Frm r = (23.37 N) (0.075 m) = 1.75 Nm,
time-variant parametric trajectories such as straight lines,
parabolic curves, etc. are also implemented. τlm = Flm r = (23.37 N) (0.075 m) = 1.75 Nm.
3

Stage 1: Stage 2: Stage 3:


Subsystems Power system Acquisition and
control system
Source circuit
Subsystem a Subsystem b Interface
circuit
Actuators Mechanical
and desing Optocoupler Bridge Encoder
sensors circuit circuit circuit

Fig. 1. General block diagram of the WMR prototype.

Based on that υ = ωw r, the angular speed is related to each 2) Subsystem b: Mechanical Design: Once the components
wheel and it is determined by: are selected the software SolidWorks is used to integrate all
mechanical parts with WMR into a virtual model. The 3D
υ 1 m/s
ωw = = ≈ 13.33 rad/s ≈ 127.35 rpm. visual feature of this software allows the correct component
r 0.075 m distribution in the WMR according design requirements. Also
So that, the power required Pw is calculated as follows: the software can be used for specifying material properties to
the model of each part of the WMR. The parts built for this
Pw = τrm ωw = (1.75 Nm)(13.33 rad/s) ≈ 23.37 W. prototype, from the materials previously selected, (see Figure
2), are:
The energy must be transmitted to each wheel of the WMR;
however the power required is higher than the calculated power • The WMR base is made of aluminum sheet, which is
since there is a lost due to the gearbox coupling. The gearbox used to support all components, see Figure 3.
efficiency is around 70%, so that the estimation of the power • The wheels used to provide traction to the WMR are
required (Pd ) is given by: constructed with an aluminum rod, see Figure 4.
• The axle housings are made of yellow brass; they are
Pw 23.37 W
Pd = = = 33.39 W. used for coupling between the shaft of the motor and the
0.7 0.7 wheels, see 5.
Based on the data sheet of the motor [28], the golden rule • Supports for the ball casters; they are two rectangular
for selecting an appropriate motor, it is recommended to have pieces made of aluminum used for assembly the WMR
between 1.5 and 2 times the required power Pd , thus: structure, see Figure 6.
• Six aluminum bars join the ball caster supports with the
50.09 W < Pd < 66.78 W. base of the WMR, see Figure 7.
• Ball-bearings support. The ball-bearings allow rotation
So that, the motors selected are GNM 3150 (24 V, 55 W) without translation of the traction wheels due to the shaft
and the gearbox chosen for each motor is G 2.6. The second motor rotation. Supports have both functions, keep the
golden rule given by the manufacturer shows the importance ball-bearing embedded into it and join the base with
to maintain the desired speed ωd must be between 65% and the motors. It was made of aluminum cut to appropriate
90% of the no-load motor speed (i. e., 3526 rpm), thus, dimensions. A mechanical lathe was used for making the
box into the supports in order to place the ball-bearing,
2291.9 rpm < ωd < 3173.4 rpm.
see Figure 8.
In order to satisfy this condition, the reduction ratio should be
at least 20:1, since,

ωm = 20ωw = (20)(127.35 rpm) = 2547 rpm.

Such as selected motors –including gearboxes– are the series


GNM 3150 (24 V, 55 W) Engel brand, and a gear-box G 2.6.
The power is supplied with two YUASA batteries 12 V @ 12
Ah.
Regarding the prototype sensors, it uses two incremental
optical encoders. These sensors allow to estimate the angu-
lar speed of the wheels, consequently, the robot is able to Fig. 2. Materials used for the prototype construction.
perform the trajectory tracking task. The manufacturer of the
sensors is the Korean Autonics, and the model-series is E50S8.
These sensor are powered by the YUASA battery previously To conclude this subsection, Figure 9 shows a bottom view
presented. The configuration of these sensors in the prototype of final mechanical design made in SolidWorks , as well as
can be seen in Figure 9. pictures of three different views of the prototype.
4

(a) Base in SolidWorks . (b) Real picture of the base. (a) SolidWorks design. (b) Real holders.

Fig. 3. Base design. Fig. 8. Ball-bearing supports.

(a) Wheel in SolidWorks . (b) Real wheels of the WMR.

Fig. 4. Traction wheels design.


(a) SolidWorks design. (b) SolidWorks design.

(a) SolidWorks design. (b) Coupling system.


(c) SolidWorks design. (d) Real holders.
Fig. 5. Join coupling system.
Fig. 9. Views of both mechanical design and the real prototype.

B. Stage 2. Power system


Electronic design is an essential stage for the WMR since
correct functioning depends upon it. This section describes the
most important features related to interconnection between the
data acquisition board (from the computer) and conditioning
(a) SolidWorks design. (b) Supports and ball casters.
signals (to the WMR).
A block diagram of stage 2 is shown in Figure 10. This
Fig. 6. Ball-caster support. block makes reference sub-stages, from 1 to 4 (source circuit,
opto-isolator, power circuit, encoder sensor). In the sub-stage
1 the power supply (source circuit) distributes the different
voltages to the general electronic system. The sub-stage 2
allows electric signals isolation between the electronic board
DS1104 and the sub-stage 3. Also; this part of the system
allows a voltage to be applied across the motor in either
direction. This circuit is based on the H-bridge LMD18200.
The sub-stage 4 is used to acquire encoders’ signals which
can be used to estimate position into the work space.
(a) SolidWorks design. (b) Join bars, support and ball casters.

Fig. 7. Holding bars design. C. Stage 3. Data acquisition and control


This stage contains the last subsystem presented in the
general description of the WMR (see Figure 1). As it was men-
tioned before, DS1104 board performs acquisition and control
5

Sub-stage 1
Source circuit

Optocoupler H-bridge Left Encoder


DS 1104 circuit circuit motor circuit
dSPACE Optocoupler H-bridge Rigth Encoder
circuit circuit motor circuit
PC
Sub-stage 2 Sub-stage 3 Sub-stage 4

Fig. 10. Block diagram of the power stage.

of the WMR. This board was selected due to integration III. C ONTROL FOR THE WMR
software between the Matlab and the board firmware. The
In this section, two separate controls are proposed; the
high programming level of Simulink (as part of Matlab ) is
first for the kinematic WMR model and the second for the
a practical choice to program complex control strategies in a
DC motors (WMR actuators). The integration of both control
graphic environment. This stage also includes the interface cir-
strategies is based on the hierarchical control as they were
cuit (see Figure 1). This circuit establishes the communication
shown in [10] and [17].
between the acquisition board and the WMR. It contains an
integrated circuit (74HC541) as a buffer that not only allows
the signal bit interchange between the WMR and the DS1104 A. Control for the WMR via input-output linearization
but also activates two signals DIR and PWM motor (LEDs The WMR studied in this work has two back wheels (left
indicators). Lastly, in the Figure 11(a) shows the final WMR and right) which are identical and completely parallel between
mechanical design and the Figure 11(b) is the real WMR with them, no flexible and jointed by a shaft. Moreover it has front
the instrumentation included. ball casters that make sure that the WMR platform moves
over the plane. Assuming that WMR movements are over XY
plane and having no slippery condition there is mathematic
description for the mobile kinematics given by [13],
(ωr + ωl ) r
ẋ = cos ϕ,
2
(ωr + ωl ) r
ẏ = sin ϕ, (1)
2
(ωr − ωl ) r
ϕ̇ = ,
2l
where (x, y) are the position measured in the mid-point
between the two back wheels, ϕ is the angle between the
(a) Prototype 3D view elaborated in SolidWorks . symmetric WMR axis with respect to the positive X axis, ωl
and ωr are the angular speeds (left and right wheels). Similarly,
r is the wheels ratio and 2l is the gap between them (see
Figure 12). According to the equations shown in (1), the first
derivative with respect to time t is denoted by a point.

Y !l
v~
!
y P '

2l
!r
(b) Real view of the WMR.
x X
Fig. 11. The complete prototype.

Fig. 12. WMR diagram.


6

The input control is given by the angular speeds (ωr , ωl ) and Thus, when t → ∞,
a strategy based on input-output linearization static feedback,
ẏ = ẋ∗ tan ϕ∗ . (9)
the control can be implemented for any pair of outputs:
(x, y) , (x, ϕ) or (y, ϕ). Consequently, in each case there will If x∗ and y ∗ are such that,
be a remaining dynamic (dynamic zero) so that, in order to
y ∗ = f (x∗ ) , (10)
ensure a close loop stable system, it requires an analysis of
stability property. where f (x∗ ) is a smooth function and such as f (0) = 0 ,
The control design is performed over the output variables then (1) and (10), a direct expression shows that
(x, ϕ) and analysis of the remaining dynamic in close loop  ∗  
∗ ẏ df (x∗ )
is studied, particularly for the state variable y. First, the ϕ = arctan = arctan , (11)
kinematics equations that describe the WMR are re-written ẋ∗ dx∗
in two subsystems. The first, given by and where it gives that (9) is simplified as
     r cos ϕ r cos ϕ   
ẋ ωr df (x∗ ) df (x∗ )
= A1 , A1 = 2 2 . (2) ẏ = ẋ∗ tan ϕ∗ = ẋ∗ = . (12)
ϕ̇ ωl r
2l − 2l
r
dx∗ dt
This model only includes the state variables to be controlled Thus, integrating it gives that
(x, ϕ), and the second y (t) = f (x∗ (t)) = y ∗ , (13)
(ωr + ωl ) r
ẏ = sin ϕ. (3) where an integral constant has been chosen in such a way that
2
y (0) = f (0) = 0.
It has a remaining dynamic associated to the state variable y, As a conclusion, it has been shown that under the initial
once that states (x, ϕ) have been controlled, so that, x → x∗ condition (x, y, ϕ) = (0, 0, 0), controllers (5) the state-space
and ϕ → ϕ∗ . variables (x, y, ϕ) require that they tend to (x∗ , y ∗ , ϕ∗ ) re-
2
Since det (A1 ) = − r cos 2l
ϕ
, a controller can be pro- spectively.
posed where output is (x, ϕ) except in ϕ = kπ 2 , where
k = ±1, ±3, ±5, . . . , (i. e., A1 must be invertible). In order to
B. PI control for the DC motor
obtain the relation between controllers (ωr , ωl ), and the output
variables (x, ϕ) from (2) gives: In general, due to motor manufacturers not always provide
   1 l
  dynamic parameters of their products, there are different
ωr r cos ϕ r ẋ strategies to obtain such parameters experimentally. This is
= 1 . (4)
ωl r cos ϕ − rl ϕ̇ out of the scope of this work; however, there is a reduction
from a second order linear system (motor model: voltage to
From these input-output relations, it is obtained that the con- angular position) into a first order linear system (motor model:
trols (ωr , ωl ), that allows the states (x, ϕ) tend asymptotically voltage to angular velocity). This can be obtained with the
to the desired trajectory (x∗ , ϕ∗ ), it can be defined as follows:  (s)
   1 l
  following transfer function: G (s) =
u (s)
, for that, first a
ωr r cos ϕ r ux motor Laplace representation must be obtained:
= 1 , (5)
ωl r cos ϕ − rl uϕ
 (s) nkm
where ux and uϕ are the two auxiliary control variables that G (s) = = . (14)
u (s) (Js + b) (Ls + R) + n2 ke km
can be written as:
Assuming that inductance may be neglected, L ≈ 0, equation
ux = ẋ∗ − αx (x − x∗ ) , (14) is simplified as:
(6)
uϕ = ϕ̇∗ − αϕ (ϕ − ϕ∗ ) .
 (s) K
According to this, the tracking error dynamics in close-loop is G (s) = = , (15)
u (s) τs + 1
determined by the following linear differential equation system
where
ėx + αx ex = 0, nkm JR
(7)
ėϕ + αϕ eϕ = 0, K= and τ= .
(bR + n2 ke km ) (bR + n2 ke km )
where ex = x − x∗ and eϕ = ϕ − ϕ∗ , indicate the tracking
If u is the armature motor voltage, ke is the counter-
errors of the variables x and ϕ, in that order, αx and αϕ are
electromotive force constant, km is the torque constant, R is
two positive constants. From (7) it is shown that t → ∞,
the armature constant, J is the rotor and inertial load, b is
(ex , eϕ ) → (0, 0), thus (x, ϕ) → (x∗ , ϕ∗ ) which is the final
the Coulomb friction constant (due to motor and load); and
control requirement.
finally, n represents the gear-box ratio.
Now, regarding the remaining dynamic associated to the state
In order to characterize the dynamic system (obtaining param-
variable y, the behavior of this variable y when (x, ϕ) →
eters values of DC motor and load), it is proposed to use a step
(x∗ , ϕ∗ ). For this purpose in equation (3) ϕ is replaced by ϕ∗
input function with an A amplitude in order to get coefficients
and the controls are substituted, ωr and ωl given by (5) and
K and τ , in such a way that,
(6), and it is obtained
A
ẏ = [ẋ∗ − αx (x − x∗ )] tan ϕ∗ . (8) u(s) =
s
. (16)
7

Substituting equation (16) in (15) and considering that the


system is a DC motor which output is the angular velocity ,

$ r [rad=s]
it is obtained the following expression:
K A
(s) = . (17)
τs + 1 s
Due to the coefficients K and τ are obtained experimentally

u r [V ] ;
using time representation given by inverse Laplace transfor-
mation of (17), see (18),
 
t [s]
(t) = KA 1 − e−t/τ . (18)

Once finished the K and τ motor parameters characterization, (a) Right motor.
from equation (15), with u(t) = 6 V, experimental results are
shown in Figure 13. Characterization of the right motor is:

$ l [rad=s]
Kr = 0.54, τr = 0.10.
Meanwhile for the left motor:
Kl = 0.59, τl = 0.10.

u l [V ] ;
Based on this, temporal representation of the transfer function,
for the right and left motors is as follows,
t [s]
dr
= −10.20r + 5.51ur ,
dt (b) Left motor.
(19)
dl Step input response ur (t) = ul (t) = 6 V.
= −10.20l + 5.99ul , Fig. 13.
dt
Additionally, Figures 13 (a) and 13 (b) show the step input re-
sponse of equation (18) ( is labelled as the theoretical value), where  is the angular speed that has to be compensated
and the K and τ values obtained experimentally. Validation and Vcomp () is the friction compensator term. In practice
of such characterization is performed by using a comparison fυ represents the system viscous friction, thus,
between the theoretical and experimental responses.
Since the motors are mechanically attached to the wheels, then fυ = b = n2 bm + bL , (23)
angular velocities r and l must be tracked in order to
where bm is the motor viscous friction constant and bL is
follow a desired speed path r∗ and l∗ defined by (5). In
the load viscous friction constant. Since there are no motor
order to get this goal, a PI control is implemented for each
parameters available, in addition, fυ can be neglected, thus
motor, so that:
fc , is taken into account, so that,
 t
u (t) = Kp e (t) + Ki e (t) dt, (20) Vcomp () = fc sign () . (24)
0

and Based on (20) the PI controller can be redefined in order to



e (t) = Ē (t) − R (t) =  − , (21) consider the friction compensator Vcomp , so that,
 t
where e (t) is the tracking error, Ē (t) is the desired value, u = Kp e (t) + Ki e (t) dt + Vcomp () . (25)
R (t) is the signal meant to be controlled, Kp proportional 0
gain and Ki is the integral gain. The control diagram for each motor can be seen in Figure 14.
DC motors have a nonlinear response due to friction, and
a dead-zone in which the motor requires a certain amount
of voltage before it can rotate. However, dead-zone varies V comp ($)
according to mechanical load. In practice, the motor selected
for this application requires 1.5 V. Due to this reason a friction
compensator has to be implemented. A friction model can use $ã +
e(t) PI +
u (t) $
- + Motor
a linear gain fυ (represents viscous friction) and discontinues controller
shifting phase fc (represents the Coulomb friction), see the $
following expression:
Vcomp () = [fυ abs () + fc ] sign () Fig. 14. PI control strategy for a DC motor.
(22)
= fυ  + fc sign () ,
8

$r
Rt ur Right DC
u r = K p r e r (t) + K i r e r (t) dt + V comp ($ r )
0 motor

! r = $ rã
V comp ($ r ) = f c sign ($r ) $r

WMR
x ã; y ã; ' ã Input-output Kinematic
linearization control model
x; y; '

x; y; '
! l = $ ãl
V comp ($l ) = f c sign ($ l ) $l

Rt ul Left DC
u l = K p l e l (t) + K i l 0
e l (t) dt + Vcomp ($ l ) motor
$l

Fig. 15. WMR hierarchical control block diagram.

C. Hierarchical control integration where ur and ul are control voltages for right and left motors
The control law described before has considered only the respectively, Kpr and Kir , Kpl and Kil , are the constant gains
WMR kinematic structure, subsection III-A, and actuators proportional and integral associated to each motor. Finally,
system in subsection III-B, both systems are basically the er (t) and el (t) represent motors tracking errors defined as,
WMR. In order to present clearly the integration of the er (t) = r∗ − r ,
(31)
hierarchical control, Figure 15 shows a block diagram for this el (t) = l∗ − l ,
purpose.
Regarding to DC motor control, the nominal output ∗ used and
in (25) is determined for the angular path required r or l . (r∗ , l∗ ) = (ωr , ωl ) . (32)
Since the WMR has two equal independent motors (left and The speed path desired for the two motors (r∗ , l∗ ), are
right), then dynamic models are given by: determined by the speed path (ωr , ωl ), they are obtained from
dr the WMR kinematic model. Equations (5) and (6), allow an
= −10.20r + 5.51ur ,
dt (26) asymptotic trajectory tracking.
yr = r ,
and IV. T RAJECTORY GENERATOR VIA CUBIC SPLINES
dl
= −10.20l + 5.99ul , INTERPOLATOR METHOD
dt (27)
yl = l , As can be seen from equations (5) and (6), the synthesis
of these formulations requires the knowledge of the desired
where r and l are the right and left angular speed motors. trajectory, so that, (x∗ , y ∗ , ϕ∗ ). This section presents the path
Thus, two controls, ur and ul are required that according generation problem solved with the cubic splines interpolation
to subsection III-B, are given by (25), so that, approach, in order to extend the possible trajectories to be fol-
 t lowed (compared to the parametric approach widely reported
ur = Kpr er (t) + Kir er (t) dt + Vcomp (r ) , (28) in the literature).
 0t
ul = Kpl el (t) + Kil el (t) dt + Vcomp (l ) , (29) A. Cubic splines functions
0
Polynomial interpolation is based on a substitution of either
with Vcomp (r ) and Vcomp (l ), defined as,
a mathematical function or a lockup table for a polynomial
Vcomp (r ) = fc sign (r ) , which is proposed to contain similar values. The bigger the
(30)
Vcomp (l ) = fc sign (l ) , number of points the higher polynomial degree, consequently,
9

a greater error between the desired trajectory and the interpo- is assigned.
lated curve due to oscilations. An alternative method instead 7) It is assigned ln = 1, zn = 0, cn = 0.
of using high-degree polynomial is employing several low- 8) For j = n − 1 until 0,
degree polynomials in sub-intervals along the whole trajectory.
This method is the base of the splines interpolation approach cj = zj − μj cj+1 ,
[22], [23], [24]. The method divides the path to be tracked (aj+1 − aj ) hj (cj+1 + 2cj )
in subintervals (given by the lookup table points) and a cubic bj = − ,
hj 3
interpolation joint such subintervals. This method is known as (cj+1 − cj )
polynomial segmentary approximation. dj = ,
3hj
Sj (x) = aj + bj (x − xj ) + cj (x − xj )2 + dj (x − xj )3 , (33)
is assigned.
for each j = 0, 1, ..., n−1 and according to [22], equation used
9) If x ≤ x0 then j = 1; otherwise x ≥ x0 and x ≤ x1 then
for cubic splines interpolation is given by Ax = b, where:
⎡ ⎤ j = 2; otherwise x ≥ xn−1 and x ≤ xn then j = n − 1.
1 0 0 ... 0 10) If x ≤ xn then
⎢h0 2(h0 + h1 ) h1 ... 0 ⎥
⎢ ⎥
⎢0 h1 2(h1 + h2 ) h2 0 ⎥ yj = aj + bj (x − xj ) + cj (x − xj )2 + dj (x − xj )3 .
A=⎢ ⎢ ⎥,
⎢. . . ... ... ... ... ⎥

⎣0 ... hn−2 2(hn−2 + hn−1 ) hn−1⎦ 11) Based on the equation obtained in the step 10, following
0 ... 0 0 1 expression is obtained,
⎡ ⎤
0
⎢ 3
− − 3 ⎥ ẏj = bj + 2cj (x − xj ) + 3dj (x − xj )2 .
⎢ h1 (a 2 a1 ) h0 (a1 − a0 ) ⎥
⎢ .. ⎥
b=⎢ . ⎥, 12) ϕ∗ is obtained as ϕ∗ = arctan(ẏ).
⎢ 3 ⎥
⎣ (an − an−1 ) − 3
(an−1 − an−2 ) ⎦ 13) Based on this, considering the points 1), 10) and 12),
hn−1 hn−2
0 the coordinates obtained are denoted by (x∗ , y ∗ , ϕ∗ ).
 T This algorithm is codified in Matlab in order to implement
x= c0 c1 c2 ... cn ,
experiments using the WMR.
where A is a (n − 1)(n − 1) diagonal matrix, b is a constant
vector and x is an unknown vector. A numerical method is
used to find c0 , c1 , ..., cn , and based on this method coefficients V. E XPERIMENTAL RESULTS
are calculated in order to represent with cubic polynomials
each segment associated to aj , bj , cj and dj , given by (33). This section presents the close-loop simulation as well as
experimental results in order to validate behavior of the hier-
B. Interpolation Algorithm archical approach presented in section III, for both parametric
Based on the previous approach, a path planning algorithm and generated (based on given points) curves. Simulations
is presented in this subsection. This method generates the are implemented in Matlab -Simulink . Meanwhile, the real-
cartesian coordinates points along the path to be followed, time experiments are based on the board DS1104 that uses the
these points given by (x∗ , y ∗ , ϕ∗ ), according to (5) and (6) in same software.
order to allow (x, y, ϕ) → (x∗ , y ∗ , ϕ∗ ). According to the WMR dimensions, r and l are the following
Algorithm: In order to build the cubic interpolation function values:
(33), according to [22], it is defined the amount of points n
which satisfies the following condition: x0 < x1 < ... < xn r = 0.075 m, l = 0.22 m. (34)
with S̈(x0 ) = S̈(xn ) = 0. Following steps are suggested to
generate: (x∗ , y ∗ , ϕ∗ ) Regarding to the motors, which characterization was presented
1) Vector coordinate points are introduced, so that, in section III-B, the right motor has the following parameters:
x0 , x1 , ..., xn and y0 , y1 , ..., yn .
2) It is assigned a0 = f (x0 ), a1 = f (x1 ), . . . , an = f (xn ). Kr = 0.54 and τr = 0.10. (35)
3) For i = 0 until n − 1, hi = xi+1 − xi , is assigned.
4) For i = 1 until n − 1, αi = h3i (ai+1 − ai ) − Meanwhile left motor has these parameters:
3
hi−1 (ai − ai−1 ), is assigned.
5) It is assigned l0 = 1, μ0 = 0, z0 = 0. Kl = 0.59 and τl = 0.10. (36)
6) For i = 1 until n − 1,
li = 2(xi+1 − xi−1 ) − hi−1 μi−1 , Both design parameters are obtained using input-output plant
hi linearization, equations (5) and (6), αx and αϕ , additionally
μi = , the PI controller, Kpd and Kid , Kpi and Kii are selected as:
li
(αi − hi−1 zi−1 )
zi = , αx = αϕ = 2, Kpr = Kpl = 2, Kir = Kil = 50. (37)
li
10

A. Experiment results using parametric curve approach VI. C ONCLUSIONS


General results are used when the desired path is a parabola, This work shows the design and construction of a Wheeled-
so that, Mobile-Robot (WMR) with differential configuration architec-
y ∗ (t) = x∗ 2 (t). (38) ture. In addition, a planning trajectory has been proposed and
implemented with a control law that experimentally showed
Parametrization is chosen as follows:
  successful results, for both approaches: smooth parametric
∗ 2π
x (t) = A sin t . (39) trajectories and interpolated trajectories defined by points.
P More specifically, this control is hierarchically distributed
It is found that ϕ∗ (t) is determined for the following equation, in two subsystems: the first controller is meant to use the
kinematic model of the WMR, which is based on linearization
ϕ∗ (t) = arctan (2x∗ (t)) . (40)
of the input-output plant (ωr , ωl )–(x, ϕ), that generates a
This parametrization allows the displacement of WMR from remaining dynamics for y that is stable, the second one, is a
origin to the point (x, y) = (A, A2 ), later to the (x, y) = PI strategy for the motor control. The main difference between
(−A, A2 ) passing through origin and finally returning to origin this approach, regarding –for instance, non-linear techniques–
in P second. The parameter values A and P , are associated which have to commutate two different control laws in order
to (39), and they are proposed as: to keep the system stable, this control strategy determines the
A = 1 m, P = 15 s. paths tracking ωr and ωl such that x → x∗ , y → y ∗ and
ϕ → ϕ∗ , with the initial condition: x = 0, y = 0 and ϕ = 0.
In order to simulate the system an initial condition is proposed In this approach, a drawback of parametric trajectories happens
for (x, y, ϕ) is (0, 0, 0), considering t = 30 s; and t is kπ
the total simulation time. Simulation results are presented when ϕ = for k = ±1, ±3, ±5, ...,. This is a significant
2
in Figure 16. Similarly, the real-time experiments require constraint when the trajectory to be followed is a parametric
the same conditions used in simulation. Acquisition data are curve, since the controller in some condition is undetermined.
obtained with ControlDesk and Matlab -Simulink along So that, not only parametric curves approach has been used
with DS1104 board. These results are presented in Figure 17. to validate results, but also the interpolation method based
on cubic splines shows the wider range of trajectories to be
B. Experiment results using generated curves given by points followed compared with parametric curves.
This subsection presents both experimental and simulation The second controller is designed for motor dynamics given
results obtained in section III where the curve generated is by (26) and (27), so that, this approach guarantees exponential
obtained by the coordinate points. The chosen points are path tracking given for the kinematic desired trajectory of the
given by Table I. Both control system and parameters used first controller. This hierarchical called approach introduced in
in the previous subsection are employed, equations (34)-(37), [10] and used in [17] was graphically presented in Figure 15.
provide simulations results shown in Figure 18. Meanwhile Likewise, this research found that a control based on input-
experimental results are shown in Figure 19. output plant linearization approach for (ωr , ωl )—(y, ϕ) is
always possible that ϕ = kπ for k = 0, ±1, ±2, ..., since
TABLE I matrix at these points becomes singular.
P OINTS USED IN ORDER TO GENERATE THE DESIRED TRAJECTORY.
The synergic combination of the theoretical results, imple-
x∗ y∗ mentation techniques and construction description are the main
x0 = 0.0 m y0 = 0.0 m contribution of this work. This approach has also an important
x1 = 0.2 m y1 = 0.2 m impact for mathematicians willing to explore the application
x2 = 0.4 m y2 = 3.5 m
x3 = 0.8 m y3 = 2.0 m field as well as practical researches who might like know
x4 = 1.2 m y4 = 0.3 m more about theoretical result described in a real and effective
x5 = 1.4 m y5 = 1.0 m prototype.
Finally, as a future work this approach can be extended
to the obstacles avoiding problem in real-time. Similarly,
C. Experimental results discussion another possible future work is the modification of the second
Similar results are obtained in both, simulation and experi- controller (related to actuator) in which armature voltage
mental plots. Path speed trajectories are measured directly in and current were the only feedback variables considered a
the motor shafts. Both r and l follow the path angular sensorless approach.
speed desired according to the kinematic structure r∗ and
C ONFLICT OF INTEREST STATEMENT
l∗ respectively. Consequently, path trajectory tracking is
performed successfully, (i. e., (x, y, ϕ) → (x∗ , y ∗ , ϕ∗ )). In The authors declare that the research was conducted in the
addition, it is shown that control voltages ur and ul are absence of any commercial, financial or personal relationships
between the interval (−24 V, +24 V) which is convenient that could be construed as a potential conflict of interest.
since the nominal motor voltages are between ±24 V. Also,
from the results is obtained a maximum linear value v is equal ACKNOWLEDGMENTS
to 0.52 m/s, it validates that behavior of hierarchical control R. Silva-Ortigoza, M. Marcelino-Aranda, and M. Marciano-
design has excellent performance. Melchor acknowledge financial support from SNI-México,
11

y ã = f(xã ) 'ã
'
y = f(x)

'; 'ã [rad]


y [m]

x [m] t[s]

$ ãr $ ãl
$r $l

$ l; $ lã [rad=s]
$ r ; $ rã [rad=s]

t[s] t[s]

ul
ur
v [m=s]
ur ; ul [V]

t[s] t[s]

Fig. 16. Simulation results.

Secretarı́a de Investigación y Posgrado del Instituto Politécnico [4] C. Canudas de Wit and O. J. Sordalen, “Exponential stabilization of
Nacional (SIP-IPN), and the programs EDI and COFAA of mobile robots with nonholonomic constraints,” IEEE Transactions on
Automatic Control, vol. 37, no. 11, pp. 1791-1797, 1992.
IPN. C. Márquez-Sánchez work was supported by a CONA- [5] C. Samson, “Velocity and torque feedback control of a nonholonomic
CYT scholarship. G. Silva-Ortigoza, R. Bautista-Quintero, and cart,” Advanced Robot Control, vol. 162, pp. 125-151, C. Canudas de
V. M. Hernández-Guzmán thanked to the SNI-México for Wit (Ed.) Series: Lecture Notes in Control and Information Sciences.
Springer-Verlag, New York, 1991.
financial support. [6] C. Samson, “Control of chained systems application to path following
and time-varying point-stabilization of mobile robots,” EEE Transactions
on Automatic Control, vol. 40, pp. 64-77, 1995.
R EFERENCES [7] J. M. Coron, “Global asymptotic stabilization for controllable systems
without drift,” Mathematics of Control, Signals, and Systems, vol. 5, pp.
[1] R. Silva-Ortigoza, M. Marcelino-Aranda, G. Silva-Ortigoza, V. M. 295-312, 1992.
Hernández-Guzmán, M. A. Molina-Vilchis, G. Saldaña-González, J. C. [8] J. M. Coron and B. D’Andréa-Novel, “Smooth stabilizing time-varying
Herrera-Lozada, and M. Olguı́n-Carbajal, “Wheeled mobile robots: a control laws for a class of nonlinear systems. Application to mobile
review,” IEEE Latin America Transactions, vol. 10, no. 6, pp. 2209- robots,” in Proceedings of the IFAC Nonlinear Control Systems Design
2217, 2012. Conference, Bordeaux, pp. 649-654, 1992.
[2] R. M. Murray and S. S. Sastry, “Nonholonomic motion planning: [9] J. B. Pomet, “Explicit design of time-varying stabilizing control laws
steering using sinusoids,” IEEE Transactions on Automatic Control, vol. for a class of controllable systems without drift,” Systems & Control
38, no. 5, pp. 700-716, 1993. Letters, vol. 18, no. 2, pp. 147-158, 1992.
[3] R. W. Brockett, “Asymptotic stability and feedback stabilization,” Dif- [10] A. W. Divelbiss and J. T. Wen, “Trajectory tracking control of a car-
ferential Geometric Control Theory, pp. 181-191, R. W. Brockett, R. S. trailer system,” IEEE Transactions on Control Systems Technology, vol.
Millmann, and H. J. Sussmann, (Eds.) Birkhauser, Boston, MA, 1983. 5, no. 3, pp. 269-278, 1997.
12

y ã = f(xã ) 'ã
'
y = f(x)

'; 'ã [rad]


y [m]

x [m] t[s]

$ ãr $ ãl
$r $l
$ r ; $ rã [rad=s]

$ l; $ lã [rad=s]
t[s] t[s]

ul
ur
v [m=s]
ur ; ul [V]

t[s] t[s]

Fig. 17. Real-time experimental results.

[11] E. Aranda-Bricaire, T. Salgado-Jiménez y M. Velasco-Villa, “Control no [18] J. L. Avendaño-Juárez, V. M. Hernández-Guzmán, and R. Silva-
lineal discontinuo de un robot móvil,” Computación y Sistemas (Special Ortigoza, “Velocity and current inner loops in a wheeled mobile robot,”
edition), pp. 42-49, 2002. Advanced Robotics, vol. 24, no. 8-9, pp. 1385-1404, 2010.
[12] M. Fliess, J. Lévine, P. Martin, and P. Rouchon, “Flatness and defect [19] M. Nystrom and M. Norrlof, “Path generation for industrial robots,”
of non-linear systems: introductory theory and examples,” International Techical Report LiTH-ISY-R-2529, Department of Electrical Engineer-
Journal of Control, vol. 61, no. 6, pp. 1327-1361, 1995. ing, Linkoping University, 2003.
[13] H. Sira-Ramı́rez and S. K. Agrawal, Differentially Flat Systems, Marcel [20] L. Biagiotti and C. Melchiorri, Trajectory Planning for Automatic
Dekker, New York, 2004. Machines and Robots, Springer, 2008.
[14] J. A. Chacal B. and H. Sira-Ramı́rez, “On the sliding mode control [21] B. Tondu and S. A. Bazaz, “The three-cubic method: an optimal
of wheeled mobile robots,” IEEE International Conference on Systems, online robot join trajectory generator under, velocity, acceleration and
Man, and Cybernetics, pp. 1938-1943, San Antonio, 1994. wandering constraints,” International Journal Research, vol. 18, no. 2,
[15] J. M. Yang, I. H. Choi, and J. H. Kim, “Sliding mode control of pp. 893-901, 1999.
a nonholonomic wheeled mobile robot for trajectory tracking,” IEEE [22] R. L. Burden and J. D. Faires, Numerical Analysis, Brooks-Cole, Boston,
International Conference on Robotics and Automation, vol. 4, pp. 2983- USA, 9th edition, 2010.
2988, Leuven, May 1998. [23] K. E. Atkinson, An Introduction to Numerical Analysis, Jhon Wiley,
[16] F. L. Lewis, C. T. Abdallah, and D. M. Dawson, Control of Robot New York, 2nd edition, 1989.
Manipulators, Macmillan, New York, 1993. [24] S. C. Chapra and R. P. Canale, Numerical Methods for Engineers,
[17] R. Silva-Ortigoza, G. Silva-Ortigoza, V. M. Hernández-Guzmán, V. R. McGraw-Hill, New York, 2nd edition, 1989.
Barrientos-Sotelo, J. M. Albarrán-Jiménez, and V. M. Silva-Garcı́a, “Tra- [25] T. H. Lee, H. K. Lam, F. H. F. Leung, and P. K. S. Tam, “A fast
jectory tracking in a mobile robot without using velocity measurements path planning-and-tracking control for wheeled mobile robots,” IEEE
for control of wheels,” IEEE Latin America Transactions, vol. 6, no. 7, International Conference on Robotics and Automation, vol. 2, pp. 1736-
pp. 598-607, 2008. 1741, May 2001.
13

4 ϕ∗
y∗ = f(x∗ ) 2
y = f(x) ϕ
3.5
1.5

3
1
2.5

ϕ, ϕ∗ [rad]
0.5
y [m]

0
1.5

−0.5
1

0.5 −1

0 −1.5
0 0.5 1 1.5 0 10 20 30 40 50
x [m] t [s]

12 12
ω ∗r ω ∗l
10
ωr 10
ωl

8 8

6 6
ω r , ω ∗r [rad/s]

ω l , ω ∗l [rad/s]
4 4

2 2

0 0

−2 −2

−4 −4

0 10 20 30 40 50 0 10 20 30 40 50
t [s] t [s]

15
ul
ur
0.3
10
0.25

5 0.2
ur , ul [V]

v [m/s]

0.15
0

0.1

−5
0.05

0
0 10 20 30 40 50 0 10 20 30 40 50
t [s] t [s]

Fig. 18. Simulation’s result for curve obtained by points.

[26] T. H. Lee, H. K. Lam, F. H. F. Leung, and P. K. S. Tam, “A practical


fuzzy logic controller for the path tracking of wheeled mobile robots,”
IEEE Control Systems Magazine, vol. 23, no. 2, pp. 60-65, 2003.
[27] M. Lepetic, G. Klnacar, I. Skrjanc, D. Matko, and B. Potocnik, “Path
planning and path tracking for nonholonomic robots,” Mobile Robots:
New Research, pp. 345-368, J. X. Liu (Ed.) Nova Science Publishers,
2005.
[28] MicroMo Electronics, Faulhaber Group, http://www.micromo.com.
14

4
y ∗ = f (x∗ ) 2 ϕ∗
y = f (x) ϕ
3.5
1.5
3
1
2.5

ϕ, ϕ∗ [rad]
0.5
y [m]

0
1.5

−0.5
1

0.5 −1

0 −1.5
0 0.5 1 1.5 0 10 20 30 40 50
x [m] t[s]

12 12
ω ∗r ω ∗l
ωr ωl
10 10

8 8

6 6
ω r , ω ∗r [rad/s]

ω l , ω ∗l [rad/s]

4 4

2 2

0 0

−2 −2

−4 −4

0 10 20 30 40 50 0 10 20 30 40 50
t [s] t [s]

ul
15 ur
0.3

0.25
10

0.2
ur , ul [V]

v [m/s]

5
0.15

0.1
0

0.05

−5
0
0 10 20 30 40 50 0 10 20 30 40 50
t [s] t [s]

Fig. 19. Experimental results for curve obtained by points.

You might also like