Design of fuzzy systems



Similar documents
A Fuzzy Logic-Based Information Security Management for Software-Defined Networks

INTERNATIONAL ELECTROTECHNICAL COMMISSION (IEC) TECHNICAL COMMITTEE No. 65: INDUSTRIAL PROCESS MEASUREMENT AND CONTROL SUB-COMMITTEE 65 B: DEVICES

jfuzzylogic: A Robust and Flexible Fuzzy-Logic Inference System Language Implementation

Optimized Fuzzy Control by Particle Swarm Optimization Technique for Control of CSTR

IMPLEMENTATION OF FUZZY EXPERT COOLING SYSTEM FOR CORE2DUO MICROPROCESSORS AND MAINBOARDS. Computer Education, Konya, 42075, Turkey

Artificial Intelligence and Politecnico di Milano. Presented by Matteo Matteucci

Bank Customers (Credit) Rating System Based On Expert System and ANN

JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROL

Politecnico di Milano Computer Engineering. Pac Bot. Documentation. Coordinator/Tutor: Prof. Andrea Bonarini. Students: Mikel Vuka Matr.

A Fuzzy-Based Speed Control of DC Motor Using Combined Armature Voltage and Field Current

A Fuzzy Approach for Reputation Management using Voting Scheme in Bittorrent P2P Network

Introduction to Fuzzy Control

Real time MATLAB Interface for speed control of Induction motor drive using dspic 30F4011

Modeling and Simulation of Fuzzy Logic Variable Speed Drive Controller

Fast Fuzzy Control of Warranty Claims System

A STUDY ON THE CONVENTIONAL AND FUZZY CONTROL STEEL-CUTTING PROCESS

HITACHI INVERTER SJ/L100/300 SERIES PID CONTROL USERS GUIDE

A FUZZY LOGIC APPROACH FOR SALES FORECASTING

Problems often have a certain amount of uncertainty, possibly due to: Incompleteness of information about the environment,

ONLINE HEALTH MONITORING SYSTEM USING ZIGBEE

A Fuzzy System Approach of Feed Rate Determination for CNC Milling

SENSITIVITY ANALYSIS AND INFERENCE. Lecture 12

Implementation of Fuzzy and PID Controller to Water Level System using LabView

Design and Analysis of Switched Reluctance Motors

A Fuzzy Logic Based Approach for Selecting the Software Development Methodologies Based on Factors Affecting the Development Strategies

Stabilizing a Gimbal Platform using Self-Tuning Fuzzy PID Controller

GUJARAT TECHNOLOGICAL UNIVERSITY Computer Engineering (07) BE 1st To 8th Semester Exam Scheme & Subject Code

Fuzzy Logic Based Reactivity Control in Nuclear Power Plants

Audio processing and ALC in the FT-897D

Adaptive Cruise Control of a Passenger Car Using Hybrid of Sliding Mode Control and Fuzzy Logic Control

Is a Data Scientist the New Quant? Stuart Kozola MathWorks

SLAPv: A Service Level Agreement Enforcer for Virtual Networks

A simple method to determine control valve performance and its impacts on control loop performance

Today. Binary addition Representing negative numbers. Andrew H. Fagg: Embedded Real- Time Systems: Binary Arithmetic

DCMS DC MOTOR SYSTEM User Manual

Analecta Vol. 8, No. 2 ISSN

Wireless Sensor Networks Coverage Optimization based on Improved AFSA Algorithm

The Use of Hybrid Regulator in Design of Control Systems

EMPLOYEE PERFORMANCE APPRAISAL SYSTEM USING FUZZY LOGIC

Ziegler-Nichols-Based Intelligent Fuzzy PID Controller Design for Antenna Tracking System

Problem Set 5. a) In what sense is money neutral? Why is monetary policy useful if money is neutral?

Lab Experiment 1: The LPC 2148 Education Board

Tracking in flussi video 3D. Ing. Samuele Salti

Real Time Traffic Balancing in Cellular Network by Multi- Criteria Handoff Algorithm Using Fuzzy Logic

