You are on page 1of 190

Wydział Mechaniczno-Energetyczny

© Dr inż. JANUSZ LICHOTA

PODSTAWY MECHATRONIKI
Logika rozmyta
(Fuzzy logic)
PLAN WYSTĄPIENIA

• Historia
• Formalizm
• Zastosowania
- sterowanie wentylacją
- sterowanie rozmyte a regulator stanu
- ruch robotów
- rozpoznawanie uczuć
- sterowanie turbiną parową
- z pamiętnika operatora młyna cementowego...
- sterowanie ruchem pociągów w Japonii
- rozmyte inwestowanie na giełdzie
- rozpoznawanie rozedmy płuc
- zapobieganie katastrofie lotniczej
HISTORIA

• Arystoteles “prawo wyłączonego środka”


– Każde zdanie musi być prawdziwe lub fałszywe

• Platon: dopuścił trzeci stan: 0 i 1 się łączą

• Łukasiewicz: początek XX wieku, zaproponował


3-wartościowa logikę (0, 1, 2) jako alternatywną
do (0, 1)
– Knuth proponował (-1, 0, 1)
HISTORIA

• Pojęcie wprowadzone przez Lotfi A.


Zadeha, profesora informatyki na
University of California (Berkeley) w 1965

• Rozszerzył teorię zbiorów

• Wiele zastosowań w automatyce


FORMALIZM
TEORIA ZBIORÓW

Zajmuje się własnościami dobrze zdefiniowanych elementów


