FL-Wyklad II

Post on 07-Jun-2015

5.117 views 3 download

Transcript of FL-Wyklad II

© Dr inż. JANUSZ LICHOTA

PODSTAWY MECHATRONIKILogika rozmyta(Fuzzy logic)

Wydział Mechaniczno-Energetyczny

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

• 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

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

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

A = {x∈∈∈∈ U |||| x spełnia pewne warunki} np.

A = {x∈∈∈∈ U |||| x spełnia pewne warunki} 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

TEORIA ZBIORÓWFunkcja przynależności w logice ostrej

30 C Temperatura

GORĄCO

1

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

Jeżeli temperatura < 30 C, nie jest gorąco (0 lub false).

0

True

False

• Funkcja przynależności

µA (x)=1, gdy x ∈ A

µA (x)=0, gdy x ∉ A

• Rozróżnia dwie wartości true/ false, 1/0, nie ma żadnych pośrednich wartości

• PrzykładReguła:

Jeżeli temperatura jest większa niż 30 C, to jest gorąco, w przeciwnym przypadku nie jest.

Przypadki:– Temperatura = 40 C– Temperatura = 30.1 C– Temperatura = 29.9 C– Temperatura = 20 C

Nie gorąco

Nie gorąco

gorącogorąco

TEORIA ZBIORÓWLogika ostra

OPERACJE NA ZBIORACH

Suma zbiorów Iloczyn zbiorów

Zbiory równoważne

Zbiory równe

Podzbiór

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

Relacja refleksyjnaA jest w relacji z A

PrzechodniośćDwa zbiory mają tę samą relację do trzeciego

Zbiór pusty

Symetria-relacja pierwszego zbioru do drugiegoJest taka sama jak drugiego do pierwszego

Równoważność-relacja refleksyjna+symetria+przechodniość

OPERACJE NA ZBIORACHZbiory mają część wspólną

Przykład: U=zbiór wszystkich samochodów we Wrocławiu

A= {x∈ U | x ma 4 cylindry} B= {x∈ U | x ma 6 cylindrów}

Co sprawia, że samochód jest „polski”?

-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?

Silnik 4-cylindrowySilnik 6-cylindrowySilnik 8-cylindrowyInne

Samochodypolskie

Samochody z zagranicy

Logika ostra Logika rozmytaZbiór

ABCD

Zbiór

E

F

PolonezKaczorDąbPodrzędne

SamochódPtakDrzewo

PojazdZwierzęRoślinaPojęcie nadrzędne

OPERACJE NA ZBIORACHZbiory mają część wspólną

OPERACJE NA ZBIORACHMyś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

• Informacja– znaczenie

– Wiedza z doświadczenia

Niepewność– Warunki, w których istnieje możliwośćpopełnienia błędu

• Złożoność

OPERACJE NA ZBIORACHMyślenie ostre i nieostre, niepewność

Wiedza niepewna

Nie można zdecydować, czy rzecz jest prawdziwa czy

fałszywa.

Diana mogłaby mieć ponad 1.85 m wzrostu.

Wiedza nieostra

Występuje wtedy, gdy w zdaniu zastosowano rozmyte pojęcie

Diana jest duża.

OPERACJE NA ZBIORACHWiedza niepewna i nieostra

• Możliwość (zbiór rozmyty)– Stopień w jakim rzecz się zdarza

• Prawdopodobieństwo– Prawdopodobieństwo tego, czy zajdzie zdarzenie

Trucizna ?

OPERACJE NA ZBIORACHMożliwość i prawdopodobieństwo

OPERACJE NA ZBIORACHPomiar i niepewność

• Dokładność– Nieważne jak dokładnie mierzylibyśmy, zawsze będzie istniała niepewność pomiaru

– Część ułamkowe

Miara ?

• 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 ZBIORACHNieokreś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 ZBIORACHNieokreśloność (nierozstrzygalność)

OPERACJE NA ZBIORACHPo 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 ZBIORACHNiekompatybilność

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]

Zbiór rozmyty, EE={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”

samochód z zagranicy

samochód krajowy

FUNKCJE PRZYNALEŻNOŚCI

„Bliskie zera” „Prawdopodobnie NIE y”

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

180 cm 179 cm

wzrost

180160

Rozmyty1

wzrost

180

Ostry1

FUNKCJE PRZYNALEŻNOŚCI

Przynależność do zbioru osób wysokich

Przynależność do zbioru osób wysokich

Temperatura wysoka posiada różne znaczeniakontekstowe np. w przypadku gorączki i reaktorajądrowego.

FUNKCJE PRZYNALEŻNOŚCI

Zbiór ostry Zbiór rozmyty

FUNKCJE PRZYNALEŻNOŚCI

FUNKCJE PRZYNALEŻNOŚCIRozszerzenia 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

• 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

FORMALIZMDefinicje zbiorów rozmytych

• 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

Wtedy i tylko wtedy, gdy µA∩∩∩∩B(x) = min [µA(x), µB(x)] ∀ x∈U

• A zawiera B

A ⊃⊃⊃⊃ B

Wtedy i tylko wtedy, gdy µA(x) >= µB(x) ∀ x∈U

• 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

FORMALIZMOperacje rozmyte

Logika rozmyta jest uogólnieniemlogiki ostrej opartym na definicji funkcji przynależności

A B

A ∧∧∧∧ B A ∨∨∨∨ B ¬A

FORMALIZM Operacje na zbiorach

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

• 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ładA ∩ 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}

