Abstract
A supervisory Adaptive Network-based Fuzzy Inference System (SANFIS) is proposed for the empirical control of a mobile robot. This controller includes an ANFIS controller and a supervisory controller. The ANFIS controller is off-line tuned by an adaptive fuzzy inference system, the supervisory controller is designed to compensate for the approximation error between the ANFIS controller and the ideal controller, and drive the trajectory of the system onto a specified surface (called the sliding surface or switching surface) while maintaining the trajectory onto this switching surface continuously to guarantee the system stability. This SANFIS controller can achieve favourable empirical control performance of the mobile robot in the empirical tests of driving the mobile robot with a square path. Practical experimental results demonstrate that the proposed SANFIS can achieve better control performance than that achieved using an ANFIS controller for empirical control of the mobile robot.
1. Introduction
The Adaptive Network-based Fuzzy Inference System (ANFIS) has been cited many times in recent research. The ANFIS reveals an efficient learning network and its applications can be found in [1-6]. However, when using the ANFIS controller alone, a large amount of trial and error should be done to achieve satisfactory control performance. In addition, this must be based on experienced human knowledge.
In this paper, an intelligent method called Supervisory ANFIS (SANFIS) is developed for the design of the mobile robot square path control. This SANFIS controller comprises an ANFIS controller and a supervisory controller [7-9]. The ANFIS controller is used to mimic an ideal controller and the supervisory controller is designed to compensate for the approximation error between the ANFIS controller and the ideal controller. The ANFIS controller is a suitable off-line hybrid learning procedure to serve as a basis for constructing a set of fuzzy if-then rules with appropriate membership functions to generate the stipulated Fuzzy Associated Memory (FAM) input-output pairs and fuzzy rules. Then Fuzzy Inference System (FIS) matrices can be achieved. By using these FIS matrices, a reliable controller can be designed, but the good performance that will be generated must come from human knowledge following repeated trial and error. To solve this problem, a supervisory controller is added. In addition, to relax the requirement for the uncertain bound in the supervisory controller, an estimation mechanism is employed to observe the uncertain bound. Thus, the chattering phenomena of the control efforts can be relaxed. Finally, a comparison of mobile robot system design between the ANFIS and the proposed SANFIS is presented to illustrate the effectiveness of the proposed design method. Practical experiments for the mobile robot running for square path control also verifies that the proposed design method can achieve better control performance than that with an independent ANFIS controller.
2. SANFIS controller design
Consider a system:
where x(t) = [x1(t), x2(t),···,xn(t)] T ∈ Rn denotes the state vector, u(t) = [u1(t), u2(t),···,un(t)] T ∈ Rm denote the control input, d(t) = [d1(t), d2(t),···, dn(t)] T ∈ Rn denotes the unknown disturbance with a known upper bound ‖d(t)‖ ≤ dub and system uncertainties; ‖·‖ denotes the induced norm, and A(x(t),t) and B(x(t),t) depend on x(t).
Since the system parameters may be unknown or perturbed, the ideal controller u id cannot be implemented. To overcome this, an ANFIS controller will be designed to approximate this ideal controller. In addition, a supervisory controller is designed to compensate for the approximation error between the ANFIS controller and the ideal controller, and to overcome the disturbances.
Suppose that an integrated sliding function is defined as [10-13].
Then
where k1 and k2 are positive constants. The control law is defined as
where uanfis(t) is the ANFIS controller and usp(t) is the supervisory controller.
Thus, the SANFIS system is shown in Fig. 1 where the inputs of the SANFIS controller are s(t) and its derivative ṡ(t).

The SANFIS control algorithm
2.1 ANFIS Controller Design
The Adaptive Network-based Fuzzy Inference System (ANFIS) [1] is a suitable off-line hybrid learning procedure to serve as a basis for constructing a set of fuzzy if-then rules with appropriate membership functions to generate the stipulated Fuzzy Associated Memory (FAM) input-output pairs. The principle of ANFIS is briefly described as follows.
then
where Ri denotes the ith fuzzy rules, i=1, 2,..,r; Ai is the fuzzy set in the antecedent associated with the kth input variable at the ith fuzzy rule, and pi1,…, pin, ri are the fuzzy consequent parameters.
Based on the weighted averaged method of defuzzification. The output u can be calculated as
where wi is the ith node output firing strength of the ith rule, and
Because the fuzzy inference system is a Takagi-Sugeno type, i.e., hi = pix + qiy + ri, Eq. (6) can be rewritten as
The hybrid learning algorithm developed in [1] can be applied to Eq. (7) directly. A two-input one-output ANFIS is shown in Fig. 2. In the forward pass of the hybrid algorithm, functional signals go forward until layer 4 of Fig. 2 and the consequent parameters pi, qi, ri are identified by the Least Squares Estimate (LSE) approach. In the backward pass, the error rates propagate backward and the premise parameters x, y are updated by the gradient descent approach. As the values of these parameters change, the membership functions vary accordingly; thus exhibits various forms of membership functions on linguistic labels Ai and Bi.

