Subscribe Now Subscribe Today
Research Article

State Estimation for Mobile Robot Using Neural Networks

S. Chouraqui and M. Benyettou
Facebook Twitter Digg Reddit Linkedin StumbleUpon E-mail

In this study, we describe a state estimation method using neural networks. The developed method has been applied to the problem of estimating the parameter of a six degree of freedom (DOF) PUMA 560 Robot arm manipulator. The results obtained were compared with the conventional Extended Kalman Filter, showing an improvement in performance and robustness. From the simulations performed, it can be said that the neural filter proposed for the studied application is more consisted and convergent than the EKF filter.

Related Articles in ASCI
Similar Articles in this Journal
Search in Google Scholar
View Citation
Report Citation

  How to cite this article:

S. Chouraqui and M. Benyettou, 2009. State Estimation for Mobile Robot Using Neural Networks. Journal of Applied Sciences, 9: 3957-3965.

DOI: 10.3923/jas.2009.3957.3965



Accurate on-line estimates of critical system states and parameters are needed in a variety of engineering applications, such as condition monitoring, fault diagnosis and process control. In these and many other applications it is required to estimate a system variable which is not easily accessible for measurement, using only measured system inputs and outputs.

Since, the development of the well-known Kalman Filter (KF) approach for state estimation in linear systems (Crassidis and Junkins, 2004; Kalman, 1960) this method has been widely studied in the literature and applied to many problems. The KF is a recursive estimation approach, where state estimates are obtained in two distinct steps. In the first step, a one-step-ahead state prediction is obtained, based on the latest state estimate. In the second step, the state estimate is refined by linearly combining the state prediction obtained in the first step, with the new output measurements. The KF has been extended to nonlinear systems. One such extension, called the extended Kalman filter (EKF) (Crassidis and Junkins, 2004), has experienced a lot of interest from researchers but it has found few industrial applications (Jonsson and Palsson, 1994). In the EKF approach, the state prediction is obtained in the first step using nonlinear state propagation based on the available model. In the second step, the newly received output measurements are combined with the state prediction, still in a linear fashion. As a result the state estimate is effectively a linear combination of all output measurements. In both the KF and the EKF, the model of the system used in the predictor is assumed to be perfectly known, along with the statistics of the process and sensor noise entering the system. These assumptions severely restrict the applicability of these filters in real-world problems and a more general nonlinear state estimation approach is definitely desirable. The EKF algorithm has been around for over 25 years, but it has only in the last a couple of years that rigorous analysis for this algorithm has appeared in the literature (Boutayeb et al., 1997; Reif et al., 1999).

Neural networks have been extensively investigated in the context of adaptive control and system identification (Billings et al., 1992; Haykin, 1999; Ljung and Sjoberg, 1992; Naraendra and Parthasarathy, 1990), but it was more recently that their use has been proposed in state estimation (Rochefort et al., 2005).

This study introduces a new view of estimating the position and velocity of a six degree of freedom robot arm manipulator using a nonlinear filter based on neural networks, the results obtained of the presented algorithm were compared with the EKF method.


The PUMA 560 (Programmable Universal Machine for Assembly) depicted in Fig. 1 is a 6 DOF manipulator with revolute joints that has been widely used in industry and still is in academia.

Fig. 1: Puma 560

The PUMA uses DC servo motors as its actuators, has high resolution relative encoders for accurate positioning and potentiometers for calibration (Armstrong et al., 1986).

Manipulator dynamics is concerned with the equations of motion, the way in which the manipulator moves in response to torques applied by the actuators, or external forces. The history and mathematics of the dynamics of serial-link manipulators are well covered in the literature. The equations of motion for an n-axis manipulator are given by:


where, q is the vector of generalized joint coordinates describing the pose of the manipulator, is the vector of joint velocities, is the vector of joint accelerations, M is the symmetric joint-space inertia matrix, or manipulator inertia tensor, C describes Coriolis and centripetal effects-Centripetal torques are proportional to , while the Coriolis torques are proportional to , F describes viscous and Coulomb friction and is not generally considered part of the rigid body dynamics.

It is straightforward to express from Eq. 1 as follows:


For the six-degree-of-freedom model used here n = 6. The nonzero elements of the inertia matrix (in kgm2) are given as:






















The nonzero Christoffel (Coriolis) symbols (in Nms2) are given as:





















Fig. 2: Simulink simulation diagram of PUMA560

Fig. 3: Simulink diagram of PUMA560 dynamics

and nonzero gravity vector entries (in Nm) are given below:









Simulink based simulation model of puma 560 dynamics and complete simulation diagram is shown in Fig. 2 and 3.


The main steps of the extended Kalman filter (EKF) can be formulated as described by Haykin (1996). It assumes a formulation of the non-linear system with the input states u, the output states y and the non-measurable, internal states x. In the following formulation, w and v are the process and output noise vectors, respectively.


The state vector of interest in this estimation problem is:


The nonlinear state-space model follows from Eq. 1 as:


The Extended Kalman filter equations are given as follows:






Matrix Hk is obtained by linearization of the function h (x) as follows:


In the same way the matrix Φk is obtained as:



