Open access

Design of Neural Network Mobile Robot Motion Controller

Written By

Jasmin Velagic, Nedim Osmic and Bakir Lacevic

Published: January 1st, 2010

DOI: 10.5772/7584

Chapter metrics overview

4,386 Chapter Downloads

View Full Metrics

1. Introduction

Neural networks are recommended for intelligent control as a part of well known structures with adaptive critic (Barto, 1983; Lacaze, 1997; Hendzel, 2007). Recently, much research has been done on applications of neural networks for control of nonlinear dynamic processes (Narenda & Pathasarathy, 1990; Nguyen & Widrow, 1990). These works are supported by two of the most important capabilities of neural networks; their ability to learn and their good performance for the approximation of nonlinear functions (Hornik et al., 1990). At present, most of the works on system control using neural networks are based on multilayer feedforward neural networks with backpropogation learning or more efficient variations of this algorithm (Narenda & Pathasarathy, 1990). It has been shown (Hornik, 1990) that a neural network with one hidden layer with an arbitrarily large number of neurons in the hidden layer can be approximate any continuous functions over a compact subnet of n .

The neural network-based control of mobile robots has recently been the subject of intense research (Corradini et al., 2003). It is usual to work with kinematic models of mobile robot to obtain stable motion control laws for trajectory following or goal reaching (Jiang, 2001; Ramírez & Zeghloul, 2000). The most authors solved the problem of mobile robot motion control and stability using nonlinear backstepping algorithm (Tanner & Kyriakopoulos, 2003; Velagic et al., 2006). Fierro and Lewis (1998) developed a neural network based model by combining the backstepping tracking technique and a torque controller, using a multi-layer feedforward neural network, where the neural network can learn the dynamics of the mobile robot by its on-line learning. But the control algorithm and the neural network learning algorithm are very complicated and it is computationally expensive. In (Yang & Meng, 2001) a single-layer neural network based controller for robot is proposed. This approach does not include any nonholonomic kinematics therefore it can not be used for robot with kinematic constraints. However, the problem of control of mobile robots has attracted the interest of researchers in view of its theoretical challenges. In fact, these systems are a typical example of nonholonomic mechanisms due to the perfect rolling constraints (no longitudinal or lateral slipping of the wheels).

In this paper we used a recurrent neural network for controlling the mobile robot with nonholonomic constraints. This network is trained on-line using the backpropagation optimization algorithm with an adaptive learning rate (Velagic & Hebibovic, 2004; Velagic et al., 2005). The optimization algorithm is performed at each sample time to compute the optimal control inputs. This is a simple control system and computationally very effective for real-time requirements.


2. Control System of Mobile Robot

The proposed neural network control system is shown in Fig. 1. The control system consists of the neural network controller, the kinematic model of mobile robot, a reference trajectory generator and an encoder which provides odometric information. In this section the kinematic model of mobile robot with differential drive and convergence conditions of overall control structures are described. Design of neural network controller will be presented in the next subsection.

Figure 1.

Mobile robot motion control system

2.1. Kinematic model of mobile robot

In this paper the mobile robot with differential drive is used (Fig. 2).

Figure 2.

The representation of a nonholonomic mobile robot.

The robot has two driving wheels mounted on the same axis and a free front wheel. The two driving wheels are independently driven by two actuators to achieve both the transition and orientation. The position of the mobile robot in the global frame {X, O, Y} can be defined by the position of the mass center of the mobile robot system, denoted by C, or alternatively by position A, which is the center of mobile robot gear, and the angle between robot local frame {xm , C, ym } and global frame.

Kinematic equations of the two-wheeled mobile robot are:

[ x ˙ y ˙ θ ˙ ] = [ cos ( θ )       0 sin ( θ )       0     0         1 ] [ v ω ] E1
[ v ω ] = [ r            r r D      - r D ] [ v R v L ] E2

where x and y are coordinates of the center of mobile robot gear, θ is the angle that represents the orientation of the vehicle, v and ω are linear and angular velocities of the vehicle, vR and vL are velocities of right and left wheels, r is a wheel diameter and D is the mobile robot base length.

