Control Borroso

45
1 Introducción a la Lógica Borrosa Introducción a la Lógica Borrosa; Universidad de Verano de Teruel Alfredo Sanz Molina CPS Universidad de Zaragoza Maria de luna 3 50015 Zaragoza [email protected] Introducción a la Lógica Borrosa Visión general n Origen y evolución n Conjuntos borrosos y Lógica borrosa n Bases del Control con lógica borrosa n Control avanzado con lógica borrosa n Herramientas de desarrollo n Aplicaciones n Realización hardware

Transcript of Control Borroso

Page 1: Control Borroso

1

Introducción a la Lógica Borrosa

Introducción a la LógicaBorrosa;

Universidad de Verano de Teruel

Alfredo Sanz MolinaCPS Universidad de Zaragoza

Maria de luna 3

50015 Zaragoza

[email protected]

Introducción a la Lógica Borrosa

Visión general

n Origen y evoluciónn Conjuntos borrosos y Lógica borrosan Bases del Control con lógica borrosan Control avanzado con lógica borrosan Herramientas de desarrollon Aplicacionesn Realización hardware

Page 2: Control Borroso

2

Introducción a la Lógica Borrosa

Origen y evolución

n Problema básico:• Las cosas no son o blancas o negras• Pocos problemas están bien definidos• Las cosas cambian con el tiempo

n 1965 Zadeh; Conjuntos Borrososn 1973 Zadeh; Controladores Borrososn 1974 Mamdani; Control de Cementerasn 1987 Hitachi; Frenado Metro Sendayn 1989 Creación de LIFE

Introducción a la Lógica Borrosa

Situación Academica actual

n Boom de la Lógica Borrosa• Gran número de publicaciones especializadas

è Fuzzy Set and Systems

è IEEE Transactions on Fuzzy Logic

è Libros

• Articulos y Numeros especiales en revistasè Byte, EDN, Computer Design, IEEE Micro

• Congresos Internacionalesè Lizuka,Orlando, San francisco, Aachen

• Asociaciones internacionalesè en España; Asociación Española de Lógica Borrosa

Page 3: Control Borroso

3

Introducción a la Lógica Borrosa

Situación Industrial actual

n Amplia utilizaciónè NASA: Control de posición del Transbordador Espacial

è Ford: Aparcamiento automático de camiones

è Hitachi: Control de acondicionador de aire

è Siemmes: frenos ABS, lavadoras, controladores de temperatura

è Onrom; autómatas programables

n Aumento del número de patentesè Cambio de marcha automático

è Control de frenado ABS

è Autoenfoque en cámaras fotográficas

n Productos comercialesè Controladores industriales Siemmens, Onrom

è Acondicionadores de aire “NeuroFuzzy”

Introducción a la Lógica Borrosa

Conjuntos borrosos

Bajo Medio

Alto

X

X

µA x( )

Page 4: Control Borroso

4

Introducción a la Lógica Borrosa

Borrosidad y Probabilidad

n Borrosidad• Indica el grado de

pertenencia• Lo fija el observador• Está medio llena o medio

vacía

n Probabilidad• Indica la frecuencia con

que ocurre• Se mide o se supone• Puede estar medio llena

o medio vacía

Introducción a la Lógica Borrosa

Funciones de inclusión

n Define el grado de pertenencia de u a Fn Puede ser

• conjunto discreto de puntos si U discreta• función continua si U continua

n Tipos más frecuentes• S

• π• T

Page 5: Control Borroso

5

Introducción a la Lógica Borrosa

Términos habituales

0

1

0.5

25 45 600

Conjunto soportado F

Conjunto F

Puntos de cruce de F

Introducción a la Lógica Borrosa

Tipo S

n Definida por:• función cuadrática

• función exponencial

0.5

1.0

0

a b c

µ

u

S u k cexp k u b

( ; , )( ( ))

=+ − −

1

1

S u a b c

u au a

c aa u b

u ac a

b u c

u c

( ; , , ) =

<−−

≤ ≤

− −−

≤ ≤

>

0

2

1 2

1

2

2

Page 6: Control Borroso

6

Introducción a la Lógica Borrosa

Tipo π

