## 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.

### 2.1. Kinematic model of mobile robot

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

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 {*x _{m}
*,

*C*,

*y*} and global frame.

_{m}Kinematic equations of the two-wheeled mobile robot are:

andwhere *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, *v _{R}
* and

*v*are velocities of right and left wheels,

_{L}*r*is a wheel diameter and

*D*is the mobile robot base length.

Combining equations (1) and (2) yields:

Inputs of kinematic model of mobile robot are velocities of right and left wheels *v _{R}
* and

*v*.

_{L}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.

The time derivation of mobile robot output yields:

orThe 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 *e _{i}
*=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:

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:

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:

### 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.

The network’s current output *v _{k}
* is compared with the desired input

*e*, and the errors are used to correct the weights in order to reduce the network’s error on this input:

_{k}Synaptic weights are updated as

where *η* is the learning rate, *δ _{j}
* is the error gradient at unit

*j*,

*δ*is the error at unit

_{k}*k*and

*v*and

_{i}*v*are the outputs of unit

_{j}*i*and

*j*, respectively.

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:

where

Here *f _{w}
*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:

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:

where

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

where

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.

## 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.