Bulanık PID kontrolörleri için birleştirme operatörüne dayalı yeni bir öz-ayarlama yöntemi tasarımı
A novel self-tuning method based on aggregation operator for fuzzy PID controllers
Yazar: ÇAĞRI GÜZAY
Danışman: YRD. DOÇ. DR. ENGİN YEŞİL
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Kontrol ve Otomasyon Mühendisliği Ana Bilim Dalı / Kontrol ve Otomasyon Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2014
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Bulanık mantık = Fuzzy logic ; PID denetleme = PID control

Özet:
Bilgisayar teknolojisinin gelişmesiyle, akıllı kontrol sistemlerinin çözümlenmesindeki ve tasarımındaki engeller aşılarak pek çok yenilikçi araştırmalar yapılmıştır. Bulanık mantık teorisi de Lütfi Zadeh'in 1965 yılındaki bir çalışmasıyla bilim dünyasına tanıtıldıktan sonra bir yandan akıllı kontrol sistemlerinin temelini oluşturmuştur.

Teknolojideki gelişim sadece akıllı kontrol sistemlerini etkilemekle kalmamış, geleneksel kontrol yapılarının da tasarımını ve uygulanmasını kolaylaştırmıştır. Bugün Dünya'da en yaygın olarak kullanılan kontrolör tipi geleneksel PID tipi kontrolörlerdir. Ancak, tasarımlarının etkin olarak yapılmaması nedeniyle pek çok kapalı çevrim sürecin verimleri oldukça düşüktür.

Akıllı kontrol sistemlerini, geleneksel kontrol yapıları ile birleştirmek mümkündür. Bu alandaki çalışmalar gerek teorik olarak gerekse uygulamalı olarak bu birleşimin iki farklı kontrol stratejisinin avantajlarını bir araya getireceğini göstermektedir. Bu açıdan bakıldığında, son yıllarda bulanık PID kontrolörler üzerine yapılan araştırmalar ve çalışmalar artmıştır. Bulanık PID kontrolörleri iyi bir tasarımla, bulanık mantık sayesinde daha esnek ve daha dayanıklı PID kontrolörleri anlamına gelmektedir. Bu tip kontrolörlerde tasarım bir noktaya göre yapılabileceği gibi birden fazla noktaya göre de yapılarak serbestlik derecesi arttırılabilir.

Tasarım aşaması, yapısal ve ayarlama parametreleri olmak üzere iki ana gruba ayrılabilir. Yapısal parametreler giriş/çıkış birimlerini, dilsel değişkenlerle tanımlanmış üyelik fonksiyonlarını, kuralları, bulanık çıkarım ve durulaştırma mekanizmalarını içerir. Ayarlama parametreleri ise giriş/çıkış ölçekleme çarpanlarından ve üyelik fonksiyonu parametrelerinden oluşmaktadır. Tasarım, bu noktalardan biri ile yapılarak diğerleri bir reçeteye göre ayarlanabileceği gibi birden fazla noktaya göre de yapılabilir. Tasarım aşamasına benzer şekilde bulanık kontrolörlerin etkinliklerin arttırılması eniyileme ya da özayarlama gibi yöntemlerle mümkündür. Özayarlama, bulanık kontrolörün serbest bırakılan bir tasarım noktasının kapalı çevrim sistemin çıkışı, hata işareti, kontrol işareti vb. ile bunların türevlerini, integrallerini girdi olarak alabilen doğrusal ya da doğrusal olmayan bir fonksiyona bağlı olmasıdır. Ayarlama parametrelerinde farklı olarak yapısal parametreler üzerinde ayarlama yapmak mümkündür. Bu tez çalışması, tamamen yenilikçi bir fikir olarak bulanık PID kontrolörleri için çıkarım mekanizmasındaki birleştirme operatörünün çevrimiçi biçimde öz-ayarlanmasını içerir. Böylece, yapısal parametrelerin de ayarlama parametreleri gibi kullanılabileceği gösterilerek, kontrolörün verimliliği arttırılması hedeflenmiştir. Bu çalışmada birleştirme operatörü olarak bir serbest parametreye sahip Gama operatörü kullanılmaktadır.

Abstract:
Many innovative researches have been done over analysis and design of intelligent control systems with the rise of computer technology. Also, fuzzy logic is base for the intelligent control system after Lotfi A. Zadeh had introduced in 1965.