n Definida por:

0.5

1.0

0c

µ

u

b

c-b c-b/2 c+b/2 c+b

π ( ; , )( ; , / , )

( ; , / , )u b c

S u c b c b c u c

S u c b c b c u c=

− − ≤− − − ≥

2

1 2

Introducción a la Lógica Borrosa

Tipo T

n Definida por:

0.5

1.0

0

µ

u

a cb

T u a b c

u au a

b aa u b

c a

c bb u c

u c

( ; , , ) =

<−−

≤ ≤

−−

≤ ≤

>

0

0

Page 7: Control Borroso

7

Introducción a la Lógica Borrosa

Conjuntos borrosos

n Conjuntos Clásicos• Nombre del conjunto

è Adulto

• Función de pertenenciaè Incluido o no incluido

n Conjuntos Borrosos• Nombre del conjunto

è Adulto

• Función de pertenenciaè µAdulto(x) ∈ [0, 1]

0

1

0 20 40 60

0

1

0 20 40 60

Introducción a la Lógica Borrosa

Particiones Borrosas

n Propiedades• Solapamiento (20-50%)• Completitud (100%)• Complejidad• 3 a 7 conjuntos• Interesa número impar 3, 5, 7• Puntos singulares

Page 8: Control Borroso

8

Introducción a la Lógica Borrosa

Medidas Borrosas

n Borrosidad• Distancia de A al conjunto discreto C

è Hamming f(A) = Σ |µA(x)- µC(x) |

è Euclidea f(A) = (Σ(µA(x)- µC(x) ) 2)1/2

è Minkowski f(A) = (Σ(µA(x)- µC(x) ) w)1/w w ∈ [1, ∞ ]

n Entropia Borrosa• f(A) = -Σ {µA(x)log µA(x) +[1- µA(x)]log [1- µA(x)]}

n Similaridadn Agrupamiento Borroso

Introducción a la Lógica Borrosa

Operadores borrosos

Igualdad µA(x)= µB(x) x ∈ U

Unión µA∪B(x)= max[µB(x) ,µB(x)] Para todos los x ∈ U

Intersección µA ∩B(x)= min[µB(x) ,µB(x)] Para todos los x ∈ U

Complemento µA(x)= 1−µB(x) x ∈ U

Norma µNORM(A)(x)= µA(x)/max[µA(x)] x ∈ U

Concentración µCONA)(x)= (µA(x))2 x ∈ U

Dilatación µCONA)(x)= (µA(x))0.5 x ∈ U

Page 9: Control Borroso

9

Introducción a la Lógica Borrosa

Inferencia en Lógica Borrosa

n El conocimiento se expresa por reglasn Reglas IF-THEN (relaciones Borrosas)n Base de reglas es un conjunto de reglasn Dos tipos de métodos de inferencia

• Modus Ponens Generalizado• Modus Tollens Generalizado

Introducción a la Lógica Borrosa

Modus Ponens Generalizado

n Modo de inferencia(Conocimiento): Si x es A entonces y es B(Hecho): x es A’(Conclusión): y es B’B’= A’ o R

n Si A’= A y B’= B equivalente ModusPonens

n Utilizado en control borroso

Page 10: Control Borroso

10

Introducción a la Lógica Borrosa

Criterios para GMP

n Modo de inferencia(Conocimiento): Si x es A entonces y es B(Hecho): x es A’(Conclusión): y es B’B’= A’ o R x es A' y es B'

Criterio 1 x es A y es BCriterio 2-1 x es muy A y es muy BCriterio 2-2 x es muy A y es BCriterio 3-1 x es más o menos A y es más o menos BCriterio 3-2 x es más o menos A y es B

Criterio 4-1 x no es A y es desconocido BCriterio 4-2 x no es A y no es B

Introducción a la Lógica Borrosa

Modus Tollen Generalizado

n Modo de inferencia(Conocimiento): Si x es A entonces y es B(Hecho): y es B’(Conclusión): x es A’A’= R o B’

n Si A’= no A y B’= no B equivalenteModus Tollens

n Utilizado en sistemas expertos ydiagnostico médico

Page 11: Control Borroso

11