CALIBRATION OF A ROBUST 2 DOF PATH MONITORING TOOL FOR INDUSTRIAL ROBOTS AND MACHINE TOOLS BASED ON PARALLEL KINEMATICS

Week 1 Lecture: (1) Course Introduction (2) Data Analysis and Processing

Artificial Intelligence: Fuzzy Logic Explained

The Effects of Start Prices on the Performance of the Certainty Equivalent Pricing Policy

Lab 17: Consumer and Producer Surplus

BACHELOR OF SCIENCE IN ELECTRICAL AND ELECTRONIC ENGINEERING DEGREE PROGRAMME

Adaptive Optimal Scheduling of Public Utility Buses in Metro Manila Using Fuzzy Logic Controller

Optimization of Fuzzy Inventory Models under Fuzzy Demand and Fuzzy Lead Time

Simple and efficient online algorithms for real world applications

NTC Project: S01-PH10 (formerly I01-P10) 1 Forecasting Women s Apparel Sales Using Mathematical Modeling

Applications of Fuzzy Logic in Control Design

Intro to scientific programming (with Python) Pietro Berkes, Brandeis University

Microcontroller-based experiments for a control systems course in electrical engineering technology

Review of Fundamental Mathematics

Computational Intelligence Introduction

Fuzzy Network Profiling for Intrusion Detection

Mathematical Modelling of PMSM Vector Control System Based on SVPWM with PI Controller Using MATLAB

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation

Characterizing Digital Cameras with the Photon Transfer Curve

Introduction to Engineering System Dynamics

361 Computer Architecture Lecture 14: Cache Memory

ENERGY EFFICIENT CONTROL OF VIRTUAL MACHINE CONSOLIDATION UNDER UNCERTAIN INPUT PARAMETERS FOR THE CLOUD

A Master-Slave DSP Board for Digital Control

Threat Modeling Using Fuzzy Logic Paradigm

Real Time MATLAB Interface for Speed Control of Induction Motor Drive using dspic 30F4011

Test Driven Development of Embedded Systems Using Existing Software Test Infrastructure

1.2 Linear Equations and Rational Equations

ARCHITECTURE OF INDUSTRIAL AUTOMATION SYSTEMS

Modeling and Analysis of DC Link Bus Capacitor and Inductor Heating Effect on AC Drives (Part I)

Design of Model Reference Self Tuning Mechanism for PID like Fuzzy Controller

CAs and Turing Machines. The Basis for Universal Computation

SCHMIDT ManualPress 300 Series Manual Presses with Process Monitoring

Sci.Int.(Lahore),26(3), ,2014 ISSN ; CODEN: SINTE

LLamasoft K2 Enterprise 8.1 System Requirements

A Fuzzy Controller for Blood Glucose-Insulin System

Design of Prediction System for Key Performance Indicators in Balanced Scorecard

Signal to Noise Instrumental Excel Assignment

TEMPERATURE CONTROL APPLICATIONS BY MEANS OF A PIC16F877 MICROCONTROLLER

How To Get A Computer Engineering Degree

CS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions

STATISTICAL DATA ANALYSIS COURSE VIA THE MATLAB WEB SERVER

Comprehensive Areal Model of Earthquake-induced Landslides: Technical Specification and User Guide

Transmitter Interface Program

Electric Power Steering Automation for Autonomous Driving

FUZZY Based PID Controller for Speed Control of D.C. Motor Using LabVIEW

Depth and Excluded Courses

Measuring, Controlling and Regulating with labworldsoft

System Modeling and Control for Mechanical Engineers

Cluster Analysis: Advanced Concepts

Analysis of Micromouse Maze Solving Algorithms

Transcription:

Design of fuzzy systems Andrea Bonarini Artificial Intelligence and Robotics Lab Department of Electronics and Information Politecnico di Milano E-mail: bonarini@dei.polimi.it URL:http://www.dei.polimi.it/people/bonarini

Steps for fuzzy system design Problem definition Parametrization of the model: concepts Mapping definition: rules Implementation Testing Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 2 of 26

