Open access peer-reviewed chapter

Design of Neural Network Mobile Robot Motion Controller

By Jasmin Velagic, Nedim Osmic and Bakir Lacevic

Published: January 1st 2010

DOI: 10.5772/7584

Downloaded: 4018

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(θ)     0sin(θ)      0    0         1][vω]E1
[vω]=[r          rrD     -rD][vRvL]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˙θ˙]=[rcos(θ)      rcos(θ)rsin(θ)       rsin(θ)     rD            -rD][vRvL]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:


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:

[dxdtdydt]=[1   0  00   1  0][x˙y˙θ˙]E5
[dxdtdydt]=[1   0  00   1  0][rcos(θ)rcos(θ)rsin(θ)rsin(θ)rD-rD][vRvL]E6

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


where J is Jacobian matrix.

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


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

This requirement is satisfied with the following control law:


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


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

K=[k1     0 0     k2]E11

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


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:

k1= 102.9822,k2= 1.3536E13

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:


Synaptic weights are updated as


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:


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:


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:


wherenmfor 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:


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):


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)[1sgn(χ(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:

ep=[e1e2e3]=Tpeq=[ cosθ    sinθ     0sinθ   cosθ     0    0         0        1][xrxyryθrθ]E23


eq=[ex ey eθ]TE24

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




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.

© 2010 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution-NonCommercial-ShareAlike-3.0 License, which permits use, distribution and reproduction for non-commercial purposes, provided the original is properly cited and derivative works building on this content are distributed under the same license.

How to cite and reference

Link to this chapter Copy to clipboard

Cite this chapter Copy to clipboard

Jasmin Velagic, Nedim Osmic and Bakir Lacevic (January 1st 2010). Design of Neural Network Mobile Robot Motion Controller, New Trends in Technologies, Blandna Ramov, IntechOpen, DOI: 10.5772/7584. Available from:

chapter statistics

4018total chapter downloads

5Crossref citations

More statistics for editors and authors

Login to your personal dashboard for more detailed statistics on your publications.

Access personal reporting

Related Content

This Book

Next chapter

Online Rotor Time Constant Estimator for Induction Machines with Optimum Flux

By Said Grouni, Rachid Ibtiouen, Madjid Kidouche and Omar Touhami

Related Book

First chapter

Diversifying Electricity Customer Choice: REVing Up the New York Energy Vision for Polycentric Innovation

By Joseph Nyangon and John Byrne

We are IntechOpen, the world's leading publisher of Open Access books. Built by scientists, for scientists. Our readership spans scientists, professors, researchers, librarians, and students, as well as business professionals. We share our knowledge and peer-reveiwed research papers with libraries, scientific and engineering societies, and also work with corporate R&D departments and government entities.

More About Us