Proposal of a Takagi-Sugeno Fuzzy-PI Controller Hardware

03/12/2020
by   Sérgio N. Silva, et al.
UFRN
0

This work proposes dedicated hardware for an intelligent control system on Field Programmable Gate Array (FPGA). The intelligent system is represented as Takagi-Sugeno Fuzzy-PI controller. The implementation uses a fully parallel strategy associated with a hybrid bit format scheme (fixed-point and other floating-point). Two hardware designs are proposed; the first one uses a single clock cycle processing architecture, and the other uses a pipeline scheme. The bit accuracy was tested by simulation with a non linear control system of a robotic manipulator. The area, throughput, and dynamic power consumption of the implemented hardware are used to validate and compare the results of this proposal. The results achieved allow that the proposal hardware can use in several applications with high-throughput, low-power and ultra-low-latency restrictions such as teleportation of robot manipulators, tactile internet, industrial automation in industry 4.0, and others.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 7

page 15

page 16

page 18

page 19

05/11/2017

Hardware-Software Codesign of Accurate, Multiplier-free Deep Neural Networks

While Deep Neural Networks (DNNs) push the state-of-the-art in many mach...
10/05/2020

Synchronizer-Free Digital Link Controller

This work presents a producer-consumer link between two independent cloc...
12/17/2020

A fully pipelined FPGA accelerator for scale invariant feature transform keypoint descriptor matching,

The scale invariant feature transform (SIFT) algorithm is considered a c...
10/23/2020

Efficient Floating-Point Givens Rotation Unit

High-throughput QR decomposition is a key operation in many advanced sig...
11/20/2018

Design paradigms of intelligent control systems on a chip

This paper focuses on the Field Programmable Gate Array (FPGA) design an...
03/12/2020

Reconfigurable Computing Applied to Latency Reduction for the Tactile Internet

Tactile internet applications allow robotic devices to be remotely contr...
03/13/2018

An FPGA-Based Hardware Accelerator for Energy-Efficient Bitmap Index Creation

Bitmap index is recognized as a promising candidate for online analytics...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Systems based on Fuzzy Logic (FL), have been used in many industrial and commercial applications such as robotics, automation, control and classification problems. Unlike high data volume systems, such as Big Data and Mining of Massive Datasets (MMD) fuzzyBig1; fuzzyBig2; fuzzyBig3, one of the great advantages of Fuzzy Logic is its ability to work with incomplete or inaccurate information.

Intelligent systems based on production rules that use Fuzzy Logic in the inference process are called in the literature of Fuzzy Systems (FS) FuzzyRef. Among the existing inference strategies, the most used, the Mamdani and the Takagi-Sugeno, are differentiated by the final stage of the inference process PaperFPGAFuzzySugenoControl1; PaperFPGAFuzzySugenoControl2; PaperFPGAFuzzySugenoControl3; PaperFPGAFuzzySugenoControl4; PaperFPGAFuzzySugenoControl5; PaperFPGAFuzzySugenoControl6; PaperFPGAFuzzySugenoControl7A; PaperFPGAFuzzySugenoControl7B; PaperFPGAFuzzySugenoControl7C; PaperFuzzyControlFPGA1; PaperFuzzyControlFPGA2; PaperFuzzyControlFPGA3; PaperFuzzyControlFPGA5; PaperFuzzyControlFPGA6; PaperFuzzyControlFPGA7; PaperFuzzyControlFPGA8.

The interest in the development of dedicated hardware implementing Fuzzy Systems has increased due to the demand for high-throughput, low-power and ultra-low-latency control systems for emerging applications such as the tactile Internet Tactile1RESRC; tactile, the Internet of Things (IoT) and Industry 4.0, where the problems associated with processing, power, latency and miniaturization are fundamental. Robotic manipulators used on tactile internet need a high-throughput and ultra-low-latency control system, and this can be achieved with dedicated hardware Tactile1RESRC.