FORMALIZM Operacje na zbiorach

Not YoungA1

MidAgeA2

Not OldA3

WiekPrzy

należn

ość

0 803520 6045

A2 = A1 ∩ A3

• 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

FORMALIZMt-norma

• 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

FORMALIZMt-konorma

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

FORMALIZMZbiory rozmyte Mamdaniego

Regulator „PI”

PRZYKŁADsterowanie temperaturą w pomieszczeniu

PRZYKŁAD 1Zbiory 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 1Zbiory 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 1Rozmyte 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 1Negacja

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 1Koniunkcja

• 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) jestmin(mA(x), mB(x))

PRZYKŁAD 1Alternatywa

• 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) jestmax(mA(x), mB(x))

PRZYKŁAD 1Reguł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 1Wyostrzanie 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 1Wyostrzanie wyjścia

• Wykorzystamy tę rozmytą informację do obliczenia wyjścia z regulatora

• If HOT then ZMNIEJSZ DUŻO

• If WARM then ZMNIEJSZ TROCHĘ

• If COOL then ZWIĘKSZ TROCHĘ

• If COLD then ZWIĘKSZ DUŻO

PRZYKŁAD 1Defuzzyfikacja

• Znajdź środek ciężkości figury• Możliwe są również inne metody defuzzyfikacji np.

średnia wartość maksymalna

PRZYKŁAD 2Jego wysokość

Wzrost25 40 55

Mały Duży1

Średni

0.5

MF

Stopień

przynalezności

Wzrost

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

0

PRZYKŁAD 2Funkcja przynależności

180 cm 179 cm

PRZYKŁAD 3Dwa wejścia i jedno wyjście

• Dwa wejścia (x, y) i jedno wyjście (z)

• Funkcje przynależności:low(t) = 1 - ( t / 10 )

high(t) = t / 10

Low High

1

0tX=0.32 Y=0.61

0.32

0.68

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

Ostre wejścia

PRZYKŁAD 3Rozmywanie

• 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 3Baza reguł

• Reguła 1: low(x)=0.68, low(y)=0.39 => 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

„Siła” reguły

PRZYKŁAD 3Inferencja reguł, aktywność reguł

Low High1

0

t

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

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

0.61

0.39

PRZYKŁAD 3Agregacja reguł, połączenie aktywnych reguł

• Środek ciężkości

Low High1

0

0.61

0.39

tOstre wyjście

∫=

Max

Min

Max

Min

dttf

dtttf

