Abstract
This article presents a new approach to control a wheeled mobile robot without velocity measurement. The controller developed is based on kinematic model as well as dynamics model to take into account parameters of dynamics. These parameters related to dynamic equations are identified using a proposed methodology. Input–output feedback linearization is considered with a slight modification in the mathematical expressions to implement the dynamic controller and analyze the nonlinear internal behavior. The developed controllers require sensors to obtain the states needed for the closed-loop system. However, some states may not be available due to the absence of the sensors because of the cost, the weight limitation, reliability, induction of errors, failure, and so on. Particularly, for the velocity measurements, the required accuracy may not be achieved in practical applications due to the existence of significant errors induced by stochastic or cyclical noise. In this article, Elman neural network is proposed to work as an observer to estimate the velocity needed to complete the full state required for the closed-loop control and account for all the disturbances and model parameter uncertainties. Different simulations are carried out to demonstrate the feasibility of the approach in tracking different reference trajectories in comparison with other paradigms.
Introduction
Many research articles have dealt with the design of control laws for nonholonomic mobile robots. This interest comes from the continuous need for mobile robots in industry, field, and service robots. Mobile robots are no more restricted to factories and some specific places but are becoming closer to human beings when they moved to our homes. More particularly, robots are used to assist people at home or assist disabled individuals if their powered chairs are made intelligent.1,2 In the early works, the controllers developed for wheeled mobile robots are based on kinematic models. Many works have investigated the trajectory tracking problem using the kinematic model of the mobile robot, and many control laws have been developed including intelligent techniques of the fuzzy logic and neural network. This interest has been extended to dynamic models in order to take into account parameters of dynamics such as mass, moment of inertia, and so on, which might give unforeseen behavior in case they are neglected or badly determined. Based on the dynamic model, many articles focused on tracking and stabilization issues using different types of controllers.3,4 The controllers developed for this purpose require some accurate knowledge on the parameters to give good performances. In the presence of uncertainties, robust methodologies must be developed in order to meet the imposed performances.5–7 Moreover, the developed controllers require sensors to obtain the states needed for the closed-loop system. However, some states may not be available due to the absence of the sensors because of the cost, the weight limitation, reliability, induction of errors, failure, and so on. Particularly, for the velocity measurements, the required accuracy may not be achieved in practical applications due to the existence of significant errors induced by stochastic or cyclical noise. For these reasons, software sensors, also called observers, are developed to overcome all the above-cited problems. Tracking control using observers when velocity measurement is not possible has been proposed in some articles.8–10 In fact, observers constitute the backbone of the system that is to be controlled by estimating the uncertain parameters and compensate for modeling errors and noise. 11 The success and superiority of dynamic neural network over static neural network in system identification and control of dynamical systems12–17 motivated us to use it as an observer. In this article, Elman neural network (ENN) is proposed for that purpose to estimate the velocity needed to complete the full state required for the closed-loop control. Unlike the static neural network, the ENN has certain dynamical advantages, such as its capability to estimate the velocity in a fraction of the fundamental cycle, avoiding the delay often introduced by static neural networks. When the dynamic model is to be integrated with the nonholonomic kinematics constraints, the problem of trajectory tracking becomes more interesting and more realistic. Motivated by the work of Sarkar et al. 18 and Yun and Yamamoto, 19 our goal is to develop a control law approach based on input–output linearization while estimating the nonmeasured system states using ENN trained with the error back-propagation (EBP) algorithm. Thus, the principal contribution of this article is twofold. First, we provide the PowerBot parameter determinations which are necessary in finding the PowerBot dynamic model. Second, the nonmeasured mobile robot velocity is estimated using a proposed ENN observer based on an input–output linearization controller. The proposed observer is inserted to estimate the right and left wheel angular velocities necessary to compute the estimated components of the linear velocity vector. The proposed controller is based on dynamic model. But it seems that PowerBot user interface components do not offer the developer the possibility to access the low-level software but Arcos. Thus, to develop a control software application, one needs to talk to Arcos interface. Further work in this direction is under progress, and only simulation results are presented in this article.
This article is organized as follows. In section “PowerBot parameters determination,” we elaborate the parameter determination of PowerBot, taking into account the physical and mobility parameters that help in determining the inertia tensors and the position of gravity center. The kinematic and dynamic modeling of the mobile robot are presented in section “Kinematic and dynamic modelization.” Section “Mobile robot control” presents the controller’s design for path following. In section “ENN observer,” the proposed procedure of the ENN-based observer is performed for estimating the missing state in the presence of some disturbances. Simulation results are given in section “Simulation results” and section “Conclusion” concludes this article.
PowerBot parameters determination
The PowerBot development platform for this project is one of the most critical components when it comes to successfully achieving the project goals. The project requires us to determine the unknown parameters that serve in elaborating the dynamics model. For this purpose, we propose to give the physical parameters of PowerBot and go through all the steps that lead to the determination of the position of the center of gravity and the different tensors.
PowerBot characteristics
PowerBot, among many research robots developed by Adept Corporation, is a research indoor platform mobile robot. 20 Below, we report the characteristics of PowerBot in terms of its physical and mobility parameters necessary to derive the dynamics model.
Inertia tensors of PowerBot
PowerBot is constituted of elements with different masses and dimensions (Figure 1). Referring to Figure 1, we note that the batteries are fixed in the extreme left robot’s chassis. Therefore, the inertial tensor is not in the geographic center of the robot. For this reason, we propose to split the robot into two rectangular parts as depicted in Figure 2. The first part contains the batteries and the second part the different electronic cards and components.