• Zbiór U
– Zawiera wszystkie elementy w danym zagadnieniu
• A = pewien podzbiór w U
– zdefiniowany poprzez listę elementów lub regułę, lub
– przez funkcję przynależności opisująca elementy zbioru
• Lista
A = {x, y,z,...} porządek elementów nie jest istotny
A = (x, y,z,...) porządek elementów jest istotny
• Reguła
∈ U | x spełnia pewne warunki} np.
A = {x∈
∈ U | x spełnia pewne warunki} A = {x∈
A = {x∈ ∈ U | g(x) <= 0}
• Funkcja przynależności
µA (x)=1, gdy x ∈ A
µA (x)=0, gdy x ∉ A
TEORIA ZBIORÓW
Funkcja przynależności w logice ostrej

• Funkcja przynależności
µA (x)=1, gdy x ∈ A
µA (x)=0, gdy x ∉ A
True

GORĄCO
False

0
30 C Temperatura

Jeżeli temperatura >= 30 C, jest gorąco (1 lub true);


Jeżeli temperatura < 30 C, nie jest gorąco (0 lub false).
TEORIA ZBIORÓW
Logika ostra
• Rozróżnia dwie wartości true/ false, 1/0, nie ma
żadnych pośrednich wartości
• Przykład
Reguła:
Jeżeli temperatura jest większa niż 30 C, to jest gorąco, w
przeciwnym przypadku nie jest.
Przypadki:
– Temperatura = 40 C gorąco
– Temperatura = 30.1 C gorąco
– Temperatura = 29.9 C Nie gorąco

– Temperatura = 20 C Nie gorąco


OPERACJE NA ZBIORACH

Suma zbiorów Iloczyn zbiorów

Zbiory równoważne Podzbiór

Zbiory równe W tym przypadku A „jest większy” niż B

Np. A={x,y,z}
B={1,2,3} to x=1, y=2, z=3
OPERACJE NA ZBIORACH

Dopełnienie Zbiór pusty

Relacja refleksyjna Symetria


A jest w relacji z A -relacja pierwszego zbioru do drugiego
Jest taka sama jak drugiego do pierwszego

Przechodniość Równoważność
Dwa zbiory mają tę samą relację do trzeciego -relacja refleksyjna+symetria+przechodniość
OPERACJE NA ZBIORACH
Zbiory mają część wspólną
Przykład: U=zbiór wszystkich
samochodów we Wrocławiu Zbiór Logika ostra Zbiór Logika rozmyta

A= {x∈ U | x ma 4 cylindry}
B= {x∈ U | x ma 6 cylindrów} A Silnik 4-cylindrowy E Samochody
B Silnik 6-cylindrowy polskie
C Silnik 8-cylindrowy
Co sprawia, że samochód jest „polski”? D Inne F Samochody z
zagranicy
-samochody produkowane w Polsce
mogą zawierać część z zagranicy
-samochody produkowane za granicą mogą
zawierać części produkowane w Polsce

Jak zdefiniować zbiory E oraz F?


Lista elementów?
Reguła ?
Funkcja przynależności?
OPERACJE NA ZBIORACH
Zbiory mają część wspólną
Roślina Zwierzę Pojazd
Pojęcie
nadrzędne
Drzewo Ptak Samochód

Dąb Kaczor Polonez


Podrzędne
OPERACJE NA ZBIORACH
Myślenie ostre i nieostre
Podejścia do rozwiązywania zadań
-logiczne / metaforyczne
-sensowne / marzycielskie
-poważne / z humorem
-określone / dwuznaczne
-spójne / paradoksalne
-żmudne / żartobliwe
-dokładne / przybliżone
-rzeczywiste / fantazjujące
-skoncentrowane / rozproszone
-analityczne / nielogiczne
-szczegółowe / ogólne
-dojrzałe / niedojrzałe

Ostre / rozmyte
OPERACJE NA ZBIORACH
Myślenie ostre i nieostre, niepewność

• Informacja
– znaczenie
– Wiedza z doświadczenia
Niepewność
– Warunki, w których istnieje możliwość
popełnienia błędu
• Złożoność
OPERACJE NA ZBIORACH
Wiedza niepewna i nieostra
Wiedza niepewna Wiedza nieostra

Nie można Występuje wtedy,


zdecydować, czy rzecz gdy w zdaniu
jest prawdziwa czy zastosowano rozmyte
fałszywa. pojęcie

Diana mogłaby mieć Diana jest duża.


ponad 1.85 m wzrostu.
OPERACJE NA ZBIORACH
Możliwość i prawdopodobieństwo
• Możliwość (zbiór rozmyty)
– Stopień w jakim rzecz się zdarza
• Prawdopodobieństwo
– Prawdopodobieństwo tego, czy zajdzie zdarzenie

Trucizna ?
OPERACJE NA ZBIORACH
Pomiar i niepewność
• Dokładność
– Nieważne jak dokładnie mierzylibyśmy,
zawsze będzie istniała niepewność pomiaru
– Część ułamkowe

Miara ?
OPERACJE NA ZBIORACH
Nieokreśloność (nierozstrzygalność)

• Rozumienie znaczenia słów


– Znaczenie kontekstowe
– Nieokreśloność

• Paradoks stogu siana (lub owsa)

Biorąc jedno źdźbło trawy ze stogu,


pozostaje on stogiem
OPERACJE NA ZBIORACH
Nieokreśloność (nierozstrzygalność)

(1) Osoba nie posiadająca włosów jest łysa (ilość


włosów n=0)
(2) Jeżeli osoba posiadająca n włosów na głowie
jest łysa, to osoba posiadająca n+1 włosów na
głowie jest łysa
Modus Ponens
(Jeżeli A, to B. Dane jest A. Następnikiem jest B.)

WNIOSEK Z KLASYCZNEJ LOGIKI: wszyscy są łysi.


OPERACJE NA ZBIORACH
Po co nam niedokładność?
• Umożliwia rozróżnienie rzeczy „istotnych” od
„nieistotnych”
• Tworzy kognicyjne pola pojęć
• Umożliwia redukcję złożoności procesu, niestety
wywołuje niekompatybilność względem innych procesów
OPERACJE NA ZBIORACH
Niekompatybilność
Im bardziej złożony obiekt, tym mniej
jesteśmy w stanie połączyć precyzję oraz
znaczenie danego zachowania od pewnego
punktu.
EKSPERYMENT ROZMYTY

Niewiele?
Kilka?
Dużo?

Co oznacza
każdy termin ?

Normalizacja wyników – maksymalną wartością jest 1

Znormalizowany wykres funkcji jest funkcją przynależności


ZBIORY ROZMYTE

Funkcja przynależności do zbioru rozmytego µA(x)


µA(x) przyjmuje dowolną wartość z przedziału [0, 1] samochód samochód
z zagranicy krajowy

Zbiór rozmyty, E
E={x∈ U | [x, µE (x) ]}

U = wszystkie samochody we Wrocławiu


µD(x) = p(x) = udział części krajowych
µF(x) = 1-p(x) = udział części zagranicznych

Funkcje przynależności wyrażają subiektywną wartość utylitarną opartą


np. na prawdopodobieństwie lub nie.

„Jeżeli 40 % części w samochodzie ma pochodzenie krajowe, to jest


to prawdopodobnie samochód z zagranicy”
FUNKCJE PRZYNALEŻNOŚCI

„Bliskie zera” „Prawdopodobnie NIE y”

„Około y” „Młody (Young) / Stary (Old)”


FUNKCJE PRZYNALEŻNOŚCI

180 cm 179 cm Przynależność do


zbioru osób wysokich

1 Ostry

wzrost
180

Przynależność do
zbioru osób wysokich

1 Rozmyty

wzrost
160 180
FUNKCJE PRZYNALEŻNOŚCI

Temperatura wysoka posiada różne znaczenia


kontekstowe np. w przypadku gorączki i reaktora
jądrowego.
FUNKCJE PRZYNALEŻNOŚCI

Zbiór ostry Zbiór rozmyty


FUNKCJE PRZYNALEŻNOŚCI
Rozszerzenia operatorów
• Można modelować takie pojęcia jak BARDZO, NIECO,
TROSZECZKĘ itp.

• Np. jeżeli x przynależy w stopniu µ(x) do zbioru


GORĄCO, funkcja przynależności (µ(x))2 mogłaby
odpowiadać za BARDZO GORĄCO, lub √(µ(x)) za
DOŚĆ GORĄCO
FORMALIZM
Definicje zbiorów rozmytych
• Nośnik zbioru rozmytego
supp(A) = {x∈ U | µA (x)>0 }

• Środek zbioru rozmytego


– Funkcja dwustronna : Środek = wartość
średnia
– Funkcja z lewej strony : Środek = max (x) dla
którego µ( x) = 1
– Funkcja z prawej strony : Środek = min (x)
dla którego µ( x) = 1
FORMALIZM
Operacje rozmyte
• Suma zbiorów
A∪B
Wtedy i tylko wtedy, gdy µA∪B(x) = max [µA(x), µB(x)] ∀ x∈U
• Część wspólna zbiorów
A∩B
Logika rozmyta
∩B(x) = min [µA(x), µB(x)] ∀ x∈U
Wtedy i tylko wtedy, gdy µA∩
jest uogólnieniem
• A zawiera B
logiki ostrej
A⊃B opartym na definicji
Wtedy i tylko wtedy, gdy µA(x) >= µB(x) ∀ x∈U funkcji przynależności
• Równoważność zbiorów
A∼B
Wtedy i tylko wtedy, gdy µA(x) = µB(x) ∀ x∈U
• Dopełnienie zbioru
U-A
Wtedy i tylko wtedy, gdy µA(x) =1- µA(x) ∀ x∈U
FORMALIZM
Operacje na zbiorach

A B

∩B(x) = min [µA(x), µB(x)] ∀ x∈U


µA∩ µA∪B(x) = max [µA(x), µB(x)] ∀ x∈U µA(x) =1- µA(x) ∀ x∈U

A∧B A∨B ¬A
FORMALIZM
Operacje na zbiorach
• Suma rozmyta
A∪B
• Przykład
– A = {1.0, 0.20, 0.75}
– B = {0.2, 0.45, 0.50}
– A ∪ B = {MAX(1.0, 0.2), MAX(0.20, 0.45), MAX(0.75, 0.50)}
= {1.0, 0.45, 0.75}

• Część wspólna zbiorów


A∩B

Przykład
A ∩ B = {MIN(1.0, 0.2), MIN(0.20, 0.45), MIN(0.75, 0.50)} = {0.2, 0.20, 0.50}
FORMALIZM
Operacje na zbiorach
Dopełnienie zbioru
Ac=U-A
• Przykład
– Ac = {1 – 1.0, 1 – 0.2, 1 – 0.75} = {0.0, 0.8, 0.25}

Mid
Not Young Age Not Old
A2 = A1 ∩ A3
Przynależność

A1 A2 A3

Wiek
0 20 35 45 60 80
FORMALIZM
t-norma
• Przecięcie się dwóch zbiorów rozmytych A
oraz B jest operacją binarną i na przedziale
jednostkowym
• i: [0,1] x [0,1]  [0,1]
– (A∩B)(x) = i[A(x), B(x)]
• Standardowa część wspólna:
– i(a,b) = min(a,b)
• Wynik algebraiczny:
– i(a,b) = ab
FORMALIZM
t-konorma
• Suma dwóch zbiorów rozmytych A i B jest
operacją binarną i na przedziale
jednostkowym :
– u: [0,1] x [0,1]  [0,1]
– (A∪B)(x) = u[A(x), B(x)]
• Standardowa suma:
– u(a,b) = max(a,b)
• Wynik algebraiczny:
– u(a,b) = a+b-ab
FORMALIZM
Zbiory rozmyte Mamdaniego
Poprzednik i następnik są rozmyte
– np., “IF błąd IS mały AND zmiana błędu w czasie IS ujemna, THEN
sygnał sterujący IS mały”
– Czym jest błąd “mały”, “średni”, oraz “duży”?
• Należy “rozmyć” fizyczny pomiar błędu/pochodnej, zastosować reguły
rozmyte, oraz “de-fuzzikować” (wyostrzyć) sygnał sterujący

Regulator „PI”
PRZYKŁAD
sterowanie temperaturą w pomieszczeniu
PRZYKŁAD 1
Zbiory ostre

• Dowolna wartość jest ściśle wewnątrz jednego ze zbiorów


• Np. 12.9° przynależy z wartością 1 do „zimno” i 0 do
pozostałych zbiorów
• Jeżeli (5 < x ≤ 15) to …
PRZYKŁAD 1
Zbiory rozmyte

• Wartości przynależą do każdego zbioru w pewnym stopniu


• Np. 27.1° przynależy 0.1 do ‘Warm’ i 0.6 do ‘Hot’ (0 do
pozostałych)
PRZYKŁAD 1
Rozmyte wyjścia

• Musimy wyznaczyć jedną, konkretną wartość wyjścia,


• Np. jakie powinno być wyjście dla danej temperatury
• Potrzebujemy czegoś, co nazwiemy ‘defuzzyfikacją’
(wyostrzaniem wyjścia)
PRZYKŁAD 1
Negacja

Jeżeli x należy do zbioru A, a przynależność wynosi


mA(x), to negacją tego faktu (x NIE należy do zbioru A)
jest 1 - mA(x)
PRZYKŁAD 1
Koniunkcja

• Minimum
– Jeżeli x należy do zbioru A w stopniu mA(x) i do zbioru B w
stopniu mB(x) to koniunkcją (x należy do zbioru A AND B) jest
min(mA(x), mB(x))
PRZYKŁAD 1
Alternatywa

• Maksimum
– Jeżeli x należy do zbioru A w stopniu mA(x) i do zbioru B w
stopniu mB(x), to alternatywą (x należy do A OR B) jest
max(mA(x), mB(x))
PRZYKŁAD 1
Reguły rozmyte

• If HOT then ZMNIEJSZ DUŻO


• If WARM then ZMNIEJSZ TROCHĘ
• If COOL then ZWIĘKSZ TROCHĘ
• If COLD then ZWIĘKSZ DUŻO

• Wyjścia są również reprezentowane przez zbiory rozmyte


PRZYKŁAD 1
Wyostrzanie wyjścia

• Temperatura wynosi 27.1°C


• 27.1°C przynależy 0.1 do zbioru WARM oraz 0.6 do
zbioru HOT
• ‘If WARM then ZMNIEJSZ TROCHĘ
– Przynależność 0.1 dla wyjścia ZMNIEJSZ TROCHĘ
• ‘If HOT then ZMNIEJSZ DUŻO’
– Przynależność 0.6 do wyjścia ZMNIEJSZ DUŻO
• Inne wyjścia (ZWIĘKSZ DUŻO, ZWIĘKSZ TROCHĘ)
mają przynależność 0
PRZYKŁAD 1
Wyostrzanie wyjścia
• If HOT then ZMNIEJSZ DUŻO
• If WARM then ZMNIEJSZ TROCHĘ
• If COOL then ZWIĘKSZ TROCHĘ
• If COLD then ZWIĘKSZ DUŻO

• Wykorzystamy tę rozmytą informację do


obliczenia wyjścia z regulatora
PRZYKŁAD 1
Defuzzyfikacja

• Znajdź środek ciężkości figury


• Możliwe są również inne metody defuzzyfikacji np.
średnia wartość maksymalna
PRZYKŁAD 2
Jego wysokość
PRZYKŁAD 2 180 cm 179 cm

Funkcja przynależności

Wzrost
MF
Stopień
przynalezności
Mały Średni Duży
1

0.5

0
25 40 55 Wzrost

Wartości rozmyte posiadają stopnie przynależności do zbioru.


PRZYKŁAD 3
Dwa wejścia i jedno wyjście
PRZYKŁAD 3
Rozmywanie
• Dwa wejścia (x, y) i jedno wyjście (z)
• Funkcje przynależności:
low(t) = 1 - ( t / 10 )
high(t) = t / 10
1

0.68
Low High

0.32
Ostre 0
wejścia X=0.32 Y=0.61 t

Low(x) = 0.68, High(x) = 0.32, Low(y) = 0.39, High(y) = 0.61


PRZYKŁAD 3
Baza reguł
• Reguła 1: If x is low AND y is low Then z is high

• Reguła 2: If x is low AND y is high Then z is low

• Reguła 3: If x is high AND y is low Then z is low

• Reguła 4: If x is high AND y is high Then z is high


PRZYKŁAD 3
Inferencja reguł, aktywność reguł
• Reguła 1: low(x)=0.68, low(y)=0.39 => „Siła” reguły
high(z)=MIN(0.68,0.39)=0.39

• Reguła 2: low(x)=0.68, high(y)=0.61 =>


low(z)=MIN(0.68,0.61)=0.61

• Reguła 3: high(x)=0.32, low(y)=0.39 =>


low(z)=MIN(0.32,0.39)=0.32

• Reguła 4: high(x)=0.32, high(y)=0.61 =>


high(z)=MIN(0.32,0.61)=0.32
PRZYKŁAD 3
Agregacja reguł, połączenie aktywnych reguł

•Low(z) = MAX(rule2, rule3) = MAX(0.61, 0.32) = 0.61


•High(z) = MAX(rule1, rule4) = MAX(0.39, 0.32) = 0.39

1
Low High

0.61

0.39

0
t
PRZYKŁAD 3
Defuzyfikacja
Max

• Środek ciężkości ∫ tf (t )dt


C= Min
Max

∫ f (t )dt
1
Low High
Min

Środek ciężkości
0.61
figury
geometryczcnej
0.39

0
t
Ostre wyjście
LOGIKA ROZMYTA
Regulator rozmyty
• System ekspertowy
• Formalizuje wiedzę pobraną od człowieka
– Ma to znaczenie w procesach, w których trudno jest
sformułować model matematyczny
• Stosuje terminy rozmyte very high, slightly low,
almost zero.

– If temperature is very high


AND pressure is slightly low
THEN heat change should be slightly negative.
LOGIKA ROZMYTA
Regulator rozmyty
Sygnał
regulacyjny Defuzzifikacja Regulator
(wyostrzanie) rozmyty

Inferencja
(oddziaływanie) Baza reguł
Obiekt
reguł

Fuzzifikacja
Pomiar (rozmywanie)
LOGIKA ROZMYTA
Regulator rozmyty - projekt
• Krok 1
– Zidentyfikuj istotne wejścia i wyjścia
– Zakresy wejść i wyjść
– Wybierz zmienne lingwistyczne
• Krok 2
– Wprowadź funkcję rozmywającą dla każdej
zmiennej wejściowej w celu interpretacji
pomiarów
LOGIKA ROZMYTA
Regulator rozmyty - projekt

• Krok 3
– Sformułuj reguły rozmyte
• Pobierz je od ludzi
• Naucz na podstawie danych empirycznych
– Reguły mają formę
• If e = A and e’ = B then v = C.
LOGIKA ROZMYTA
Regulator rozmyty - projekt

• Krok 4
– Zaprojektuj metodę inferencji reguł
If <e,e’> is A x B, then v is C,
[A x B](x,y) = min[A(x),B(y)].
– Każda reguła ma odpowiadającą jej relację R
LOGIKA ROZMYTA
Regulator rozmyty - projekt
– If <e,e’> is A1 x B1, then v is C1
– If <e,e’> is A2 x B2, then v is C2
– …
– If <e,e’> is An x Bn, then v is Cn
– Zdarzenie: <e,e’> is x0 x y0
– Wywnioskuj, że v is C1
• Wyostrz wyjście v
– Metoda środka ciężkości itd.
LOGIKA ROZMYTA
Działanie regulatora rozmytego
Wejście ostre

Rozmywanie Funkcje przynależności


wejść

Wejście rozmyte

Obliczanie reguł Reguły i ich inferencja

Wyjście rozmyte

Defuzzyfikacja Wyjściowe funkcje przynależności


Output Membership Functions

Wyjście ostre
STEROWANIE ROZMYTE
WENTYLACJĄ
LOGIKA ROZMYTA
Sterowanie wentylacją - baza reguł

Wymiennik Regulator
temperatury
Powietrze
Wentylator

zawór
zamknięty

Woda grzewcza
LOGIKA ROZMYTA
Sterowanie wentylacją - baza reguł
Temperatura powietrza Prędkość wentylatora

• Set cold {50, 0, 0} • Set stop {0, 0, 0}


• Set cool {65, 55, 45} • Set slow {50, 30, 10}
• Set just right {70, 65, • Set medium {60, 50, 40}
60} • Set fast {90, 70, 50}
• Set warm {85, 75, 65} • Set blast {∞, 100, 80}
• Set hot {∞, 90, 80}
Temperatury w F
LOGIKA ROZMYTA
Sterowanie wentylacją - baza reguł
• IF Cold THEN Stop
• IF Cool THEN Slow
• IF OK THEN Medium
• IF Warm THEN Fast
• IF Hot THEN Blast
LOGIKA ROZMYTA
Sterowanie wentylacją – wejścia/wyjścia
0

100
st If Hot
90 Bla then
Blast

80 Fa
st If Warm
then
70 Fast

60
Med If Just Right
ium then
50 Medium

40
Sl
IF Cool
•IF Cold then Stop
ow then
30 Slow
•If Cool then Slow
if Cold
20
•If OK then Medium
then Stop

10
St
op

0 •If Warm then Fast

1
•IF Hot then Blast

t
ol

Ho
ar
Co

W
Co

Rig t
ht
Jus
ld

45 50 55 60 65 70 75 80 85 90
LOGIKA ROZMYTA
Sterowanie wentylacją – wejścia/wyjścia
1
0

100
st
90 Bla t

80 Fa
st

70

60
Med
iu m
50
•IF Cold then Stop
40
Sl
ow
30 •If Cool then Slow
•If OK then Medium
20

10
St
op

0 •If Warm then Fast


1
m •IF Hot then Blast

t
ol

Ho
ar
Co

W
Co

t
ht
Jus
ld

Rig

45 50 55 60 65 70 75 80 85 90
STEROWANIE ROZMYTE
I
REGULATOR STANU
SPRZĘŻENIE ZWROTNE OD STANU

• Maksymalizuje odporność regulatora w sensie


kwadratowym. Sygnał wyjściowy jest liniową
funkcją wektora stanu
u = kx
– Regulator liniowo-kwadratowy
– (Linear Quadratic Regulator - LQR)
• Przy niedostępnym stanie używany jest
obserwator do estymacji stanu
OBSERWATOR STANU

• Używa sygnałów wejściowych i wyjściowych do


modelowania obiektu oraz estymowania jego
stanu
– Deterministyczny
• Obserwator Luenbergera
• Obserwator adaptacyjny
– Stochastyczny
• filtr Kalmana
SPRZĘŻENIE ZWROTNE Z
OBSERWATOREM STANU

din
u y
Obiekt

Klqr obserwator
0
Regulator
x
Proporcjonalny
(wektor)

Regulator „próbuje: utrzymać zadaną wartość wyjścia y=0


Badane możliwości regulacji

• Sygnał wyjściowy z regulatora jest funkcją


sygnału wyjściowego z obiektu. Przykłady
obejmują
– Regulator PID
KI
Tuz = K P + + KDs
s

– Regulację adaptacyjną opartą o model (Model


reference adaptive control - MRAC)
• MRAC potrafi zredukować wpływ zakłóceń, lecz
nie dostarcza estymaty stanu
Schemat obiektu

wejście u
wyjście y = x2
zakłócenie w

k
u w
m1 m2

x1, x3 = dx1/dt
x2, x4 = dx2/dt
PRZESTRZEŃ STANU UKŁADU STEROWANIA

 x1   0 0 1 0  x1   0   0 
 x   0 0 0 1   x2   0   0 
 =
2   +  u +  w
 x3  − k m1 k m1 0 0  x3  1 m1   0 
        
 x4   k m 2 − k m 2 0 0  x4   0  1 m2 
x1 jest pozycją m1
x2 jest pozycją m2
x3 jest prędkością m1
x4 jest prędkością m2
y wyjściem z obiektu x2
w jest przyspieszeniem zakłóceń działających na m2
u jest przyspieszeniem sterującym masą m1
Zadania dla układu regulacji

• Dla mas m1 = m2 = 1 oraz stałej sprężyny 0.5 < k


< 2.0
– Zredukować zakłócenia działające na m2 oraz m1
– Zredukować falę sinusoidalną działającą na m2
– Zmaksymalizować odporność
– Śledzić skok jednostkowy zakładając, że
• Wyjście kompensatora (regulatora) jest ograniczone do u < |1|
• Czas regulacji oraz przeregulowanie jest minimalne
Podejście jakościowe (rozmyte)

• Regulator rozmyty oparty o model


jakościowy
– Używa hierarchicznej struktury
• Najpierw, osiągnięcie odporności (i stabilności)
• Potem, osiągniecie wskaźników jakości regulacji
– Dobra jakość regulacji oraz stabilność
OBIEKT (masa-sprężyna-masa) BEZ
REGULATORA
Sprężyna zwolniona

6 Pozycja
m1 oraz m2
5
4
3
impuls
2
wprawia w
1
prędkość
ruch masę
m1 oraz m2
m2 0
0 5 10
Time (s e cond)
STRUKTURA REGULATORA

• Estymata stanu sprężyny jeżeli stan nie jest dostępny


– Filtr Kalmana
– przyspieszenie m2
• Określ oscylacje sprężyny stosując jej rozmyty model
• Tłumienie wibracji używając wyjścia modelu sprężyny
• Gdy sprężyna nie podlega naciskowi rozpocznij śledzenie
y Estymator
długości sprężyny

Rozmyty model Rozmyty


sprężyny kompensator
(regulator)
ROZMYTY MODEL SPRĘŻYNY

• Wymaga estymaty wejściowej


– Długości sprężyny (L = 0) oraz L – zmiana długości sprężyny

– Kierunku ruchu sprężyny jest danego przez


dL/dt, (np. rozciąganie lub ściskanie) gdy L =
0.
• Estymaty nie muszą być optymalne (np. z
filtru Kalmana), lecz mogą być otrzymane z
filtrów sub-optymalnych
ROZMYTY MODEL SPRĘŻYNY
Reguły

• IF L is zero AND dL/dt is medium OR


large THEN tłum wibracje
• IF L is almost zero AND dL/dt is large
THEN tłum wibracje
– Kierunek wyjścia jest dany przez dL/dt oraz
jest przeciwnie skierowany względem
rozszerzania lub skracania długości sprężyny
• Reguły redukują wpływ zakłóceń
ROZMYTY MODEL SPRĘŻYNY
Reguły – płaszczyzna wyjściowa
Stan sprężyny

spring_state

0.6

0.4

0.2
0

-0.2

-0.4
-0.6 -2
-2 -1 0
0 1 2 2
spring_length_estimate delta_spring_length_estimate

Estymata długości sprężyny Estymata zmiany długości sprężyny


REGULATOR ROZMYTY

• Tłumienie oscylacji
– Sygnał z regulatora jest w przeciwną stronę niż
z obiektu, gdy L = 0
– Przesuwa sygnał sterujący o wartość
proporcjonalną do błędu pozycji oraz prędkości
• Śledzenie wartości zadanej
– Gdy L jest małe, to działa regulator PD
y

REGULATOR ROZMYTY
Estymator
długości sprężyny

Reguły
u

Rozmyty model Rozmyty


sprężyny kompensator
(regulator)
Rules to supress vibrations Reguły do tłumienia oscylacji
1. If (spring state is compressing_fast_with_neutal_spring) then
(control_output is big_stop_spring_stretching)
2. If (spring state is compressing_slowly_with_neutal_spring) then
(control_output is small_stop_spring_stretching)
3. If (spring state is not_stretching_or_compressing_with_neutal_spring) then
(control_output is zero)
4. If (spring state is stretching_slowly_at_zero_accel) then
(control_output is small_stop_ spring_compressing)
5. If (spring state is stretching_fast_with_neutal_spring) then
(control_output is big_stop_ spring_compressing)

Dodatkowe reguły do śledzenia wartości zadanej


Additional rules to achieve tracking of m2.

6. If (position_error is BigNegative) and (spring_length is smallBell) then


(control_output is zero_large_position)
7. If (position_error is negative) and (spring_length is tinyBell) then
(control_output is zero_small_position)
8. If (position_error is zero) and (spring_length is tinyBell) then
(control_output is zero)
9. If (position_error is positive) and (spring_length is tinyBell) then
(control_output is zero_small_position)
10. If (position_error is BigPositive) and (spring_length is smallBell) then
(control_output is zero_large_position)
SYMULACJA
Redukcja drgań sprężyny
Regulator rozmyty Marrison and Stengel (#3)
1.5 1.5
m1 position m1 position
m2 position m2 position
1 m1 velocity 1 m1 velocity
m2 velocity m2 velocity

0.5 0.5

0 0

-0.5 -0.5
0 5 10 15 20 0 5 10 15 20
Time (s ec) Time (s ec)
SYMULACJA
Redukcja zakłócenia działającego na m2
Wyjście z obiektu y Wyjście z kompensatora u
y 2 u1
Fuzzy
Fuzzy Design A
Design A Design B
1.5 Design B
0.5 Marrison
Marrison Design #1
Design #1 Design #3
1 Design #3
0
0.5

-0.5
0

-0.5 -1
0 5 10 15 20 0 5 10 15 20
Time(sec) Time(sec)
SYMULACJA
Odpowiedź skokowa - śledzenie
Wyjście z obiektu y Wyjście z kompensatora u
2 2

1
1.5

0
1
-1
Fuzzy Fuzzy
0.5
Design A -2 Design A
Design B Design B
0 Marrison Marrison
Design #1 -3 Design #1
Design #3 Design #3
-0.5 -4
0 5 10 15 20 0 5 10 15 20
Time(sec) Time(sec)
STEROWANIE ROBOTEM
ZASTOSOWANIE- Sterowanie robotem
Regulator rozmyty
Wartość
Wartość Baza rzeczywista
rzeczywista Rozmycie Wyostrzenie
reguł

Funkcje
przynależności
Reguły rozmyte (IF ... THEN ...)
Zmienne rozmyte
Zmienne lingwistyczne
ZASTOSOWANIE- Sterowanie robotem
Operatory rozmyte
Typowa reguła Mamdaniego
IF x1 is A1i AND x2 is A2i THEN y i is B i , for i = 1, 2,..., l
Użyte bloki w oprogramowaniu do tworzenia reguł
Mamdaniego
Wartość
X (liczba rzeczywista) rozmyta Wartości AND/OR DOF
AND/OR


Fuzzifier
Fuzzifier rozmyte

Bloki logiczne
Funkcja
przynależności
Metoda defuzyfikacji

Y Y1
Wartość Y2
Output
Output (Zbiór rozmyty) Defuzzifier
Defuzzifier Wyjście ostre


rozmyta
Block
Block Yn
ZASTOSOWANIE- Sterowanie robotem
Struktura regulatora rozmytego
IF theta is POS NEG
ZERO
POS
AND theta_dot is NEG
THEN force is NEG
Detekcja
zmiany
theta Fuzzyfikacja
Fuzzyfikacja
(POS)
(POS) Blok Center of Gravity
Blok
wyjściowy
wyjściowy siła
theta_dot Fuzzyfikacja
Fuzzyfikacja AND (NEG)
(NEG)
(NEG)
(NEG) Defuzyfikacja
Defuzyfikacja
Wyjście
u
Reguła #2 siła

Reguła #3 siła
ZASTOSOWANIE- Sterowanie robotem
Unikanie przeszkody
Kąt czujnika i w

Odległość do przeszkody v
(mierzona przez czujnik i)

Regulator rozmyty

θ1

θ2
ZASTOSOWANIE- Sterowanie robotem
Unikanie przeszkody
Funkcje przynależności:
Close Near Far Neg Zero Pos

a) Odległość mierzona przez czujnik(d) b) Kąt czujnika (th)