Introducción a la Lógica Borrosa

Criterios para GMT

n Modo de inferencia(Conocimiento): Si x es A entonces y es B(Hecho): y es B’(Conclusión): x es A’A’= R o B’ y es B' x es A'

Criterio 5 y no es B x no es ACriterio 6 y no es muy B x no es muy A

Criterio 7 y no es más o menos B x no es más o menos ACriterio 8-1 y es B x es desconocidoCriterio 8-2 y es B x es A

Introducción a la Lógica Borrosa

Base de datos Borrosa

n Es un conjunto de reglasn El formato más usado es

• IF x is A THEN y is B (MISO)• IF x is A THEN y1 is B1 ALSO y2 is B2 (MIMO)

n Razones para usarlas• Permite expresar el conocimiento de los expertos• Fácil de diseñar y programar• Reduce el coste de diseño• Métodos de inferencia eficientes

Page 12: Control Borroso

12

Introducción a la Lógica Borrosa

Controladores Borrosos

fuzzyficationinterface

defuzzyficationinterfacerule base

decision-making unit

X Y

Introducción a la Lógica Borrosa

Ejemplo Control Directo

n Predictor Bursatil• Entradas

è Interés; Tipos de interés (Interbancario 3 meses)

è Inflación; Tasa Inflación (Tasa Interanual)è Paro; Tasa de paro (EPA)

• Salidasè Bolsa; Indices bursátiles (IBEX35)

n Reglas• Mandani

if θ is A1 and ω is A2 then V is B

n DesborrosificaciónCentro masas con funciones singleton

Predictor Bursatilcon

Lógica Borrosa

Interés

Inflación

Paro

Bolsa

Page 13: Control Borroso

13

Introducción a la Lógica Borrosa

Particiones de entrada y salida

n Interés, Inflación, Paroè MA; Muy Alto

è A; Alto

è M; Medio

è B; Bajoè MB; Muy Bajo

n Bolsa (IBEX35)è MA; Muy Alto =2000

è A; Alto =1000

è B; Bajo =800

è MB; Muy Bajo =600

MB A MAMB

3 4 5 6 7MB A MAMB

1 3 5 7 9

B A MAMB

600 800 1000 2000

MB A MAMB

6 10 14 18 22

Interés

Inflación

ParoIBEX35

Introducción a la Lógica Borrosa

Reglas del predictor

n Reglas de tipo Mandani• R1; IF (Interés es A) THEN Bolsa es B• R2; IF (Interés es MA) THEN Bolsa es MB• R3; IF (Inflación es MA) THEN Bolsa es B• R4; IF (Inflación es MB) THEN Bolsa es A• R5; IF (Paro es MA) THEN Bolsa es B• R6; IF (Paro es MA y Inflación es MB) THEN Bolsa es MA• R7; IF (Paro es M y Interés es MB) THEN Bolsa es B

Page 14: Control Borroso

14

Introducción a la Lógica Borrosa

Ejemplo de calculo

n Valores de las entradas• Interés; 4.51%• Inflación; 1.9%• Paro; 19,6%

n Técnicas de razonamiento• MAX-MIN

n Desborrosificación• Centro de masas COA W

M

A

i iin

i iin

= =

=

∑∑

α

α1

1

Introducción a la Lógica Borrosa

Controladores Borrosos

n Técnicas de razonamiento• MAX-MIN• MAXDOT

n Desborrosificación• Media de máximos MOM

• Centro de masas COA

WH W

H

i i iin

i iin= =

=

∑∑

α

α1

1

WM

A

i iin

i iin= =

=

∑∑

α

α1

1

Page 15: Control Borroso

15

Introducción a la Lógica Borrosa

MAX-MIN

n La función de salida es� µC(w) = (α1∩ µC1(w)) ∪ (α2∩ µC2(w))

µ

u

A1

A2

X0 Y0

µ

u

B1B1µ

v

B2B1µ

v

C1µ

w

C2C2µ

w

min

w

C1

A2

A1

Introducción a la Lógica Borrosa

MAX-DOT

n La función de salida es� µC(w) = (α1∗ µC1(w)) ∪ (α2∗ µC2(w))

µ

u

A1

