1. Introduction
Real-time fuzzy control is a modern control strategy for a variety of challenging control applications because it provides a convenient method for constructing nonlinear controllers [
1,
2,
3]. Compared with conventional controllers, this approach has significantly improved the performance by considering the control parameter tuning issue. The control parameters are self-tuned in this kind of real-time controller to achieve optimal performance using fuzzy theory. This approach provides a formal methodology for representing, manipulating, and implementing human heuristic knowledge to develop intelligent controllers [
4,
5,
6].
Although the real-time fuzzy control method has been widely used in many real-world disciplines, there remain a number of drawbacks in the design stages. One major difficulty is the construction of the fuzzy model in terms of the center and width of the membership functions and fuzzy rules [
5,
6]. Although the identification procedure of a fuzzy model can be manually tuned, the tuning procedure is time-consuming for complex systems. In recent years, some auto-tuned fuzzy modeling methods have been presented, however, these works are computationally intensive and they do not provide a general optimization method [
6].
In order to meet these challenges, artificial evolution can provide robustness and scalability. It is a well-established approach to the design and optimization of intelligent systems [
7,
8]. Biologically inspired computational intelligence has been identified as an efficient tool for the optimal construction of fuzzy systems. To date, some popular evolutionary algorithms have been employed to develop metaheuristic fuzzy systems for engineering optimization. For example, GA (genetic algorithm)-fuzzy, PSO (particle swarm optimization)-fuzzy, and ACO (ant colony optimization)-fuzzy are powerful hybrid swarm intelligences for fuzzy structure optimization [
7,
8,
9,
10,
11]. This hybrid computational intelligence is a modern technology for solving real-world engineering problems and complex multidimensional optimization problems [
7].
Metaheuristic algorithms are a subset of computational intelligence. This kind of computing paradigm has attracted attention over recent decades because of the algorithms’ simplicity, flexibility, and local optimum avoidance [
12,
13,
14,
15,
16]. In particular, some of them play an important role not only in academic society but also in many other practical engineering fields. It is an emerging field of artificial intelligence based on the behavior models of social insects in nature. This discipline deals with the natural and artificial systems composed of many individuals that coordinate using decentralized control and self-organization [
17,
18].
In the rapid development of metaheuristic algorithms, CS introduced by Yang and Deb is a population-based algorithm inspired by the brood parasitic behavior observed in the cuckoo bird species [
19]. Compared with conventional optimization methods, these metaheuristics are potentially more generic and robust for many non-deterministic polynomial-time hard optimization problems. CS has been employed in diverse domains with great efficiency by exploiting its strong optimization ability, including controller design, chaotic systems, path planning, and sensor networks [
19,
20,
21]. This study not only presents a CS-fuzzy optimization method, but also applies this intelligent system to the locomotion control of omni-Mecanum-wheeled autonomous vehicles.
Omni-Mecanum-wheeled vehicles are mobile vehicles equipped with four Mecanum omnidirectional wheels [
22]. They are based on the characteristic of a central wheel with a number of rollers placed at an angle of 45° around the periphery of the wheel. They provide the omnidirectional ability to move instantaneously in any direction from any configuration without changing the direction of the wheel. This kind of mobile robot with four degrees of freedom (DOFs) has been used in vast applications instead of conventional vehicles due to its flexible mobility in performing difficult tasks in congested environments with complex obstacles [
23,
24]. To date, the omni-Mecanum-wheeled vehicles have been widely used in nursing-care robots, intelligent wheelchairs, industrial robots, and nursing-care robots [
23,
24].
Omni-Mecanum-wheeled vehicles are mobile vehicles equipped with four Mecanum omnidirectional wheels [
22]. They are based on the characteristic of a central wheel with a number of rollers placed at an angle of 45° around the periphery of the wheel. They provide the omnidirectional ability to move instantaneously in any direction from any configuration without changing the direction of the wheel. This kind of mobile robot with four degrees of freedom (DOFs) has been used in vast applications instead of conventional vehicles due to its flexible mobility in performing difficult tasks in congested environments with complex obstacles [
23,
24]. To date, the omni-Mecanum-wheeled vehicles have been widely used in nursing-care robots, intelligent wheelchairs, industrial robots, and nursing-care robots [
23,
24].
Four-DOF Mecanum vehicles are categorized as redundant vehicles. They have quite different features compared with three-DOF holonomic and two-DOF non-holonomic mobile vehicles. Several studies [
24,
25] have been presented to address the mathematical vehicle modeling and nonlinear control problem of Mecanum vehicles. However, these control schemes neither addressed the optimal control problem, nor presented real-time fuzzy controllers. This work not only presents an evolutionary CS-fuzzy optimization, but also designs an FPGA-based real-time CS-fuzzy controller for omni-Mecanum-wheeled vehicles. With the advantages of FPGA realization [
26,
27,
28,
29], this study presents the FPGA-based mechatronic design for the omni-Mecanum-wheeled vehicle with CS-fuzzy computational intelligence optimization.
The objective of this study was to develop a hybrid CS-fuzzy optimization technique for application to evolutionary real-time fuzzy control omni-Mecanum-wheeled autonomous vehicles. With the advantages of FPGA, metaheuristic algorithm, and fuzzy theory, the proposed CS-fuzzy control method outperforms the traditional fuzzy controllers. Moreover, the proposed approach has significantly improved the performance by considering the control parameter tuning issue. The remainder of this paper is organized as follows. In
Section 2, the hybrid CS-fuzzy optimization approach is introduced.
Section 3 details the method for employing the proposed CS-fuzzy computational intelligence to design an intelligent real-time CS-fuzzy locomotion controller for Mecanum autonomous vehicles.
Section 4 presents the mechatronic design and FPGA implementation of the CS-fuzzy-based omni-Mecanum-wheeled autonomous vehicle.
Section 5 discusses several experimental results and comparative works to demonstrate the performance and merit of the proposed methods. Concluding remarks are provided in
Section 6.
2. CS-Fuzzy Computational Intelligence Optimization
2.1. Classical Fuzzy Control System
Fuzzy control systems are considered a kind of intelligent control scheme. They can utilize some human knowledge to construct logical inference rules. With the advantages of fuzzy theory, it has shown potential in designing controllers for complex nonlinear systems and ill-formulated systems. This practical control technology has been successfully used in solving many real-world optimization problems.
Fuzzy logic IF-THEN rules are utilized to describe fuzzy control systems. These rules have to be established based on human expert knowledge, and they must be implemented by performing rigorous logical operations. This study adopts a fuzzy model with
i rules. The fuzzy inference system is expressed by
where
is the input,
yi denotes the output of
ith rule.
are fuzzy set in the antecedent part and
ai is a real number in the consequent part of
Ri. The output
y is calculated by the weighted average defuzzification method as
where
K denotes the number of rules,
is the firing strength of the rule
Ri:
where
is the membership function of the fuzzy set
in the antecedent of
Ri.
2.2. CS Algorithm
Cuckoo Search is a nature-inspired optimization algorithm based on the cuckoo bird’s parasitic breeding behavior of laying its eggs in the nests of different bird species. The cuckoo bird deposits her eggs in the nest of a host bird whose eggs closely resemble her own eggs and uses the services of host birds to hatch her own eggs. This parasitic behavior increases the chance of survival of the cuckoo’s genes since the cuckoo need not expend any energy rearing its offspring. The cuckoo search algorithm simulates the cuckoo bird’s intelligent search strategy of finding the best host nest to deposit her egg. It utilizes the brood parasitism behavior in order to explore the search space and search for optimal solutions.
In CS computational intelligence applied to solving optimization problems, a set of nests with one egg inside is randomly placed in the search space and each egg represents a candidate solution for optimization problems. The cuckoos traverse the search space and CS records the highest fitness values for the different candidate solutions. A special search pattern called Lévy flight is employed in real cuckoo birds and insects. This characteristic is more efficient for global search rather than random walks or some conventional motions. Each cuckoo
i in CS lays an egg (the potential candidate solution) at a random location by performing the Lévy flight, which is characterized by
where
t is the iteration number,
is the location of
ith nest at
tth iteration.
is the step size and
is an entry-wise multiplication.
is a specialized random walk behavior, formulated by the form:
where
is the gamma function
.
denotes a constant
.
2.3. Hybrid CS-Fuzzy Optimization to Real-Time Control
CS has some attractive features for dealing with optimization problems, including great flexibility and robust ability. This section aims to develop a hybrid control scheme using the CS-fuzzy optimization technique. The CS algorithm is employed to determine the fuzzy structures. To allow easy implementation, in this study, the triangular membership functions in
Ri are defined by the center
, the left vertex
ai and the right vertex
bi. The design parameters of the fuzzy structure for real-time control include the number of rules
K,
,
ai and
bi.
Figure 1 depicts the architecture of the proposed CS-fuzzy control system. Having the CS-optimized fuzzy system, the intelligent CS-fuzzy control strategy is applied to real plants to obtain an optimal feedback control system.
In the CS-based approach for optimizing fuzzy modeling, each CS agent is defined as a specific fuzzy model, and the goal is to design an optimal fuzzy structure. In this work, this parameter optimization is addressed by using the evolutionary CS algorithm, thereby optimizing the fuzzy structure parameters. Compared with conventional fuzzy systems, the proposed biological CS-fuzzy optimization takes the advantages of metaheuristic algorithm and fuzzy theory. In the proposed CS-optimized fuzzy system, a CS agent is defined by the fuzzy parameters This intelligent control system features feedback control and artificial intelligence. Based on the reference signals, the CS-fuzzy control system with evolved controls the plant to achieve the control goal. Some sensors are employed in the closed-loop control system to measure and convert the real-world signals.
With the measured signals, the system errors are updated at every sampling period. The proposed CS-fuzzy control scheme generates output commands to drive the plant by considering the plant model. Worthy of mention is that the parameters in the derived control laws are online-tuned via the CS-fuzzy optimization technique. This real-time control strategy is superior to the traditional fixed-parameter control methods and off-line approach because the control parameters are self-adjusting at every sampling period. To evaluate the performance of the CS-based fuzzy modeling, a fitness function (performance index) is defined to evaluate the agents. This fitness function can be predefined according to the optimization problems. Typically, the least square error is employed to evaluate the CS-fuzzy system, described by equations of the form
where
and
respectively denote the fuzzy model outputs and desired output.
Ns denotes the number of sampling data.
4. Mechatronic Design and FPGA Implementation
Figure 3 presents the FPGA-based mechatronic design of the proposed omni-Mecanum-wheeled autonomous vehicle. As shown in
Figure 3a, the four Mecanum omnidirectional wheels were connected to the DC motors. A photo encoder was directly mounted on the DC motor to detect the QEP (quadrature encoder pulse) feedback signal. Four H-bridge power driver units were used to drive the DC motor via PWM (pulse–width modulation) methodology. A connector board was designed to serve as an interface between the driver units and the FPGA development kit. With the advantages of FPGA realization, observable in
Figure 3b, all the hardware circuits and software components were integrated in one chip. This is an efficient approach to present a cost-effective Mecanum robotic system to examine the proposed real-time CS-fuzzy control scheme. The FPGA development board was employed to perform the proposed intelligent CS-fuzzy motion control strategy. The QEP and PWM hardware circuits were developed using Verilog hardware description language (HDL) to connect the physical world and robotic cyber world. An FPGA embedded processor was utilized to execute the cyber computing, including CS-fuzzy computing and kinematics model-based control.
Figure 4 depicts the system structure of the omni-Mecanum-wheeled autonomous vehicle. When the FPGA embedded CPU received the feedback QEP signals from the motor’s encoders, the dead reckoning technology [
30,
31,
32,
33] was applied to calculate the position and orientation of the Mecanum-wheeled vehicle. This FPGA-implemented approach is very useful in robotics research for determining pose information from sensors. The raw data captured from the physical world are converted to useful information in the cyber-world by means of this embedded processor. Possessing the current pose information and desired trajectory, the error vector is then obtained, thereby generating the control output based on the proposed intelligent CS-fuzzy control scheme. The control matrices are online-updated along with the sampled data at every sampling. Finally, the control commands are sent to PWM modules and H-bridge drivers to steer the motors in the physical world to achieve trajectory tracking task.
In the FPGA realization of the omni-Mecanum-vehicle, a dual-core ARM Cortex-A9 CPU was employed to perform the cyber CS-fuzzy computing using C/C++ code for ultimate design flexibility. The model of the development kit is Altera DE1-SoC which presents a modern hardware design platform built around the Altera System-on-Chip (SoC) FPGA. The FPGA chip is a Cyclone V SoC device that integrates a hard processor system (HPS) consisting of processor, peripherals and memory interfaces tied seamlessly with the FPGA fabric. The DE1-SoC development board includes hardware such as high-speed DDR3 memory, video and audio capabilities and Ethernet networking. This hardware/software FPGA codesign methodology is regarded as a modern realization method to construct cost-effective mobile robots, because both the embedded processor and custom logics are integrated in one chip.
5. Experimental Results and Discussion
This section is devoted to discussing the experimental results and comparative analysis to highlight the contributions and merit of the proposed FPGA-based mechatronic design and intelligent CS-fuzzy real-time control for omni-Mecanum-wheeled mobile vehicles. The first experiment was conducted to examine the tracking performance of the CS-fuzzy online control for the omni-Mecanum-wheeled autonomous vehicle. The desired trajectory is mathematically expressed by
, where
and
(rad/sec). The initial pose in this experiment is set at the origin.
Figure 5 presents the trajectory tracking result for this special curve and
Figure 6 depicts the tracking errors of the orientation and position of the omni-Mecanum-wheeled vehicle. Through these experimental results displayed in
Figure 5 and
Figure 6, the proposed intelligent CS-fuzzy motion controller successfully steered the vehicle to track this curve. The position error and orientation are converged to zero in 10 s.
In the proposed intelligent CS-fuzzy motion controller of the omni-Mecanum-vehicle, the predefined fitness value was used to evaluate the performance of the CS-fuzzy system. Both the pose error and the number of fuzzy rules are included in the fitness function.
Figure 7 depicts the convergent behavior of the fitness value. As shown in
Figure 7, the fitness value converges to constant successfully, meaning that the proposed CS-fuzzy intelligent controller online evolves the optimal control parameters.
Figure 8 presents the output command of the CS-fuzzy controller to steer the Mecanum vehicle. The proposed CS-fuzzy generates smooth output commands for tracking the desired trajectory. To compare the proposed control scheme against other existing methods, this research performs the ACO-fuzzy and PSO-fuzzy tracking control tasks using the same experimental setting as in
Figure 5. The fitness value in the ACO-fuzzy tracking controller is
and the convergent fitness value using the PSO-fuzzy tracking approach is
. These comparative works clearly indicate that the proposed FPGA-based intelligent CS-fuzzy control scheme outperforms the traditional evolutionary fuzzy control systems.