Zero VSlow Slow Fast Neg SNeg Zero SPos Pos

c) Prędkość w przód (V) d) Prędkość kątowa (W)


ZASTOSOWANIE- Sterowanie robotem
Unikanie przeszkody
θ1

θ2
Reguły dla i - tego czujnika :
1."IF distancei is Close And anglei is Pos Then V Is VSlow W is Neg "
2."IF distancei is Close And anglei is Zero Then V Is Zero "
3."IF distancei is Close And anglei is Neg Then V Is VSlow W Is Pos "
4."IF distancei is Near And anglei is Pos Then V Is Slow W Is SNeg"
5."IF distancei is Near And anglei is Zero Then V Is VSlow W Is SNeg"
6."IF distancei is Near And anglei is Neg Then V Is Slow W Is Spos"
7."IF distancei is Far And anglei is Pos Then V Is Fast W Is Zero"
8."IF distancei is Far And anglei is Zero Then V Is Fast W Is Zero"
9."IF distancei is Far And anglei is Neg Then V Is Fast W Is Zero"
ZASTOSOWANIE- Sterowanie robotem
Unikanie przeszkody
Zwykły regulator rozmyty Regulator rozmyty reagujący
na zdarzenia
Aktywność procesora

Czas symulacji Czas symulacji

Konwencjonalny regulator rozmyty oblicza operacje rozmyte (fuzzyfikacja, inferencja,


defuzyfikacja) w każdym kroku czasu. W przypadku reakcji na zdarzenia obliczenia są
prowadzone wtedy, gdy występuje zmiana w otoczeniu.
ZASTOSOWANIE- Sterowanie robotem
Współpraca robotów
Założenia
Zadanie wymagające
− System nadrzędny posiada informacje o pozycji
współpracy: pchanie piłki początkowej obiektu (piłki) i przesyła tę informację
do robotów.
− Roboty znają swoją własną pozycję i potrafią
określić pozycję względem obiektu.
− System nadrzędny komunikując się z robotami
uzyskuje informację o ich pozycji oraz stopniu
wykonania zadania.
− Obiekt jest okrągły i znana jest pozycja środka
ciężkości.