The development of dedicated hardware, in addition to speeding up parallel processing, makes it possible to operate with clocks adapted to low-power consumption torquato2018highperformance; 8626462; silva2019reinforcementlearning; 8678408; BLAIECH2019331; electronics8060631; NORONHA2019138. The works presented in PaperFPGAFuzzy3; PaperFPGAFuzzy4; PaperFPGAFuzzy5; PaperFPGAFuzzy6; PaperFPGAFuzzy7; PaperFPGAFuzzy12; PaperFPGAFuzzySurvey1; PaperFPGAFuzzySurvey2 propose implementations of FS on reconfigurable hardware (Field Programmable Gate Array - FPGA), showing the possibilities associated with the acceleration of fuzzy inference processes having a high degree of parallelization. Other works propose specific implementations of Fuzzy Control Systems (FCS) using the Fuzzy Mamdani Inference Machine (M-FIM) and the Takagi-Sugeno Fuzzy Inference Machine (TS-FIM) PaperFPGAFuzzySugenoControl1; PaperFPGAFuzzySugenoControl2; PaperFPGAFuzzySugenoControl3; PaperFPGAFuzzySugenoControl4; PaperFPGAFuzzySugenoControl5; PaperFPGAFuzzySugenoControl6; PaperFPGAFuzzySugenoControl7A; PaperFPGAFuzzySugenoControl7B; PaperFPGAFuzzySugenoControl7C; PaperFuzzyControlFPGA1; PaperFuzzyControlFPGA2; PaperFuzzyControlFPGA3; PaperFuzzyControlFPGA5; PaperFuzzyControlFPGA6; PaperFuzzyControlFPGA7; PaperFuzzyControlFPGA8. The works presented in PaperFPGAFuzzySugeno1; PaperFPGAFuzzySugeno2; PaperFPGAFuzzySugeno3 propose the Takagi-Sugeno hardware acceleration for other types of application fields.

This work aims to develop a new hardware proposal for a Fuzzy-PI controller with TS-FIM. Unlike most of the works presented, this project offers a fully parallel scheme associated with a hybrid platform using fixed-point and floating-point representations. Two TS-FIM hardware modules have been proposed, the first (here called TS-FIM module one-shot) takes one sample time to execute the TS-FIM, and the second (here called as TS-FIM module pipeline) uses registers inside the TS-FIM. Two Fuzzy-PI controller hardware have been proposed, one for the TS-FIM one-shot module and another for the TS-FIM module pipeline. The proposed hardware have been implemented, tested and validated on a Xilinx Virtex 6 FPGA. The synthesis results, in terms of size, resources and throughput, are presented according to the number of bits and the type of numerical precision. Already, the physical area on the target FPGA reaches less than . The implementation achieved a throughput between and (Mega samples per second), and between and (Mega fuzzy logic inferences per second). Validation results on a feedback control system are also presented, in which satisfactory performance has been obtained for a small number of representation bits. Comparisons of results with other proposals in the literature in terms of throughput, hardware resources, and dynamic power savings will also be presented.

2 Related works

In PaperFPGAFuzzy3, a high-performance FPGA Mamdani fuzzy processor is presented. The processor achieved a throughput of about at a clock frequency about and it was designed for rules and inputs with bits. The proposal used a semi-parallel implementation and thus reduced the number of the operations per Hz. The work presented in PaperFPGAFuzzy3 has about and the work proposed here can achieve about due the fully parallel hardware scheme used. The significant difference between throughput and operation frequency also implies a high power consumption MCCOOL201239. The work presented in PaperFPGAFuzzy4 uses a Mamdani inference machine and the throughput in Mflips is about . The hardware was designed to operate with bits, four inputs, rules and one output. Similar to the work presented in PaperFPGAFuzzy3, the proposal introduced in PaperFPGAFuzzy4 adopted a semi-parallel implementation, and this way decreased the throughput and increased power consumption. Other Mamdani implementations following the same strategy are also found in PaperFPGAFuzzy5; PaperFPGAFuzzy6; PaperFPGAFuzzy7; PaperFPGAFuzzy12.

A multivariate Takagi-Sugeno fuzzy controller on FPGA is proposed in PaperFPGAFuzzySugenoControl1. The hardware is applied to the temperature and humidity controller for a chicken incubator and it was projected to two inputs, rules and three outputs. When compared to other works, the hardware proposed in PaperFPGAFuzzySugenoControl1 achieved a low throughput about . A hardware accelerator architecture for a Takagi-Sugeno fuzzy controller is proposed in PaperFPGAFuzzySugenoControl3 and this proposal achieved a throughput about with three inputs, two outputs and bits.

In PaperFPGAFuzzySugenoControl7A; PaperFPGAFuzzySugenoControl7B; PaperFPGAFuzzySugenoControl7C a design methodology for rapid development of fuzzy controllers on FPGAs was developed. For the case with two inputs, rules and one output (vehicle parking problem), the proposed hardware achieved a maximum clock about with bits. However, the TS-FIM takes clocks to complete the inference step, and this decreases the throughput, and it increases the power consumption.