A two-input one-output ANFIS architecture
2.2 Supervisory Controller Design
The most useful property of a neural network is its ability to approximate linear or nonlinear mapping through learning. According to the universal approximation theorem, there exists an optimal ANFIS such that
where
where Ê(t) is the estimated error bound. The supervisory controller is designed to compensate for the effect of approximation error and is chosen as
After some straightforward manipulation, the error equation governing the system can be obtained as follows:
Define a Lyapunov function as
where ηE is the learning rate with a positive constant. Differentiating (12) with respect to time and using (8), (9) and (10), it is obtained such that
If the adaptive law for the supervisory controller is chosen as
then (13) can be rewritten as
Since V̇2(s(t), E˜(t)) is negative semi-definite, that is V2(s(t), E˜(t)) ≤ V(s(0), E˜(0)), it implies that s(t) and E˜(t) are bounded. Let function Ω(t) ≡ (E –|ε(t)|)|s(t)| ≤ –V̇2(s(t), E˜(t)), and integrate Ω(t) with respect to time, then it is obtained that
Because V2(s(0), E˜(0)) is bounded and V2(s(t), E˜(t)) is non-increasing and bounded, the following result can be obtained:
Also,
3. Empirical control results
In practical experiments, the Pololu 3pi mobile robot is used to verify the performances of SANFIS. The robot is shown in Fig. 3. The Pololu 3pi robot is a complete, high-performance mobile platform featuring two micro metal gear motors, five infrared (IR) light sensors, an 8×2 character LCD, a buzzer and three user pushbuttons, all connected to a C-programmable ATmega328 microcontroller with 20Mhz. The radius of the wheel is 0.67 inch which is able to achieve a speed exceeding 3 feet per second [14, 15]. The development tool is AVR Studio which is a free open resource. For Windows users, these tools are made available as the WinAVR distribution. It is also recommended the AVR Studio development environment which may be downloaded free of charge from the Atmel company. A similar research of mobile robot control for path can be seen from [16] which is considering the coupled effect between two wheels diameter. Their robot is a big mobile robot, but in this paper, a small mobile robot is considered.

Pololu 3pi Mobile robot photograph
A SANFIS is designed to control the mobile robot. The design purpose is that the mobile robot can be controlled to track a desired path. The SANFIS takes the tracking sliding functions of robot velocity and azimuth angle (sv, sφ), and their derivative values (ṡv, ṡφ) as input variables, and u0, uφ as output variables; where uv and uφ are the torques implemented to mobile robot to get desired velocity (vd) and azimuth angle (φd), respectively. Based on the SANFIS design concept, u
v
and uφ both include the ANFIS and supervisory control inputs, that is
The controlled terms of mobile robot are v and φ, and the control torques ul, ur and ul, urare implemented to left and right wheels. From the property of a mobile robot with two independent driving wheels, the following relation equations are considered:
The first step is to design the ANFIS controllers off-line to roughly tune the weightings to get favourable tracking performance, then to design the supervisory controllers to control the tracking errors converging to zero. There are two ANFIS controllers that need to be designed. One is for the velocity (that is uanfis1) and the other is for the angle (that is uanfis2). In order to construct a set of fuzzy if-then rules with appropriate membership functions to serve as a controller, a suitable stipulated FAM input-output pairs is required to serve as an off-line training data. The membership functions, fuzzy inference surface and fuzzy rules of ANFIS training results are shown in Fig. 4. The angle range is from −2π to 2π. The velocity range is from-60 to 60.

Membership functions of the trained ANFIS controller

Fuzzy inference surface of the trained ANFIS controller

Fuzzy rules of the trained ANFIS controller
The C language programming result of a mobile robot using SANFIS is shown in Fig. 5. After the program has been compiled, then the machine code can be burned onto the flash memory of the mobile robot to do the empirical square path test of the mobile robot. We capture the experimental movie of the mobile robot moving trajectories as some continuous graphics to demonstrate the results of the empirical mobile robot control. The square path experimental result of ANFIS is shown in Fig. 6. The mobile robot will oscillate in the moment of moving after left 90 degree turn. The square path experimental result of SANFIS is shown in Fig. 7. It shows that the mobile robot will move very smooth, especially after a left 90 degree turn which is equivalent to the corresponding step response. Comparing the proposed design method of SANFIS with the ANFIS method, it is revealed that the performances are considerably improved.

The diagram of the AVR Studio development tool for the mobile robot using SANFIS

Trajectory of the mobile robot using ANFIS

Trajectory of the mobile robot using SANFIS
4. Conclusions
This paper considers the control of a mobile robot system following a square path. A SANFIS controller is developed. It is composed of an ANFIS controller and a supervisory controller. The goal of the ANFIS controller is used to converge the trajectories of the system into zero and the supervisory controller is used to drive the trajectory quickly onto a switching surface and maintain the trajectory on this surface continuously to guarantee system stability. In practical experiments, this SANFIS is employed to deal with the square path control. A comparison of the ANFIS control and the proposed SANFIS control is presented, revealing the effectiveness and good performances of the designed SANFIS method.
Footnotes
5. Acknowledgments
The author wants to give thanks to the Editor and Reviewers for their valuable comments and help. This research is partially funded by the teachers' research and cooperation with company research project of the Taoyuan Innovation Institute of Technology and supported by the SOC project of the Ministry of Education, Taiwan, R. O. C.