A2

X0 Y0

µ

u

B1B1µ

v

B2B1µ

v

C1µ

w

C2C2µ

w

min

w

C1

A2

A1

Page 16: Control Borroso

16

Introducción a la Lógica Borrosa

Ejemplo Pendulo inverso

n Pendulo Inverso• Entradas

è Angulo θ=10è Velocidad ω=−5

• Salidasè Fuerza F

n Reglas• Mandani

è R1: if θ is Z and ω is Z then F is Z

è R2: if θ is PP and ω is NP then F is PP

100-100

ZNP PP PGNG

FLCdx/dt

θω

F

Introducción a la Lógica Borrosa

Ejemplo: Cálculo de premisa

ZNP PP PGNG

ZNP PP PGNG

ZNP PP PGNG

ZNP PP PGNG

ω=−5θ=10

0.8

0.6

0.6

0.2

α1=0.6

α2=0.2

R1: if θ is Z and ω is Z then V is Z

R2: if θ is PP and ω is NP then V is PP

R1

R2

Page 17: Control Borroso

17

Introducción a la Lógica Borrosa

Ejemplo: Cálculo de la salida

� µC(w) = (α1∗ µC1(w)) ∪ (α2∗ µC2(w))

ZNP PP PGNG

ZNP PP PGNG

α1=0.6

α2=0.2

ZNP PP PGNG

µC1

µC2

µC

WH W

H

i i iin

i iin= =

=

∑∑

α

α1

1

w1 w2

Introducción a la Lógica Borrosa

Controladores Borrosos

n Tipos:• Directos• Auto-organizados• Con auto-aprendizaje• Basados en modelos Borrosos (Control predictivo)• Híbridos

Page 18: Control Borroso

18

Introducción a la Lógica Borrosa

Controladores Directos

n Tipos• Controlador proporcional: u = f(e)• Controlador integral: u = f(s)• Proporcional-derivativo: u = f(e,∆e)• Proporcional-integral: u = f(e,s)• Realimentación no-lineal: u = f(x)

Mecanismode inferencia

Borrosifi-cación PROCESO

Protocolo

r

u xReduccióna escalar

Introducción a la Lógica Borrosa

Controladores Auto-organizados

n Estructura

Evaluador decaracterísticas

ControladorBorroso PROCESO

Protocolo

r

u x

Protocolo

Mecanismode inferencia

Page 19: Control Borroso

19

Introducción a la Lógica Borrosa

Controladores Auto-aprendizaje

n Reglas• Regla i: Si x1 es A1 y ...xn entonces y es wi.• Ai triangular, definido por centro, ci, y su ancho, ai.• Consecuentes, wi, son escalares.• Aprendizaje por propagación hacia atrás.

n EstructuraRegla 1

Regla 2

Regla 3

Regla n

Actuación 2

Actuación m

Actuación 1x1

x2

x3

xn

Introducción a la Lógica Borrosa

Basados en modelos borrosos

n Se elabora un modelo borroso delsistema a controlar

n Se realiza el control predictivo pordinámica inversa

n Aplicaciones:• Control de elevadores• Predicción de demanda eléctrica

Page 20: Control Borroso

20

Introducción a la Lógica Borrosa

Controladores Híbridos

n Formados por dos controladores• Un control tradicional PID• Un controlador Borroso

n El control Borroso• Ajusta los parámetros del PID• Actúa en paralelo

n objetivo mejora de• Sobreoscilaciones• Tiempo de establecimiento

Introducción a la Lógica Borrosa

Técnicas de Aprendizaje

n Back-propagationn Genétic Algorithmn Ortogonal Least Squaresn Table-Lookup Schemen Nearest Neighborhood Clustering

Page 21: Control Borroso

21

Introducción a la Lógica Borrosa

Algoritmos Genéticos

Inicialización

Operadores Geneticos

Crossover Mutaciones

Ajuste y evaluación

Evaluador decaracterísticas

ControladorBorroso PROCESO

Protocolo

r

u x

Protocolo

Mecanismode inferencia

Selección

Introducción a la Lógica Borrosa

Opciones de optimización

