Construction of a WMR for Trajectory Tracking Control: Experimental Results

This paper reports a solution for trajectory tracking control of a differential drive wheeled mobile robot (WMR) based on a hierarchical approach. The general design and construction of the WMR are described. The hierarchical controller proposed has two components: a high-level control and a low-level control. The high-level control law is based on an input-output linearization scheme for the robot kinematic model, which provides the desired angular velocity profiles that the WMR has to track in order to achieve the desired position (x∗, y∗) and orientation (φ∗). Then, a low-level control law, based on a proportional integral (PI) approach, is designed to control the velocity of the WMR wheels to ensure those tracking features. Regarding the trajectories, this paper provides the solution or the following cases: (1) time-varying parametric trajectories such as straight lines and parabolas and (2) smooth curves fitted by cubic splines which are generated by the desired data points {(x1∗, y1∗),..., (xn∗, yn∗)}. A straightforward algorithm is developed for constructing the cubic splines. Finally, this paper includes an experimental validation of the proposed technique by employing a DS1104 dSPACE electronic board along with MATLAB/Simulink software.


Introduction
In the last decades, the control of wheeled mobile robots (WMRs) has been an interesting topic for research [1]. The differential robot configuration studied in this paper has nonholonomic constraints [2]. In order to improve the autonomy of the mobile robots, the literature in this field has generally focused on solving the following problems: (1) mobile robot positioning, (2) stabilization, (3) trajectory tracking control, (4) planning the trajectories, and (5) obstacle avoidance.
In the robot stabilization problem, according to [3], it is known that a nonholonomic system cannot be asymptotically stabilized at an equilibrium point using a differentiable control law, despite the system's being completely controllable. Accordingly, the stabilization of nonholonomic systems can only be achieved by nondifferentiable control laws [4] or time-dependent ones [5][6][7][8][9].
On the other hand, the trajectory tracking task in nonholonomic systems can be performed through differentiable control laws. In [10], a hierarchical control scheme based on two levels (high-level and low-level) is presented for the trajectory tracking control of a car-trailer system. The high-level control is based on a time-varying linear quadratic regulator, which provides the desired angular velocity profiles that the system has to track in order to achieve the desired trajectory. Then, a low-level control is designed for controlling the traction and the steering motors by using a proportional integral derivative (PID) control. Experimental results from the application of this tracking control scheme are presented. Similarly, in [11], the control of a differential WMR is proposed via a variable structure control scheme, based on external and internal control strategies. The external control is associated to the kinematic model of the mobile robot, which is responsible for generating the desired angular velocity profiles for the motors, via an input-output linearization scheme. Meanwhile, the internal control is meant to track the velocities imposed by the external control via a PID control. In [12], via the differential flatness property of the WMR kinematic model, the dynamic controller design for trajectory tracking tasks was presented. The basis of flatness-based control can be found in the work by Fliess et al. [13]. Likewise, in [14], a sliding mode control in combination with differential flatness was presented for different types of WMRs for tracking problems. These controllers were implemented through computer simulations. In [15], a control algorithm to achieve trajectory tracking of a WMR with nonholonomic constraints was proposed by using the computed torque method and the theory of sliding mode control. The proposed algorithm was implemented on a vision-based mobile robot system. In [16], an input-output linearization design was presented in which the actuators are controlled by a sensorless scheme. More recently, in [17], a formal justification was presented for use of velocity and electric current inner loops, driven by proportional controllers, when a trajectory tracking task is to be solved. In this work, the dynamics of the brushed DC motors used as actuators is taken into account to perform the stability analysis. Different approaches to the trajectory generation problem have been widely studied (see, e.g., [18]) where the "path planning" problem is related to generating a sequence of points through which the robot must pass (either an end-effector of an industrial robot or a mobile trajectory); see [19]. Another approach is known as "trajectory planning and optimization, " which includes a structure that integrates the dynamics with the path planning. Multiobjective optimization can be addressed, such as the cost efficient use of energy, the task time, and other similar constraints; see [20]. Although the trajectory generation can be solved regardless of dynamic consideration, real constraint issues make this approach impractical for many applications. An ideal trajectory implementation with smooth transitions (human-like) as well as being robust against external disturbances must be designed under multiobjective contradictory goals. A well known implementation for this problem is based on splines (see [21][22][23]) which can be designed in such a way that both the velocity and acceleration transitions follow the dynamic requirements. For instance, in [24,25], an algorithm for path planning for mobile robots used in football competitions was presented. In [26], a technique was shown for path planning based on splines, which was used to simulate differential mobile robots.
The contribution of this research is to present an integration of both theoretical and practical knowledge in order to close the gap between the two. The relevant and modern open-architecture testbed described in this paper deals with a synergetic combination of an effective control approach and a state-of-the-art technology for rapid prototyping that combines a hard real-time control implementation with a software (MATLAB/Simulink) widely used for these applications. In this context, the present paper has three aims: (1) to describe the construction of a differential drive WMR, (2) to show the implementation of a real-time hierarchical control strategy in order to carry out a trajectory tracking control task, and (3) to present a methodology for generating the WMR trajectories (based on cubic splines) which are constructed from the desired data points {( * 1 , * 1 ), . . . , ( * , * )}. Furthermore, time-varying parametric trajectories such as straight lines and parabolic curves, are also implemented.
To this end, the present paper is organized as follows. Section 2 presents the general description of the WMR construction. Section 3 describes the hierarchical controller law for the kinematic model for the trajectory tracking task. Section 4 gives an algorithm for generating smooth curves based on specific points given in the -plane via cubic splines. Section 5 shows the real-time control implementation for the WMR. Finally, some conclusions and prospects for future research are presented in Section 6.