C

)(

)(

Środek ciężkości figury geometryczcnej

PRZYKŁAD 3Defuzyfikacja

• 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 highAND pressure is slightly lowTHEN heat change should be slightly negative.

LOGIKA ROZMYTARegulator rozmyty

Obiekt

Defuzzifikacja(wyostrzanie)

Inferencja(oddziaływanie)

reguł

Fuzzifikacja(rozmywanie)

Baza reguł

Regulator rozmyty

Sygnał regulacyjny

Pomiar

LOGIKA ROZMYTARegulator rozmyty

• 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 ROZMYTARegulator 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 ROZMYTARegulator 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 ROZMYTARegulator 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 ROZMYTARegulator rozmyty - projekt

Wejście ostre

Wejście rozmyte

Wyjście rozmyte

Wyjście ostre

Rozmywanie

Obliczanie reguł

Defuzzyfikacja

Funkcje przynależności wejść

Reguły i ich inferencja

Wyjściowe funkcje przynależności

Output Membership Functions

LOGIKA ROZMYTADziałanie regulatora rozmytego

STEROWANIE ROZMYTEWENTYLACJĄ

Powietrze

Wymiennik

Woda grzewcza

Wentylator

Regulator temperatury

LOGIKA ROZMYTASterowanie wentylacją - baza reguł

zawór zamknięty

Temperatura powietrza

• Set cold {50, 0, 0}

• Set cool {65, 55, 45}

• Set just right {70, 65, 60}

• Set warm {85, 75, 65}

• Set hot {∞, 90, 80}

Prędkość wentylatora

• Set stop {0, 0, 0}

• Set slow {50, 30, 10}

• Set medium {60, 50, 40}

• Set fast {90, 70, 50}

• Set blast {∞, 100, 80}

LOGIKA ROZMYTASterowanie wentylacją - baza reguł

Temperatury w F

• IF Cold THEN Stop

• IF Cool THEN Slow

• IF OK THEN Medium

• IF Warm THEN Fast

• IF Hot THEN Blast

LOGIKA ROZMYTASterowanie wentylacją - baza reguł

Stop

Slow

Medium

Fast

B

last

0

10

20

30

40

50

60

70

80

90

100

0

1

45 50 55 60 65 70 75 80

0

Cold

Cool

85 90

Just

Right

Warm

Hot

if Coldthen Stop

IF CoolthenSlow

If Just Rightthen

Medium

If WarmthenFast

If HotthenBlast

LOGIKA ROZMYTASterowanie wentylacją – wejścia/wyjścia

•IF Cold then Stop

•If Cool then Slow

•If OK then Medium

•If Warm then Fast

•IF Hot then Blast

1

Stop

Slow

Medium

Fast

Blast

0

10

20

30

40

50

60

70

80

90

100

0

1

45 50 55 60 65 70 75 80

0

Cold

Cool

85 90

Just

Right

Warm

Hot

t

LOGIKA ROZMYTASterowanie wentylacją – wejścia/wyjścia

•IF Cold then Stop

•If Cool then Slow

•If OK then Medium

•If Warm then Fast

•IF Hot then Blast

STEROWANIE ROZMYTEI

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

Obiekt

dinyu

Klqr�x

obserwator

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

SPRZĘŻENIE ZWROTNE Z OBSERWATOREM STANU

0RegulatorProporcjonalny(wektor)

• Sygnał wyjściowy z regulatora jest funkcją sygnału wyjściowego z obiektu. Przykłady obejmują– Regulator PID

– Regulację adaptacyjną opartą o model (Model reference adaptive control - MRAC)

• MRAC potrafi zredukować wpływ zakłóceń, lecz nie dostarcza estymaty stanu

Badane możliwości regulacji

sKs

KKT D

IPuz ++=

m2 m1

x1, x3 = dx1/dt

x2, x4 = dx2/dt

u w

wejście u

wyjście y = x2 zakłócenie w

k

Schemat obiektu

PRZESTRZEŃ STANU UKŁADU STEROWANIA

w

m

um

x

x

x

x

mkmk

mkmk

x

x

x

x

+

+

−=

2

1

4

3

2

1

22

11

4

3

2

1

1

0

0

0

0

1

0

0

00

00

1000

0100

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 x2w 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ść

0 5 100

1

2

3

4

5

6

Time (second)

prędkośćm1 oraz m2

Pozycjam1 oraz m2

impuls wprawia wruch masę

m2

Sprężyna zwolniona

OBIEKT (masa-sprężyna-masa) BEZ REGULATORA

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

u

y

Rozmyty kompensator (regulator)

Rozmyty model sprężyny

Estymator długości sprężyny

ROZMYTY MODEL SPRĘŻYNY

• Wymaga estymaty wejściowej

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

– Kierunku ruchu sprężyny jest danego przezdL/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

L – zmiana długości sprężyny

ROZMYTY MODEL SPRĘŻYNYReguły

• IF L is zero AND dL/dt is medium ORlarge THEN tłum wibracje

• IF L is almost zero AND dL/dt is largeTHEN 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ń

-2 -1 0 1 2

-2

0

2

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

spring_length_estimate delta_spring_length_estimate

spring_state

ROZMYTY MODEL SPRĘŻYNYReguły – płaszczyzna wyjściowa

Stan sprężyny

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

REGULATOR ROZMYTYReguły

Rules to supress vibrations

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)

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)

Reguły do tłumienia oscylacji

Dodatkowe reguły do śledzenia wartości zadanej

u

y

Rozmyty kompensator (regulator)

Rozmyty model sprężyny

Estymator długości sprężyny

SYMULACJARedukcja drgań sprężyny

m1 positionm2 positionm1 velocitym2 velocity

0 5 10 15 20-0.5

0

0.5

1

1.5

Time(sec)

0 5 10 15 20-0.5

0

0.5

1

1.5

Time(sec)

m1 positionm2 positionm1 velocitym2 velocity