n Optimización de coeficientes• Partición de las variables de salida• Partición de las variables de entrada• Ganancias de entrada y salida

n Optimización de reglasn Estructura de las reglasn Optimización completa

• Codificación de Messy

Page 22: Control Borroso

22

Introducción a la Lógica Borrosa

Codificación de coeficientes

n Que se codifica• Posición de los centros• anchura• tipo de función de inclusión• ganacias

n Como• Binaria de 8 o 16 bits• Proporcional a los 1’s

n En qué orden• Variable o fijo

-10

ZNP PP PGNG

-5 0 6 10

1110110

X1 X2

Codificación binaria 8 bits de anchura fija

-10 -5 0 6 10

0000110

Introducción a la Lógica Borrosa

n Clausula=(variable,término)n Ejemplo

• X1=(negativo, zero, positivo) X1= zero

• X2=(pequeño, medio, grande) X2= grande

• Y=(izquierda, centro, derecha) Y= izquierda

Codificaión Messy de clausulas

1 1 2 3

2 1 2 3

2 1 2 3

( 1 , 2 )

( 2 , 3 )

( 3 , 1 )

Page 23: Control Borroso

23

Introducción a la Lógica Borrosa

Codificaión Messy de reglas

n reglai={clausulax1, clausulax2, clausulay}

n Base de reglas={regla1, regla2,... reglan}

1 2 2 1 3 3 if x1=zero and x2=pequeño then y=derecha

2 1 3 3 1 2 if x1=zero and x2=pequeño then y=derecha

1 2 3 3 if x1=zero then y=derecha

Introducción a la Lógica Borrosa

Operadores Genéticos

n Cruzamiento (Crossover)• Punto de cruzamiento aleatorio con Probabilidad

no uniforme• Varios cruzamineto en cada generación

n Cortar y empalmar (Cut and splice)• Permite la generalización de las reglas

n Mutaciones• Coeficiente herístico o con otro GA

Page 24: Control Borroso

24

Introducción a la Lógica Borrosa

Cruzamiento

n Utilidad• Permite intercambiar genes entre los padres

n Método• se selecciona un punto de cruce• intercambio cruzado

Padre1 Padre2

Hijo1 Hijo2

Punto de cruze

Introducción a la Lógica Borrosa

Cortar y empalmar

n Utilidad• Permite realizar generalizaciones

n Método• se selecciona dos puntos de mutación• se eliminan los genes entre estos puntos

Punto de mutación

gen

gen nuevo

6

0000110

7

0000111

Page 25: Control Borroso

25

Introducción a la Lógica Borrosa

Mutaciones

n Utilidad• Permite buscar nuevas soluciones

n Método• se selecciona un punto de mutación• se cambia el valor de la cadena de genes

1 2 2 1 3 3 2 1 3 3 1 2 1 2 3 3

1 2 2 1 3 3 2 1 3 3 1 2 3 3

Puntos de cruze

Base de reglas

Base de reglas nueva

Introducción a la Lógica Borrosa

Proceso de diseño

n Entradas gráficas• variables• conjuntos borrosos• funciones de pertenencia

n Entradas textuales• reglas borrosas• editores de código

Análisis yconversión

Lenguajedescripción

compilador

borroso

Lenguaje final

(C, ensamblador)

Lenguajedescripción

Page 26: Control Borroso

26

Introducción a la Lógica Borrosa

Entornos de desarrollo

n Academicos• Diversos Libros• IDEA

n Comerciales• FuzzyTHEC• FIDE• TILSehll

Introducción a la Lógica Borrosa

fuzzyTECH

Page 27: Control Borroso

27

Introducción a la Lógica Borrosa

fuzzyTECH:Variables

Introducción a la Lógica Borrosa

fuzzyTECH:Proyecto

Page 28: Control Borroso

28

Introducción a la Lógica Borrosa

fuzzyTECH:Reglas

Introducción a la Lógica Borrosa

fuzzyTECH:Simulación

Page 29: Control Borroso

29

Introducción a la Lógica Borrosa

FIDE

n Origén• Aptornix y Motorola• Soprota los micros:

è MC6805 y MC68HC05

è MC68HC11

• diversos lenguajes de descripción FIL, FCL

