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.
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 [6–11]. 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.
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 (X^{I}, Y^{I} ) fixed in the plane, and the reference frame (X^{R}, Y^{R}), rotated relative to the inertial reference frame by the orientation angle θ.
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:
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:
In the inertial reference frame,
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:
Therefore, the linear and angular velocities of the DDMR are calculated as follows:
From
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
The output of the kinematic model is the coordinates of point A. Hence,
with
Therefore, the inverse kinematics is presented as follows:
The conventional kinematic controller proposed in the study [6] is given by
Here, k_{x} > 0 and k_{y} > 0 are the gains of the controllers, l_{x} > 0 and l_{y} > 0 are the saturation constants, e_{x} = x_{d}–x and e_{y} = y_{d} – y are the current position errors in the axes X^{I} and Y^{I}, respectively, and (x, y) and (x_{d}, y_{d}) 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.
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.
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.
In the first layer of RBFNNx, the input vector is
where x_{1} = Q_{x}(k); x_{2} = Q_{y}(k) and x_{3} = 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 Q_{x} and Q_{y} sent to the input layer of each RBFNN are generated based on the proposed kinematic functions:
The above two functions were proposed for the following main reasons: first, they simplify the calculation of the derivatives mentioned in
In the hidden layer, the activated function is implemented by a Gaussian function:
where
Finally, the output of the RBFNN is defined by
where m = 10 is number of neurons, x_{m}(k) is the estimated x coordinate of the DDMR in the inertial reference frame at k step; w_{j} 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
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 E_{RBF} are defined as follows:
where η is the learning rate.
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
where
Using the chain rule, the derivative (∂q/∂ρ) can be obtained
where Q = [Q_{x}Q_{y}]^{T}.
The first derivative in
where J_{x} = ∂x/∂Q_{x}, J_{xy} = ∂x/∂Q_{y}, J_{y} = ∂y/∂Q_{y} and J_{yx} = ∂y/∂Q_{x} are the Jacobian values that can be defined by RBF neural networks as
The second derivative in
Substituting
Therefore, the kinematic controller gains will change and adapt to render the cost function zero according to the gradient descent algorithm
and
where α_{x} and α_{y} are the learning rates.
From
where ẋ_{e} = ẋ_{d} – ẋ, ẏ_{e} = ẏ_{d} – ẏ, and
Now, defining the output error vector e = [e_{x}e_{y}]^{T}.
with
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,
which has a unique equilibrium point at the origin.
We choose the Lyapunov candidate function as
Taking the derivative of V, we obtain
We also have: k_{x} > 0, k_{y} > 0, l_{x} > 0 and l_{y} > 0, hence V̇ < 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:
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, v_{ref} 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 k_{y} = 0.4, l_{y} = 1, k_{x} = 0.4, and l_{x} = 1, which are also the initial values of the parameters of the adaptive kinematic controller. The constraint max of (k_{x}, k_{y}) 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 k_{x} and k_{y} were constantly changing to accommodate the characteristic variation of the reference trajectory, as shown in Figure 14.
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.
No potential conflict of interest relevant to this article was reported.
Model of differential-drive mobile robot.
Conventional trajectory tracking control scheme.
The proposed control scheme of trajectory tracking using RBFNN.
Radial basis function neural networks: (a) RBFNNx and (b) RBFNNy.
Block diagram of control system of DDMR.
Simulink block of adaptive kinematic controller.
Simulink block of kinematic controller.
Trajectory tracking of DDMR.
Time response of robot’s x position.
Time response of robot’s y position
Time response of linear velocity.
Time response of angular velocity.
Tracking errors.
Time response of gains
E-mail: khai_dv@hcmutrans.edu.vn
E-mail: yjryoo@mokpo.ac.kr