Roboty pozycjonują się wzajemnie i prostopadle


względem obiektu. Następnie pchają obiekt do
wyznaczonego celu.
ZASTOSOWANIE- Sterowanie robotem
Współpraca robotów

GPunkt docelowy
Obiekt
 Problem najpierw zostanie rozwiązany dla jednego

fl<0 B robota, a następnie rozszerzony na pozostałe.


Robot Robot znajduje się w pewnej pozycji początkowej.
rB Jego zadaniem jest przepchnięcie piłki do zadanej
rA
 nowej pozycji. Robot powinien ustawić się we
fl=0 wl A właściwej pozycji do pchania piłki.
 Pozycja docelowa G pokazana na rysunku może być
fl>0 wr obliczona następująco:
po osiągnięciu punktu A robot powoli popycha piłkę,
Region robot powinien zawsze pozostawać po stronie
popychania fr>0 fr<0 przeciwnej piłki względem punktu G tj. w regionie
popychania. Jest on zdefiniowany jako dwie linie
przechodzące przez środek ciężkości piłki.

f – wskaźnik obszaru
fr=0 w – wektor normalny do prostej
ZASTOSOWANIE- Sterowanie robotem
Współpraca robotów

G


 B
wl Oba roboty ustawiają się względem
rB siebie symetrycznie względem prostej G-A
 A
wr