The implementation presented in PaperFuzzyControlFPGA1 aims at creating a hardware scheme of fuzzy logic controller on FPGA for the maximum power point tracking in photo-voltaic systems. The implementation takes clocks cycles over and this is equivalent a throughput about . In PaperFuzzyControlFPGA3, a Mamdani fuzzy logic controller on FPGA was proposed. The hardware carries out a throughput of about with two inputs, rules.

The work presented in PaperFuzzyControlFPGA5 implements a semi-parallel digital fuzzy logic controller on FPGA. The work achieved about per clock frequency of , that is, . On the other hand, this manuscript uses a fully parallel approach and it achieves , in other words, it can execute more operations per clock cycle. In the same direction, the proposals presented in PaperFuzzyControlFPGA6; PaperFuzzyControlFPGA8 shows a semi-parallel fuzzy control hardware with low-throughput, about .

Thus, this manuscript proposes a hardware architecture for the Fuzzy-PI control system. Unlike the works presented in the literature, the strategy proposed here uses a fully parallel scheme associated with a hybrid use in the bit format (fixed and floating-point). After several comparisons with other implementations of the literature, the scheme proposed here showed significant gains in processing speed (throughput) and dynamic power savings.

3 Takagi-Sugeno Fuzzy-PI Controller

Figure 1 shows the Fuzzy-PI intelligent control system operating a generic plant FuzzyRef; Silva2019; FERNANDES2016684. The plant output variable is called the controlled variable (or controlled signal), and it can admit several kinds of physical measurements such as level, angular velocity, linear velocity, angle, and others depending on the plant characteristics. The controlled variable, , passes through a sensor that converts the physical measure into a proportional electrical signal that it is discretized at a sampling rate, , generating the signal, .

Figure 1: Architecture of the Fuzzy-PI feedback control system operating a generic plant.

The plant drives the kind of sensor that will be used. For level control in tanks used in industrial automation, the sensor can be characterized by the pressure sensor. For robotics applications (manipulators or mobile robotics), the sensor can be position sensor (capture angle information) or encoders sensor (capture angular or linear velocity information).

In the -th time, the Fuzzy-PI controller (see Figure 1) uses the signal, , and it calculates the error signal, , and difference of error, . The signal is expressed by

(1)

where the is the reference signal also called the set point variable and the signal by

(2)

After the computation of the signals and , the Fuzzy-PI controller generate the signals and , which can be expressed as

(3)

and

(4)

The variables Kp and Ki represent the proportional gain and the integration gain, respectively FuzzyRef; Silva2019; FERNANDES2016684. Subsequently, the signals and are sent to the fuzzy Takagi-Sugeno inference, called in this article of Takagi-Sugeno - Fuzzy Inference Machine (TS-FIM) (see Figure 1).

The TS-FIM is formed by three stages called fuzzification, operation of the rules (or rules evaluation) and defuzzification (or output function) FuzzyRef. In the fuzzification each -th input signal is applied to a set of pertinence functions whose output can be expressed as

(5)

where, is the -th membership function of the -th input and is the output of the fuzzification step associated with the -th membership function and the -th input in the -th time. For two inputs, and , the TS-FIM generates a set of fuzzy signals ( and ) and these signals are processed by a set of rules in the operation (or evaluation) phase. Each -th rule can be expressed as

(6)

where for . Finally, the output (defuzzification) of TS-FIM, called here , can be expressed as

(7)

where , e are parameters defined during the project FuzzyRef.Thus it can be said that every -th instant TS-FIM receives as input and and generates as output , that is,

(8)

where is a function that represents TS-FIM.

After the TS-FIM processing, the Fuzzy-PI controller integrates the signal generating the signal (see Figure 1). The signal is the output of the Fuzzy-PI controller, and it can be expressed as

(9)

The signal is saturated between and , generating the signal that it is expressed as

(10)

Finally, the signal is sent to a actuator, which transforms the discrete signal into a continuous signal, , to be applied to the plant.

4 Hardware Proposal

Figure 2 presents the general structure of the proposed hardware in which it consists of three main modules called Input Processing Module (IPM), TS-FIM Module (TS-FIMM) and Integration Module (IM). The hardware was developed for the most part using a fixed-point format for the variables, in which, for any given variable, the notations and indicate that the variable is formed by T bits of which W are intended for the fractional part and the symbols "s" and "u" indicate that the variable is signed or unsigned, respectively. For the case of signed variables, type , the number of bits destined for the integer part is characterized as and for unsigned variables, type , the number of bits is for the integer part.