Multilayer Perceptron (MLP): A Neural Network (NN) is a computational structure composed of a collection of artificial neurons. Each neuron is an operator that processes, with a nonlinear activation function φ, the weighted sum of its inputs to produce an output signal. The connections between the artificial neurons define the behavior of the net, identify its applicability and specify its training methods (Haykin, 1994). In a Multi-Layer Perceptron (MLP), the neurons are grouped in one or more layers with the output of each layer being the input to the next layer.

The training process consists of adjusting the neuron weights based on the expected output and some optimization rules. In a supervised scheme, the weights are adjusted interactively by comparing the output of the network with the desired value at each step. This scheme means that the training process teaches the net the expected output for each given input.

A feed forward MLP is a mapping function with n0 input elements and nL output elements. An MLP network is composed of L layers, with nl (l = 1, 2… L) neurons in layer l. When the layer l is not 0 or L the layer is referred to as a hidden layer. To formalize this description, if is the output of the neuron of layer l, , is the weight of the jth input (coming from the jth neuron of the preceding layer) and φl is the activation function, then:


where, is the output of the jth neuron in the previous layer l-1 and is the bias, introduced to allow the neuron to present a non-null output even in the presence of a null input (Stinchcombe and White, 1989). While an MLP can have any number of layers, L, for most applications a single hidden layer, or two total layers, is sufficient as is shown in Fig. 2. This system has p inputs, q hidden nodes and r outputs. In matrix form, the complete expression can be formulated as:


Training algorithm: Training a neural net generally consists of applying a method to adjust or estimate the neuron weights. The training process minimizes the neural net output error through the application of an optimization method. All methods need to know how the net output varies with respect to the variation of a given neuron weight.

The back propagation algorithm is an algorithm for learning in feed forward networks using mean squared error and gradient descent (Rumelhart et al., 1986). The error that we choose to minimize for our training algorithm is:


calculated at a given time step, n.

The calculated error at the output layer is:


where dk is the desired output of element k and yk is the hidden layer output response specified by:


In (6), vk is the output layer activation level:


This continues through the hidden layer to the input layer:




To calculate the gradient of the error function, we use the chain rule to get:


This derivative allows the weight update to be calculated, using a learning parameter, ç1:


The resulting weight update is then:


To simplify the equations, we calculate an intermediate delta value,δ, for the output layer:


which gives the final weight update equation for the output layer:


This operation is repeated for the hidden layer:


and again defining an intermediate δ:


gives the final weight update:


Activation function: The nonlinear neuron computes its activation level by adding all the weighted activations it receives. It then transforms this activation level into a response using an activation, or squashing, function φ. Several squashing functions can be used. The most common one is the logistic function:


This function maps the set of real numbers into the (0, 1) range. The derivative is easy to compute:


which is useful for computing the back-propagation error. The hyperbolic tangent is also often used when the response range is the interval (-1, +1):


Its derivative is also easy to compute:


There are many such activation functions that can be used. Choice of which to use in which layers is left to the designer of the network based on the dynamics of the system.


To illustrate the performance of the proposed estimator, an initial set of simulation results will be presented. In these simulations we have utilized the model of a Puma 560 type robot manipulator as presented in Fig. 1.

The networks considered in this paper for approximating the filter functional forms are the feedforward multilayer perceptron (FFMLP) illustrated in Fig. 4, the state filter utilizing neural networks assumes that a deterministic system model is available with the structural form of Eq. 3. The neural is chosen to be a three layer FFMLP network with eighteen nodes in the first layer, corresponding to six component of torque, six component of orientation q and six component of velocity qd. The twelve nodes in the third layer correspond to outputs q and qd. The number of units in the hidden layer is determined experimentally, from studying the network behavior during the training process taking into consideration some factors like convergence rate, error criteria, etc. In this regard, different configurations were tested and the best suitable configuration was selected based on the accuracy level required. The number of hidden units for the MLP is 40.

In this study, an attempt is made to develop and compare EKF with the developed neural state filters.

Fig. 4: Topology of MLP network

For implementation of the EKF, the covariance matrices of the process noise and measurement noise were tuned empirically to obtain the successful values.

The initial guess of the covariance matrix Po was simply zero.

After simulating the predicting trajectories and the true trajectory are shown in Fig. 5 (Position estimation) and Fig. 6 (Velocity estimation) respectively. Moreover the Fig. 7 and 8 exhibit error comparison of algorithms.

From the results obtained it can be observed that the neural estimator is more accurate than the EKF. In Fig. 6 it is clear that the EKF is not robust to estimate the velocity of the arm manipulator.

As can be seen from Fig. 7 and 8, the estimation errors for neural filter proposed decrease fast after the first estimation. The average RMS error for the EKF was 0.0309, whereas the neural observer presents an average error of 0.0035.

Fig. 5: Position estimation for six DOF PUMA 560 arm manipulato

Fig. 6: Velocity estimation for six DOF PUMA 560 arm manipulator

Fig. 7: Position estimation error for both methods

Fig. 8: Velocity estimation error for both methods

From simulations it can be said the neural filter proposed for the studied application is more consisted and convergent than the EKF filter.