Regiony
popychania
ZASTOSOWANIE- Sterowanie robotem
Współpraca robotów
Jeżeli jeden robot nie jest w stanie wypełnić zadania ze
Sygnał Sygnał względu na wagę piłki, to system nadrzędny może wykryć
wejściowy wyjściowy ten stan poprzez ocenę pracy robota (prędkość popychania)
“in” “out” i wezwać drugiego robota.
Stany pracy pojedynczego robota
“in”? object_reached
· Standby: stan początkowy. Robot czeka na sygnał z
“in”? komenda
systemu nadrzędnego
“in”? obiekt_zgubiony
· Path Planning: robot przesuwa się w stronę celu
“out”! cel_osiągnięty omijając przeszkody oraz inne roboty. Po osiągnięciu celu
stan zmienia się na Standby lub Placement, w zależności od
komendy z systemu nadrzędnego (komenda pushing, to stan
“out”? obiekt_dotknięty Placement, w przeciwnym przypadku stan Standby.

“in”? Poza_regionem_pchania · Placement: stan określa, że robot pozycjonuje się


wewnątrz regionu popychania dotykając obiektu.
“out”? Obiekt _osiągnął_cel
· Ready_to_push: robot jet gotowy do popychania
obiektu czekając na drugiego robota, aby dotknął obiekt i
“in”? Robot_gotowy przeszedł w stan gotowości do popychania ready_to_push.

· Pushing: po potwierdzeniu przez system nadrzędny, że


wszystkie roboty są w stanie ready_to_push, robot
przechodzi w stan pushing, próbując popychać obiekt w
stronę celu. Stany zmieniają się w cyklu {Standby,
Path_planning, Ready_to_push, Pushing, Standby},
ZASTOSOWANIE- Sterowanie robotem
Współpraca robotów
Wynik symulacji
ZASTOSOWANIE- Sterowanie robotem
Współpraca robotów
Wynik symulacji
ZASTOSOWANIE- Sterowanie robotem
Wyniki rzeczywistego eksperymentu
Opisany algorytm zaimplementowano w robocie
Pioneer AT2 wyprodukowanym przez ActivMedia
Robotics™. Robot ma dwa niezależne silniki i cztery
koła. Dwa lewe koła są napędzane przez jeden silnik,
dwa prawe - przez drugi.

Robot jest wyposażony w 16 czujników odległości, 8 z


przodu i 8 z tyłu. Pozycja jest mierzona przez hodometr
(przyrząd do mierzenia odległości). Robot oblicza
kierunek z informacji z hodometru. Zainstalowany
komputer pracuje pod systemem Windows 2000.
Algorytmy ruchu zostały zaimplementowane w w
DEVSJAVA oraz V-Lab®.
ZASTOSOWANIE- Sterowanie robotem
Wyniki eksperymentu
Parkowanie samochodu
ZASTOSOWANIE
Parkowanie samochodu
• Końcowa pozycja i kierunek nie są precyzyjnie
określone
• Zadanie łatwe dla człowieka
• Trudność rozwiązania wzrasta wraz z precyzją
• W końcu może być niemożliwe do rozwiązania
przez człowieka
• Problem parkowanie jest łatwy do rozwiązania,
gdy nie jest sformułowany precyzyjnie
DIAGNOSTYKA SILNIKA
Ramy obliczeniowe

• Podział sygnału na odcinki


• Automatyczne wyodrębnianie cech
• Automatyczna selekcja cech
• Detekcja błędów w odcinkach oparta o
algorytm rozmyty
• Detekcja błędów w sygnale oparta o
algorytm rozmyty
Podział sygnału na odcinki z użyciem
falek
• Podział sygnału na odcinki: izolacja
zdarzeń

• Falki: sygnał jest podzielony na różne funkcje


zdefiniowane przez falki
• Przykład:
AUTOMATYCZNE WYODRĘBNIANIE CECH

• Interesujące cechy: krawędzie (brzegi), oscylacje, stan


ustalony, impulsy (piki)

• Rodziny cech:
– Podstawowe cechy statystyczne : maksimum, minimum, średnia, zakres wartości,
długość odcinka, itp.
– Energia falki : Znormalizowana suma kwadratów współczynników transformacji
falki
– Średnia falki: Średnia współczynników transformacji falki
– X-Centroid: poziomy środek ciężkości współczynników transformaty falki
– Wypukłość/wklęsłość : Stosunek współczynników wypukłości i wklęsłości
poszczególnych falek w danym odcinku
AUTOMATYCZNA SELEKCJA CECH

Sekwencyjny algorytm selekcji


wstecznej
False Zbiór cech True
mały/dobry?
Oryginalna przestrzeń
True
cech
Najlepsza
prędkość
False klasyfikacji cech?
Zoptymalizowany
zbiór cech (koniec)
Zastąp cechę
Cechy Klasyfikator
Wstępna Wyrzuć cechę
selekcja bayesowski

1/2 Przestrzeń cech Wyrzuć Częściowo


1 zoptymalizowany
cechę zbiór cech

• Przykład selekcji cech :


– Agent wielu sygnałów RPM, algorytm selekcji cech zredukował zbiór 220
możliwych cech do 11
DETEKCJA BŁĘDÓW W ODCINKACH

• Nauka rozmyta
– Każdy agent musi wygenerować swoją własną bazę wiedzy poprzez
automatyczne uczenie rozmyte
– Baza wiedzy jest zbiorem reguł oraz zmiennych rozmytych
– Przykład reguły rozmytej
IF WaveletAverage is LOW AND Maximum is LOW THEN segment
is GOOD
– Zbiór uczący zawiera wektor cech reprezentujący dobre odcinki

• Detekcja błędów
– W każdym odcinku sygnału wejściowego agent stosuje rozumowanie rozmyte i
dzieli zdarzenia na

GOOD, BAD, UNKNOWN


DETEKCJA BŁĘDÓW W SYGNALE

• Analiza sygnału jako całości daje lepsze zrozumienie


błędów
– Sygnał „zły” wygląda inaczej od „dobrego”
• Więcej odcinków jest oznaczonych jako złe
• Złe odcinki skupiają się
• Złe dane z odcinka są bardziej odległe od dobrych w przestrzeni cech

• Cechy całego sygnału


» Średnia wartość „złego” sygnału » Maksymalny rozmiar złego
» Średnia wartość „dobrego” klastra
sygnału » Liczba złych klastrów
» Średnia odległość do dobrej » Procent złych sygnałów
reguły
AGENCI POJEDYNCZEGO SYGNAŁU
Analiza różnych cech sygnałów z jednego czujnika
ECT IAC IAT MAF RPM TP
Single Signal Single Signal Single Signal Single Signal Single Signal Single Signal
Agent Agent Agent Agent Agent Agent

Convexity Max Convexity


Convexity
Max Avg Avg Max Max
Fluctuation
Avg XC DB00 WE DB34 Fluctuation Min
Min
WA DB12 WA DB13 XC DB31 XC DB22 WA DB12
Max
WA DB31 WA DB14 XC DB32 XC DB33 XC DB33
Avg
XC DB13 Concavity XC DB33 Concavity WE DB12
WA DB15
XC DB20 WA DB12 XC DB10
WE DB14
WA DB15
WE DB25
WA DB23
XC DB12
WE DB31
XC DB13
WE DB32
XC DB23
WE DB35
XC DB30

WSZYSTKIE CECHY OBLICZONE DLA POSZCZEGÓLNYCH ODCINKÓW


Min/Max/Avg: Parametry statystyczne oryginalnego sygnału
Convexity/Concavity: Miara krzywizny
Fluctuation: Miara odchyłki sygnału
WA Dbij: Średnia wartość falki dla falki bazowej DBi, współczynniki z falki j
WE Dbij: Energia falki dla falki bazowej DBi, współczynniki z falki j
XC Dbij: X-Centroid dla falki bazowej DBi, współczynniki z falki j
AGENCI POJEDYNCZEGO SYGNAŁU
Przypadek 1: wahania obrotów RPM
Przyczyna podstawowa: źle ułożony czujnik położenia cylindra (Cylinder Identification Sensor CID)
Zbyt późne wtryskiwanie paliwa
WAHANIA OBROTÓW RPM
Krok 1: Podział sygnału na odcinki
• Stany odcinków są oznaczone kolorami
• Czerwony : wznoszący, zielony : opadający,
brązowy : stały
WAHANIA OBROTÓW RPM
Krok 2: Wyodrębnianie i selekcja cech
Wyodrębniono ponad 60 cech

Selekcja cech (ograniczenie liczby do 12)

State Max Fluctu- XC XC Conca- WA WA WA WE WE WE


ation DB22 DB33 vity DB12 DB15 DB23 DB31 DB31 DB35
3 (fuzzy terms) 3 3 3 3 3 3 3 3 3 3 3

Dane o
cechach po
obliczeniach w
ADSAS dla
danego
sygnału
WAHANIA OBROTÓW RPM
Krok 3: Nauka rozmyta / inferencja
– 600 odcinków uczących z 12 testów
– Wygenerowano 382 reguły rozmyte
Sygnał testowy

?: nieznany
X: zły
√: dobry
WAHANIA OBROTÓW RPM
Krok 4: Analiza całego sygnału
Każdy sygnał jest
przeliczany z
zastosowaniem
jednej lub kilku
kolumn tablicy
inferencji

Avg Good Avg Bad Avg Distance* Maximum Number of Percentage of


Belief Belief to Good Rules Cluster Size Clusters Signal Labeled Bad
4 (fuzzy terms) 4 4 4 4 4
Rzeczywiste 0.203 0.154 0.0717 3 3 25%
wartości
tego sygnału
Inferencja rozmyta (wnioskowanie)
(System uczony na podstawie wyboru dobrych i złych sygnałów)

Ten sygnał jest


* Odległości do reguł są mierzone
w przestrzeni Euklidesowskiej od oznaczony jako Bad
danych do środka reguły.
WIEDZA INŻYNIERSKA O INTERAKCJI SYGNAŁÓW

LOAD O2S xx
Skrzynia
biegów

RPM VSS
FUELPW xx

ECT

IAC MAF

Szybki wpływ
SPARKADV
TP Efekt znaczący

Control Signals Efekt mały/nieznany


(z PCM)
Sygnał kluczowy
Sygnał użyteczny

Sygnały wejściowe z czujników TPCT


AGENT WIELU SYGNAŁÓW
Analiza różnych cech sygnałów z wielu czujników
IAC MAF RPM TP TP
Multiple Signal Multiple Signal Multiple Signal Multiple Signal Single Signal
Agent Agent Agent Agent Agent
MAF Fluctuation RPM Convexity Convexity
IAC XC DB33
MAF Max RPM Avg Max
IAC XC DB34
MAF WE DB25 RPM WE DB35
Min
MAF XC DB33
MAF Avg WA DB12
FUEL Fluctuation
MAF WA DB14 XC DB33
TP Max FUEL Min TP XC DB30
MAF WA DB25 WE DB12
FUEL Max TP XC DB25
MAF XC DB23
RPM Min FUEL Avg XC DB10
RPM Avg TPCT Avg
TP Concavity
RPM XC DB10 MAF Max TPCT XC DB30
TP Flucatuation
MAF Avg
TP WA DB15
IAC Max MAF WE DB24
TP WA DB25
IAC XC DB30
TP WA DB35
IAC XC DB34 SPARK Fluctuation
TP XC DB34
IAC XC DB35 SPARK Max

WSZYSTKIE CECHY OBLICZONE DLA POSZCZEGÓLNYCH ODCINKÓW


Min/Max/Avg: Parametry statystyczne oryginalnego sygnału
Convexity/Concavity: Miara krzywizny
Fluctuation: Miara odchyłki sygnału
WA Dbij: Średnia wartość falki dla falki bazowej DBi, współczynniki z falki j
WE Dbij: Energia falki dla falki bazowej DBi, współczynniki z falki j
XC Dbij: X-Centroid dla falki bazowej DBi, współczynniki z falki j
AGENT WIELU SYGNAŁÓW
Przypadek 2: nierówna praca na biegu jałowym
Przyczyna podstawowa: Niewłaściwy odczyt z czujnika TP. TPCT zmienia się i TP ≠ TPCT. Układ
regulacji silnika dostaje informację, że przepustnica jest częściowo otwarta : zła dostawa paliwa,
nierówna praca na biegu jałowym

• Agent pojedynczego sygnału TP nie wykrył


tego błędu
WYNIKI NAUKI ROZMYTEJ

– 250 odcinków uczących z 8 testów


– Wygenerowano 19 reguł rozmytych
Sygnał testowy

?: nieznany
X: zły
√: dobry

Avg Good Avg Bad Avg Distance Maximum Number of Percentage of


Wszystkie dane Belief Belief to Good Rules Cluster Size Clusters Signal Labeled Bad
o sygnale 4 (fuzzy terms) 4 4 4 4 4
0.611 1.0 972 19 1 100%
ADSAS: Narzędzie do interaktywnej i
automatycznej diagnostyki błędów
• Oprogramowanie do analizy sygnałów z
samochodu
– Dane o pracy samochodu są w formacie CSV
– Pokazuje sygnały oraz transformacje
– Generuje odcinki oraz cechy danych
– Generuje nowych agentów
– Uczy agentów
– Testuje zapisy z pracy samochodu
– Przechowuje i przeszukuje informacje o
poszczególnych przypadkach pracy
ADSAS: Główne okno programu
WNIOSKI

• ADSAS posiada potencjał do


– Rozwiązywania problemów przemysłowych
– Analizy sygnałów i inteligencji maszynowej
– Zastosowania w nauczaniu do
• Dyskretnego przetwarzania sygnałów
• Systemów inteligentnych

• Acknowledgment
– This work is support in part by a grant from NSF, a contract from Ford,
and a grant from CEEP
ROZPOZNAWANIE UCZUĆ
A Fuzzy System for Emotion Classification
based on the MPEG-4 facial definition
parameter set

•Nicolas Tsapatsoulis, Kostas Karpouzis,


George Stamou, Fred Piat and Stefanos Kollias

Image, Video and Multimedia Systems Laboratory


National Technical Univ. of Athens
DEFINICJA PROBLEMU

• Opisać archetypy emocji stosując FAP-y


(Facial Animation Parameters) naniesione na format
MPEG-4

• Przybliżać FAP-y przez punkty

• Połączyć koło emocji Whissel’a z systemem


rozmytym, aby rozszerzyć zakres
rozpoznawanych emocji
ANALIZA EMOCJI
Inżynierska i psychologiczna
• Inżynierowie koncentrują się na archetypach
emocji - zdziwienie, strach, radość, smutek,
wstręt, złość.
• Psychologowie badają interakcje emocji
– Rezultaty badań nie są łatwe do
zaimplementowania
– Można uzyskać pewne wskazówki
• Whissel sugeruje, że emocje tworzą punkty w
przestrzeni dwuwymiarowej
KOŁO EMOCJI Whissel’a

 Osie : pobudzenie (activation) – ocena (evaluation)


Pobudzenie: stopień wzbudzenia
Ocena : stopień zadowolenia
STRACH ZDZIWIENIE

Wesoły, radosny
ZŁOŚĆ RADOŚĆ

rozśmieszony
Agresywny
Pełen nadziei
spokojny
Miły zachwycony
Rozpaczliwy skłonny
WSTRĘT Pogardliwy NIECIERPLIWOŚĆ
ufny
zamyślony
posłuszny
SMUTEK Znudzony AKCEPTACJA
spokojny
Przygnębiony
Parametry twarzy (FAPs) i archetypy uczuć
Eyebrow - brew
Jaw – szczęka
Lip - warga
Squeeze – zmarszczenie, uścisk

Raise- podnieś

squeeze_l_eyebrow (+) squeeze_r_eyebrow(+)


lower_t_midlip (-) raise_b_midlip (+)
Anger raise_l_i_eyebrow (+) raise_r_i_eyebrow (+)
ZŁOŚĆ close_t_r_eyelid (-) close_t_l_eyelid (-)
close_b_r_eyelid (-) close_b_l_eyelid (-)

raise_l_i_eyebrow (+) raise_r_i_eyebrow (+)


close_t_l_eyelid (+) close_t_r_eyelid (+)
Sadness raise_l_m_eyebrow (-) raise_r_m_eyebrow (-)
SMUTEK raise_l_o_eyebrow (-) raise_r_o_eyebrow (-)
close_b_l_eyelid (+) close_b_r_eyelid (+)

raise_l_o_eyebrow (+)
raise_r_o_eyebrow (+)
raise_l_i_eyebrow (+)
raise_r_i_eyebrow (+)
Surprise raise_l_m_eyebrow (+)
raise_r_m_eyebrow(+)
ZDZIWIENIE squeeze_l_eyebrow (-)
squeeze_r_eyebrow (-)
open_jaw (+)
ANIMACJA TWARZY W MPEG-4

• Emocja jest reprezentowana przez FAP-y


(Facial Animation Parameters)
– Np. raise_l_o_eyebrow, raise_r_i_eyebrow, open_jaw
• Znormalizowane do standardowych odległości sztywnych
obszarów w twarzy np. lewego oka do prawego oka (ES0) lub
nosa do poziomu oczu (ENS0)
SYNTETYCZNE TWARZE W MPEG-4

• Zdefiniowane przez FDP-y (Face Definition Points)


Emocje wg Whissel’a

Tablica
Pobudzenie Ocena Pobudzenie Ocena
. .
Przestraszony Zły
Afraid 4.9 3.4 Angry 4.2 2.7
Wstydliwy,
2 Zachwycony
nieśmiały 2.7 Delighted 4.2 6.4
Bashful
Wstręt 5 Podniecony
Disgusted 3.2 Eager 5 5.1
Winny, zmieszany 4 Radosny
Guilty 1.1 Joyful 5.4 6.1
Cierpliwy 3.3 Smutny
Patient 3.8 Sad 3.8 2.4
Zaskoczony,
zdziwiony 6.5 5.2
Surprised
Parametry twarzy (FAPs) i archetypy uczuć
Cheek - policzek
Eyelid- powieka
Eyebrow - brew
Jaw – szczęka
Lip - warga
Squeeze – zmarszczenie, uścisk
close_t_l_eyelid (+) close_t_r_eyelid (+)
close_b_l_eyelid (+) close_b_r_eyelid (+) Raise- podnieś
Lift- podnieść
Radość stretch_l_cornerlip (+) stretch_r_cornerlip (+)
raise_l_m_eyebrow (+) raise_r_m_eyebrow(+)
Joy lift_l_cheek (+) lift_r_cheek (+)
lower_t_midlip (-) raise_b_midlip (-)
OR open_jaw (+)
close_t_l_eyelid (+) close_b_l_eyelid (+)
Wstręt close_t_r_eyelid (+) close_b_r_eyelid (+)
lower_t_midlip (-) open_jaw (+)
Disgust
squeeze_l_cornerlip (+) AND / OR squeeze_r_cornerlip (+)

raise_l_o_eyebrow (+) raise_r_o_eyebrow (+)


raise_l_m_eyebrow(+) raise_r_m_eyebrow (+)
raise_l_i_eyebrow (+) raise_r_I_eyebrow (+)
squeeze_l_eyebrow (+) squeeze_r_eyebrow(+)
Strach open_jaw (+) close_t_r_eyelid (-)
Fear OR close_t_l_eyelid (-) lower_t_midlip (-)

OR lower_t_midlip (+)
Detekcja punktów twarzy

• Automatyczna detekcja w obrazach, których


części twarzy są duże; półautomatyczna w
przeciwnym przypadku
• Detekcja oczu jest podstawą do detekcji
pozostałych punktów 2
5
3
1 6
9 13 4
7 ESo
8 11
10 12 14

ENSo
15

18
16 ENSo 17
ENSo ENSo

19
ENSo
“Hierarchical facial features localisation using a
morphological approach,” Raphael Villedieu,
Technical Report NTUA, June 2000
Obraz oryginalny
(wyodrębniono twarz) Kontury kropelki

Wykrycie oczu
(symetria, pozycja, obszar)

Wykrycie pionowych krawędzi Żłobienie


Oczy
Udoskonalenie (ramka + Wykrywanie cech
wykrycie cechy)

Znajdź ramki
(względem oczu)

Następna ramka Zlokalizowane cechy ramki


“Hierarchical facial features localisation using a
morphological approach,” Raphael Villedieu,
Technical Report NTUA, June 2000

Filtr Wybrane punkty


(najciemniejsze piksle) (ekstremum)
Cechy i terminy lingwistyczne

• Tablica jest używana do określenia ilości i rodzaju


terminu lingwistycznego przyporządkowanego do
danej cechy
– Przykład: termin lingwistyczny medium oraz high są
wystarczające do opisu cechy F11
1

0. 9

0. 8

0. 7

0. 6

0. 5

0. 4

0. 3

0. 2

0. 1

0
-600 -400 -200 0 200 400 600 800 1000 1200

Funkcje przynależności cechy F4


Fuzzyfikacja wektora wejściowego

• Dziedzina danej cechy jest ustalana na podstawie


parametrów statystycznych
– Przykład: rozsądnym zakresem wariancji cechy F5 jest
[m A5 − 3 ⋅ σ A5 mSu5 + 3 ⋅ σ Su5 ]
gdzie mA5, σA5 oraz mSu5, σSu5 są wartościami średnimi oraz odchyleniem
standardowym cechy F5 odpowiadającym terminom złość (A) oraz zdziwienie
(Su) odpowiednio (patrz tablica)

– Jednostronne cechy jak F11 to takie, których albo dolna albo


górna granica jest zerem
Struktura systemu rozmytego

• 15-członowy wektor odpowiadający FAP-om przedstawionym w tabeli.


• Wyjściem jest n-tka, gdzie n jest liczbą modelowanych emocji; wyjście
archetypu wyraża stopień przekonania, że emocja jest złością, smutkiem,
radością, wstrętem, strachem lub zdziwieniem
• Fuzzyfikcja : stosowana jest tabela (estymacja zakresu FAP-ów)
• Baza reguł : otrzymana ze studiów psychologicznych; używany jest
parametr pobudzenia Whissel’a; wyraża on wiedze a-priori o obiekcie.
Reguły IF-THEN skonstruowano heurystycznie z tabel 2 i 4
Reguły
Zakresy zdefiniowane
występowania Baza reguł przez
FAP-ów rozmytych użytkownika

Wektor cech
Emocje
WNIOSKOWANIE
FUZZYFIKACJA DEFUZZYFIKACJA
ROZMYTE
Rozpoznawanie szerszego zakresu
emocji
• Estymacja cech uczestniczących w danej emocji
• Modyfikacja funkcji przynależności cechy do
odpowiadającej nowej emocji
• Definicja sześciu generalnych kategorii odpowiadającym
archetypom emocji
– Przykład: Kategoria strach zawiera zarówno zmartwienie jak i
terror; ich modelowanie poprzez właściwe tłumaczenie pozycji
(współrzędnych) terminów lingwistycznych połączonych z
poszczególnymi cechami w dziedzinie (kole Whissel’a)
Modyfikacja funkcji przynależności z
użyciem parametru pobudzenie

• Niech wartości pobudzenie aY oraz aX odpowiadają


emocjom Y oraz X
– Reguła 1: Emocje tej samej kategorii zawierają tę samą
cechę Fi.
– Reguła 2: Niech µΧZi oraz µYZi będą funkcjami
przynależności terminu lingwistycznego Z odpowiadającego
Fi oraz połączonego z emocjami X oraz Y odpowiednio.
Jeżeli µΧZi ma środek w punkcie mXZi dziedziny to µYZi
powinno mieć środek w aY
mYZi = m XZi
aX
– Reguła 3: aY oraz aX są znanymi wartościami uzyskanymi z
badań Whissel’a
WYNIKI EKSPERYMENTALNE

Static Set (%)


PHYSTA (%)
100

90

80

70

60

50

40

30

20

10

0
Fear Disgust Joy Sadness Surprise Anger

Strach Wstręt Radość Smutek Zdziwienie Złość


WYNIKI EKSPERYMENTALNE

Rec. Rate (%)


80

70

60

50

40

30

20

10

0
Disdain Disgust Repulsion Delighted Eager Joy

Pogarda Wstręt Odraza Zachwyt Podniecenie Radość


POCIĄGI W JAPONII
ROZMYTE STEROWANIE POCIĄGIEM

• Metro w Sendai, Japonia stosuje


regulatory rozmyte (Serji Yasunobu z
Hitachi).
• Badania i rozwój trwały 8 lat, a układ
regulacji został uruchomiony w 1987 roku.
Układ regulacji
• Opiera się na regułach uzyskanych od
maszynistów w celu jak najlepszego
modelowania ludzkich decyzji

• Zadanie: Regulować prędkość na


zakrętach, przyspieszenie oraz
hamowanie.

• System długo nie był
perfekcyjny. Maszyniści
lepiej sterowali
pociągami, ponieważ
podejmowali decyzje w
oparciu o doświadczenie
oraz predykcję
• To doprowadziło do…
Wspomaganie decyzji: predykcyjna
regulacja rozmyta

• Może ocenić rezultaty decyzji oraz


określić, czy decyzja powinna być
podjęta
• Posiada model silnika oraz hamulców
służący do przewidywania następnego
stanu prędkości, punktu zatrzymania i
czasu jazdy
• Regulator wybiera najlepsze działanie w
oparciu o przewidywane stany

• Ruch metra w Sendai jest gładki
• Maszyniści mają problemy z
prześcignięciem układu regulacji w
dokładności zatrzymania oraz płynności
ruchu.
STEROWANIE
TURBINĄ PAROWĄ
3. Dane wejściowe D p
p [Mpa]
tn, pn, xn tp , pp Q
u
hz [m]
Pz [MW] P [MW]
Dw
t 3 , p3 t 2 , p2
Rp
Czynnik:
, pn, pn – ciśnienie w układzie Rn
z – temp. wody zasilającej υ1
υkp
w, tw – ciśn. i temp wody wtryskowej QPP2 QPP1 n
G
Powietrze υ2
t1 , p1
airz – temp. otoczenia QECO tz , pz
kp – nadmiar powietrza w komorze (kotle)
LUVO – nadmiar powietrza za LUVO Dp- Dw
Qkp υ3
Walczak
υairg
– stopień suchości za walczakiem

Qukp pz [Mpa]
Wydajność kotła QLUVO
λkp υad
p – strumień masowy pary z kotła
λw
υairz υw
Czy można zadać paliwo
strumień paliwa B ? Rg

Dp i B ?
Illustrations of Fuzzy Propositions –
Composition/Evaluation (Earl Cox)
Illustrations of Fuzzy Propositions –
Composition/Evaluation (from Earl Cox)
Illustrations of Fuzzy Propositions Decomposition
– Defuzzification/Action (from Earl Cox)
Defuzzification (from Earl Cox)
Z pamiętnika ...
operatora młyna cementowego
ROZMYTE STEROWANIE MŁYNEM CEMENTOWYM

Regulator rozmyty
-Poprzedniki
•BZ : temperatura w strefie spalania
•OX : tlen w gazach odlotowych
•BE : temperatura na końcu pieca

-Następniki
•CR : prędkość podajnika węgla
•DP : pozycja klapy gazów wylotowych
-27 reguł rozmytych, np.
• IF BZ is OK
and OX is low
and BE is low
THEN
CR is large and DP is large
Rozmyte inwestowanie na
giełdzie
PRZYKŁAD REGUŁY

IF różnica oprocentowania pomiędzy


USA i Europą is medium

AND
stopa wzrostu w USA is significantly
larger

THEN Euro € będzie kontynuowało


moderate decline względem dolara US$
ROZMYTY MODEL STÓP PROCENTOWYCH

µ
small medium large
1,0

0,8
IF różnica oprocentowania pomiędzy USA i
Europą is medium
AND stopa wzrostu w USA is significantly
larger
THEN Euro € będzie kontynuowało
moderate decline względem dolara US$
0,3

 0,9% i
0,4% USA- iEuropa
0,8%
ROZMYTA BAZA REGUŁ

 IF... AND...THEN...
IF... AND...THEN...
IF... AND...THEN...
IF... AND...THEN...
 IF... AND...THEN...
WYJŚCIE z
IF... AND...THEN...
URUCHOMIONYCH
 IF... AND...THEN... REGUŁ
IF... AND...THEN...
IF... AND...THEN...
IF... AND...THEN...
ROZMYTA NAUKA

(1) Adaptuj szerokość i środek reguły rozmytej


(2) Zapominaj o nieużywanych regułach
(3) Szukaj nowych reguł
(1)
(2)
w1 IF AND THEN
w2 IF AND THEN
w3 IF AND THEN
(3) w4 IF AND THEN
w5 IF AND THEN
w6 IF AND THEN
w7 IF AND THEN
Rozpoznawanie
zatoru płuc
Diagnosis of Pulmonary Embolism Using Fuzzy Inference System
Research Advisor: Dr. Gursel Serpen
Research Assistant: Vishwanth Acharya
University of Toledo
ZATOR PŁUC
Pulmonary Embolism (PE)

• Skrzep krwi oddziela się od Zator

źródła i staje się zatorem Płuco


w arterii
płucnej
• Blood clots break off from their source and become emboli.

• Zator przemieszcza się przez Serce Zator


Zator

serce do arterii płucnych przemieszcza


się ze stóp
• Emboli travel through the heart into the pulmonary do płuca

.
arteries

• Okludują (zamykają) arterie Skrzep w


żyle
nogi
w różnych częściach płuca Żyła

• They occlude the arteries to various anatomic regions of


the lung.

300,000 to 600,000 hospitalizacji oraz 50,000 zgonów rocznie z


powodu skrzepu [NIH Consensus Statement cited August 1999]
Grupy osób narażone na
podwyższone ryzyko zatoru płuc
• Pacjenci poddający się różnym typom operacji
chirurgicznych – ogólnym, urologicznym, neurochirurgii,
ginekologicznym

• Pacjenci z problemami ortopedycznymi oraz chorobami


chronicznymi
Różne kryteria diagnostyczne

• PIOPED - Prospective Investigation of


Pulmonary Embolism Diagnosis [1995].
• Kryteria Biello [1979].
• Analizy radiologów
Kryteria PIOPED
Wysokie prawdopodobieństwo Niskie prawdopodobieństwo
• >= 2 duże obszarowo defekty z • Wiele odpowiadających
perfuzją (SPD). defektów w obrazie V/Q.
• 1 duży SPD i >= 2 średnie SPD. • Corresponding V/Q defects and
CXR parenchymal opacity in
• >= 4 średnie SPD.
upper or middle lung zone.
Średnie prawdopodobieństwo • Odpowiadające defekty V/Q i
• 1 średnia lub < 2 duże SPD. duży wysięk opłucnej
• Odpowiadający defekt w • > 3 małe SPD.
obrazie V/Q i
Bardzo niskie
nieprzezroczystość CXR w
dolnej części płuc prawdopodobieństwo
• Pojedynczy średni defekt w • <= 3 małe SPD.
obrazie V/Q Normalne
• Odpowiadający defekt V/Q i • Brak defektów perfuzji oraz
mały wysięk opłucnej. zarysów pefuzji widocznych na
CXR
PRZETWARZANIE OBRAZÓW I FIS
(Fuzzy interface ssytem)

Dane z obrazu

Skany V/Q
Prześwietlenie
promieniami X Rozmywanie
GUI IAS Diagnoza
Baza reguł

Wejście Wyostrzanie
radiologa

Przetwarzanie obrazu Fuzzy Inference


System
FIS
Wejścia do systemu
diagnostycznego (według kryteriów PIOPED)

• Liczba perfuzji w większych obszarach


• Liczba perfuzji w pozostałych obszarach
• Odchylenia od normalnej wentylacji i
perfuzji
• Odchylenia od budowy klatki piersiowej
(promienie Roentgena)
• Obecność wysięku opłucnej
Wejścia do systemu
diagnostycznego (według kryteriów PIOPED)

Wt – waga, (wstępne obliczenia defektów perfuzji w obszarach)


Vqdef – odchyłki w obrazie przepłukiwania(perfuzji) i wentylacji
Cxrab – nienormalna budowa klatki piersiowej (prześwietlenie promieniami X)
Peff – obecność wysięku opłucnej
Funkcje przynależności sygnałów
wejściowych
Membership Function Plots

Weight

Membership Function Plots

Vqdef
Funkcje przynależności sygnałów
wejściowych
Membership Function Plots

Cxrab

Membership Function Plots

Peff
Baza reguł systemu diagnostycznego
PE (Modelowanie według kryteriów PIOPED)
Dia – diagnoza
IF (wt is HI) and (vqdef is CM) and (cxrab is NO) THEN (dia is HI)
IF (wt is IM) and (vqdef is CM) and (cxrab is NO) THEN (dia is IM) NO - normal
IF (vqdef is CM) and (cxrab is LL) THEN (dia is IM) VLO- very low
IF (vqdef is SMM) and (cxrab is NO) THEN (dia is IM) LO - low
IM - intermediate
IF (vqdef is CM) and (peff is LO) THEN (dia is IM)
HI - high
IF (vqdef is MM) and (cxrab is NO) THEN (dia is LO)
IF (vqdef is CM) and (cxrab is UML) THEN (dia is LO)
IF (vqdef is CM) and (peff is LAR) THEN (dia is LO)
IF (wt is LO) and (cxrab is NO) THEN (dia is LO)
IF (wt is VLO) and (cxrab is NO) THEN (dia is VLO)
IF (wt is ZE) and (vqdef is CM) and (cxrab is NO) and peff is ZE THEN (dia is NO)
IF (wt is HI) and (vqdef is UM) THEN (dia is HI) Wt – waga, (wstępne
IF (wt is HI) and (vqdef is SMM) THEN (dia is HI) obliczenia defektów perfuzji w
obszarach)
IF (wt is HI) and (vqdef is MM) THEN (dia is IM) Vqdef – odchyłki w obrazie
IF (wt is IM) and (vqdef is UM) THEN (dia is HI) przepłukiwania(perfuzji) i
IF (wt is IM) and (vqdef is SMM) THEN (dia is IM) wentylacji
Cxrab – nienormalna budowa
IF (wt is IM) and (vqdef is MM) THEN (dia is LO) klatki piersiowej
IF (wt is LO) and (vqdef is UM) THEN (dia is LO) (prześwietlenie promieniami
X)
Peff –wysięk opłucnej
Wyjścia z systemu rozmytego
(Zgodnie z kryteriami PIOPED)

Wyjście z modelu rozmytego jest diagnozą.


Stąd podzielono je na 5 klas. Funkcjami
przynależności są
• Normal. (0 do 14)
• Very Low. (14 do 37)
• Low. (37 do 58)
• Intermediate.(58 do 76)
• High (76 do 100)

Wyjście z modelu rozmytego jest wartością


ostrą i jest przekształcane do jednej z 5 klas
w zależności od zakresu wejścia.
Wyjścia z systemu rozmytego
(Zgodnie z kryteriami PIOPED)

Dia – Diagnoza, wyjście z modelu rozmytego


jest podzielone na 5 klas.
PRZETWARZANIE OBRAZÓW

AKWIZYCJA OBRAZU
•Akwizycja obrazu – obrazy są
pozyskiwane ze szpitali od pacjentów
cierpiących lub podejrzanych o zakrzep
Digitalizacja krwi

•Digitalizacja – uzyskany obraz jest


zamieniany na 24-bitową bitmapę, aby
ułatwić dalszą analizę
Normalizacja
•8-bitowa skala szarości
•Dostrojenie intensywności. •Normalizacją– obraz jest konwertowany
w 8-bitową skalę szarości i poprawiana
jest intensywność obrazu

•Wyjście – obraz po obróbce jest


wysyłany do Fuzzy Inference System w
WYJŚCIE
celu diagnozy.
Skany perfuzji (przepłukiwania)
• Dożylnie podawany jest
radioaktywny izotop Technet-
99m.
• Wykrywana jest blokada
przepływu krwi poprzez naczynia
w płucach
• Jeżeli naczynia są zablokowane
przez skrzepy wówczas do
danego obszaru wpływa
zredukowana ilość krwi lub nie
płynie wcale.
• Jeżeli występuje zator, to na
obrazie widoczny jest brak
izotopu Technet-99m w danym
obszarze.
Skany wentylacji płuc

• Do płuc wdychany jest gaz


radioaktywny
• To pokazuje rozkład dróg
powietrza
• Poprzez połączenie
informacji uzyskanej z obu
skanów można uzyskać
dokładniejszą diagnostykę
zatoru.
Poprawa jakości obrazu
• Dostrojenie intensywności w celu podniesienia średniej intensywności
piksla do 65% - 70%
• Nieliniowe odwzorowanie z wykorzystaniem s-owatej funkcji w celu
poprawy kontrastu obrazu

1 255 * m
255 * a
200 * a

127 * a

0 0 0

Image intensity Mapping function (m) Resulting Intensity


range (a <= 1)

Intensity mapping done during enhancement

Odwzorowanie = I(x,y) * a * m
Poprawa jakości obrazu

Przed normalizacją Po normalizacji


Poprawa jakości obrazu
Problemy

• Wiedza eksperta jest rozmyta, fakty i reguły


nie są absolutnie pewne lub spójne
• Obecność zakłóceń w skanowanych
obrazach V/Q (strzykawek, igły etc.).
• Zmiana rozmiaru płuc wraz ze zmianą
pacjenta
WYNIKI ROZPOZNANIA
Program komputerowy
5 oparty o logikę rozmytą
4.5 FIS
4 Radiologists
3.5 Radiolog
3
2.5
2
1.5
1
0.5
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Zapobieganie katastrofie lotniczej
Dziękuję za uwagę i
zainteresowanie

You might also like