Design and application of classical control structures are also affected positively. However, it seems improvements on the technology only got design of intelligent control systems developed. Currently, PID controllers are the most commonly used controllers all over the world. Nevertheless, many of closed loop systems have poor performance due to inefficient designs.

Merging of intelligent control systems with classical control systems is possible and, literature shows that merging of these two types comes with many advantages. In this aspect, there is an enormous increment of number of studies about fuzzy PID controllers in recent years. Fuzzy PID controllers also can be more flexible and more robust than classical ones with well design.

Fuzzy controllers can be classified by three types as direct action, fuzzy gain scheduling and hybrid. Direct action means a controller structure in a closed loop replaced by a fuzzy controller (fuzzy PI, fuzzy PD, fuzzy PID etc.). The other type, fuzzy gain scheduling, includes a conventional controller and also fuzzy mechanism. In this type, fuzzy mechanism tunes the parameters of the conventional controller. Fuzzy hybrid controllers consist of a conventional and a fuzzy controller connected each other by parallel. Outputs of these two controllers are hybridized by using a function doing summation, production or another custom operation. Moreover, fuzzy controllers can be also classified by number of inputs as one, two or three. In this study, two-input direct action fuzzy controller is utilized.

The general form of a fuzzy controller includes input/output scaling factors, fuzzification unit, inference mechanism, rule base and defuzzification unit. Scaling factors are used to convert inputs or outputs in order to fit universe of discourse. In general, inputs of the fuzzy controllers are normalized to [-1, 1] invterval. Inputs are converted from real world or simulation environment for this interval. Outputs of the fuzzy controller are scaled in similar to scaling of inputs. Output signal multiplied by a coefficient for fitness of it to closed loop control system. Fuzzification unit consists of linguistic variables and membership functions. Shape of membership functions can vary among many forms as triangular, trapeziodal, gauss-bell, s-shaped, z-shaped etc. Each input has a number of membership functions and those are named by linguistic variables. So, scaled inputs are fuzzified in fuzzification section. Inference mechanism calculates firing strengths for each rule in rule base by using fuzzified inputs and aggregation operation. A mathematical operator merges membership grades of all inputs, and this operation is named as aggregation. Some examples of aggregation operator are maximum, probabilistic OR, product, AND, minimum. Rule base mostly includes if-then rules. There are two types of inference mechanism as Mamdani and Takagi-Sugeno. While Mamdani type has consequences formed as membership functions in rule base, Takagi-Sugeno type has singletons or linear functions. In this study, all used fuzzy mechanisms are based on Takagi-Sugeno, and use the gamma operator, a parameterized operator that is main focus of the study. In defuzzification phase, all rules and their firing strengths are pieced together by a procedure that can be center of gravity, weighted average or maximum.

In literature, there are two forms of gamma operator: linear and exponential. This study deals with linear gamma operator. Linear gamma operator is a function combining two operators, product (AND) and probabilistic or (OR) linearly. As another aspect, gamma operator is a dual operator including a t-norm and an s-norm (t-conorm). Fuzzy sets have two classes of operations used for union and intersection. Most common t-norms and s-norms are AND and OR respectively. These mean there are some special cases for varying gamma values. If gamma is chosen as 0, operator acts as AND; if gamma is chosen as 1, operator acts as OR; if gamma is chosen between 0 an 1, operator sums weighted outputs of AND and OR. Thus, change of gamma results in change of aggregation output. To analyze how the change of gamma affects what actual parts of the fuzzy controller, there are given great effort for research, simulations and analysis. As the first step, two inputs of the operator changed by the interval of [0, 1] and gamma values are used the range of 0 and 1 by step size 0.1. So, gamma operator outputs are drawn as surfaces in order to see how firing strengths are affacted. As the second step, number of fired rules by varying gamma values are considered. A fuzzy controller including 4 rules, 50\% overlapped membership functions is examined to determine how control surface is transformed under all rules fired case. If a fuzzy controller 50\% overlapped membership functions and 4 rules, each input combination results in all-fired rules. So, change of gamma only rotates control surface. Other configurations including 25 and 49 rules, and 50\% overlapped membership functions are used and analyzed with changing gamma. In these cases, control surfaces are both rotated and smoothened in non-linear way. Except from all-fired case, gamma = 0 (AND) can provide mimimum number of fired rules and, gamma = 1 (OR) can make maximum number of fired rules. Gamma values on the interval of (0, 1) generates the same fired rules with gamma = 1. In this interval, only firing strengths are affected.