Regulator rozmyty Marrison and Stengel (#3)

0 5 10 15 20-0.5

0

0.5

1

1.5

2y

Time(sec)

Fuzzy Design A Design BMarrison Design #1 Design #3

Wyjście z obiektu y

0 5 10 15 20-1

-0.5

0

0.5

1u

Time(sec)

Fuzzy Design A Design BMarrison Design #1 Design #3

Wyjście z kompensatora u

SYMULACJARedukcja zakłócenia działającego na m2

0 5 10 15 20-0.5

0

0.5

1

1.5

2

Time(sec)

Fuzzy Design A Design BMarrison Design #1 Design #3

Wyjście z obiektu y

0 5 10 15 20-4

-3

-2

-1

0

1

2

Time(sec)

Fuzzy Design A Design BMarrison Design #1 Design #3

Wyjście z kompensatora u

SYMULACJAOdpowiedź skokowa - śledzenie

STEROWANIE ROBOTEM

WyostrzenieRozmycie Baza

reguł

Funkcje przynależności

Reguły rozmyte (IF ... THEN ...) Zmienne rozmyte Zmienne lingwistyczne

Wartośćrzeczywista

Wartość rzeczywista

ZASTOSOWANIE- Sterowanie robotemRegulator rozmyty

Użyte bloki w oprogramowaniu do tworzenia reguł Mamdaniego

Funkcja przynależności

Typowa reguła Mamdaniegoi

1 1 2 2IF is AND is THEN is , for 1, 2,...,i i ix A x A y B i l=

X (liczba rzeczywista)

Wartośćrozmyta

FuzzifierFuzzifier

Output Block

Output Block

Wartośćrozmyta

Y(Zbiór rozmyty)

AND/ORAND/ORWartościrozmyte

DOF

DefuzzifierDefuzzifier

Y1Y2

Yn…

Metoda defuzyfikacji

Wyjście ostre

Bloki logiczne

ZASTOSOWANIE- Sterowanie robotemOperatory rozmyte

IF theta is POSAND theta_dot is NEGTHEN force is NEG

NEGZERO

POS

Fuzzyfikacja(POS)

Fuzzyfikacja(POS)

AND

DefuzyfikacjaDefuzyfikacja

theta

theta_dot Fuzzyfikacja(NEG)

Fuzzyfikacja(NEG)

siłaBlok

wyjściowy

(NEG)

Blok wyjściowy

(NEG)

Center of Gravity

Reguła #2

Reguła #3

siła

siła

Wyjścieu

Detekcja zmiany

ZASTOSOWANIE- Sterowanie robotemStruktura regulatora rozmytego

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

Kąt czujnika i w

v

Regulator rozmyty

θ2

θ1

ZASTOSOWANIE- Sterowanie robotemUnikanie przeszkody

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

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

Close Near Far Neg Zero Pos

Zero VSlow Slow Fast Neg SNeg Zero SPos Pos

Funkcje przynależności:

ZASTOSOWANIE- Sterowanie robotemUnikanie przeszkody

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"

Reguły dla i - tego czujnika :

ZASTOSOWANIE- Sterowanie robotemUnikanie przeszkody

θ2

θ1

Czas symulacjiCzas symulacji

Aktyw

ność proce

sora

Regulator rozmyty reagujący na zdarzenia

Zwykły regulator rozmyty

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 robotemUnikanie przeszkody

Zadanie wymagające współpracy: pchanie piłki

ZASTOSOWANIE- Sterowanie robotemWspółpraca robotów

Założenia

− System nadrzędny posiada informacje o pozycji 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 robotamiuzyskuje 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.

Regionpopychania

rArB

G��

B��

rw��

lw��

fr=0

fr<0fr>0

fl<0

fl=0fl>0

A

Problem najpierw zostanie rozwiązany dla jednego robota, a następnie rozszerzony na pozostałe.

Robot znajduje się w pewnej pozycji początkowej. Jego zadaniem jest przepchnięcie piłki do zadanej nowej pozycji. Robot powinien ustawić się we właściwej pozycji do pchania piłki.

Pozycja docelowa G pokazana na rysunku może być obliczona następująco:

po osiągnięciu punktu A robot powoli popycha piłkę, robot powinien zawsze pozostawać po stronie 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.

ZASTOSOWANIE- Sterowanie robotemWspółpraca robotów

Punkt docelowyObiekt

Robot

f – wskaźnik obszaruw – wektor normalny do prostej

rB

G��

B��

rw��

lw��

Regiony popychania

ZASTOSOWANIE- Sterowanie robotemWspółpraca robotów

Oba roboty ustawiają się względem siebie symetrycznie względem prostej G-A

A

“in”? komenda

“out”! cel_osiągnięty

“in”? object_reached

“in”? obiekt_zgubiony

“out”? obiekt_dotknięty

“in”? Robot_gotowy

“in”? Poza_regionem_pchania

“out”? Obiekt _osiągnął_cel

Sygnał wejściowy“in”

Sygnał wyjściowy“out”

ZASTOSOWANIE- Sterowanie robotemWspółpraca robotów

Jeżeli jeden robot nie jest w stanie wypełnić zadania ze względu na wagę piłki, to system nadrzędny może wykryć ten stan poprzez ocenę pracy robota (prędkość popychania) i wezwać drugiego robota.

Stany pracy pojedynczego robota

· Standby: stan początkowy. Robot czeka na sygnał z systemu nadrzędnego

· Path Planning: robot przesuwa się w stronę celu omijając przeszkody oraz inne roboty. Po osiągnięciu celustan zmienia się na Standby lub Placement, w zależności od komendy z systemu nadrzędnego (komenda pushing, to stan Placement, w przeciwnym przypadku stan Standby.

· Placement: stan określa, że robot pozycjonuje się wewnątrz regionu popychania dotykając obiektu.

· Ready_to_push: robot jet gotowy do popychania obiektu czekając na drugiego robota, aby dotknął obiekt i 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 robotemWspółpraca robotówWynik symulacji

ZASTOSOWANIE- Sterowanie robotemWspółpraca robotówWynik symulacji

Opisany algorytm zaimplementowano w robociePioneer 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 robotemWyniki rzeczywistego eksperymentu

ZASTOSOWANIE- Sterowanie robotemWyniki eksperymentu

Parkowanie samochodu

•• KoKońńcowa pozycja i kierunek nie scowa pozycja i kierunek nie sąą precyzyjnieprecyzyjnieokreokreśślone lone

•• Zadanie Zadanie łłatwe dla czatwe dla człłowiekaowieka•• TTrudnorudnośćść rozwirozwiąązania wzrasta wraz z precyzjzania wzrasta wraz z precyzjąą•• W koW końńcu mocu możże bye byćć niemoniemożżliwe do rozwiliwe do rozwiąązaniazania

przez czprzez człłowiekaowieka•• Problem Problem parkowanie jest parkowanie jest łłatwy do rozwiatwy do rozwiąązania,zania,

gdy nie jest sformugdy nie jest sformułłowany precyzyjnieowany precyzyjnie

ZASTOSOWANIEParkowanie samochodu

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

• Przykład selekcji cech :– Agent wielu sygnałów RPM, algorytm selekcji cech zredukował zbiór 220

możliwych cech do 11

Oryginalna przestrzeńcech

Wstępna selekcja

1/2 Przestrzeń cech

Sekwencyjny algorytm selekcji wstecznej

Częściowo zoptymalizowany zbiór cech

Najlepsza prędkość klasyfikacji cech?

Klasyfikatorbayesowski

Zbiór cech mały/dobry?

Wyrzuć

1

cechę

Zoptymalizowany zbiór cech (koniec)

True

Zastąp cechęWyrzuć cechę

False

False True

Cechy

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

» Średnia wartość „dobrego” sygnału

» Średnia odległość do dobrej reguły

» Maksymalny rozmiar złego klastra

» Liczba złych klastrów

» Procent złych sygnałów

AGENCI POJEDYNCZEGO SYGNAŁUAnaliza różnych cech sygnałów z jednego czujnika

ECTSingle Signal

Agent

ConvexityMaxAvg

WA DB12WA DB31XC DB13XC DB20

IACSingle Signal

Agent

MaxAvg

XC DB00WA DB13WA DB14Concavity

IATSingle Signal

Agent

AvgWE DB34XC DB31XC DB32XC DB33

MAFSingle Signal

Agent

ConvexityFluctuation

MinMaxAvg

WA DB15WE DB14WE DB25XC DB12XC DB13XC DB23XC DB30

RPMSingle Signal

Agent

MaxFluctuationXC DB22XC DB33ConcavityWA DB12WA DB15WA DB23WE DB31WE DB32WE DB35

TPSingle Signal

Agent

ConvexityMaxMin

WA DB12XC DB33WE DB12XC DB10

WSZYSTKIE CECHY OBLICZONE DLA POSZCZEGÓLNYCH ODCINKÓWMin/Max/Avg: Parametry statystyczne oryginalnego sygnałuConvexity/Concavity: Miara krzywiznyFluctuation: Miara odchyłki sygnałuWA Dbij: Średnia wartość falki dla falki bazowej DBi, współczynniki z falki jWE Dbij: Energia falki dla falki bazowej DBi, współczynniki z falki jXC Dbij: X-Centroid dla falki bazowej DBi, współczynniki z falki j

AGENCI POJEDYNCZEGO SYGNAŁUPrzypadek 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 RPMKrok 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 RPMKrok 2: Wyodrębnianie i selekcja cech

State Max Fluctu-ation

XCDB22

XCDB33

Conca-vity

WADB12

WADB15

WADB23

WEDB31

WEDB31

WEDB35

3 (fuzzy terms) 3 3 3 3 3 3 3 3 3 3 3

Wyodrębniono ponad 60 cech

Selekcja cech (ograniczenie liczby do 12)

Dane o cechach po obliczeniach w ADSAS dla danego sygnału

WAHANIA OBROTÓW RPMKrok 3: Nauka rozmyta / inferencja

Sygnał testowy

?: nieznanyX: zły√√√√: dobry

– 600 odcinków uczących z 12 testów

– Wygenerowano 382 reguły rozmyte

WAHANIA OBROTÓW RPMKrok 4: Analiza całego sygnału

Avg GoodBelief

Avg BadBelief

Avg Distance*to Good Rules

MaximumCluster Size

Number ofClusters

Percentage ofSignal Labeled Bad

4 (fuzzy terms) 4 4 4 4 40.203 0.154 0.0717 3 3 25%

Inferencja rozmyta (wnioskowanie)

(System uczony na podstawie wyboru dobrych i złych sygnałów)

Ten sygnał jest oznaczony jako Bad

Rzeczywiste wartościtego sygnału

Każdy sygnał jest przeliczany z

zastosowaniem jednej lub kilku kolumn tablicy

inferencji

* Odległości do reguł są mierzone w przestrzeni Euklidesowskiej od danych do środka reguły.

WIEDZA INŻYNIERSKA O INTERAKCJI SYGNAŁÓW

Control Signals(z PCM)

FUELPW xx

IAC

SPARKADV

RPM

MAF

TP

VSS

O2S xxLOADSkrzyniabiegów

ECT

Efekt znaczący

Szybki wpływ

Efekt mały/nieznany

Sygnał kluczowy

Sygnał użyteczny

TPCTSygnały wejściowe z czujników

AGENT WIELU SYGNAŁÓWAnaliza różnych cech sygnałów z wielu czujników

RPM ConvexityRPM Avg

RPM WE DB35

FUEL FluctuationFUEL MinFUEL MaxFUEL Avg

MAF MaxMAF Avg

MAF WE DB24

SPARK FluctuationSPARK Max

IACMultiple Signal

Agent

IAC XC DB33IAC XC DB34

MAF AvgMAF WA DB14MAF WA DB25MAF XC DB23

TP ConcavityTP FlucatuationTP WA DB15TP WA DB25TP WA DB35TP XC DB34

MAFMultiple Signal

Agent

MAF FluctuationMAF Max

MAF WE DB25MAF XC DB33

TP Max

RPM MinRPM Avg

RPM XC DB10

IAC MaxIAC XC DB30IAC XC DB34IAC XC DB35

RPMMultiple Signal

Agent

TPMultiple Signal

Agent

TP XC DB30TP XC DB25

TPCT AvgTPCT XC DB30

WSZYSTKIE CECHY OBLICZONE DLA POSZCZEGÓLNYCH ODCINKÓWMin/Max/Avg: Parametry statystyczne oryginalnego sygnałuConvexity/Concavity: Miara krzywiznyFluctuation: Miara odchyłki sygnałuWA Dbij: Średnia wartość falki dla falki bazowej DBi, współczynniki z falki jWE Dbij: Energia falki dla falki bazowej DBi, współczynniki z falki jXC Dbij: X-Centroid dla falki bazowej DBi, współczynniki z falki j

TPSingle Signal

Agent

ConvexityMaxMin

WA DB12XC DB33WE DB12XC DB10

AGENT WIELU SYGNAŁÓWPrzypadek 2: nierówna praca na biegu jałowym

• Agent pojedynczego sygnału TP nie wykrył tego błędu

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

WYNIKI NAUKI ROZMYTEJ

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

– Wygenerowano 19 reguł rozmytych

?: nieznanyX: zły√√√√: dobry

Sygnał testowy

Avg GoodBelief

Avg BadBelief

Avg Distanceto Good Rules

MaximumCluster Size

Number ofClusters

Percentage ofSignal Labeled Bad

4 (fuzzy terms) 4 4 4 4 40.611 1.0 972 19 1 100%

Wszystkie dane o sygnale

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 A Fuzzy System for Emotion Classification based on the MPEGbased on the MPEG--4 facial definition 4 facial definition

parameter setparameter 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 formatMPEG-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

ZŁOŚĆ

WSTRĘT

SMUTEK

Przygnębiony

Znudzony

Pogardliwy

Rozpaczliwy

spokojny

Miłyskłonny

ufny

zamyślonyposłuszny

zachwycony

NIECIERPLIWOŚĆ

ZDZIWIENIE

RADOŚĆ

AKCEPTACJAspokojny

rozśmieszony

Pełen nadziei

Wesoły, radosny

Agresywny

Parametry twarzy (FAPs) i archetypy uczuć

Anger

squeeze_l_eyebrow (+)lower_t_midlip (-)raise_l_i_eyebrow (+)close_t_r_eyelid (-)close_b_r_eyelid (-)

squeeze_r_eyebrow(+)raise_b_midlip (+)raise_r_i_eyebrow (+)close_t_l_eyelid (-)close_b_l_eyelid (-)

Sadness

raise_l_i_eyebrow (+)close_t_l_eyelid (+) raise_l_m_eyebrow (-)raise_l_o_eyebrow (-)close_b_l_eyelid (+)

raise_r_i_eyebrow (+) close_t_r_eyelid (+)raise_r_m_eyebrow (-)raise_r_o_eyebrow (-)close_b_r_eyelid (+)

Surprise

raise_l_o_eyebrow (+)raise_l_i_eyebrow (+)raise_l_m_eyebrow (+)squeeze_l_eyebrow (-)open_jaw (+)

raise_r_o_eyebrow (+)raise_r_i_eyebrow (+)raise_r_m_eyebrow(+)squeeze_r_eyebrow (-)

ZŁOŚĆ

SMUTEK

ZDZIWIENIE

Eyebrow - brewJaw – szczękaLip - wargaSqueeze – zmarszczenie, uścisk

Raise- podnieś

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) lubnosa do poziomu oczu (ENS0)

SYNTETYCZNE TWARZE W MPEG-4

• Zdefiniowane przez FDP-y (Face Definition Points)

Emocje wg Whissel’a

Pobudzenie

.Ocena Pobudzenie

.Ocena

PrzestraszonyAfraid 4.9 3.4 Zły

Angry 4.2 2.7Wstydliwy, nieśmiałyBashful

22.7 Zachwycony

Delighted 4.2 6.4

WstrętDisgusted

53.2 Podniecony

Eager 5 5.1

Winny, zmieszanyGuilty

41.1 Radosny

Joyful 5.4 6.1

CierpliwyPatient

3.33.8 Smutny

Sad 3.8 2.4Zaskoczony,zdziwionySurprised

6.5 5.2

Tablica

RadośćJoy

close_t_l_eyelid (+)close_b_l_eyelid (+)stretch_l_cornerlip (+)raise_l_m_eyebrow (+)

close_t_r_eyelid (+)close_b_r_eyelid (+)stretch_r_cornerlip (+)raise_r_m_eyebrow(+)

lift_l_cheek (+)lower_t_midlip (-)

OR open_jaw (+)

lift_r_cheek (+)raise_b_midlip (-)

WstrętDisgust

close_t_l_eyelid (+)close_t_r_eyelid (+)lower_t_midlip (-)

close_b_l_eyelid (+)close_b_r_eyelid (+)open_jaw (+)

squeeze_l_cornerlip (+) AND / OR squeeze_r_cornerlip (+)

StrachFear

raise_l_o_eyebrow (+)raise_l_m_eyebrow(+)raise_l_i_eyebrow (+)squeeze_l_eyebrow (+)open_jaw (+)

raise_r_o_eyebrow (+)raise_r_m_eyebrow (+)raise_r_I_eyebrow (+)squeeze_r_eyebrow(+)close_t_r_eyelid (-)

OR close_t_l_eyelid (-) lower_t_midlip (-)

OR lower_t_midlip (+)

Cheek - policzekEyelid- powiekaEyebrow - brewJaw – szczękaLip - wargaSqueeze – zmarszczenie, uścisk

Raise- podnieśLift- podnieść

Parametry twarzy (FAPs) i archetypy uczuć

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

ENSo

ESo

1

2

3 4

5

6

7 8

9

1011

12

13

14

15

16ENSo

17ENSo

18ENSo

19ENSo

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

Wykrycie pionowych krawędzi

Obraz oryginalny(wyodrębniono twarz) Kontury kropelki

Żłobienie

Oczy

ramkiZlokalizowane cechyNastępna ramka

Wykrywanie cechUdoskonalenie (ramka +wykrycie cechy)

Wykrycie oczu (symetria, pozycja, obszar)

Znajdź ramki(względem oczu)

Filtr (najciemniejsze piksle)

Wybrane punkty(ekstremum)

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

Cechy i terminy lingwistyczne

• Tablica jest używana do określenia ilości i rodzajuterminu lingwistycznego przyporządkowanego do danej cechy– Przykład: termin lingwistyczny medium oraz high są

wystarczające do opisu cechy F11

-600 -400 -200 0 200 400 600 800 1000 12000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

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

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

[ ]5555 3 3 SuSuAA mm σσ ⋅+⋅−

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ściearchetypu 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

FUZZYFIKACJAWNIOSKOWANIE

ROZMYTE DEFUZZYFIKACJA

Zakresy występowaniaFAP-ów

Baza reguł rozmytych

Reguły zdefiniowane przez użytkownika

EmocjeWektor cech

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 µYZipowinno mieć środek w

– Reguła 3: aY oraz aX są znanymi wartościami uzyskanymi z badań Whissel’a

XZiX

YYZi m

a

am =

0

10

20

30

40

50

60

70

80

90

100

Fear Disgust Joy Sadness Surprise Anger

Static Set (%)

PHYSTA (%)

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

WYNIKI EKSPERYMENTALNE

WYNIKI EKSPERYMENTALNE

0

10

20

30

40

50

60

70

80

Disdain Disgust Repulsion Delighted Eager Joy

Rec. Rate (%)

Pogarda Wstręt Odraza Zachwyt Podniecenie Radość

POCIĄGI W JAPONII

ROZMYTE STEROWANIE POCIĄGIEM

• Metro w Sendai, Japonia stosuje regulatory rozmyte (Serji Yasunobu zHitachi).

• 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Ą

Czynnik:, pn, pn – ciśnienie w układzie

z – temp. wody zasilającej

w, tw – ciśn. i temp wody wtryskowej

Powietrze

airz – temp. otoczenia

kp – nadmiar powietrza w komorze (kotle)

LUVO – nadmiar powietrza za LUVO

Walczak– stopień suchości za walczakiem

Wydajność kotła

p – strumień masowy pary z kotła

Czy można zadaćstrumień paliwa B ?

Dp i B ?

3. Dane wejściowe

tz , pz

t1 , p1

tn, pn, xn tp , pp

QPP2

t2 , p2t3 , p3

paliwo

υυυυkp

υυυυad

υυυυ1

υυυυ2

υυυυ3

υυυυwυυυυairz

υυυυairg

Dw

Dp- Dw

λλλλkpλλλλw

Dp

QPP1

QECO

QLUVO

Qu

Qukp

Qkp

G

Rp

Rn

Pz [MW]

n

Rg

p [Mpa]

P [MW]

pz [Mpa]

hz [m]

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

THENCR 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łomoderate decline względem dolara US$

small large

ROZMYTY MODEL STÓP PROCENTOWYCH

iUSA- iEuropa

µ

1,0medium

0,8

0,3

0,8%0,4% 0,9%

IF różnica oprocentowania pomiędzy USA i Europą is medium

AND stopa wzrostu w USA is significantly larger

THEN Euro € będzie kontynuowałomoderate decline względem dolara US$

ROZMYTA BAZA REGUŁ

IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...

WYJŚCIE z URUCHOMIONYCHREGUŁ

IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...IF... AND...THEN...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ł

w7

w6

w5

w4

w3

w2

w1

THENANDIF

THENANDIF

THENANDIF

THENANDIF

THENANDIF

THENANDIF

THENANDIF

(1)(2)

(3)

Rozpoznawaniezatoru płuc

Diagnosis of Pulmonary Embolism Using Fuzzy Inference System

Research Advisor: Dr. Gursel Serpen

Research Assistant: Vishwanth Acharya

University of Toledo

ZATOR PŁUCPulmonary Embolism (PE)

• Skrzep krwi oddziela się od źródła i staje się zatorem

• Blood clots break off from their source and become emboli.

• Zator przemieszcza się przez serce do arterii płucnych

• Emboli travel through the heart into the pulmonary

arteries.

• Okludują (zamykają) arterie w różnych częściach płuca

• 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]

