Design and Implementation of an Integrated Fuzzy Logic Controller for a Multi-input Multi-output System

The design and real time implementation of an integrated fuzzy logic controller (IFLC) for a multiple-input multiple-output (MIMO) system is presented. The design of IFLC for an uncoupled MIMO system has been discussed. This study develops a combination of fuzzy and PID controllers (PIDC) to improve the control performance of a two-input-two-output (TITO: angular position, and rotational speed) system. These parameters play a vital role in radar-tracking system for military applications. To verify the applicability of proposed controller, two-motor unit plant along with indigenously designed multi-channel analog interface board of 16-bit precision is used. The proposed MIMO control system is interfaced to a PC through its parallel port. The performance of the system is studied by subjecting it to various standard test signals. The IFLC performs better than the other two controllers in tracking the input command for linear as well as nonlinear inputs such as step, square, triangular, and sine waves is observed.


Keywords:    dc motor,   PID controller,   integrated fuzzy logic controller,   multi-input multi-output system,   MIMO control system

Systems with more than one controlled output and command input are called multivariable or multiple-input, multiple-output (MIMO) systems. The modern domestic and industrial equipments such as airconditioners, lathe, and CNC machines are examples of MIMO systems. The airconditioners use advanced fuzzy logic controllers to achieve the automation and high degree of cooling resulting in better performance in terms of higher air flow and wide swing control yet maintaining the low power consumption. Lathe and CNC machines require multiple parameters control to achieve precise control of both horizontal and vertical axes movements. Modern cameras employing object tracking and capturing high resolution pictures also need quicker movement and precise focusing of lens. This is also another case of MIMO system requiring multiple parameter control.