Problem definition Analogous to what done in classical model design Selection of the input variables Selection of the output variables Selection of the goals of the model Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 3 of 26

Selection of input variables In principle, numerical or ordinal variables so that it is possible to define fuzzy sets Variables that can be perceived from sensors, data or users computed from perceived variables (error, derivatives, composition of variables) In general, there are no a priori preclusions to select variables: it depends on the problem and the designer sensibility Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 4 of 26

Selection of output variables Output variables are the results of the model, so come directly from the modeler needs. For instance: for a control application, we might either have the control variables, or the respective increments for a decision support system we might have the decision to be taken Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 5 of 26

Selection of the goals of the fuzzy model The goals of the fuzzy models depend on the specifications For instance, a control system may reach the set point as soon as possible, with the least overshooting, as robustly as possible, etc. The goals should always be stated in advance, and guide the design. Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 6 of 26

System parametrization Selection of membership functions for all variables Selection of the inferential mechanism (which T- norms ) Selection of eventual fuzzyfication and defuzzyfication Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 7 of 26

Membership function selection Number of granules: not too many, nor too few (7?) Coverage: an output for any input value Boundary considerations How to reach equilibrium? Value density: more attention where needed Crosspoint: smoothness in the output Singletons or more general MFs for the output Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 8 of 26

How many MFs? It depends on the application. In general from 3 to 7. Why? The magic number 7: people usually cannot manage more than 7 ± 2 concepts at a time Let s try Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 9 of 26

An output for each input Any point in the range of input variables has to be covered by at least one fuzzy set participating to at least one rule 1 Close Medium Far YES 0 2 4 6 10 1 Close Medium Far NO 0 2 4 6 10 Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 10 of 26

Boundary considerations Boundary should be covered with maximum value 1 Close Medium Far YES 0 2 4 6 10 NO 1 Close Medium Far Saturation or not? 0 2 4 6 10 Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 11 of 26

How to reach equilibrium A mediating MF NEG ZERO POS IF (X is POS) THEN (U is NEG) IF (X is NEG) THEN (U is POS) IF (X is ZERO) THEN (U is ZERO) -10-5 0 5 10 NEG POS Just pushing -10-5 0 5 10 Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 12 of 26

How to distribute the MFs Evenly distributed Unevenly distributed NL NM NS ZE PS PM PL NL NM NS ZE PS PM PL X X Max robustness to noise More precision where needed Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 13 of 26

Singletons or other for the output Singletons: the weight of any cut is proportional to the cut level NEG ZERO POS 0.7 0.4-10 0 10 NEG ZERO POS Shapes: the relative wheight is higher for lower cuts 0 2 4 6 10 Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 14 of 26

How are MFs defined? Single expert Objective evaluation (e.g.: error wrt a set point) Interview (e.g.: operator of a control room) Multiple experts Probabilistic elaboration, possibly weighted by the expert reliability Automatic systems (NN, GA, ) working on data Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 15 of 26

Normalization It is common to normalize data on a standard range (e.g., 0 255) Linear normalization NON-linear normalizaton 1 Close Medium Far 1 Close Medium Far 0 2 4 6 10 0 2 4 6 10 1 Close Medium Far 1 Close Medium Far 0 51 102 153 255 0 127 255 mainly used in fuzzy μcontrollers to exploit the available precision Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 16 of 26

Defuzzyfication Many different possibilities: Centroid Bisector Average of maxima Lowest maximum Highest maximum Center of the highest area... Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 17 of 26

Rule definition From experience Introspective analysis Structured interview From another model (e.g., a mathematical model) By using machine learning, or self-tuning techniques (NN, GA,...) Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 18 of 26

Selection of inferential engine The inferential engine depends on the operators selected for: AND of antecedent clauses min: the worst degree of matching is the most relevant product: all the degrees of matching are relevant Detachment: combination with the rule weight min product Aggregation of degrees of the same consequent max: the best degree is the most relevant probabilistic sum: all the collected knowledge is taken into account Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 19 of 26