Combining equations (1) and (2) yields:

[ x ˙ y ˙ θ ˙ ] = [ r cos ( θ )        r cos ( θ ) r sin ( θ )         r sin ( θ )       r D             - r D ] [ v R v L ] E3

Inputs of kinematic model of mobile robot are velocities of right and left wheels vR and vL .

The constraint that the wheel cannot slip in the lateral direction is:

x ˙ sin θ + y ˙ cos θ d θ ˙ = 0 E4

The stability conditions of mobile robot system with PI controller will be investigated in the next subsection.

2.2. Convergence condition of control system

The feedback control system of mobile robot is shown in Fig. 3.

Figure 3.

Mobile robot control system

The time derivation of mobile robot output yields:

[ d x d t d y d t ] = [ 1    0  0 0    1  0 ] [ x ˙ y ˙ θ ˙ ] E5
[ d x d t d y d t ] = [ 1    0  0 0    1  0 ] [ r cos ( θ ) r cos ( θ ) r sin ( θ ) r sin ( θ ) r D - r D ] [ v R v L ] E6

The equation (6) can be rewritten in compact form as:

[ d x d t d y d t ] = v = J [ v R v L ] E7

where J is Jacobian matrix.

It is required that the position error vector go exponentially to a zero as a function of time:

d e d t + K e = 0 E8

where ei =e i,0 exp(-kt).

This requirement is satisfied with the following control law:

v = K ( x r x ) + x ˙ r E9

where matrix K need to be positive definitive. On the other words the following relation hold:

k 1 , k 2 0 E10

where k 1 and k 2 are elements of the matrix K, respectivelly:

K = [ k 1      0   0       k 2 ] E11

Using equation (8) velocities of the right and left wheels:

[ v R v L ] = J 1 v = K ( x r x ) + x ˙ r E12

The Jacobian matrix J is a non-singular one so as to assure that a control law based on the inversion of J is possible.

Various controller parameters were tested by using lamniscate desired motion trajectories. The controller parameters, which ensure the good tracking performance is found to be:

k 1 =  1 0 2 . 9822 , k 2 =  1 . 3536 E13

On the basis of this velocity controller, the neural network controller will be designed in the next section.


3. Neural Network Control Design

In design of velocity mobile robot controller the following simplifications are assumed:

  • Kinematic model is captured by first order differential equation.

  • Assume that an arbitrary commanded speed can be achieved (instantaneously).

Under these simplifications, results are expected:

  • Exponential convergence of trajectory to desired trajectory.

  • Speed of convergence can be tuned.

3.1. Design of neural network controller

A neural network (NN) performs the system model identification that will be used to design the appropriate intelligent mobile robot controller. The usage of NN for controlling a mobile robot is justified from the following reasons: the operational conditions considered raises complex nonholonomic mobile robot kinematics and NN has universal approximation and supervised learning capabilities.

The neural network controller in Fig. 4, based on the recurrent network architecture, has a time-variant feature: once a trajectory is learned, the following learning takes a shorter time.

The dynamic neural network is composed of two layered static neural network with feedbacks (one hidden and one output layers) (Fig. 5). The hidden layer contains ten tansigmoidal neurons and the output layer has one neuron with a linear activation function.

It is important to note that rather then learning explicit trajectories, the neural network controller learns the relationship between linear velocities and position errors of the mobile robot. This network is trained using the backpropagation algorithm through time with an adaptive learning rate (Velagic & Hebibovic, 2004; Velagic et al., 2005). In the training phase the network is presented with a series of input-answer pairs.

Figure 4.

Neural network learning architecture

The network’s current output vk is compared with the desired input ek , and the errors are used to correct the weights in order to reduce the network’s error on this input:

ε n ( x ) = 1 2 k ( e k v k ) 2 E14

Synaptic weights are updated as

w j i ( t + 1 ) = w j i ( t ) + η δ j v i E15
w k j ( t + 1 ) = w k j ( t ) + η δ k v j E16