Side and top views of PowerBot.

Center of gravity placements (side view).
The PowerBot characteristics and mobility parameters are defined as follows:
G e: center of mass of the electronic cards and components part;
Gb : center of mass of the batteries part;
G: center of mass of the robot;
L: length of the robot: 83.2 cm;
2b: width of the Robot: 62.6 cm;
Le : length of the electronic part: 43.2 cm;
Lb : length of the Batteries part: 40 cm;
Lc : distance from the driving wheel axis to a look ahead reference point Pr: 43 cm;
H: height of the mobile robot: 48 cm;
r: drive wheel radius: 27 cm;
rc : caster wheel radius: 14 cm;
me : mass of the electronic part: 62 kg;
mb : mass of the batteries part: 50 kg;
mt : total mass of the electronic and batteries part: 112 kg;
mw : mass of each drive wheel: ≅6 kg;
mc : mass of each caster wheel: ≅3 kg;
ϕ: heading angle of the mobile robot;
Ie : inertia tensor of the electronic part;
Ib : inertia tensor of the batteries part;
If : inertia tensor of each front driving wheel and the motor rotor;
Ir : inertia tensor of each rear wheel (caster wheel);
Ip : inertia tensor of the platform;
N: transmission ratio = 22.3:1;
Jr : rotor inertia of one motor = 0.04 kg m2.
We calculate the abscissa of the center of mass G as
The distance between G and Gb is
The distance between G and Ge is
We obtain the inertia tensors for the electronic part, the batteries part, and the platform as described in the coordinate system of Figure 2, with the origin at the center of mass by applying the parallel axis theorem. Using equation (1), one can determine the abscissa of the center of gravity which is
Note that this distance could be slightly different if we take into account the masses of each of the SICK laser sensor, which is equal to 4.5 kg and Bumblebee stereo vision camera, which weights 3 kg. With these values, the center of mass moves backward, and the distance OG would be
Now, if the Bumblebee is excluded from calculation, the distance OG becomes
The inertia tensors are explained in the following.
Inertia tensor of the platform: Ip
Inertia tensor of each drive wheel: If
We consider the wheel as a homogeneous cylinder of radius r and height h. Now, considering the inertia of the motor with respect to its revolution axis, we write the inertia tensor of each front wheel as
Inertia tensor of each rear (caster) wheel: Ir
We consider the wheel as a homogeneous cylinder of radius r c and height hc . The inertia tensor of each caster wheel is written as
Kinematic and dynamic modelization
In the sequel, we use the kinematic model and the dynamic model to determine the motion equation of the robot. All the tensors calculated above will be useful in the equations.
Kinematic model
The model of PowerBot is presented in Figure 3. The model has two diametrically opposed drive wheels of radius r, the distance between the wheels is 2b, the angular speeds of the drive wheels are ωL
and ωR
, and ϕ is the heading angle defined to be the angle between the x-axis attached to the robot and the x-axis of the world coordinates. The coordinates of the center of gravity PG
and the origin of the robot coordinate system P