In this study we present a new method for developing neural network-based state filters for use when system models are not available or they are inaccurate (Menon et al., 1998). The study demonstrates the accuracy and effectiveness of the state filtering method on a real-world process state and parameter filtering problem.


More recently, neural networks have been proposed for use in state estimation problems for approximating nonlinear mappings between the states, inputs and outputs. No constraining assumptions are needed about the structure of the dynamic system investigated and the nature of the stochastic process and or measurement noises. This is unlike traditional state estimation methods, where explicit knowledge of the system dynamics and the stochastic processes affecting the system must be available or assumed.

In this study, the Neural Networks as a tool for state estimation has been used in robot arm manipulator state estimation and compared to the standard method for nonlinear state estimation the EKF. The state estimation methods have been compared using the same tuning parameters to make the comparative study as credible as possible.

The results show promise for using neural networks for developing state filters for use when system models are not available or they are inaccurate. The study demonstrates the accuracy and effectiveness of the adaptive state filtering method on a real-world process state and parameter filtering problem.


The extended Kalman filter has been widely used as a position estimation method for mobile robot applications. The system model is generally nonlinear in mobile robotics, so the classical extended Kalman filter for mobile robot position estimation suffers from a fundamental flaw. Linear approximation of nonlinear system equations with first order Taylor series induces linearization error. To overcome these drawbacks a new estimation method based on neural networks was proposed in this paper. The simulation results show an improvement of the new filter. It avoids linear approximation of nonlinear system equations and is free of linearization error. The filter is consistent and convergent. Comparing with EKF, it gives more conservative estimation result.

1:  Armstrong, B., O. Khatib and J. Burdick, 1986. The explicit dynamic model and inertial parameters of the puma 560 arm. IEEE Int. Conf. Robotics Automation, 3: 510-518.
Direct Link  |  

2:  Billings, S.A., H.B. Jamaluddin and S. Chen, 1992. Properties of neural networks with applications to modeling non-linear dynamical systems. Int. J. Control, 55: 193-224.

3:  Boutayeb, M., H. Rafaralahy and M. Darouach, 1997. Convergence analysis of the extended kalman filter used as an observer for nonlinear deterministic discrete-time systems. IEEE Trans. Automatic Control, 42: 581-586.
Direct Link  |  

4:  Crassidis, J.L. and J.L. Junkins, 2004. Optimal Estimation OF Dynamic Systems. 1st Edn., Chapman and Hall/Crcpress, USA., ISBN-13: 9781584883913.

5:  Haykin, S., 1994. Neural Networks A Comprehensive Foundation. Macmillan College Publishing, New York, USA.

6:  Haykin, S., 1996. Adaptive Filter Theory. 3rd Edn., Prentice Hall, New Jersey, ISBN: 0-13-322760-X.

7:  Haykin, S., 1999. Neural Networks: A Comprehensive Foundation. 2nd Edn., Prentice Hall, New Jersey, ISBN-10: 0132733501.

8:  Jonsson, G. and O.P. Palsson, 1994. An application of extended Kalman filtering to heat exchanger models. ASME J. Dyn. Syst. Meas. Contr., 116: 257-264.
CrossRef  |  Direct Link  |  

9:  Kalman, R.E., 1960. A new approach to linear filtering and prediction problems. Trans. ASME. J. Basic Eng., 82: 35-45.
Direct Link  |  

10:  Naraendra, K.S. and K. Parthasarathy, 1990. Identification and control of dynamic systems using neural networks. IEEE Trans. J. Neural. Networks, 1: 4-27.
CrossRef  |  

11:  Reif, K., S. Gunther, E. Yaz and R. Unberhauen, 1999. Stochastic stability of the discrete-time extended kalman filter. IEEE Trans. Automatic Control, 44: 714-728.
Direct Link  |  

12:  Rochefort, D., J. de Lafontaine and C.A. Brunet, 2005. A new satellite attitude state estimation algorithm using quaternion neural networks, Paper AIAA-2005-6447. Proceedings of the AIAA Guidance, Navigation and Control Conference and Exhibit, San Francisco, Aug. 15-18.

13:  Rumelhart, D.E., G.E. Hinton and R.J. Williams, 1986. Learning Internal Representations by Error Propagation. In: Parallel Distributed Processing, Rumelhart, D.E. and J.L. McClelland (Eds.). MIT Press, Cambridge, ISBN: 0-262-68053-X, pp: 318-362.

14:  Stinchcombe, M. and H. White, 1989. Universal approximation using feedforward networks with non-sigmoid hidden layer activation functions. IEEE Int. Joint Confer. Neural Networks, 1: 613-617.
Direct Link  |  

15:  Menon, S.K., A.G. Parlos and A.F. Atiya, 1998. Nonlinear state estimation in complex system using neural networks: part I algorithms, part-II applications. IEEE Transactions on Neural Networks, 1998.

16:  Ljung, L. and T. Sjoberg, 1992. A system identification perspective on neural nets. Proceedings of the IEEE Workshop Neural Networks for Signal Processing, Aug. 31-Sept. 2, Helsingoer, Denmark, pp: 423-435.

©  2021 Science Alert. All Rights Reserved