Construction of the WMR
A mobile robot is, in general, composed of two mechanical subsystems: (1) actuators and sensors and (2) mechanical design. The control of these subsystems requires two electronic stages: (1) the power stage and (2) the acquisition and control stage. The interaction of these stages is shown in the block diagram presented in Figure 1. The electronic power stage (stage 2) allows interaction between the electronic control interface (stage 3) and the two dynamic subsystems (stage 1). This interaction includes the communication system, the power supply, and the conditioning circuits (in order to interconnect the electronic board DS1104). The strategy used in the PC (using MATLAB/Simulink) keeps the whole system under control, taking into consideration the physical restrictions. Likewise, the control stage comprises the control strategies used to integrate the functioning of each subsystem (based on mathematic models of the plant).

Stage 1:
Subsystems. This part describes the WMR dynamic subsystems a and b, which include actuators, sensors, and the mechanical structure. Subsystem a (motors and sensors) allows propulsion of the WMR in a specified workspace and discrete position sensing. The subsystem b describes the mechanical design.

Subsystem a:
Actuators and Sensors. The prototype described in this work uses DC motors as actuators. In order to estimate the mechanical capacity of these actuators, it is proposed to use the maximum velocity, acceleration, and weight of the WMR system as Based on the mass and maximum acceleration , it is possible to calculate the required force for a given displacement as Since two motors are used, each of them has an associated force, rm for the right wheel motor and lm for the left wheel motor. One motor provides half of the total force required, that is, Since the wheel diameter is 0.15 m ( = 0.075 m), the required torque for each motor is given by Since = w , the angular velocity is related to each wheel and it is determined by The energy must be transmitted to each wheel of the WMR; however, the power required is higher than the calculated power since there is a loss due to the gearbox coupling. The gearbox efficiency is around 70%, so that the estimation of the power required ( ) is given by Based on the data sheet of the motor [27] and the golden rule for selecting an appropriate motor, it is recommended to have between 1.5 and 2 times the required power , and thus 50.09 W < < 66.78 W, (8) so that the motors selected are GNM 3150 (24 V, 55 W) and the gearbox chosen for each motor is G 2.6. The second golden rule given by the manufacturer shows the importance of maintaining the desired velocity between 65% and 90% of the no-load motor velocity (i.e., 3526 rpm), and thus 2291.9 rpm < < 3173.4 rpm.
In order to satisfy this condition, the reduction ratio should be at least 20 : 1, since Finally, these selected motors, including the gearboxes, are the series GNM 3150 (24 V, 55 W) Engel brand and a gearbox G 2.6. The power for the motors is supplied with two YUASA batteries 12 V @ 12 Ah.
Regarding the prototype sensors, it uses two incremental optical encoders. These sensors allow estimating the angular velocity of the wheels, and consequently the robot is able to 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 presented. The configuration of these sensors in the prototype can be seen in Figure 9.