Zator w arterii płucnejPłuco

SerceZator przemieszcza się ze stópdo płuca

Skrzep w żylenogiŻyła

Zator

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• >= 2 duże obszarowo defekty z

perfuzją (SPD).

• 1 duży SPD i >= 2 średnie SPD.

• >= 4 średnie SPD.

Średnie prawdopodobieństwo• 1 średnia lub < 2 duże SPD.

• Odpowiadający defekt w obrazie V/Q i nieprzezroczystość CXR w dolnej części płuc

• Pojedynczy średni defekt w obrazie V/Q

• Odpowiadający defekt V/Q i mały wysięk opłucnej.

Niskie prawdopodobieństwo• Wiele odpowiadających

defektów w obrazie V/Q.

• Corresponding V/Q defects and

CXR parenchymal opacity in

upper or middle lung zone.

• Odpowiadające defekty V/Q i duży wysięk opłucnej

• > 3 małe SPD.

Bardzo niskie prawdopodobieństwo

• <= 3 małe SPD.

Normalne• Brak defektów perfuzji oraz

zarysów pefuzji widocznych na CXR

PRZETWARZANIE OBRAZÓW I FIS(Fuzzy interface ssytem)

Rozmywanie

Baza reguł

Wyostrzanie

GUI IAS

Przetwarzanie obrazu Fuzzy Inference SystemFIS