Figure 2: Overview of Fuzzy-PI controller proposed architecture.

4.1 Input Processing Module (IPM)

The IPM (shown in Figure 3) is responsible for processing the control signal generated by the plant to the input of the Fuzzy-PI controller. The IPM computes the Equations 1, 2, 3 and 4. The signals associated with this module were implemented with bits where, one is reserved for the sign and for the fractional part where, the value of can be expressed as

(11)

where represents the maximum value, in modulus, of the process variable, . The values of Kp and Ki should be designed to try to maintain the output signals of the module, and , between and , respectively. In this way, you can set , aiming at reducing the number of bits associated with the project. It is important to note that the two gain modules, Kp and Ki, also saturate the signal in bits after multiplication.

Figure 3: Hardware architecture of IPM.

4.2 TS-FIM Module (TS-FIMM)

The TS-FIMM is composed of three hardware components: Membership Function Module (MFM), Operation Module (OM) and Output Function Module (OFM). The MFM is the first module associated with TS-FIMM and it corresponds to the fuzzification process, the OM component completes the rules evaluation phase and the OFM performs the defuzzification step (see Section 3). This work proposes two designers for TS-FIMM.

The first one, presented in Figure 4 and called here as TS-FIMM One-Shot (TS-FIMM-OS), performs all modules MFM, OM, and OFM in one sample time, in other words, it takes one sample time to generate the -th output associated of the -th input. The second, presented in Figure 5 and called here as TS-FIMM Pipeline (TS-FIMM-P), used registers (blocks called R in the Figure 4) among the input, MFM, OM, OFM and output. The TS-FIMM-P takes four sample time to perform all modules MFM, OM, and OFM, in other words, there is a delay of the four samples between the -th output and -th input.

Figure 4: Hardware architecture of TS-FIMM One-Shot (TS-FIMM-OS).
Figure 5: Hardware architecture of TS-FIMM Pipeline (TS-FIMM-P).

The TS-FIMM-OS will have a longer sample time than TS-FIMM-P because the critical path is also longer; however, the TS-FIMM-OS does not have a delay. It is important to empathize that the delay inside the feedback control can take a system to instability. The instability degree depends on the system and how long is the delay. The instability will depend on the characteristics of the system and the size of the delay Niculescu2010. On the other hand, the pipeline scheme associated with TS-FIMM-P has a short sample time (short critical path), and this permits a high-throughput when it compares to TS-FIMM.

4.2.1 Membership Function Module (MFM)

In the MFM, each -th input variable is associated with a module that collects membership functions, called here Membership Function Group (MFG). Figure 6 shows the -th MFG, called of the , related with the -th input, .

Figure 6: Hardware architecture of module MFG- associated with the -th input, .

Each collects membership functions (see Figure 6) called and each module implements the -th membership function associated with the -th input, . In every -th time instant all membership functions, , are executed in parallel and at the output of each is generated a bits signal of type u and without the integer part, called (see Figure 6). The Fuzzy-PI controller proposed here uses membership functions.

Figure 7 shows the membership functions implemented in the MFM. For both variables, and , seven functions of pertinence were created (trapezoidal type in the extremes and triangular in the remaining). The linguistic terms associated with membership functions are Large Negative (LN), Moderate Negative (MN), Small Negative (SN), Zero (ZZ), Small Positive (SP), Moderate Positive (MP) and Large Positive (LP).

Figure 7: Membership functions from inputs and .

Each -th membership function associated with -th input was implemented directly on hardware based on the following expressions

(12)

being the trapezoidal function on the right, and are constants ( < ) and

(13)

where and are the number of bits in the integer and fractional part relative to the constants of the

-th activation function associated with

-th input. For the trapezoidal of the left one has

(14)

with the left trapezoidal function, and constants ( < ) and

(15)

Finally, for the triangular membership function is expressed as

(16)

where is the triangle center point, that is, . The values of W and T will set the resolution of the activation functions. In the implementation proposed in this work, the value of W is always expressed as . The use of non-linear pertinence functions can be accomplished by applying Lookup Tables (LUTs) in the implementation.

Although this implementation uses only two inputs ( and ) and seven membership functions for each input, this can be easily extended for more inputs and functions, since the entire implementation is performed in parallel.

4.2.2 Operation Module (OM)