Kinematic model of PowerBot.
To ensure no singularity in the control solution, it has been shown that the point of control Pr
cannot be located at the intersection of axis of symmetry of the platform18,21 but in front of the mobile robot. In the sequel, we will use the three constraints given by equations (7)–(9) and define the configuration of the mobile robot by the vector
In a more compact form, we write the above three constraint equations in a matrix form as
where
Dynamic model
The dynamic study consists in determining the forces or torques to be applied to the articulations in order to obtain the desired configurations. The standard method that uses the Euler–Lagrange equations is applied in order to obtain the dynamic equations
To elaborate the dynamic model, we choose the vector of the generalized coordinates as follows: Our goal is to control the mobile robot over predefined trajectories. Hence, we take xG and yG as elements of the vector of the generalized coordinates. However, we want to control the torques of each driving wheel. Therefore, we add the angular position of the driving wheels as elements of this vector. We obtain the following form
where
The remaining terms are found to be
Solving the system (15), we obtain the matrix S(q), such that
where c = r/2b; hence, the columns of S(q) are in the null space of D, and consequently, S(q) spans N(D). As
where
Multiplying equation (13) by ST (q), we obtain
This expression represents the inverse dynamic model of the mobile robot. It helps in elaborating the reference signals to be sent to the motors. We remark that the torques are written in terms of the robot acceleration. However, we are usually interested in controlling the mobile robot in terms of the angular speed and acceleration of the wheels. Thus, we can establish a relation between the motor torques and the system parameters. Deriving equation (17), we obtain
When substituting
Mobile robot control
State space representation
Considering the state vector x
The system state equation (20) can be written as
Such that
Once the system is put in its state space form, it can be used for the determination of the control law. By introducing a new input variable u, such that
The state equation given by equation (22) can be further simplified to
In a more compact form, we can write
System (24) can be partitioned into two subsystems facilitating its analysis and implementation of the control law; we write
Such that
and
From system (24), we can identify the time derivative of the state variable xa and xb to be
Then, the system can be expressed into its reduced form
Nonlinear feedback control
The nonlinear feedback control is used to eliminate nonlinearities present within the system and impose desired linear dynamics. This approach was a success of a large variety of applications. The theory of the nonlinear feedback control has been well established in Slotine and Li 22 and Isidori. 23 The first application in robotics was introduced on robot manipulators in Tam et al. 24 and extended to mobile robots,25,26 where the authors showed the usefulness of the approach and revealed its limitations. It is shown in Sarkar et al. 26 that input–output linearization can be achieved using a static state feedback of a reference point whose coordinates are located on the front of the mobile robot and cannot be realized when the point is located at the middle of the axis of symmetry with the driving wheel axis. For this reason, the reference point Pr located in the front side and distant from Pa , by Lr , is chosen as the controlling point. Based on the distance of the center of gravity determined to be equal to 47.37 cm and given the length of the mobile platform L = 83.73 cm, and the distance from the driving wheel axis to a look ahead reference point Pr = 43 cm, one can deduce the distances d and Lr such that d = 7.17 cm and Lr = 35.83 cm.
Hence, the output vector is written as
Taking the time derivative of y yields
Letting α = c(d + Lr) and β = c·b, we can verify that
and since Lgh(x) = [0], we compute once more the Lie derivative of equation (35) in order to make the input control u appear in the equation, we obtain
Deriving equation (36), one obtains
If the matrix LgLfh (x) in equation (38) is invertible, then the control vector u can be determined. This is always true since its determinant is always negative: det(LgLfh (x)) = −2αβ = −2c 2(d + Lr )b < 0.
Hence, from equation (37), the control law is obtained as
This control law eliminates the nonlinearities and permits to obtain a simple input–output relationship which can stabilize the whole system such that
Thus, the linearized system is controlled by the outer loop chosen as
where the vector
Stability analysis
In the preceding section, we have shown that the stability and performance of the linearized system can be realized by a good choice of the gains Kp
and Kv
. However, the dynamic behavior of the obtained system depends also on the internal dynamics. Since the control law must take into consideration all the dynamics, the internal behavior must be carefully considered. The question is to know whether the internal states stay bounded. The equations which determine internal dynamics are called zero dynamics. They are defined as the dynamics of the system when the state feedback law u
0 maintains the output
To study the behavior of the internal dynamics, consider the state transformation of the nonlinear system represented by equations (25) and (33). It is transformed to the normal form by constructing the following diffeomorphism, z 1 = h 1(x), z 2 = Lfh 1(x), z 3 = h 2(x), and z 4 = Lfh 2(x). Since the variable x is seven dimensional, three more components are added. We choose to complete the vector by adding the right and left wheel angles, z 5 = θl and z 6 = θr , as well as the orientation angle z 7 = ϕ. However, since z 7 depends on z 5 and z 6, by the relation z 7 = c(z 5 − z 6), the vector z is only six dimensional, z = [h 1(x), Lfh 1(x), h 2(x), Lfh 2(x), θl, θr ,] T
Equations (36) can be rearranged to obtain
Thus
After applying the feedback (40), the system of the mobile robot is written in the following form
where v can be chosen as in equation (42) or by pole placement, that is, v = −Kz. The internal dynamics associated with the input–output linearization correspond to the two last equations. In this case, the equations are split into two groups, where the second group corresponds to the zero dynamics and written as
The zero dynamics are defined as the dynamics of the system when the output
ENN observer
ENN is a partial neural network model that was first proposed for speech processing.
12
Recently, the ENN has been widely used for the identification and control of dynamical systems. In this section, we propose a design based on this type of recurrent neural network to estimate the time derivative of the mobile robot coordinates. For our convenience, the model expressed by equation (13) can be written in state equation form. Choosing x
1 = q and
If we suppose that only the position state can be measured and the inertial matrix M is approximately known, it imposes the necessity to observe the second state and account for uncertainties. The control law presented in this article is based on only estimating a portion of the second state vector such that
For our purpose, the Elman recurrent neural network model is chosen as an observer to estimate the nonmeasurable states. It is inserted in the controlled system as shown in Figure 4. The estimated output can be expressed in the following form