n Bloquesè COMPILER

è DEBUGER

è COMPOSER

è RTC

Introducción a la Lógica Borrosa

FIDE

n Entradasinvar pend_angle " " : -127 ( 1 ) 127 [$ pend_angle is an input variable N_Large (@-127, 1, @-112, 1, @-64, 0), N_Medium (@-112, 0, @-64, 1, @-16, 0), N_Small (@-64, 0, @-16, 1, @16, 0), Zero "pend_zr", P_Small (@-16, 0, @16, 1, @64, 0), P_Medium (@16, 0, @64, 1, @112, 0), P_Large (@64, 0, @112, 1, @127, 1) ]; $ end of labels

n Reglasif pend_angle is N_Large and pend_velocity is N_Large then force is N_Large;

if pend_angle is N_Large and pend_velocity is N_Medium then force is N_Large;

if pend_angle is N_Large and pend_velocity is N_Small then force is N_Large;

Page 30: Control Borroso

30

Introducción a la Lógica Borrosa

FIDE

n Superficie de control

Introducción a la Lógica Borrosa

FIDE

n Comportamiento dinámico

Page 31: Control Borroso

31

Introducción a la Lógica Borrosa

FIDE

n Editor gráfico de Composer

Introducción a la Lógica Borrosa

Entorno de Togai InfraLogic

n Interface de usuario en MSWindows• TILSell Entorno Fuzzy• TILGen Modelado• TILChart Análisis

n Basado en lenguaje FPL• Independiente del soporte físico• Salidas para

è C ANSI para PC

è Microporcesadores 8051 68HC11

è Aceleradores Fuzzy FC110

Page 32: Control Borroso

32

Introducción a la Lógica Borrosa

Aplicaciones de TogaiInfraLogic

EspecifAnálisis

SistemaReglasTILGen TILSell

Fuzzy C

entorno

Usuario

fichero FPL

MicroFPL

entorno

FC110

entorno

FCA

entornoTILChart

PC Micro FC110 ASIC

SistemaBasado

en

SistemaBasado

en

SistemaBasado

en

SistemaBasado

en

Introducción a la Lógica Borrosa

Interpretador de FPL

FuenteAnalizador

LéxicoParser

Base de datos

de Objetos

Generador

de Código

Ensamblador

de H8

Gestor

de errores

Page 33: Control Borroso

33

Introducción a la Lógica Borrosa

Aplicaciones

n Medicina• acupultura• análisis cardíaco y de arterioesclerosis coronaria

n Control en triempo real• Sistemas ABS• Conducción con derrapaje• Dirección de helicoptero

Introducción a la Lógica Borrosa

Controlador Borroso

Reconocimiento de voz

Control de helicoptero

Page 34: Control Borroso

34

Introducción a la Lógica Borrosa

Conducción con derrapaje

Introducción a la Lógica Borrosa

Compromisos deimplementación

Velocidad

Precisión Flexibilidad

Page 35: Control Borroso

35

Introducción a la Lógica Borrosa

Rangos de complejidad

10 100 1000

10

100

1k

10k

100k

1M

Control de motores

Control de procesosRobotica

electrod.

imagen

Simulación

Número de reglas

MFLIPSCoprocesadores

Introducción a la Lógica Borrosa

Realización Hardware

n Según el tiempo se respuestan Implementación en mircoprocesadores

• Programado en C o en ensamblador• Dedicación completa o compartida• Conexión con entornos de desarrollo• 68HC11, 68HC16, 80C51, TMS300

n Tarjetas aceleradorasn Coprocesadores especificos

Page 36: Control Borroso

36

Introducción a la Lógica Borrosa

Codificación en C

n Elementos a definir• Estructura de las funciones de inclusión• Cálculo de la veracidad de la regla• Cálculo del valor final de la salida

Introducción a la Lógica Borrosa

funciones de inclusión

n Estructura en Ctypedef struct {

char szName[20];

NUMERO x1,x2,x3,x4;

} adjetivo;

n Representación

adjetivo of vinculo <> {x1, x2,x3,x4}

0

0.5

1

X1 X2 X3 X4

Page 37: Control Borroso

37

Introducción a la Lógica Borrosa