Two single-input, single output (SISO) control systems are coupled, resulting in a multivariable system, to produce a two-input, two-output control system. Angular position and rotational speed control of dc motors find extensive applications in the areas of defence, science, and industry such as remote sensing using satellite system, vision and motion control, radar tracking, missile guidance, antenna positioning, camera positioning for view finding, nuclear isotope handling machine, robotic arm control for path finding, object picking, placing, and packaging, etc. The radar-tracking system requires the precise control of both position and speed of the target to be tracked which vary in an unpredictable manner. An automobile driving system is also another example of a MIMO system, which requires both steering position and vehicle speed control. These have motivated the authors to design and implement the integrated fuzzy logic controller (IFLC-based MIMO system set-up in the laboratory. These two parameters, i.e., angular position and rotational speed of the dc motors have been controlled precisely using IFLC implemented on a PC.


Although fuzzy control theory has been successfully employed in many control applications1-9, its control strategies were mostly designed for SISO systems, and for few MIMO systems with only simulation studies. Lian and Lin10 proposed a mixed fuzzy controller (MFC) for a MIMO two-link robotic system to overcome the coupling effects between the degrees of freedom. They presented the simulation results to improve the control performance. Lanas11, et al proposed two independent fuzzy controllers in control of a MIMO system. They considered a mixing tank with two parameters (as liquid level and liquid colour) and studied the performance of the controller. The simulated results justified the performance of their proposed controller. Soriano12, et al presented a methodology for controlling a MIMO system using fuzzy logic controller. They developed the defuzzification based on Boolean relations (DBR) and showed that DBR allows implementing fuzzy controller with less computational cost. The control performance was compared with their simulation studies. In all the above-mentioned literature, the simulation studies were reported to justify their proposed work. An attempt has been made to apply the IFLC for a real-time MIMO control system. The real-time graphs are presented and performance of the system is compared with other two controllers, viz., PIDC, and FLC. The IFLC was proved to be a better controller.

The basic IFLC configuration is shown in Fig. 1, where FLC is used in a supplementary role to enhance the existing PIDC. Since FLCs are easy to realise, the system behaviour can be easily redesigned by modifying the fuzzy logic rules. One does not have to redesign the existing control system hardware to acquire satisfactory response during the change of load conditions and appearance of disturbances/noise.


Fuzzy logic uses membership functions to define the degree to which crisp physical values belong to terms in a linguistic variable set. The FLC consists of mainly three basic components, namely, the fuzzification stage, fuzzy inference engine (rule base), and defuzzification stage, reported by Cox13. The fuzzy inference engine is the heart of the FLC and it comprises both the knowledge base and decision-making logic. The fuzzification stage converts real number input values into fuzzy values. The knowledge base consists of a database with necessary linguistic variables (rule set) and decision-making logic used to decide what control action is to be taken. The fuzzy inference engine processes the input data and computes the control outputs using IF and THEN rules. These outputs, which are fuzzy values, are converted into real numbers in the defuzzification stage.



The two-input-one-output FLC is designed for the present application. The inputs to the FLC are error e(t) = (set-point–measured value)/set-point, and change-in-error ce(t) = (present error – previous error). These two inputs are defined on a universe of discourse with the nine membership functions (NL, NM, NS, NZ, ZE, PZ, PS, PM, and PL). The output of the FLC is cu(t).The inputs and controlled output of the FLC are described by Eqns (1) to (3) as


E=e(t)=r(t)y(t) (1)



CE=ce(t)=e(t)e(t1) (2)



CU=cu(t) (3)


The triangular membership function was used to fuzzify the error and change-in-error. The error and change-in-errors are mapped between –1.0 and +1.0 on the universe of discourse. The membership boundaries for error, change-in-error, and control output are shown in Fig. 2. The inference process of the FLC relates the fuzzy state variables e(t) and ce(t) to the fuzzy controlled action cu(t) with the help of linguistic rules.




The decision-making logic picks up appropriate control action for the process. The PIDC algorithm is implemented with the following well-known PID difference equation given by the Eqn (4):


V n = K p ( e n e n1 )+ K i e n T+ K d /T[( e n 2 e n1 + e n2 )] (4)


where, Vn is the control action, en, en-1, and en-2 are the present, previous, and previous to previous errors respectively, Kp, Ki, and Kd are proportional, integral, and derivative constants respectively, and T is the cycle time.

The design of an uncoupled MIMO fuzzy control system is discussed. The design scenario presented here, although not specific to a particular application, the test bed under study may be viewed as a general philosophy for integrated fuzzy logic controller design where one is concerned with improving the performance of the system by combining the conventional controller (PID) with fuzzy logic controller.


The IFLC control strategy for two SISO control systems (angular position14, and rotational speed15) was first developed and studied individually. Later, the same control strategy was applied for a MIMO system (combination of these two SISO systems) and performance analysis was studied for various input test conditions. The comparative study of PIDC, FLC, and IFLC was done for test input commands such as step, square, triangular and sine. The PIDC parameters were selected manually by trial and error method for optimum performance. The best tuned PIDC is finally employed as the control strategy. Similarly, the control rules for FLC were also defined manually based on the earlier expertise. Performance-based tuning was adopted in this design. The best tuned PIDC and FLC were then used to design an IFLC. Figure 3 presents the block diagram of IFLC-based MIMO control system used for controlling the angular position of dc micromotor (DCMM) and rotational speed of permanent magnet dc motor (PMDCM). The control of this MIMO system is accomplished first by a FL control system and followed by a conventional PID control system.



The system has two inputs and two outputs. The term uncoupled is used since the controllers operate independent of each other. No information is transferred between the two motor controllers. We thus consider the system as MIMO system made up of two separate SISO systems. In Fig. 3, rp(t) and rs(t) denote the desired position in degree and speed in rpm of the motors, respectively, and yp(t) and ys(t) denote their respective values at time t, as measured by the respective sensors. The inputs to the MIMO controller are the position error of the DCMM shaft ep(t), and its derivative, i.e., cep(t), and the speed error of the PMDCM shaft es(t), and its derivative, i.e., ces(t). These were chosen as the input variables of an IFLC MIMO system. These control inputs are defined as:


e pn (t)= r p (t) y p (t) (5)


c e p (t)= e pn (t) e p(n1) (t) (6)


e sn (t)= r s (t) y s (t) (7)


c e s (t)= e sn (t) e s(n1) (t) (8)


where, rp(t) is the reference angular position input in degree, yp(t) is the measured angular position input, epn(t) is the present angular position error, ep(n–1)(t) is the previous angular position error, and cep(t) is the change in angular position error all measured in degree.


Similarly, rs(t), ys(t), esn(t), es(n-1)(t), & ces(t) are the respective variables in rpm of speed control system. The two outputs of this controller are cup(t) and cus(t) which drive the respective motors to the desired values.


In the present application, the best-tuned PIDC with Kp=10.0, Ki=260.0, Kd=1.0, and T=0.05s is used for controlling the position parameter and similarly Kp=1.5, Ki=5.5, Kd =0.05, and T=0.05 s is used for controlling the speed parameter.

The circuit schematic of the experimental system is shown in Fig. 4. Faulhaber DCMM was used for angular position control and PMDCM unit from LUNAR Motors Pvt. Ltd. India was used for rotational speed control. The motors specifications are presented in Appendix. The MIMO system consists of PC (Pentium IV), MCAIB (an indigenous 16-bit multichannel analog interface board, designed by the authors16, was used as the interface for implementation of digital controller. The board was interfaced to PC through parallel port), position control system, and speed control system.



The position control system consists of DCMM with gear head, position sensor, and driver. The angular position was sensed by a special rotational servo potentiometer. The output voltage of potentiometer varies with the movement of the shaft and is directly proportional to the angular position of the motor. This analog voltage was acquired and digitised by MCAIB. The acquired data was converted into actual angular position of the motor in terms of degree. To control the angular position of the motor, the measured position was subtracted from the desired position to get the error and the change-in-error. These errors were applied to PIDC, FLC, and IFLC algorithms to produce the control action. The control output, through MCAIB and driver, controls the power to the motor to bring its shaft to the desired position. This process is continuously in the loop and finally brings the DCMM shaft to the desired angular position.


The speed control system consists of PMDCM, speed sensor, and driver. The optical encoder converts the speed of the motor into corresponding frequency by the slotted disk attached to the shaft. The frequency of these pulses was further converted into proportional voltage by an F/V converter constructed using LM2907. The output voltage of F/V converter is directly proportional to the speed of the motor. This proportional voltage is acquired by PC through MCAIB. PC processes the data, and generates control action through MCAIB and driver to bring the motor to the desired speed. The photograph of the experimental setup is shown in Fig. 5.



Three control schemes were tested for different input commands for proposed MIMO system. Several experimental results are presented in the form of graphs and tables to justify the performance of the proposed controller. The effectiveness of this controller for angular position control of a DCMM and rotational speed control of a PMDCM is evaluated for (step of 100° for angular position, and 5000 rpm for speed) various standard input test commands such as step, square, triangular, and sinusoidal waves. Figs 6(a), 6(b), 6(c), and 6(d) show the comparative responses of three controllers for step, square, triangular, and sinusoidal waves, respectively for position parameter. Tables 1(a) and (b) present the comparative study of different controllers for linear and nonlinear inputs respectively.


Similarly, Figs 7(a), 7(b), 7(c), and 7(d) show the comparative responses of three controllers for step, square, triangular, and sinusoidal waves, respectively for speed parameter. Tables 2(a) and 2(b) present the comparative study of different controllers for linear and nonlinear inputs respectively.


Comparing the transient responses of the three controllers for a step input, it clearly demonstrates that the rise time of IFLC is quicker than the other two controllers for this MIMO system.







In this study, the real time implementation results show that the approach of using IFLC to control a MIMO system can give good results. The plant used for the study consists of two decoupled DC motors. Two parameters, angular position and rotational speed, are controlled simultaneously. The proposed controller proves to be the best when compared to the other two in tracking the input command and in respect of various response characteristics. It is evident from the results that the FLC has better transient response, and PID has better steady-state response. Thus, the combination of these two, i.e., IFLC, has the combined effect of improved rise time with decreased steady-state error. Because of this, IFLC shows better performance in case of both linear and nonlinear input commands.


Further, the same plant can be subjected to investigate the performance under the coupled conditions, IFLC with higher memberships, and artificial neural network control. Results can then be compared to those presented in this study.

1. Lee, C.C. Fuzzy logic in control systems: Fuzzy logic controller: Parts I and II. IEEE Trans. Syst. Man Cybern., 1990, 20(2), 404-35.

2. Cordes, G. A.; Smartt, H.B.; Johnson, J.A.; Clark, D.E. & Wickham, K.L. Design and testing of a fuzzy logic/neural network hybrid controller for three-pump liquid level/temperature control. In 2nd IEEE International Conference on Fuzzy Systems, 1993, 1, 167-71.

3. Lygouras, J.N.; Kodogiannis, V.S.; Pachidis, Th.; Tarchanidis, K.N. & Koukourlis, C.S. Variable structure TITO fuzzy-logic controller implementation for a solar air-conditioning system. Applied Energy, 2008, 85(4), 190-203.

4. Labiod, Salim & Guerra, T.M. Direct adaptive fuzzy control for a class of MIMO nonlinear systems. Int. J. Syst. Sci., 2007, 38(8), 665-75.

5. Abilov, A.G.; Zeybek, Z.; Tuzunalp, O. & Telatar, Z. Fuzzy temperature control of industrial refineries furnaces through combined feedforward/feedback multivariable cascade systems. Chemical Engg. Process., 2002, 41(1), 87-98.

6. Qi, Qi & Deng, Shiming. Multivariable control of indoor air temperature and humidity in a direct expansion (DX) air conditioning (A/C) system. Building Environment, 2009, 44(8), 1659-667.

7. Fallahi, M. & Azadi, S. Robust control of DC motor using fuzzy sliding mode control with PID compensator. In Proceedings of International Multi Conference of Engineers and Computer Scientists 2009 (IMECS 2009), Hong Kong, 18-20 March 2009, 2.

8. Almeida, O.M.; Reis, L.L.N.; Bezerra, L.D.S. & Lima, S.E.U. A MIMO fuzzy logic autotuning PID controller: method and application. In Proceedings of 9th Online World Conference on Soft Computing in Industrial Applications (WSC 9), 20 Sept - 8 Oct 2004, 569-80.

9. Bharathi, Y.H.; Rekha, B.R.; Bhaskar, P.; Parvathi, C.S. & Kulkarni, A.B. Multi-input fuzzy logic controller for brushless DC motor drives. Def. Sci. J., 2008, 58(1), 147-58.

10. Lian, Ruey-Jing & Lin, Bai-Fu. Design of a mixed fuzzy controller for multiple-input multiple-output systems. Mechatronics, 2005, 15, 1225-252.

11. Lanas, A. Iriarte; Mota, G. L.A.; Tanscheit, R.; Vellasco, M. M.; & Barreto, J. M. Fuzzy control of a multivariable nonlinear process. In Proceedings of 8th International Fuzzy Systems Association World Congress, 1999, 2, 660-64.

12. Soriano, J.; Olarte, A. & Melgarejo, M. Fuzzy controller for MIMO systems using defuzzification based on boolean relations (DBR). In IEEE International Conference on Fuzzy Systems, 2005. pp. 271-81.

13. Cox, E. Fuzzy fundamentals. IEEE Spectrum, 1992, 29(10), 58-61.

14. Patil, S.S.; Bhaskar, P. & Shrimanth Sudheer, L. Design and implementation of precise angular position control system using Faulhaber DC Micromotor. Int. J. Cont. Theo. Applica., 2009, 2(2), 73-83.

15. Patil, S.S.; Bhaskar, P. Design and real time implementation of integrated fuzzy logic controller for a high speed PMDC motor. Int. J. Elec. Engg. Res., 2009, 1(1), 13-25.

16. Patil, S.S.; Bhaskar, P.; Parvathi, C.S. & Shrimanth Sudheer, L. Design and implementation of 16-bit multi-channel analog interface board for PC parallel port to control MIMO system. Int. J. Indus. Electro. Control, 2009, 1(3), 85-92.

Dr S.S. Patil received MSc (Applied Electronics) from Karnataka University Dharwar, ME(Power Electronics), and PhD (Instrumentation Technology) from Gulbarga University, Gulbarga, in 1979, 1987, and 2010, respectively. Currently, he is a Professor and Head of the Department of ECE at HKES’ SLN College of Engineering, Raichur. He has published more than six papers in national/international journals/conferences His research interests include fuzzy and intelligent controllers, power electronics, and process/ industrial control instrumentation. He is a member of ISTE, India.

Dr P. Bhaskar received his MSc, MPhil, and PhD in Instrumentation from Sri Krishnadevaraya University, Anatapur, in 1989, 1991, and 2001, respectively. Currently, he is an Associate Professor in the Department of Instrumentation Technology at Gulbarga University Post Graduate Centre, Raichur. He has published more than 30 papers in national/international journals/conferences. His research interests include scientific/analytical instrumentation, embedded systems, intelligent/fuzzy control systems, and PC based measurement and control. He is a member of the Instrument Society of India.

Mr L. Shrimanth Sudheer received the MSc, and MPhil (Instrumentation Technology) from Gulbarga University, Gulbarga, in 2002, and 2007 respectively. He is pursuing his PhD in the area of fuzzy logic controllers from Gulbarga University, Gulbarga. Currently, he is a Guest Lecturer in the Department of Instrumentation Technology at Gulbarga University Post Graduate Centre, Raichur. He has published more than 13 papers in national/international journals/conferences. His research interests include embedded systems, fuzzy control systems, and PC based measurement, acquisition, and control. He is a member of the Instrument Society of India, and associate of IETE, India.

Appendix