Input–output control with a neural network.
where

Structure of the ENN.
Input layer
In this layer, the input variables are the measured position and orientation of the mobile robot:
Context layer
The context layer behaves like the input layer. The context node input values are simply the calculated values of the hidden output nodes transmitted via recurrent connections through a unit delay, that is,
Hidden layer
In this layer, each neuron is described by an activation sigmoid function. The number of hidden layer neurons is equal to m. This number is chosen arbitrary; one can always begin with a minimum number of nodes and keep increasing until no more improvement could be seen. The output
where
Output layer
In this application, only terms that cannot be measured are estimated. Therefore, only a portion of the second state vector is observed, that is,
where G is a certain chosen gain and
The aim is to find the appropriate weights by minimizing the error E. The output error signals are found by taking the ordered derivative given by the expression
Proceeding with each error signal, we obtain
For the hidden, input, and the context layer nodes, the error signals can be derived using the functional decomposition rule
where N(l + 1) is the number of neurons in layer (l + 1). One can verify that the obtained error signal back to the hidden layer is obtained as
Proceeding with the calculations, one can find
The error signal back propagated to the input layer is obtained as
It can be easily shown that
The Elman back-propagation algorithm is used to update the output and hidden layers recursively at each iteration so that
where α is the learning rate coefficient of the EBP and β is a user-selected positive momentum constant typically chosen between 0.1 and 0.9. The third term can be determined as follows
For the hidden-to-output layer weight adjustment: l = 1
For the input-to-hidden layer weight adjustment: l = 0
Simulation results
We present in this section the computer simulation results. The mobile robot is supposed to track two different reference trajectories, namely, a straight line path and a circular path (cf. Figures 6 and 7, respectively). These trajectories are purposely chosen to be analogous to those found in Coelho and Nunes. 7 In the presented simulations, the system is linked with the observer based on an ENN design. The training algorithm is carried out through a back-propagation algorithm. The gradient of the objective function with respect to neural network parameters is calculated and used to update the weight parameters, starting from the output layer and propagating backward. To accelerate convergence, a momentum term is being added to the learning expression. The values of the learning rates depend on the problem being solved since the convergence depends significantly on these values. Hence, there is a tradeoff between small values and large values. Small values may lead to the solution but with a small convergence rate; however, large values may overshoot the solution. After some trials, the values retained in this application are found to be α = 0.8 and β = 0.3. We consider errors of 10% on all parameters of the system in order to test the robustness of the proposed scheme with respect to the parametric and structural errors. Simulation results are performed for a specific initial condition which incorporates the true nonlinear nature of the problem with the gains Kp = 3 and Kv = 7. In all the experiments, the velocities are reconstructed from the observer. In Figure 6, the initial pose of the mobile robot is (0°, 0°, 90°), while in Figure 7, the initial pose is (5°, 30.6°, 225°). In both cases, the mobile robot tries in the first step to cancel the position error by rapidly approaching the reference paths. Once the paths are reached, the path following is achieved in a well-stable behavior. This tracking behavior is observed in Figures 8 and 9, which show the distance error between the actual and the desired paths. Figures 10 and 11 depict the evolution of the heading angles in both cases. In fact, in case of a straight line path tracking, the transient angle lasts about 8 s before the heading angle stabilizes to a fixed positive value of 45°. However, this angle is observed to increase linearly as the mobile robot turns around the circular path. Note that the desired paths are followed with the mobile robot in the forward motion and the measured forward measured linear velocities are depicted in Figures 12 and 13. The estimated and measured angular velocities of the right wheels are shown in Figures 14 and 15 for the straight line and circular paths, respectively. Figures 16 and 17 depict those of the left wheels for both tracking paths. The curves of the estimated angular speeds attained the measured ones after small lapse of time, which prove the convergence of the ENN observer. The simulation carried on the established model of the mobile robot showed the feasibility of the approach and the successfulness of the observer in estimating the missing states of a system subjected to error modeling.