Entorno IDEA

Introducción a la Lógica Borrosa

Modelo MVC

ControlLayer

(Notifier)

ViewLayer

(IdeaView)

ApplicationLayer

(model)

Notifier

View Message

Model Access andUpdate MessageMessages

Protocols

Page 38: Control Borroso

38

Introducción a la Lógica Borrosa

Codificación en C++

n Clases del modelo ARSVObject

ÄAdjetivoÄANSú ÄANNú ÄCompú ú ÄARSú ÄFENú ÄWorldÄVContainerú ÄVObjArrayú ú ÄArrayú ú ÄCircuitoú ú ÄTrainingSetú ú ÄVinculo

Introducción a la Lógica Borrosa

Ejemplo fuente EDA

n Diagrama de bloques/* Externs Vinculos */float Dist45Righ ={0,255};float DisCentre ={0,255};float Dist45Left ={0,255};float AngInt1 ={0,255};...float Inc6 ={0,255};/* Decision */fen Decision (Dist45Righ, DisCentre, Dist45Left >>Speed, Direction){/* Definition of adjetivos */Little of Dist45Righ < {10,50};Medium of Dist45Righ <> {10,50,50,100};Large of Dist45Righ > {50,255};..../* Definition of rules */ if (Dist45Righ = Little and DisCentre = Little and Dist45Left = Little) then { Speed =Negative; Direction =Righ; }; ...};/* world */world Control (Ang1, ... Ang6, Inc1, ... Inc6 >> Dir1, Dir2, Dir3, AngInt1, ...AngInt6, IncInt1, ... IncInt6){};/* Robot */ars Robot (Dist45Righ, DisCentre, Dist45Left, AngInt1, ... AngInt6, IncInt1,... IncInt6 >> Ang1, ... Ang6, Inc1, ... Inc6) {/* Interns Vinculos */float Speed ={-1,1};float Direction ={-1,1};/* Connections of ANS */Decision(Dist45Righ, DisCentre, Dist45Left >> Speed, Direction);Coordination(AngInt1, ... AngInt6, IncInt1, ... IncInt6 >> Ang1, ... Ang6,Inc1, ... Inc6);};

Control

Ang[1:6]

Inc[1:6]

AngInt[1:6]

IncInt[1:6]

Dist1

Dist3

Dist2

P5 P3 P1

P6 P4 P2

comp Coordinationfen Decision

Direction

Speed

Dist45Righ

DistCentre

Dist45lLeft

AngInt[1:6]

IncInt[1:6]

ars Robot

Page 39: Control Borroso

39

Introducción a la Lógica Borrosa

Calculo de veracidad de la regla

for (nRul=0;nRul<pAnsFu->nNumRul;nRul++) {

pAnsFu->fVerac[nRul]=1;

for (nImp=0;nImp<pAnsFu->nNumImp;nImp++) {

if (pAnsFu->bPremis[nRul][nImp]>=0) {

pAnsFu->fVerac[nRul]=

min(pAnsFu->fVerac[nRul],

is(pAnsFu->pVincImp[nImp].Val,

&pAnsFu->pAdjImp[pAnsFu->bPremis[nRul][nImp]]));

};

};

Introducción a la Lógica Borrosa

Calculo de la salida• Numerador

for (nOut=0;nOut<pAnsFu->nNumOut;nOut++)

if (pAnsFu->bConsec[nRul][nOut]>=0)

{

/* Acumulo la veracidad de cada regla para cada salida */

ffVeracTotal[nOut]+=pAnsFu->fVerac[nRul];

pAnsFu->pVincOut[nOut].Val+=

(pAnsFu->fVerac[nRul]) *

(pAnsFu->pAdjOut[(pAnsFu->bConsec[nRul][nOut])].x2);

};

• Denominadorfor (nOut=0;nOut<pAnsFu->nNumOut;nOut++)

if (ffVeracTotal[nOut]!=0)

{

pAnsFu->pVincOut[nOut].Val/=ffVeracTotal[nOut];

}

}

Page 40: Control Borroso

40

Introducción a la Lógica Borrosa

Aceleradores de procesamiento