The outputs from the MFM module are passed to the OM module that performs all operations relative to the rules, as described in Equation 6 on Section 3. Figure 8 details the hardware structure of one of the operating modules, here called , which performs the minimum operation ("AND" connector) between the -th membership function from input , , with the -th membership function from input , (see Equation 7).

Figure 8: Arquitecture of the module associated with the operation between the fuzzyfied signal from the -th membership function from input , , with the -th membership function from input , (see Equation 7).

4.2.3 Output Function Module (OFM)

The OFM, illustrated in Figure 9, performs the generation of the TS-FIMM output variable during the step called defuzzification. This step essentially corresponds to the implementation of the Equation 7 presented in Section 3. The blocks called NM and DM perform the numerator and denominator operations presented in Equation 7, respectively.

Figure 9: Hardware architecture of the OFM.

Figures 10 and 11 show the hardware implementation of the NM. The NM is composed of the hardware components called and an adder tree structure. Each -th , detailed in Figure 11, is a parallel hardware implementation of the variable presented in Equation 7. The WMs hardware components are also implemented in parallel and they generated signals in each -th time instant. Since , , , , and for the variable can be expressed as .

Figure 10: Hardware architecture of the NM.
Figure 11: Hardware architecture of the WM-.

The adder tree structure, illustrated in Figure 10, has a depth expressed as thus the output signal (see Equation 7) can be performed as where

(17)

The DM, presented in Figure 12, is characterized with an adder tree structure with depth also expressed as . The output signal of DM can be expressed as where

(18)
Figure 12: Hardware architecture of the DM.