where η is the learning rate, δj is the error gradient at unit j, δk is the error at unit k and vi and vj are the outputs of unit i and j, respectively.

Figure 5.

Dynamical neural network.

A unifying framework for neural networks that encompasses process identification concept is to view neural network training as a nonlinear optimization problem:

min J ( w ) w E17

That is, we need to find values for neural network parameters w (weight vector) for which some cost function J(w) is minimized.

Let us assume that the controller is described by the following time difference equation:

v ( t ) = f ( v ( t 1 ) , ... , v ( t n ) ; e ( t ) , ... , e ( t m ) ) E18

where v(t) is the process output at time t depends on the past n output values and on the past m values of the input e. For identification plant model the neural network is used in the following form:

v n ( w , t ) = f w ( v ( t 1 ) , ... , v ( t n ) ; e ( t ) , ... , e ( t m ) ) E19

where n m for physically realizable systems.

Here fw represents the nonlinear input-output map of the neural network which approximates the controller mapping f ( ). The input to the neural network includes the past values of the controller output.

The training process for neural network modeling can be expressed as the minimization of an error measure. If the sampled process data are collected over a period [0, T], the cost function J(w) is defined as:

J ( w , t ) = t = 0 T [ v ( t ) v n ( w , t ) ] 2 E20

In our algorithm (Velagic & Hebibovic, 2004; Velagic et al., 2005) we define relationship between ΔJ(w,t) and J(w,t) by the relative factor χ(t):

χ ( t ) = Δ J ( w , t ) J ( w , t ) = J ( w , t ) - J ( w , t 1 ) J ( w , t ) E21

Then, we determine how to adjust learning rate term according to the relative factor χ. The adjustment of the learning rate is given as follows:

η ( t + 1 ) = η ( t ) [ 1 sgn ( χ ( t ) ) υ e χ ( t ) ] ,     υ ( 0 , 1 ) E22

The learning rate is adjusted at each iteration according to equations (21) and (22). The algorithm proceeds as follows. First, we select the number of neurons in hidden and output layers, initial value of learning rate and the parameter υ. Then, the training process in the closed control loop is performed for various values of parameter υ, υ[0,1]. We adopt the value of υ for which a satisfactory identification performance is achieved. Our neural network has 10 sigmoid neurons in hidden layer and 2 linear neurons in its output layer. The proposed algorithm starts with the same initial learning rate η=0.02 for both layers. The good results were obtained with υ=0.71.

The trajectory tracking performance obtained by adopted neural controller will be shown in the following section.


4. Simulation Results

The effectiveness of the neural network controller is demonstrated in the case of tracking of a lamniscate curve. The trajectory tracking problem for a mobile robot is based on a virtual reference robot (Egerstedt et al., 2001) (Fig. 6) that has to be tracked.

The tracking position error between the reference robot and the actual robot can be expressed in the robot frame as:

e p = [ e 1 e 2 e 3 ] = T p e q = [   cos θ      sin θ       0 sin θ     cos θ       0      0           0         1 ] [ x r x y r y θ r θ ] E23


e q = [ e x   e y   e θ ] T E24

The position error dynamics can be obtained from the time derivative of the (23) as:

e ˙ 1 = ω e 2 + u 1 e ˙ 2 = ω e 1 + v r sin e 3
e ˙ 3 = u 2 E25

where v = v r cos e 3 u 1 and

ω = ω r u 2 E26

Figure 6.

The concept of tracking of a virtual reference robot.

The overall system is designed and implemented within Matlab/Simulink environment. We consider the following profiles: position, orientation, linear and angular velocities.

The simulation results obtained by neural network controller are shown in Figs. 7-14. Results achieved in Figs. 7-11 demonstrate the good position tracking performance. Also, a desired orientation during robot motion is following in satisfactory manner, which is depicted in Fig. 12. The proposed neural controller ensures small values of the control input velocities (linear) for obtaining the reference position trajectories (Figs. 13 and 14). This mean that smaller power of DC motors is requested.

Figure 7.