Subsystem b: Mechanical Design.
Once the components were selected (motors, encoders, and batteries), the software SolidWorks is used to integrate all the mechanical parts of the WMR into a virtual model. The 3D visual feature of this software allows the correct component distribution in the WMR in accordance with the design requirements. Also, the software can be used for specifying the material properties to the model of each part of the WMR. The parts built for this prototype, from the materials previously selected (see Figure 2, and Videos S1, S2 in Supplementary Material available online at http://dx.doi.org/10.1155/2013/723645), are as follows.
(i) The WMR base is made of aluminum sheet, which is used to support all components (see Figure 3).
(ii) The wheels used to provide traction to the WMR are constructed with an aluminum rod (see Figure 4).

4
The Scientific World Journal (iii) The axle housings are made of yellow brass: they are used for coupling between the shaft of the motor and the wheels (see Figure 5). (iv) Supports for the ball casters: they are two rectangular pieces made of aluminum used for assembly the WMR structure (see Figure 6). (v) Six aluminum bars join the ball caster supports with the base of the WMR (see Figure 7). (vi) Ball-bearings support: the ball bearings allow rotation without translation of the traction wheels due to the shaft motor rotation. Supports have two functions: keeping the ball-bearing embedded into it and joining the base with the motors. It was made of aluminum cut to the appropriate dimensions. A mechanical lathe was used for making the box in the supports in order to place the ball bearing (see Figure 8).
To conclude this subsection, Figure 9 shows a bottom view of the final mechanical design made in SolidWorks, as well as pictures of three different views of the prototype.

Stage 2: Power System.
Electronic design is an essential stage for the WMR since its correct functioning depends on it. This section describes the most important features related to the interconnection between the data acquisition board (from the computer) and the conditioning signals (to the WMR).
A block diagram of stage 2 is shown in Figure 10. This block makes reference to four substages, numbered from 1 to 4: (source circuit, optoisolator circuit, power circuit, and encoder circuit). In substage 1, the power supply (source circuit) distributes the different voltages to the general electronic system. Substage 2 allows electrical signal isolation between the electronic board DS1104 and substage 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. Substage 4 is used to acquire the encoders' signals, which can then be used to estimate the position in the workspace.

Stage 3: Data Acquisition and
Control. This stage contains the last subsystem presented in the general description of the WMR (see Figure 1). As was mentioned before, the DS1104 board performs the acquisition and control of the WMR. This board was selected due to the integration software between the MATLAB and the board firmware. The high programming level of Simulink (as part of MATLAB) is a practical choice for programming complex control strategies in a graphic environment. This stage also includes the interface circuit (see Figure 1). This circuit establishes the communication 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 but also activates two signals DIR and PWM motor (LEDs indicators). Lastly, Figure 11(a) shows the final WMR mechanical design and Figure 11(b) is the real WMR with the instrumentation included (see Video S3 placed online as Supplementary Material).

Control for the WMR
In this section, two separate controllers are proposed, the first for the kinematic model of the WMR and the second for the DC motors (WMR actuators). The integration of both control strategies is based on the hierarchical control as in [10,16]. joined by a shaft. Moreover, it has front ball casters that make sure that the WMR platform moves in a plane. Assuming that the movements of the WMR are over the -plane, and that there are no slippery condition, the kinematic model is given by [12]̇= where ( , ) is the position measured at the midpoint between the two back wheels, is the angle between the axis of symmetry of the WMR with respect to the positive axis, and ( ) is the angular velocity of the left (right) wheel. Similarly, is the wheel ratio and 2 is the gap between them (see Figure 12). In (11), the first derivative with respect to time is denoted by a dot. The input control is given by the angular velocity ( , ) and a strategy based on input-output linearization static feedback. The control can be implemented for any pair of outputs: ( , ), ( , ), or ( , ). Consequently, in each case there will be a remaining dynamic (dynamic zero) so that, in order to ensure a closed loop stable system, it requires an analysis of its stability.
The control design is performed over the output variables ( , ) and the analysis of the remaining dynamic in closed loop is studied, particularly for the state variable . First, the kinematic equations that describe the WMR are rewritten in two subsystems. The first is given by This model only includes the state variables to be controlled ( , ). And, the second is given bẏ It has a remaining dynamic associated to the state variable , once the states ( , ) have been controlled, so that → * and → * . Since det( 1 ) = − 2 cos /2 , a controller can be proposed where the output is ( , ) except when = /2, where = ±1, ±3, ±5, . . ., (i.e., 1 must be invertible). In order to obtain the relation between the controllers ( , ) and the output variables ( , ) from (12), we have From these input-output relations, we obtain that the controls ( , ) that allow the states ( , ) to tend asymptotically to the desired trajectory ( * , * ) can be defined as follows: where and are the two auxiliary control variables, written as Hence, the tracking error dynamics in closed loop is determined by the following linear differential equation system: where = − * and = − * denote the tracking errors of the variables and , respectively, and and are two positive constants. From (17) it is observed that ( , ) → (0, 0) as → ∞, thus ( , ) → ( * , * ), which is the final control requirement. Now, regarding the remaining dynamic associated with the state variable , we shall analyze the behavior of this variable when ( , ) → ( * , * ). For this purpose, in (13), is replaced by * and the controls and , which are given by (15) and (16) respectively, are substituted, obtaininġ Thus, when → ∞,̇=̇ * tan * .

PI Control for the DC Motor.
In general, due to the fact that motor manufacturers do not always providing the dynamic parameters of their products, there are different strategies for experimentally obtaining such parameters. This is beyond the scope of this paper; however, there is a reduction from a second-order linear system (motor model: voltage to angular position) to a first-order linear system (motor model: voltage to angular velocity). This can be obtained with the following transfer function: ( ) = ( )/ ( ). For that, Laplace transformation of the motor model is obtained, that is, Assuming that inductance may be neglected, ≈ 0, (24) simplifies with being the armature motor voltage, the counterelectromotive force constant, the torque constant, the armature constant, the rotor and inertial load, the Coulomb friction coefficient (due to motor and load), and represents the gearbox ratio.
In order to characterize the dynamic system (i.e., in order to obtain the values of the parameters for the DC motor and load), it is proposed to use a step input function with an amplitude of in order to get coefficients and such that Substituting (27) into (25) and assuming that the system is a DC motor of which the output has the angular velocity , we obtain the following expression: Since the coefficients and are obtained experimentally using the time representation given by the inverse Laplace transformation of (28) (see (29)), we have Once the characterization of the motor parameters and is finished, from (25), with ( ) = 6 V, the experimental results are shown in Figure 13. The characterization of the right motor is = 0.54, = 0.10.
The Scientific World Journal Additionally, Figures 13(a) and 13(b) show the step input response of (29) ( is labelled as the theoretical value) and the experimentally obtained values of and . The validation of this characterization is carried out by comparing the theoretical and experimental responses.
Since the motors are mechanically attached to the wheels, the angular velocities and must be tracked in order to follow a desired velocity path * and * defined by (15). In order to attain this goal, a PI control is implemented for each motor, so that where ( ) is the tracking error, ( ) is the desired value, ( ) is the signal meant to be controlled, is the proportional gain, and is the integral gain.
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, the dead-zone varies, depending on the mechanical load. In practice, the motor selected for this application requires 1.5 V. For this reason, a friction compensator has to be implemented. A friction model can use a linear gain (which represents the viscous friction coefficient) and a discontinues shifting phase (which represents the Coulomb friction coefficient) as where is the angular velocity that has to be compensated and comp ( ) is the friction compensator term. In practice, represents the system viscous friction, and thus where is the viscous friction coefficient due to the rotor and is the viscous friction coefficient due to the load. In general, these two coefficients values are too small to be estimated accurately; hence, can be neglected, and thus is taken into account, so that, Using (33), the PI controller can be redefined in order to consider the friction compensator comp , so that The control diagram for each motor can be seen in Figure 14.

Hierarchical Control
Integration. The control law described before has considered only the kinematic structure of the WMR, Section 3.1, and the actuator system in Section 3.2, and both systems are basically the WMR. In order to present clearly the integration of the hierarchical control, Figure 15 shows a block diagram for this purpose.
Regarding the DC motor control, the nominal output * used in (38) is determined for the angular path required or . Since the WMR has two equal and independent motors (left and right), the dynamic models are given by where and are the right and left angular velocity of the motors.
Thus, two controls, and , are required; according to Section 3.2, they are given by (38), so that with comp ( ) and comp ( ), defined by comp ( ) = sign ( ) , where and are the control voltages for the right and left motors, respectively, and , and , are the constant gains (proportional and integral) associated to each motor.

Trajectory Generation via the Method of Interpolation of Cubic Splines
As can be seen from (15) and (16), the synthesis of these formulations requires the knowledge of the desired trajectory, i.e., ( * , * , * ). This section presents the path generation problem solved via the cubic splines interpolation approach, in order to extend the possible trajectories to be followed (compared to the parametric approach widely reported in the literature).

Cubic Splines.
Polynomial interpolation is based on a substitution of either a mathematical function or a lookup table for a polynomial. The bigger the number of points, the higher the degree of the polynomial, and consequently the greater the error between the desired trajectory and the interpolated curve due to oscillations. An alternative method is to employ several polynomials of lower degree, in subintervals along the whole trajectory. This method is the basis of the spline interpolation approach [21][22][23]. The method divides the path to be tracked into subintervals (given by the lookup table points) and a cubic interpolation joins such subintervals. This method is known as polynomial segmentary approximation as For each = 0, 1, . . . , −1 and according to [21], the equation used for cubic spline interpolation is given by . . .
where is an ( − 1) by ( − 1) diagonal matrix, is a constant vector, and is an unknown vector. A numerical method is used to find 0 , 1 , . . . , , and based on this method, the coefficients in (43), , , , and , are calculated in order to obtain a cubic polynomials for each segment.

Interpolation Algorithm.
Based on the previous approach, a path planning algorithm is presented in this section. This method generates the Cartesian coordinates of the points The Scientific World Journal 11 along the path to be followed: these points are given by ( * , * , * ), using (15) and (16) in order to allow ( , , ) → ( * , * , * ).

Experimental Results
This section presents the closed-loop simulation as well as experimental results in order to validate the behavior of the hierarchical approach presented in Section 3, for both parametric and generated (based on given points) curves. The simulations are implemented in MATLAB/Simulink, and the real-time experiments are based on the board DS1104 using the same software.
According to the WMR dimensions, and have the following values: Regarding the motors, whose characterization was presented in Section 3.2, the right motor has the following parameters: The left motor has the parameters = 0.59, = 0.10.
The controller gains (15) and (16) and the gains of the controllers (40), were selected like:

Experimental Results
Using the Parametric Curve Approach. General results are used when the desired path is a parabola, so that * ( ) = * 2 ( ) .
This parametrization allows the displacement of the WMR from the origin to the point ( , ) = ( , 2 ), later to ( , ) = (− , 2 ) passing through the origin and finally returning to the origin in seconds. The parameter values and are associated to (54), and they are chosen to be In order to simulate the system, an initial condition chosen for ( , , ) is (0, 0, 0), assuming = 30s, where is the total simulation time. The simulation results are presented in Figure 16. Similarly, the real-time experiments require the same conditions used in the simulation. The data was obtained using ControlDesk and MATLAB/Simulink along with the DS1104 board. These results are presented in Figure 17, and Video S4 in Supplementary Material.

12
The Scientific World Journal

Experimental Results Using Generated Curves Given by
Points. This section presents both the experimental and the simulation results obtained in Section 3 where the curve generated is obtained from coordinate points. The chosen points are given by Table 1. Both the control system and the parameters used in the previous subsection are employed, (49)-(52), providing the simulation results shown in Figure 18. The experimental results are shown in Figure 19.

Discussion of the Experimental Results.
Similar results are obtained in both the simulation and the experimental plots.
The velocity is estimated based on the position measured directly from the encoders attached to the motor shafts. Both and , follow the desired path angular velocity according to the kinematic structure * and * respectively. Consequently, trajectory tracking task is performed successfully, (i.e., ( , , ) → ( * , * , * )). In addition, it is shown that the control voltages and are within the interval (−24 V, +24 V), which is convenient since the nominal motor voltages are in the range of ±24 V. Also, from the results, we find that the maximum linear value V is equal to 0.52 m/s. Based on all the previous results, the efficiency of the hierarchical control design has excellent performance.

Conclusions
This work shows the design and construction of a wheeled mobile robot with differential configuration architecture. In addition, a planning trajectory has been proposed and implemented with a control law that experimentally showed successful results, for two approaches: smooth parametric trajectories and interpolated trajectories determined by given points.
More specifically, this control is hierarchically distributed in two controllers: the first controller is meant to use the kinematic model of the WMR, which is based on a linearization of the input-output plant ( , )-( , ), that generates a remaining dynamics for that is stable. The second controller is a PI strategy that determines the output control signals in order to track the desired velocities and such that → * , → * , and → * , with the initial conditions = 0, = 0, and = 0. The main difference between this hierarchical control and the nonlinear techniques is that these last ones have to commutate between two control laws in order to keep the system stable. In this approach, there is a drawback to the use of parametric trajectories, which happens when = /2 for = ±1, ±3, ±5, . . .. This is a significant constraint when the trajectory to be followed is a parametric curve, since the controller, in some conditions, is undetermined. For this reason, the validation of the results was carried out not only with the use of the parametric curves approach, but also with an interpolation method based on cubic splines, which enables following a wider range of trajectories than is possible with parametric curves.
The second controller is designed for the model of the motors given by (39), and this control law guarantees the trajectory tracking given for the desired trajectory established for the first controller. The so-called hierarchical approach was introduced in [10] and used in [16] and was graphically presented in Figure 15.
Likewise, this research found that a control based on an input-output plant linearization approach for ( , )-( , ) is always possible in such a way that ̸ = for = 0, ±1, ±2, . . ., since the matrix at these points becomes singular.
The synergetic combination of the theoretical results, implementation techniques, and construction description is the main contribution of this research. This approach has also an important impact for mathematicians willing to explore the application field as well as practical researchers who might like to know more about the theoretical results described in a real and effective prototype.
Finally, as possible direction for future research, this approach can be extended to the problem of real-time obstacle avoidance. Similarly, another possible direction for future research is the modification of the second controller (related to the actuators), where the armature voltage and current can be the feedback variables for velocity control instead of the encoders; this then will become a speed sensorless approach.