Design phase of fuzzy PID controllers can be divided into two main groups as structural and tuning parameters. Structural parameters include input/output units, membership functions defined with linguistic variables, rule base, fuzzy inference and defuzzification mechanisms. Also, tuning parameters consist of input/scaling factors and membership function parameters. Design can be done via one or more freed parameters. In similar to design phase, efficiency of the fuzzy PID controllers can be improved remarkably by using of optimization based techniques or self-tuning mechanisms. Self-tuning means that a free parameter of the fuzzy PID controller can be tuned via a mechanism accepting closed loop system response, closed loop error, their derivatives, integrals as input and including linear or non-linear functions. On the other hand, as a different approach structural parameters also can be tuned rather than tuning parameters. In this study, online self-tuning of aggregation operator in the inference mechanism of fuzzy PID controllers is proposed as a completely novel idea. Thus, structural parameters can be used as tuning parameters is aimed. 

To show effect of the gamma operator on closed loop system response, a simulation environment is prepared on Matlab/Simulink. Closed loop system consists of a fuzzy PID controller with gamma operator in aggregation and a non-linear time delayed system. A typical fuzzy PID controller has two inputs: error and its derivative, an output which is summation of weighted generated output of fuzzy mechanism, and weighted its integral. Utilized fuzzy controller has 49 rules and 7 singleton outputs. Controlled system and scaling factors provides fast system response are taken from a study. With this configuration system responses are collected by changing gamma in the interval of [0, 1]. These responses shows some important results. Lower gamma values generate faster and aggressive response with overshoot. Higher gamma values provide slower and sluggish response with no or small overshoot. In steady state, lower gamma values have oscillated system response; higher gamma values have smooth system response. It is possible to build a gamma self-tuning mechanism that lets to obtain fastest response with no or small overshoot. As a first step, scaling factors should be tuned. Selection of scaling factors can be done in many ways. Use of optimization based techniques gives suitable results. Big Bang-Big Crunch optimization algorithm is utilized to find scaling factors. Configuration of the algorithm as follows: number of iterations is 100, population size is 20, smooth factor is 10 and, cost function is minimization of the rise time. Near an operation point (a step function amplitude of 2), Big Bang-Big Crunch algorithm is run and required scaling factors are found. When the same simulation is done new scaling factors, effects of gamma change is shown much more detailed. As a second step, gamma tuning mechanism should be designed. Tuning mechanism is a fuzzy block that accepts two inputs absolute error and absolute derivative of error and, has three memebership functions per input, 9 rules, 5 singleton output membership functions. Studies done show there is no importance about sign of the error or its derivative and, inputs of the tuning mechanism should be defined in positive space due to gamma be generated in the interval of [0, 1]. Membership functions of the tuning mechanism are selected according to system response analysis. Mechanism generates gamma values shortly as follows: if system response is far away setpoint, decrease gamma; if system response approaches setpoint, increase gamma; if system response is near setpoint, set gamma to higher or highest value. Designed fuzzy mechanism does not perform just these steps, its own rule base provides much more dynamic and flexible actions. Simulation diagram is developed and self-tuning mechanism is added. Simulation is done with a reference signal including varied amplitude of step functions. This signal begins with amplitude of 2 and changes to 3, 5, 2, 4 respectively. Proposed method, including gamma self-tuning by online, is compared with a conventional fuzzy PID controller design (gamma = 0, AND). Actually, single simulation diagram is used for both proposed and conventional methods by letting gamma be self-tuned or setting gamma to 0.
Proposed method gives satisfactory results according to these simulations. In transient state, proposed method has both fast response and small or no overshoot; in steady state, proposed method has no steady state error with smooth response. Conventional fuzzy PID controller has much more overshoots, oscillations and even no-settlings in some cases. Moreover, controller performances are compared by some extra criteria as IAE (integral of absolute error), ISE (integral of square error) etc. In addition, input disturbance rejection performance of the proposed method is tested via simulations. As it was expected the proposed online tuning method also improved the disturbance rejection performance. Thus, some improvements are made for a desired criterion via online self-tuning gamma operator by showing structural parameters can also be tuning parameters.