For the division calculation, the output signals, in fixed-point, of the NM and DM modules ( and are transformed to a 32-bit floating-point (IEEE754) standard by the Fixed-point to Float (FP2F) module ( e ) and after division the TS-FIMM output is converted back into fixed-point by the Float to Fixed-point (F2FP) module.

Since the TS-FIMM inputs and the values of , and are between and , it can be guaranteed, from Equation 7, that the output , , continue normalized between and . Thus, one can use the same input resolution, that is, N for the fractional part and for the integer part, as shown in Figure 9.

4.3 Integration Module (IM)

The IM, shown in Figure 13, implements the Equation 9 presented in Section 3. This module is the last step on the Fuzzy-PI hardware and it is composed of the accumulator with a saturation. The output signal, , is expressed as where

(19)
Figure 13: Hardware architecture of the IM.

5 Synthesis Results

The synthesis results were obtained to Fuzzy-PI controller (see Figure 2) and also to specific modules TS-FIMM-OS (see Figure 4) and TS-FIMM-P (see Figure 5). The separate synthesis of the TS-FIMM allows to analysis of the Fuzzy inference algorithm core in the complete hardware proposal. All synthesis results used an FPGA Xilinx Virtex 6 xc6vlx240t-1ff1156 and that has , registers, , logical cells to be used as LUTs and multipliers.

5.1 Synthesis Results - TS-FIMM Hardware

Tables 1 and 2 present the synthesis results related to hardware occupancy and the maximum throughput, , in Mega samples per second (Msps) of the system for several values of and . Tables refTab1sults and 2 show the synthesis results associated with TS-FIMM-OS and TS-FIMM-P, respectively. The columns, NR, NLUT and NMULT represent the number of registers, logic cells used as LUTs and multipliers in the hardware implemented in the FPGA, respectively. The PNR, PNLUT, and NMULT columns represent the percentage relative to the total FPGA resources.

N T NR PR NLUT PLUT NMULT PNMULT (ns) (Msps)
Table 1: Synthesis results (hardware requirement and time) associated with TS-FIMM-OS hardware.
N T NR PR NLUT PLUT NMULT PNMULT (ns) (Msps)
Table 2: Synthesis results (hardware requirement and time) associated with TS-FIMM-P hardware.

Synthesis results show that the hardware proposal for TS-FIMM takes up a small hardware space of less than , PR, in registers and less than in LUTs, PLUT, of the FPGA (see Tables 1 and 2). These results enable the use of several TS-FIMM implemented in parallel on FPGA, allowing to accelerate several applications in massive data environments. On the other hand, the low hardware consumption allows the use of TS-FIMM in small FPGAs of low cost and consumption for applications of IoT and M2M. Another important point to be analyzed, still in relation to the synthesis, is the linear behavior of the hardware consumption in relation to the number of bits, unlike the work presented in Marcelo1, and this is important, since it makes possible the use systems with higher resolution.

The values of throughput, , were very relevant, with values about for TS-FIMM-OS and values about for TS-FIMM-P. These values enables its application in various large volume problems for processing as presented in PaperFPGAFuzzy3 or in problems with fast control requirements such as tactile internet applications tactile; Tactile1RESRC. It is also observed that throughput has a linear behavior as a function of the number of bits.

The TS-FIMM-P has a speedup about () regards the TS-FIMM-OS. This speedup was driven by the critical path reduction with the pipeline scheme. However, the pipeline scheme in TS-FIMM-P used about registers (NR) more than TS-FIMM-OS.

The figures 14 and 15 show the behavior surfaces of the number of LUTs (NLUT) and throughput in function of N and T for TS-FIMM-OS, respectively. For both cases an adjustment was made, through a regression technique, to find the plane that best matches the measured points. For the case of NLUT, the plane, expressed by

(20)

with a . For throughput in Msps was found a plane, , characterized as

(21)

with .

Figure 14: Plane,

, found to estimate the number of LUTs in function of the number of bits

N and T for TS-FIMM-OS.
Figure 15: Plane, , found to estimate throughput, , for different number of bits N and T for TS-FIMM-OS.

The behavior surfaces of the number of LUTs (NLUT) and throughput in function of N and T for TS-FIMM-P are presented in Figures 16 and 17, respectively. For the case of NLUT, the plane, expressed by

(22)

with a . For throughput in Msps was found a plane, , characterized as

(23)

with .

Figure 16: Plane, , found to estimate the number of LUTs in function of the number of bits N and T for TS-FIMM-P.
Figure 17: Plane, , found to estimate throughput, , for different number of bits N and T for TS-FIMM-P.

5.2 Synthesis Results - Fuzzy-PI Controller Hardware

Tables 3 and 4 present the synthesis results related to hardware occupancy and throughput, for the Fuzzy-PI controller hardware (see Figure 2) . The results are presented for several values of and .

N NR PR NLUT PLUT NMULT PNMULT (ns) (Msps)
Table 3: Synthesis results (hardware requirement and time) associated with Fuzzy-PI controller hardware with TS-FIMM-OS.
N NR PR NLUT PLUT NMULT PNMULT (ns) (Msps)
Table 4: Synthesis results (hardware requirement and time) associated with Fuzzy-PI controller hardware with TS-FIMM-P.

Synthesis results, drawn on Table 3 and 4, show that the proposed implementation requires a small fraction of hardware space, less than , PR, in registers and less than in LUTs, PLUT, of the FPGA. In addition, it is possible to see the numbers of embedded multipliers, PNMULT, remained below . This occupation enables the use of several Fuzzy-PI controllers in parallel in the same FPGA hardware and this allows various controls systems running in parallel on industrial applications. The low size implementation also allows the use in low cost and power consumption IoT and M2M applications. Regarding throughput, , the results obtained were highly relevant, with values between , and . Which enables its application in several problems with large data volume for processing as presented in PaperFPGAFuzzy3 or in problems with fast control requirements such as tactile internet applications Tactile1RESRC.

6 Validation Results

6.1 Validation Results - TS-FIMM Hardware

The Figures 18 and 19 show the mapping between input ( and ) and output for proposed hardware and a reference implementation with Fuzzy Matlab Toolbox (License number 1080073) MatlabFuzzyToolbox, respectively. The Matlab implementation, shown in Figure 19, uses floating-point format with bits (double precision) while in Figure 18 the proposed hardware-generated mapping is presented using lower resolution synthesized (, and ). These figures are able to present a qualitative representation of the proposed implementation, in which the obtained results are quite similar to those expected.

Figure 18: Mapping between input and output from TS-FIMM hardware using fixed-point with , and .
Figure 19: Mapping between input and ouput from TS-FIMM generated by Matlab Fuzzy Logic Toolbox using double format.

The Table 5 shows the mean square error (MSE) between the Fuzzy Matlab Toolbox and the proposed hardware implementation for several cases and . For the experiment, the calculation of is expressed as

(24)

where represents the number of tested points that corresponded to points spread evenly within the limits of the input values ( and ). The Figures 18 and 19 were generated with these points.

N T (see Equation 24)
Table 5: Mean square error (MSE) between the Fuzzy Matlab Toolbox and the proposed hardware implementation for several cases and .

The results obtained in relation to were also quite significant, showing that the TS-FIMM hardware has a response quite similar to the implementation with bits even for a fixed-point resolution of bits (,). Another interesting fact was related to the values of that did not significantly influence the value for the pertinence functions used (see Figure 7) in the project. It is important to note that the implementation of TS-FIMM hardware with few bits leads to smaller hardware, low-power consumption or high-throughput values.

6.2 Validation Results - Fuzzy-PI Controller Hardware

In order to validate the results of the Fuzzy-PI controller in hardware, bit-precision simulation tests were performed with a non-linear dynamic system characterized by a robotic manipulator system called the Phantom Omni 4097836; 6318365; 5341989; 7813108

. The Phantom Omni is a 6-DOF (Degree Of Freedom) manipulator, with rotational joints. The first three joints are actuated, while the last three joints are non-actuated . As illustrated in Figure

20, the device can be modeled as 3-DOF robotic manipulator with two segments and . The segments are interconnected by three rotary joints angles , and . The Phantom Omni has been widely used in literature, as presented in 4097836; 6318365; 5341989. Simulations used , , and where as described in 5341989.

Figure 20: Structure of 3-DOF Phantom Omni robotic manipulator.

Non-linear, second order, ordinary differential equation used to describe the dynamics of the Phantom Omni can be expressed as

(25)

where

is the vector of joints expressed as

(26)

is the vector of torques acting expressed as

(27)

is the inertia matrix, is the Coriolis and centrifugal forces matrix, represents the gravity force acting on the joints, , and the is the friction force on the joints, 4097836; 6318365; 5341989; 7813108.

Figure 21 shows the simulated system where the plant is the 3-DOF Phantom Omni robotic manipulator. The controlled variables are the angular position of the joints , and and the actuator variables are the torques , and . The control system has three angular position sensors and each -th convert the -th continuous angle signal, to discrete angle signal, . There are three Fuzzy-PI hardware running in parallel and every -th is connected with a Fuzzy-PI hardware, . Each -th hardware generates the -th discrete torques acting signal, , and every -th discrete torque signal, , is connected to -th actuator, . Finally, each -th actuator, , generates the -th continuous torque signal, to the applied on the robotic manipulator. The set point variables (or reference signal) are angular position of the joints and they are expressed by , and .

Figure 21: Simulated system used to validate the Fuzzy-PI hardware proposal. The plant is the 3-DOF Phantom Omni robotic manipulator and there are three Fuzzy-PI hardware running in parallel.

Figures 22, 23 and 24 present the hardware validation results for various resolutions in terms of the number of bits of the fractional part, for discrete controlled variables , and , respectively. The simulation trajectory was of seconds and every seconds was changing. Table 6 shows the angle trajectory changing for set point variables , and . Simulations used , and for each -th hardware.

Figure 22: Validation results from the proposed Takagi-Sugeno Fuzzy-PI hardware. Simulation trajectory for with using bits in the fractional part.
Figure 23: Validation results from the proposed Takagi-Sugeno Fuzzy-PI hardware. Simulation trajectory for with using bits in the fractional part.
Figure 24: Validation results from the proposed Takagi-Sugeno Fuzzy-PI hardware. Simulation trajectory for with using bits in the fractional part.
Set point
(Figure 22)
(Figure 23)
(Figure 24)
Table 6: Angle trajectory changing for set point variables , and .

In the results presented in Figures 22, 23 and 24 it is possible to observed that the controller followed the plant reference in all cases. Results also showed that the Takagi-Sugeno Fuzzy-PI hardware proposal has been following the reference even for a small amount of bits, that is, a low resolution.

7 Comparison with other works

7.1 Throughput comparison

Table 7 shows a comparison with other works in the literature. Parameters like inference machine (IM) type (Takagi-Sugeno or Mamdani), number of inputs (NI), number of rules (NR), number of outputs (NO), number of bits (NB), throughput in Msps, and Mflips (Mega fuzzy logic inference per second) are showed. In additional, Table 7 also shows the speedups (in Msps and Mflips) achieved of the TS-FIMM-OS, TS-FIMM-P, Fuzzy-PI controller with TS-FIMM-OS (Fuzzy-PI-OS) and with TS-FIMM-P (Fuzzy-PI-P) over the other works in the literature. The value in flips can be calculated as .

In the work presented in PaperFPGAFuzzySugenoControl7A, the results were obtained for several cases and for one with two inputs, rules and one output (vehicle parking problem) the proposed hardware achieved a maximum clock about with bits PaperFPGAFuzzySugenoControl7B; PaperFPGAFuzzySugenoControl7C. However, the FIM takes clocks to complete the inference step; in other words, the hardware proposal in PaperFPGAFuzzySugenoControl7A achieves a throughput in Msps of about and in Mflips of about . The speedup in Msps for the TS-FIMM-OS, TS-FIMM-P, Fuzzy-PI-OS and Fuzzy-PI-P are , , , and , respectively. As the hardware proposal in this paper used rules, the speedup in Mflips can be calculated as the throughput in Msps , that is, the speedup for the TS-FIMM-OS, TS-FIMM-P, Fuzzy-PI-OS and Fuzzy-PI-P are , , , and , respectively.

The work presented in PaperFPGAFuzzySugenoControl1 proposes a Takagi-Sugeno fuzzy controller on FPGA with two inputs, rules and three outputs. The hardware achieved a throughput of about with bits on the bus. With bits, the speedup in Msps for the TS-FIMM-OS, TS-FIMM-P, Fuzzy-PI-OS and Fuzzy-PI-P are , , , and , respectively. The speedup in Mflips is about over the speedup in Msps.

In PaperFuzzyControlFPGA3, a Mamdani fuzzy logic controller on FPGA was proposed. The hardware carries out a throughput of about with two inputs, rules, one output, and bits. Using bits, the speedup in Mflips for the TS-FIMM-OS, TS-FIMM-P, Fuzzy-PI-OS and Fuzzy-PI-P are , , , and , respectively. As the number of rules is , the speedup in Msps is equal to Mflips.

The work presented in PaperFPGAFuzzy4 uses a Mamdani inference machine and the throughput in Mflips is about . The hardware designed in PaperFPGAFuzzy4 operated with bits, four inputs, rules and one output. The speedup in Mflips, with bits, for the TS-FIMM-OS, TS-FIMM-P, Fuzzy-PI-OS and Fuzzy-PI-P are , , , and , respectively. The speedup in Msps is about over the speedup in Mflips.

The hardware used in PaperFuzzyControlFPGA1 takes clocks cycles over (in four states) to execute a M-IM with bits. This is equivalent to a throughput of about . The scheme proposed in PaperFuzzyControlFPGA1 used two inputs, rules and one output. The speedup in Msps for the TS-FIMM-OS, TS-FIMM-P, Fuzzy-PI-OS and Fuzzy-PI-P are , , , and , respectively. The speedup in Mflips is about over the speedup in Msps.

The works presented in PaperFuzzyControlFPGA6; PaperFuzzyControlFPGA8 shows a hardware can achieve about . The work presented in PaperFuzzyControlFPGA6 uses two inputs, rules, one output and bits and the designer presented in PaperFuzzyControlFPGA8 was projected with three inputs, rules and one output. The speedup in Msps for the TS-FIMM-OS, TS-FIMM-P, Fuzzy-PI-OS and Fuzzy-PI-P are equal to previously calculated values used in PaperFPGAFuzzySugenoControl1. The speedup in Mflips are about and over the speedup in Msps for works PaperFuzzyControlFPGA6 and PaperFuzzyControlFPGA8, respectively.

Finally, the hardware proposes in PaperFPGAFuzzySugenoControl3 achieved a throughput of about with three inputs, two outputs and bits. The speedup in Msps for the TS-FIMM-OS, TS-FIMM-P, Fuzzy-PI-OS and Fuzzy-PI-P are , , , and , respectively. The fuzzy system proposed in PaperFPGAFuzzySugenoControl3 does not use linguistic fuzzy rules and it cannot calculate the throughput in Mflips.

References IM NI NR NO NB Msps Mflips This work Speedup
Msps Mflips
PaperFPGAFuzzySugenoControl7A (2013) TS-IM TS-FIMM-OS
TS-FIMM-P
Fuzzy-PI-OS
Fuzzy-PI-P
PaperFPGAFuzzySugenoControl1 (2014) TS-IM TS-FIMM-OS
TS-FIMM-P
Fuzzy-PI-OS
Fuzzy-PI-P
PaperFuzzyControlFPGA3 (2015) M-IM TS-FIMM-OS
TS-FIMM-P
Fuzzy-PI-OS
Fuzzy-PI-P
PaperFPGAFuzzy4 (2016) M-IM TS-FIMM-OS
TS-FIMM-P
Fuzzy-PI-OS
Fuzzy-PI-P
PaperFuzzyControlFPGA1 (2018) M-IM TS-FIMM-OS
TS-FIMM-P
Fuzzy-PI-OS