Tracking the lamniscate trajectory

Figure 8.

Time history of x coordinate

Figure 9.

X coordinate error

Figure 10.

Time history of y coordinate

Figure 11.

Y coordinate error

Figure 12.

Time response of robot orientation

Figure 13.

Linear velocity of right wheel

Figure 14.

Linear velocity of left wheel.


5. Conclusions

This paper presented a design of the neural network-based velocity controller for the kinematic model of mobile robot with differential drive. The proposed neural controller has two inputs (position errors of wheels) and two outputs (velocities of wheels). It is trained on-line through controlling of the mobile robot by PD controller. For this purpose the backpropagation algorithm with adaptive learning rate is applied. Simulation results demonstrate the effectiveness of the proposed neural network-based control system.


  1. 1. Barto A. G. 1983 Neuron like adaptive elements that can solve difficult learning control problems. IEEE Transactions on System, Man and Cybernetics, 13 834 846 .
  2. 2. Corradini M. Ippoliti G. Longhi S. 2003 Neural networks based control of mobile robots: development and experimental validation, Journal of Robotic Systems, 20 10 587 600 .
  3. 3. Egerstedt M. Hu X. Stotsky A. 2001 Control of mobile platforms using a virtual vehicle approach. IEEE Transactions on Automatic Control, 46 11 1777 1882 .
  4. 4. Fierro R. Lewis F. L. 1998 Control of a nonholonomic mobile robot using neural networks. IEEE Transactions on Neural Networks, 9 4 389 400 .
  5. 5. Hendzel Z. 2007 Adaptive critic neural networks for motion control of wheeled mobile robot. Nonlinear Dynamics, 50 4 849 855 .
  6. 6. Hornik K. Stinchombe M. White H. 19900 Universal approximation of an unknown mapping and its derivatives using multilayer feedforward networks. Neural Networks, 3
  7. 7. Jiang Z. P. Lefeber E. Nijmeijer H. 2001 Saturated stabilization and tracking of a nonholonomic mobile robot. Systems & Control Letters, 42 327 332 .
  8. 8. Lacaze A. 1997 A neural network planner that prunes its own tree. Term paper, Knowledge Engineering Department, University of Meryland.
  9. 9. Narenda K. S. Pathasarathy K. 1990 Identification and control of dynamic systems using neural network. IEEE Transaction on Neural Networks, 1 1 4 27 .
  10. 10. Nguyen D. Widrow B. 1990 Neural networks for self- learning control systems. IEEE Control System Magazine, 10 1 18 23 .
  11. 11. Ramírez G. Zeghloul S. 2000 A new local path planner for nonholonmic mobile robot navigation in cluttered environments, Proceedings of IEEE International Conference on Robotics and Automation, 2058 2063 .
  12. 12. Tanner H. G. Kyriakopoulos K. J. 2003 Backstepping for nonsmooth systems. Automatica, 39 1259 1265 .
  13. 13. Velagic J. Hebibovic M. 2004 Neuro-fuzzy architecture for identification and tracking control of a robot, Proceedings of the World Automation Congress- 5th International Symposium on Soft Computing for Industry ISSCI2004, June 28 - July 1, Sevilla, Spain, paper ISSCI-032 (1:9).
  14. 14. Velagic J. Lacevic B. Hebibovic M. 2005 On-Line identification of a robot manipulator using neural network with an adaptive learning rate, Proceedings of 16th IFAC World Congress, 03 08 June, Prague, Czech Republic, 2005, paper 2684 1-6).
  15. 15. Velagic J. Lacevic B. Perunicic B. 2006 A 3-Level autonomous mobile robot navigation system designed by using reasoning/search approaches. Robotics and Autonomous Systems, 54 12 989 1004 .
  16. 16. Yang S. X. Meng M. 2001 Real-time fine motion control of robot manipulators with unknown dynamics,” in: Dynamics in Continuous, Discrete and Impulse Systems, Series B.

Written By

Jasmin Velagic, Nedim Osmic and Bakir Lacevic

Published: January 1st, 2010