n Tarjetas aceleradoras• DASH!860 de Myrian Solutions• LFZY1, MFZY1, para PC y Multivus II (T/FC150)

n Microprocesadores especificos• NLX230 de Neuralogix• SAE 81C99 de Siemens• MSM91U112 de OKI• T/FC150 de Tohsiba• FC110 de Togai

Introducción a la Lógica Borrosa

DASH!860 de Myrian Solutions

n Hardware• Basado en el el i860 CPU 64bits RISC a 40Mhz• 4KB cache de codigo 8KB de datos• 40MIPS 80MFLOP• Conexión a bus AT

n Software• Soporta C, C++, Fortan y Pascal

Page 41: Control Borroso

41

Introducción a la Lógica Borrosa

SAE 81C99 de Siemens

n Características• 78µs con 8 inp, 1 out, 256 reglas• 7.9MLIPS• Conexión a microprocesador• 64 bases de reglas de 256 reglas• Reglas con 256 entradas y 64 salidas• Funciones de inclusión arbitrarias• desborrosificación con CM• 8 bits resolución

Introducción a la Lógica Borrosa

SAE 81C99 de Siemens

n EsquemaControl

Desborrosificador

Inferencia

Unidad de operaciones borrosa de 60 Bits Interface con microprocesador

Generador de reloj

Borrosificador

Base de conociminetos

Page 42: Control Borroso

42

Introducción a la Lógica Borrosa

NLX230 de NeuraLogix

n Características• 30MLIPS• Conexión a microprocesador• Reglas con 16 entradas y 1 salida• 16 entradas y 8 salidas• Funciones de inclusión arbitrarias

Introducción a la Lógica Borrosa

NLX230 de NeuraLogix

n Esquema

INPUTx8

Fuzzifier

Fuzzifier

Fuzzifier

Fuzzifier

FuzzifierFuzzifier

Fuzzifier

Fuzzifier

Fuzzifier

Fuzzifier

Fuzzifier

Fuzzifier

Fuzzifier

Fuzzifier

Fuzzifier

Fuzzifier

OUPUTx8

Rule Memory

Interfacing

Timing

Page 43: Control Borroso

43

Introducción a la Lógica Borrosa

T/FC150 de Toshiba

n Características• 4.4MFLIPS• Conexión a microprocesador• 8 entradas y 1 salida• 14 tipos de funciones de inclusión• Calculo con Min-Max• Desborrosificación CM• 8 bits resolución en funciones de inclusión• 10 bits resolución en entradas y salidas

Introducción a la Lógica Borrosa

FC110 de Togai

n Características• 0.2MLIPS• Conexión a microprocesador• Instrucciones propias• 128Kbytes de base de reglas• 800 reglas con 256 argumentos• Reglas con número de entradas y salidas

arbitrarias• Funciones de inclusión arbitrarias• 8 bits resolución en entradas y salidas

Page 44: Control Borroso

44

Introducción a la Lógica Borrosa

Otros métodos

n ASIC digitales• bajo precio y altas prestaciones

n Circuitos digitales basados en FPGA• adecuados para prototipos

n ASIC analógicos• Máxima velocidad de proceso• Area y coste reducido

n Circuitos analógicos discretos• veloces para aplicaciones simples

Introducción a la Lógica Borrosa

Técnicas utilizadas

n Modulación de anchura de pulson Diseños basados en modo corriente

• Espejos de corriente para el borrosificador• Multiplicación analógica con CMOS

n Uso de tecnología bipolar• Amplificadores complementarios saturados

Page 45: Control Borroso

45

Introducción a la Lógica Borrosa

Bibliografía

n Industrial Applications of fuzzy control• M.Sugeno. Edit:Nort-Holland

n Fuzzy models for pattern recognition• J.C. Bezdek & S.K. Pal. Edit:IEEE PRESS

n Computational inteligence imitating life• J. M. Zurada, R.J. Marks II, C.J. Robinson. Edit:IEEE PRESS

n Using Fuzzy Logic• Jun Yan, Michael Ryan, James Power. Edit:PRENTICE HALL

n Adaptative Fuzzy Systems and Control• Li-Xin Wang.Edit: PRENTICE HALL