search for


Design of Adaptive Kinematic Controller Using Radial Basis Function Neural Network for Trajectory Tracking Control of Differential-Drive Mobile Robot
International Journal of Fuzzy Logic and Intelligent Systems 2019;19(4):349-359
Published online December 25, 2019
© 2019 Korean Institute of Intelligent Systems.

Tran Quoc Khai1 and Young-Jae Ryoo2

1Department of Electrical Engineering, Mokpo National University, Mokpo, Korea
2Department of Electrical and Control Engineering, Mokpo National University, Mokpo, Korea
Correspondence to: Young-Jae Ryoo (
Received October 20, 2019; Revised December 3, 2019; Accepted December 4, 2019.
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License ( which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

In this study, we propose an adaptive kinematic controller using a radial basis function neural network (RBFNN) to guide a differential-drive mobile robot (DDMR) during trajectory tracking. The kinematic controller is responsible for generating the reference values of the linear and angular velocities delivered to the robot actuators. With the fixed parameters of the kinematic controller, it is difficult for the robots to obtain acceptable performance. By using RBFNN and gradient descent method, the parameters of the kinematic controller can be updated online, thus providing smaller errors and better performance in applications. In this paper, the experimental results are presented to show the effectiveness of the proposed kinematic controller.

Keywords : Differential-drive mobile robot, Radial basis function neural network, Kinematic controller, Gradient descent method, Trajectory tracking
1. Introduction

Recently, there have been many research directions related to autonomous mobile robots [1], including trajectory tracking control [2]. An approach used to design the basic control law in trajectory tracking control is based on kinematic and dynamic features of the robot [3]. Therefore, there are two important controllers used for trajectory tracking: kinematic controller and dynamic controller [4, 5]. The former, as an outer loop controller, is responsible for controlling the trajectory, whereas the latter, as an inner loop controller, is used to control the velocities of the robot.

Using the inverse kinematics of a differential-drive mobile robot (DDMR), the kinematic control law proposed by Martins et al. [6] has been used in many research works [611]. However, almost all authors have focused on analyzing the research results related to the dynamic controller only when the parameters of the kinematic controller are constant. With the fixed parameters of the kinematic controller, the DDMR exhibits limited tracking performance, especially when the reference trajectory changes rapidly over time. Therefore, this study is focused on improving the performance of the kinematic controller, and the dynamic controller is designed by conventional PID (proportional-integral-derivative) control law. For that purpose, the new kinematic control method based on radial basis function neural network (RBFNN) is proposed.

This method allows estimating the position of the mobile robot via the RBFNN, based on which the parameters of the kinematic controller can be updated online to accommodate the characteristic variation of the process. In this paper, the model of the DDMR is introduced in Section 2. The tracking trajectory controller design is explained in Section 3. The method of designing an adaptive kinematic controller is discussed in Section 4. The experimental testing and discussions are presented in Section 5. Finally, the conclusion and results are presented in Section 6.

2. Differential-Drive Mobile Robot

2.1 Configuration

The DDMR consists of a car body equipped with two castors and a pair of coaxial driving wheels driven by two independent DC motors. By varying the control voltage on each DC motor, the DDMR can move in a straight or curved line or trace different trajectories. Figure 1 depicts the configuration of the DDMR, its parameters, and variables of interest. Here, θ is the robot orientation, ϕR and ϕL are rotating angles of the right and left wheels, respectively, W is the width of the robot body, and 2R is the diameter of the driving wheel.

The center-point C, visible on the axis between the driving wheels, is the center of mass of the robot.

The position of the DDMR can be defined in the inertial reference frame (XI, YI ) fixed in the plane, and the reference frame (XR, YR), rotated relative to the inertial reference frame by the orientation angle θ.

2.2 Kinematic Model

A mobile robot is a typical nonlinear control system with non-holonomic constraints. Before we proceed with modeling and performing relevant analyses, the following assumptions are presented:

  1. A robot can only move forward and backward, not sideward. In the rotating reference frame, this condition means that the velocity of the center-point C is zero along the lateral axis:

  2. y˙cR=0.

    In the inertial reference frame, Eq. (1) can be written as -x˙csin θ+y˙ccos θ=0.

  3. The DDMR moves on horizontal surface with pure rolling constraint. With this condition, the velocities of the right and left wheels can be written as follows:

  4. {vR=x˙L+y˙L=Rϕ˙R,vL=x˙R+y˙R=Rϕ˙L.

Eq. (3) can be written in the terms of the velocity of center-point C in the inertial reference frame:

{vR=x˙ccos θ+y˙csin θ+W2θ˙=Rϕ˙R,vL=x˙ccos θ+y˙csin θ-W2θ˙=Rϕ˙L.

Therefore, the linear and angular velocities of the DDMR are calculated as follows:


From Eqs. (3) and (4), the forward kinematic model of the DDMR can be represented in two matrix forms in terms of point C velocities in the inertial reference frame as follows:

[x˙cy˙cθ˙]=[R2cos θR2cos θR2sin θR2sin θRW-RW][ϕ˙Rϕ˙L],[x˙cy˙cθ˙]=[cos θ0sin θ001][vω].
3. Design of Trajectory Tracking Controller

The control scheme for trajectory tracking of the DDMR is based on the dynamic and kinematic of the DDMR, as shown in Figure 2. The reference trajectory generated by the block trajectory generator is sent to the kinematic controller. Here, the latter compares it to the robot’s posture and generates the reference linear and angular velocities for the dynamic controller based on the kinematic control algorithm.

For the purpose of designing the kinematic controller, a point of interest (point A) is selected on the symmetry axis of the robot body displaced for distance a from center-point C, as shown in Figure 1. The kinematic equations of DDMR in terms of velocities at point A in the inertial reference frame from the Eq. (7) can be obtained.

[x˙y˙θ˙]=[cos θ-asin θsin θacos θ01][vω].

The output of the kinematic model is the coordinates of point A. Hence,

[x˙y˙]=[cos θ-asin θsin θacos θ][vω]=λ[vω]


λ=[cos θ-asin θsin θacos θ].

Therefore, the inverse kinematics is presented as follows:

[vω]=[cos θsin θ-1asin θ1acos θ][x˙y˙]=λ-1[x˙y˙].

The conventional kinematic controller proposed in the study [6] is given by

[vrefωref]=λ-1[x˙d+lxtanh (kxlxex)y˙d+lytanh (kylyey)].

Here, kx > 0 and ky > 0 are the gains of the controllers, lx > 0 and ly > 0 are the saturation constants, ex = xdx and ey = ydy are the current position errors in the axes XI and YI, respectively, and (x, y) and (xd, yd) are the current and the reference coordinates of the point of interest, respectively.

In this paper, the design of the dynamic controller will be presented in Section 5.

4. Adaptive Kinematic Controller with RBFNN

In this section, the method of designing an adaptive kinematic controller using an RBFNN is presented. As mentioned above, the adaptive kinematic controller can adjust its parameters automatically and online during the operation of the DDMR. This adjustment is based on the nonlinear identification of the RBFNN and the adaptation of the kinematic controller parameters.

4.1 Radial Basis Function Neural Network

An RBFNN is a three-layered feed-forward neural network using radial basis functions as activation functions [12, 13]. Its advantage is that it can identify the nonlinear system models, such as mobile robots, with high accuracy [14]. Thus, we can use an RBFNN to estimate the position of the DDMR in the trajectory control algorithm. Figure 3 depicts the control scheme of trajectory tracking of the DDMR using an RBFNN. As shown in Figure 3, two RBFNNs are supposed. The first, denoted as RBFNNx, is used to estimate the x coordinate, while the second, denoted as RBFNNy, is used to estimate the y coordinate of the DDMR in the inertial reference frame. The structure of each RBFNN proposed in Figure 4 has three, five, and one neurons (nodes) in the input, hidden, and output layers, respectively.

The performance of the RBFNN is related to the number of neurons in the hidden layer. When the number of the neurons of RBFNN increases, the accuracy of position identification improves. However, the running time also increases, affecting the control quality of the entire system [15]. In this study, the selected number of neurons in the hidden layer of each RBFNN is 10.

The configuration and training algorithm of RBFNNy are similar to that of RBFNNx.

Configuration of RBFNNx

In the first layer of RBFNNx, the input vector is


where x1 = Qx(k); x2 = Qy(k) and x3 = x(k − 1) are the x coordinates of the DDMR in inertial reference frame at k − 1 step.

As shown in Figure 4, the signals Qx and Qy sent to the input layer of each RBFNN are generated based on the proposed kinematic functions:

Qx=vrefcos θ-ωrefasin θ=x˙d+lxtanh(kxlxex),Qy=vrefsin θ+ωrefacos θ=y˙d+lytanh(kylyey).

The above two functions were proposed for the following main reasons: first, they simplify the calculation of the derivatives mentioned in Eq. (28) because they are independent of the angle θ and unrelated in terms of x and y coordinates; second, they also act as control signals from the kinematic controller. Therefore, along with the feedback position signals from the DDMR, they will enable the RBFNNs to identify the position of the DDMR more accurately.

In the hidden layer, the activated function is implemented by a Gaussian function:

φj=exp [-x-cj22σj2],j=1,2,,10,

where σj=[σj1σj2σj3]T and cj=[cj1cj2cj3]T are the width and center vectors of the network at node j.

Finally, the output of the RBFNN is defined by


where m = 10 is number of neurons, xm(k) is the estimated x coordinate of the DDMR in the inertial reference frame at k step; wj is the connective weight between the node j of the hidden and output layers.

Hence, the cost function of the RBFNNx can be calculated as

Online Neural Network Training

To build the neural network model plant, we employed the back-propagation algorithm [13] to train the weights. Therefore, the adjustments of the neural model used to minimize the cost function ERBF are defined as follows:


where η is the learning rate.

4.2 Adaptation of Kinematic Controller Gains

The proposed control algorithm in Figure 3 adapts the kinematic based controller gains to minimize the following cost function:


The kinematic controller gains are represented by the set ρ=[kxky]. The partial derivative of the cost function with respect to ρ is


where q=[xy] and e=[exey].

Using the chain rule, the derivative (q/∂ρ) can be obtained


where Q = [QxQy]T.

The first derivative in Eq. (24) is defined as


where Jx = ∂x/∂Qx, Jxy = ∂x/∂Qy, Jy = ∂y/∂Qy and Jyx = ∂y/∂Qx are the Jacobian values that can be defined by RBF neural networks as


The second derivative in Eq. (24) is defined as


Substituting Eqs. (25) and (28) in (24), and then substituting the derived equation in Eq. (23), we have


Therefore, the kinematic controller gains will change and adapt to render the cost function zero according to the gradient descent algorithm




where αx and αy are the learning rates.

4.3 Stability Condition

From Eqs. (11) and (12), the closed-loop equation in terms of the velocity errors is

[x˙ey˙e]+[lxtanh (kxlxex)lytanh (kylyey)]=λΔ,

where e = d, e = d, and Δ=[vref-vωref-ω].

Now, defining the output error vector e = [exey]T. Eq. (32) can be written as



f(e)=[lxtanh (kxlxex)lytanh (kylyey)].

In this tracking control algorithm, Δ(t) is assumed to move quickly to zero, whereas the tracking control error vector e(t) remains different from zero. Hence, Eq. (33) can be written as


which has a unique equilibrium point at the origin.

We choose the Lyapunov candidate function as


Taking the derivative of V, we obtain

V˙=eTe˙=-exlxtanh (kxlxex)-eylytanh (kylyey).

We also have: kx > 0, ky > 0, lx > 0 and ly > 0, hence < 0. Thus, it can be concluded that the tracking system has asymptotically stable equilibrium at the origin, which means the tracking control error vector e(t) → 0 as t → 0.

During tracking operation, all the parameters of the kinematic controller are always updated. For these parameters to be positive, the following rule for updating is supposed:

{if (kx(k-1)+Δkx(k))<0then Δkx(k)=0,if (ky(k-1)+Δky(k))<0then Δky(k)=0.
5. Experimental and Discussion

Figure 5 depicts the experimental setup for the trajectory tracking of the DDMR. The reference trajectory is generated by a personal computer and then uploaded to the embedded control board of STM32F4DISCOVERY [16]. The communication between the main and embedded control boards is supported by the Wi-Fi protocol. The control signals, vref and ωref, generated by the embedded board will be sent to the main control board, Arduino Mega2560 [17], on the DDMR.

The DDMR with the dynamic controller will implement the trajectory tracking and send kinematic feedback signals including x, y coordinates and orientation angle θ of the DDRM to the embedded control board at every sample time interval of 0.01 seconds.

Thus, to verify the control law proposed in Section 4, we designed the adaptive kinematic controller using MATLAB & Simulink, as shown in Figures 6 and 7, and embedded it afterwards onto the control board STM32F4DISCOVERY.

In this experimental design, the distance, a, is set to 0.2 m. The parameters of the conventional kinematic controller are set with ky = 0.4, ly = 1, kx = 0.4, and lx = 1, which are also the initial values of the parameters of the adaptive kinematic controller. The constraint max of (kx, ky) defined by experimental testing is 0.8. Finally, 0.002 is the value of the learning rates αx and αy for updating the gains of the kinematic controller.

In the experimental scenario, the desired (reference) trajectory was the eight shape. The comparison of the robot’s location on the x-y plane between the conventional and adaptive kinematic controllers is shown in Figure 8. Figures 9 and 10 show the time response of the robot’s location on the x and y axes, respectively.

Figures 11 and 12 depict the time response of robot velocities between the conventional and adaptive kinematic controller.

The response time of the tracking errors between the conventional and adaptive kinematic controllers is shown in Figure 13. It is clear that the adaptive kinematic controller of the DDMR exhibits better performance in trajectory tracking.

During the entire tracking process, the gains kx and ky were constantly changing to accommodate the characteristic variation of the reference trajectory, as shown in Figure 14.

6. Conclusion

In this study, an adaptive kinematic control algorithm based on RBFNN has been described and developed successfully. Compared to the conventional kinematic controller, the adaptive neural network kinematic controller has a shorter response time and better performance in terms of trajectory tracking. Moreover, this paper also presents the method to design kinematic controllers using the MATLAB & Simulink with an embedded control board. Similarly, our work also describes a system more suitable for fast testing, turn-up, and troubleshooting.

Conflict of Interest

No potential conflict of interest relevant to this article was reported.

Fig. 1.

Model of differential-drive mobile robot.

Fig. 2.

Conventional trajectory tracking control scheme.

Fig. 3.

The proposed control scheme of trajectory tracking using RBFNN.

Fig. 4.

Radial basis function neural networks: (a) RBFNNx and (b) RBFNNy.

Fig. 5.

Block diagram of control system of DDMR.

Fig. 6.

Simulink block of adaptive kinematic controller.

Fig. 7.

Simulink block of kinematic controller.

Fig. 8.

Trajectory tracking of DDMR.

Fig. 9.

Time response of robot’s x position.

Fig. 10.

Time response of robot’s y position

Fig. 11.

Time response of linear velocity.

Fig. 12.

Time response of angular velocity.

Fig. 13.

Tracking errors.

Fig. 14.

Time response of gains kx and ky of the adaptive kinematic controller.

  1. Vui, NV, and Kim, YT (2019). An advanced motion planning algorithm for the multi transportation mobile robot. International Journal of Fuzzy Logic and Intelligent Systems. 19, 67-77.
  2. Do, KT, Lee, K, Im, DY, Kwak, B, and Ryoo, YJ (2018). Design of fuzzy-PID controller for path tracking of mobile robot with differential drive. International Journal of Fuzzy Logic and Intelligent Systems. 18, 220-228.
  3. DeVon, D, and Bretl, T 2007. Kinematic and dynamic control of a wheeled mobile robot., Proceedings of 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems, San Diego, CA, Array, pp.4065-4070.
  4. Mohareri, O, Dhaouadi, R, and Rad, AB (2012). Indirect adaptive tracking control of a nonholonomic mobile robot via neural networks. Neurocomputing. 88, 54-66.
  5. Salem, FA (2013). Kinematics and dynamic models and control for differential drive mobile robots. International Journal of Current Engineering and Technology. 3, 253-263.
  6. Martins, FN, Celeste, WC, Carelli, R, Sarcinelli-Filho, M, and Bastos-Filho, TF (2008). An adaptive dynamic controller for autonomous mobile robot trajectory tracking. Control Engineering Practice. 16, 1354-1363.
  7. Leena, N, and Saju, KK (2016). Modelling and trajectory tracking of wheeled mobile robots. Procedia Technology. 24, 538-545.
  8. Majid, NA, Mohamed, Z, and Basri, MAM (2016). Velocity control of a unicycle type of mobile robot using optimal PID controller. Jurnal Teknologi. 78, 7-14.
  9. Martins, FN, and Almeida, GM 2012. Tuning a velocity-based dynamic controller for unicycle mobile robots with genetic algorithm., Proceedings of the 7th Argentinian Robotics Conference (VII JAR), Olavarria, Argentina, pp.262-269.
  10. Rossomando, FG, Soria, C, Patino, P, and Carelli, R (2011). Model reference adaptive control for mobile robots in trajectory tracking using radial basis function neural networks. Latin American Applied Research. 41, 177-182.
  11. Kayacan, E, and Khanesar, MA (2015). Fuzzy Neural Networks for Real Time Control Applications: Concepts, Modeling and Algorithms for Fast Learning. Amsteridam: Butterworth-Heinemann
  12. Elanayar, S, and Shin, YC (1994). Radial basis function neural network for approximation and estimation of nonlinear stochastic dynamic systems. IEEE Transactions on Neural Networks. 5, 594-603.
  13. Park, SB, and Oh, SK (2019). Design of compensator-based radial basis function neural network classifier for error compensation. Journal of Korean Institute of Intelligent Systems. 29, 163-169.
  14. Pislaru, C, and Shebani, A (2014). Identification of nonlinear systems using radial basis function neural network. International Journal of Computer, Information, Systems and Control Engineering. 8, 1528-1533.
  15. Kong, X, Chen, X, and Guan, J (2016). PID controller design based on radial basis function neural networks for the steam generator level control. Cybernetics and Information Technologies. 16, 15-26.
  16. ARDUINO MEGA 2560 REV3. Available

Tran Quoc Khai received his M.S., and B.S. in Department of Electrical Drives and Machines, Kazan State Power Engineering University, Russian Federation. From 2014 to 2019, he was a lecture at Ho Chi Minh City University of Transport. Since 2019, he has been studying a doctor courses in the Department of Electrical Engineering, Mokpo National University, Korea.


Young-Jae Ryoo received his Ph.D, M.S., and B.S. degrees in the Department of Electrical Engineering, Chonnam National University, South Korea in 1998, 1993, and 1991, respectively. He was a visiting researcher in North Carolina A&T State University, USA in 1999. He was a visiting professor in the Department of Mechanical Engineering, Virginia Tech, US from 2010 to 2012. He is currently a professor in the Department of Electrical and Control Engineering, Mokpo National University, South Korea from 2000. He also served as a director with the intelligent space laboratory in Mokpo National University, where he is responsible for the research projects in the area of intelligence, robotics and vehicles. He is currently a board member of Korean Institute of Intelligent Systems from 2002, an editor for the Journal of Korean Institute of Electrical Engineering from 2010, an editor for the Journal of Fuzzy Logic and Intelligent Systems from 2009, and a committee member of the International Symposium on Advanced Intelligent Systems from 2005. He served as a general chair of International Symposium on Advanced Intelligent System in 2014 and 2015. He won the outstanding paper awards, the best presentation awards, and the recognition awards in International Symposiums on Advanced Intelligent Systems. He is the author of over 200 technical publications. His research interests include intelligent space, humanoid robotics, legged robotics, autonomous vehicles, unmanned vehicles, wheeled robotics and biomimetic robotics.