Skany V/Q Prześwietlenie promieniami X

Diagnoza

Wejścieradiologa

Dane z obrazu

• 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)

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

Weight

Membership Function Plots

Membership Function Plots

Vqdef

Funkcje przynależności sygnałów wejściowych

Cxrab

Membership Function Plots

Membership Function Plots

Peff

Baza reguł systemu diagnostycznego PE (Modelowanie według kryteriów PIOPED)

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)IF (vqdef is CM) and (cxrab is LL) THEN (dia is IM)IF (vqdef is SMM) and (cxrab is NO) THEN (dia is IM)IF (vqdef is CM) and (peff is LO) THEN (dia is IM)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)IF (wt is HI) and (vqdef is SMM) THEN (dia is HI)IF (wt is HI) and (vqdef is MM) THEN (dia is IM)IF (wt is IM) and (vqdef is UM) THEN (dia is HI)IF (wt is IM) and (vqdef is SMM) THEN (dia is IM)IF (wt is IM) and (vqdef is MM) THEN (dia is LO)IF (wt is LO) and (vqdef is UM) THEN (dia is LO)

Dia – diagnoza

NO - normalVLO- very lowLO - low IM - intermediateHI - high

Wt – waga, (wstępne obliczenia defektów perfuzji w obszarach)Vqdef – odchyłki w obrazie przepłukiwania(perfuzji) i wentylacjiCxrab – nienormalna budowa klatki piersiowej (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

Digitalizacja

WYJŚCIE

AKWIZYCJA OBRAZU

Normalizacja•8-bitowa skala szarości•Dostrojenie intensywności.

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

•Digitalizacja – uzyskany obraz jest zamieniany na 24-bitową bitmapę, aby ułatwić dalszą analizę

•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 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

Odwzorowanie = I(x,y) * a * m

0

255 * a

127 * a

0

1

0

255 * m

200 * a

Mapping function (m)Image intensity range (a <= 1)

Resulting Intensity

Intensity mapping done during enhancement

Poprawa jakości obrazu

Przed normalizacją Po normalizacji

Poprawa jakości obrazuProblemy

• 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

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

1 2 3 4 5 6 7 8 9 10 11 12 13 14

FISRadiologists

Program komputerowyoparty o logikę rozmytą

Radiolog

Zapobieganie katastrofie lotniczej

Dziękuję za uwagę i zainteresowanie