Testing Aim: verify the design goals Possible activity Dynamic simulation, if the model of the subject is available E.g., if the model of the controlled system is available Static simulation (single I/O check, output (control) surface study) Test on the process, possibly under safe conditions Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 20 of 26

Available development tools Many tools, mainly for fuzzy control (including Matlab) Common features: guided definition of rules and MF visualization of control surfaces suite of MFs, operators and defuzzification methods support to testing support to learning optimized code production, for many processors Some tools for the development of generic fuzzy rule systems:, XFuzzy, Fuzzy Clips, FCL, FOOL Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 21 of 26

FCL: an IEEE standard IEEE-IEC document 61131-7 An example: model the aggressiveness of a character in a videogame FUNCTION_BLOCK \* VAR definition *\ VAR_INPUT Our_Health REAL; (* RANGE(0.. 100) *) Enemy_Health REAL; (* RANGE(0.. 100) *) END_VAR VAR_OUTPUT Aggressiveness REAL; (* RANGE(0.. 4) *) END_VAR Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 22 of 26

FCL Example (2): MF definition \* MF definition *\ FUZZIFY Our_Health Near_Death Good Excellent TERM Near_Death := (0, 0) (0, 1) (50, 0) ; TERM Good := (14, 0) (50, 1) (83, 0) ; TERM Excellent := (50, 0) (100, 1) (100, 0) ; END_FUZZIFY Our_Health FUZZIFY Enemy_Health TERM Near_Death := (0, 0) (0, 1) (50, 0) ; TERM Good := (14, 0) (50, 1) (83, 0) ; TERM Excellent := (50, 0) (100, 1) (100, 0) ; END_FUZZIFY FUZZIFY Aggressiveness TERM Run_Away := 1 ; TERM Fight_Defensively := 2 ; TERM All_Out_Attack := 3 ; END_FUZZIFY Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 23 of 26

FCL Example (3): defuzzyfication \* Definition of the defuzzyfication method *\ DEFUZZIFY Aggressiveness METHOD: MoM; \\Media of Maxima END_DEFUZZIFY Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 24 of 26

FCL Example (4): rule definition RULEBLOCK first AND:MIN; ACCU:MAX; RULE 0: IF (Our_Health IS Near_Death) AND (Enemy_Health IS Near_Death) THEN (Aggressiveness IS Fight_Defensively); RULE 1: IF (Our_Health IS Near_Death) AND (Enemy_Health IS Good) THEN (Aggressiveness IS Run_Away); RULE 2: IF (Our_Health IS Near_Death) AND (Enemy_Health IS Excellent) THEN (Aggressiveness IS Run_Away); RULE 3: IF (Our_Health IS Good) AND (Enemy_Health IS Near_Death) THEN (Aggressiveness IS All_Out_Attack); RULE 4: IF (Our_Health IS Good) AND (Enemy_Health IS Good) THEN (Aggressiveness IS Fight_Defensively); RULE 5: IF (Our_Health IS Good) AND (Enemy_Health IS Excellent) THEN (Aggressiveness IS Fight_Defensively); RULE 6: IF (Our_Health IS Excellent) AND (Enemy_Health IS Near_Death) THEN (Aggressiveness IS All_Out_Attack); RULE 7: IF (Our_Health IS Excellent) AND (Enemy_Health IS Good) THEN (Aggressiveness IS All_Out_Attack); RULE 8: IF (Our_Health IS Excellent) AND (Enemy_Health IS Excellent) THEN (Aggressiveness IS Fight_Defensively); END_RULEBLOCK END_FUNCTION_BLOCK Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 25 of 26

HW for fuzzy systems PC and C (C++, Java, ) code Standard microcontroller (compiled fuzzy code) Fuzzy HW Fuzzy processor: almost only a RAM (everything is precomputed) with data acquisition (8 to 12 bit) and serial interface Standard microcontroller augmented with fuzzy instructions in the instruction set (e.g., fuzzyfy, defuzzyfy, ) Fuzzy processor integrated with other devices (e.g., pwm generator, ) Introduction to Fuzzy Design A. Bonarini (bonarini@dei.polimi.it) - 26 of 26