Evolution of the mobile robot along a straight line trajectory.

Evolution of the mobile robot along a circular trajectory.

Distance error between actual and desired paths performed by the mobile robot in following a straight line path.

Distance error between actual and desired paths performed by the mobile robot in following a circular path.

Heading angle plot.

Heading angle plot.

Forward velocity of the mobile robot in following a straight line path.

Forward velocity of the mobile robot in following a circular path.

Estimated and measured right wheel speeds of the mobile robot in following a straight line path.

Estimated and measured left wheel speeds of the mobile robot when tracking a circular path.

Estimated and measured right wheel speeds of the mobile robot in following a straight line path.

Estimated and measured left wheel speeds of the mobile robot in following a circular path.
Conclusion
The theoretical work in the field of wheeled mobile robot control is large and offers different solutions to solve the problems of displacement. However, the integration of the control laws on an experimental requires us to take into account certain constraints. We presented in this article the different steps in the design, modeling, and control of a mobile robot modular wheel. We initially identify important parameters for the control of mobile robot. This allowed us to make choices not only on the assumptions of behavior but also on the formalism adopted for the kinematic and dynamic modeling. In this article, feedback linearizing control law is used to allow tracking a specified reference trajectory. It is supposed that only the position state can be measured, and some of the parameters that intervene in the modelization are approximately known. To solve these problems, an ENN-based observer is proposed to estimate the nonmeasured velocity vector of the mobile robot. Simulations are carried out and the results obtained show that the complete controlled system presented good performances and stability under uncertainties on the model parameters, which confirm the feasibility of the approach. Further work in this direction is under progress, and our goal is to build the controller on the true PowerBot and carry out the experimental tests.
Footnotes
Academic Editor: Mario L Ferrari
Declaration of Conflicting Interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work is supported by NPST program by King Saud University (project no. 08-ELE-300-02).
