neizrazito upravljanje helikopterom malih dimenzija

78
I SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA DIPLOMSKI RAD br. 1688 NEIZRAZITO UPRAVLJANJE HELIKOPTEROM MALIH DIMENZIJA Ivan Mesaroš Zagreb, srpanj 2009.

Upload: ivan-mesaros

Post on 28-Mar-2015

789 views

Category:

Documents


7 download

TRANSCRIPT

 

I  

SVEUČILIŠTE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

DIPLOMSKI RAD br. 1688

NEIZRAZITO UPRAVLJANJE HELIKOPTEROM MALIH DIMENZIJA

Ivan Mesaroš

Zagreb, srpanj 2009.

 

II  

 

III  

Zahvaljujem mentoru Prof.dr.sc. Stjepanu Bogdanu na pomoći i razumijevanju, asistentici

Maji Vargi i ostalim djelatnicima Laboratorija za robotiku i inteligentno upravljanje na

korisnim savjetima koji su bili od velike pomoći tijekom izvedbe praktičnog dijela

diplomskog rada, te obitelji na podršci koju su mi pružali tijekom studija.

 

IV  

SADRŽAJ

1.  UVOD ............................................................................................................................................. 1 

2.  NEIZRAZITO UPRAVLJANJE ..................................................................................................... 3 

2.1. Struktura fuzzy regulatora ........................................................................................................... 3 

2.2. Neizraziti skupovi ....................................................................................................................... 4 

2.3.  Neizrazita pravila ........................................................................................................................ 5 

2.4. Neizrazito odlučivanje ................................................................................................................ 6 

3.  SINTEZA ALGORITMA UPRAVLJANJA .................................................................................. 8 

3.1. Matematički model helikoptera malih dimenzija ........................................................................ 9 

3.2. Struktura regulatora i zahtjevi upravljanja ................................................................................ 12 

3.3. Regulator visine ........................................................................................................................ 13 

3.4. Regulator kuta  ....................................................................................................................... 15 

3.5. Regulator kuta  ....................................................................................................................... 17 

3.6. Regulator kuta  ....................................................................................................................... 19 

3.7. Regulator pomaka u smjeru x osi .............................................................................................. 20 

3.8. Regulator pomaka u smjeru y osi .............................................................................................. 22 

4.  PRIMJENA ALGORITMA UPRAVLJANJA NA NELINEARNOM MODELU HELIKOPTERA ................................................................................................................................... 24 

4.1. Testiranje sustava regulacije visine ........................................................................................... 24 

4.2. Testiranje sustava regulacije kuta  ......................................................................................... 25 

4.3. Testiranje sustava regulacije kuta  .......................................................................................... 28 

4.4. Testiranje sustava regulacije kuta  ......................................................................................... 30 

4.5. Testiranje sustava regulacije pomaka u smjeru x osi ................................................................ 32 

4.6. Testiranje sustava regulacije pomaka u smjeru y osi ................................................................ 34 

4.7. Testiranje sustava regulacije na zadanoj putanji u prostoru ...................................................... 36 

5.  IMPLEMENTACIJA UPRAVLJAČKOG ALGORITMA .......................................................... 40 

5.1. Stvarni objekt upravljanja- helikopter Ikarus Eco Piccolo V2 .................................................. 40 

5.2. Sklopovska realizacija sustava upravljanja ............................................................................... 41 

5.2.1. Servo motori ....................................................................................................................... 42 

5.2.2. Pogonski motori ................................................................................................................. 43 

5.2.3. Elektronički sustav Piccoboard plus .................................................................................. 43 

5.2.4. Ahrs senzor ........................................................................................................................ 44 

5.2.5. Gumstix Verdex pro XL6P ................................................................................................ 45 

 

V  

5.2.6. Robostix ............................................................................................................................. 46 

5.3.  Struktura regulacijskog kruga .................................................................................................. 47 

5.4. Moguća proširenja sustava ....................................................................................................... 48 

5.5. Programska podrška sustava .................................................................................................... 49 

5.5.1. Gumstix algoritam ............................................................................................................. 49 

5.5.2. Robostix algoritam ............................................................................................................. 50 

5.5.3. Windows aplikacija ............................................................................................................ 51 

6.  KARAKTERISTIKE REALIZIRANOG SUSTAVA UPRAVLJANJA ..................................... 53 

6.1. Šum mjerenja ............................................................................................................................ 53 

6.2. Testiranje upravljanja u stvarnim uvjetima ............................................................................... 54 

7.  ZAKLJUČAK ............................................................................................................................... 57 

LITERATURA ..................................................................................................................................... 59 

SAŽETAK ............................................................................................................................................ 61 

ABSTRACT .......................................................................................................................................... 62 

ŽIVOTOPIS .......................................................................................................................................... 63 

Prilog A ................................................................................................................................................. 64 

Prilog B ................................................................................................................................................. 68 

Prilog C ................................................................................................................................................. 71 

 

 

1  

1. UVOD

Helikopter je letjelica teža od zraka koja uzgon i porivnu silu stvara preko jednog ili više

horizontalnih rotora koji mogu imati dva ili više krakova (lopatica). Prve poznate letjelice

koje lete na tom principu razvijene su u Kini u 4. stoljeću prije Krista kao dječja igračka

napravljena od bambusa (slika 1.1).

Slika 1.1 Igračka helikoptera izrađena od bambusa

1480. godine Leonardo da Vinci nacrtao je dizajn letećeg stroja za vertikalno polijetanje

koji se može opisati kao leteći vijak na ručni pogon (slika 1.2). U daljnjim stoljećima mnogi

su konstruktori eksperimentirali s mogućnostima vertikalnog leta, ali prve upotrebljive

letjelice nastale su dvadesetih godina prošlog stoljeća. Danas helikopteri imaju važnu ulogu

u zračnom prometu, a glavne prednosti u odnosu na zrakoplove su mogućnost vertikalnog

uzlijetanja, mala površina pri slijetanja i uzlijetanju, lebdjenje i gibanje u svim smjerovima.

Nedostaci helikoptera u odnosu na avione su mala nosivost, mala brzina i velika potrošnja

goriva [1]. Helikopteri se stoga najčešće koriste za prijevoz putnika na manjim

udaljenostima, u akcijama spašavanja, nadzora i borbenim akcijama.

 

2  

Slika 1.2 Da Vincijev leteći vijak

Razvojem tehnologije omogućen je razvoj bespilotnih letjelica, odnosno robotskih letjelica

koje samostalno obavljaju određene zadaće. Robotske letjelice još su u fazi razvoja, ali neke

od zadaća koje bi takvi sustavi mogli obavljati su: nadzor granica, detekcija požara, nadzor

prometa, inspekcija električnih vodova, zaprašivanje usjeva ili borbena djelovanja [2]. Ovaj

diplomski rad dio je projekta razvoja autonomne helikopterske letjelice. Kada govorimo o

bespilotnim helikopterskim letjelicama glavna obilježja su nelinearnost, nestabilnost,

multivarijabilnost i sprega. Kako bismo uspješno upravljali takvim sustavima potrebno je

imati precizne senzore i brze i kvalitetne algoritme upravljanja. Cilj ovog diplomskog rada

jest razvoj upravljačkog algoritma temeljenog na neizrazitom upravljanju i projektiranje

sustava regulacije modela helikoptera. U drugom poglavlju rada ukratko je opisan princip

projektiranja i rada neizrazitih regulatora. U trećem poglavlju provedena je sinteza

upravljanja, odnosno razvijeni su regulatori orijentacije i pozicije helikoptera. U četvrtom

poglavlju razvijeni algoritmi testirani su na nelinearnom modelu helikoptera u Matlabu.

Opis sustava regulacije i povezivanje određenih komponenata sustava dano je petim

poglavljem, dok su u šestom poglavlju dani rezultati testiranja upravljanja na stvarnom

sustavu.

 

3  

2. NEIZRAZITO UPRAVLJANJE

Neizrazito upravljanje temelji se na neizrazitoj logici. Za razliku od klasične logike u kojoj su

ograničenja točno poznata i sve je jasno definirano, neizrazita logika unosi dozu

nepouzdanosti. Takav princip omogućava nam sintezu upravljačkih algoritama koji nisu

strogo matematički određeni. Neizrazito (eng. fuzzy) upravljanje temelji se na poznavanju

ponašanja procesa i načina na koji upravljačke veličine utječu na pojedine parametre procesa.

Temeljem znanja o procesu i iskustva u vođenju procesa izvode se skupovi i pravila na

temelju kojih fuzzy mehanizam određuje upravljačke akcije. Upravljanje procesom

temeljeno na fuzzy regulatorima vrlo je slično upravljanju operatora procesom. Naime

operator u pravilu ne poznaje matematički model procesa kojim upravlja, ali zna kako ga

kontrolirati, koje su tipične vrijednosti procesa i kako riješiti pojedine poremećaje. Neizraziti

regulator preuzima znanja operatora i primjenjuje ih na temelju vrijednosti procesa, dakle

radi isto što i operator samo brže. Procesni parametri na temelju kojih regulator donosi

odluku, te upravljačke veličine podijeljeni su na neizrazite skupove, koji su međusobno

povezani neizrazitim pravilima. Neizrazito upravljanje koristimo kada nam matematički

model objekta upravljanja nije dostupan ili je toliko složen da je projektiranje analitičkim

postupcima prekomplicirano. Ukoliko je model procesa izrazito nelinearan ili se parametri

procesa mijenjaju brzo i značajno, tada također ovakav pristup upravljanja pojednostavljuje

sintezu.

2.1. Struktura fuzzy regulatora

Osnovna struktura fuzzy regulatora dana je slikom 2.1. Četiri funkcije opisuju rad regulatora:

prvi korak jest pretvorba vrijednosti iz binarnog u neizraziti oblik (eng. fuzzification),

odnosno stvarne vrijednosti (napon, brzina, udaljenost, ...) pretvaraju se u fuzzy skupove te se

određuju pripadnosti pojedinim skupovima. Zatim se na temelju neizrazitih pravila provodi

neizrazito odlučivanje kojim dolazimo do neizrazite vrijednosti izlaza. Konačno je potrebno

napraviti pretvorbu neizrazite vrijednosti izlaza u binarnu (eng. defuzzification) koja se dalje

dovodi aktuatorima.

 

4  

Slika 2.1 Struktura neizrazitog regulatora

Neizraziti regulatori strukturno se razlikuju po broju fuzzy skupova kojima je opisano

područje vrijednosti, broju fuzzy pravila i mehanizmu neizrazitog odlučivanja. Najveći

utjecaj na ponašanje regulatora imaju neizrazita pravila, dok broj skupova ili način

proračunavanja izlaza ima manji utjecaj [3].

2.2. Neizraziti skupovi 

Ulazne i upravljačke veličine fuzzy regulatora predstavljene su fuzzy skupovima. Fuzzy

skupovi za razliku od klasičnih omogućavaju fleksibilniji opis pripadnosti određene

vrijednosti nekom skupu. Naime kod klasičnih skupova neka vrijednost mogla se naći ili

unutar ili izvan skupa, dok neizraziti skupovi dopuštaju različite stupnjeve pripadnosti skupu.

Time omogućavamo da se neka vrijednost istovremeno nalazi u više skupova, a na taj način

primjenjuje više pravila i dobije kvalitetnije upravljanje.

I dok klasični skupovi redovito imaju pravokutni oblik, funkcije pripadnosti neizrazitih

skupova mogu poprimiti oblik trokuta, trapeza, Gaussove krivulje, zvona i ostalih oblika koji

 

5  

dopuštaju da stupanj pripadnosti skupu bude manji od 1 (Slika 2.2).

Slika 2.2 Najčešće korištene funkcije pripadnosti: 1) trokut, 2) trapez, 3) gauss, 4) zvono

Još jedno korisno svojstvo neizrazitih regulatora je mogućnost da neizrazitim skupovima

pridijelimo jezične varijable. Na taj način možemo pojednostaviti ponašanje sustava

upravljanja i jednostavnije odrediti pravila upravljanja [3].

2.3.  Neizrazita pravila 

Najvažniji i najutjecajniji dio sinteze neizrazitog regulatora jest određivanje pravila. Pravila

povezuju ulazne neizrazite skupove regulatora sa izlaznim. Znanje i iskustvo o kontroliranju

procesa zapisano je u pravilima, te stoga možemo reći da skup pravila predstavlja

inteligenciju regulatora. Neizrazita pravila imaju vrlo jednostavan „ako-onda“ oblik što

omogućava da se postupci operatora vrlo efikasno pretvore u algoritam pogodan za

realizaciju na digitalnom regulatoru. Pri stvaranju skupa neizrazitih pravila potrebno je

zadovoljiti uvijete konzistentnosti, kontinuiranosti i kompletnosti kako bi se dobio što

kvalitetniji mehanizam upravljanja. Da bi skup neizrazitih pravila bio konzistentan

zabranjeno je jednakim ulaznim skupovima pridruživati različite izlazne skupove. Svojstvo

kontinuiranosti zadovoljeno je ukoliko su dva susjedna ulazna skupa pridružena susjednim

skupovima izlaza, dok je svojstvo kompletnosti zadovoljeno ako je svim postojećim

kombinacijama ulaznih skupova pridružen neki izlazni skup [3].

 

6  

2.4. Neizrazito odlučivanje

Neizrazito odlučivanje je postupak kojim se na temelju ulaznih fuzzy vrijednosti, odnosno

pripadnosti pojedinom fuzzy skupu, i neizrazitih pravila određuje izlazna fuzzy vrijednost.

Prvi korak jest određivanje fuzzy relacije na temelju fuzzy propozicija. Ukoliko su fuzzy

relacije višedimenzionalne, odnosno više ulaza djeluje na izlaznu veličinu, korištenjem T-

normi dolazimo do zajedničke funkcije pripadnosti koju koristimo u daljnjem postupku

odlučivanja. Najčešće korištene T-norme su min i produkt norma, odnosno ukoliko jedan

ulaz ima stupanj pripadnosti nekom skupu jednak X a drugi ulaz stupanj pripadnosti Y tada

će stupanj pripadnosti relacije biti min(X,Y) ili X*Y. S dobivenim stupnjem pripadnosti

provodi se postupak implikacije kojim se oblik izlaznog skupa prilagođava pripadnostima

ulaznih skupova. Implikacija može biti min ili produkt a primjer obje dan je slikama 2.3 i 2.4.

Slika 2.3 Primjer produkt implikacije

Slika 2.4 Primjer min implikacije

Postupak implikacije se provodi za sve kombinacije pravila. Nakon provedene implikacije

slijedi agregacija koja iz više izlaznih fuzzy skupova stvara jedinstveni fuzzy skup.

Agregacija može biti max (kada se uzimaju maksimalni stupnjevi pripadnosti skupu na

određenoj vrijednosti) i sum (kada se na određenoj vrijednosti zbrajaju pripadnosti

 

7  

skupovima). Nakon agregacije potrebno je još provesti pretvorbu iz fuzzy u binarnu

vrijednost, postupak se može provesti na dva načina: COA i COG metodom [3]. Primjer

neizrazitog odlučivanja s min implikacijom i max agregacijom dan je slikom 2.5.

Slika 2.5 Grafička interpretacija neizrazitog odlučivanja s min implikacijom i max

agregacijom

 

8  

3. SINTEZA ALGORITMA UPRAVLJANJA

Sintezu neizrazitih regulatora provesti ćemo temeljem osnovnih znanja o letu i upravljanju

helikoptera. Helikopter za kojega je potrebno izvesti upravljanje ima 6 stupnjeva slobode, što

znači da posjeduje mogućnost gibanja gore-dolje, naprijed-nazad, lijevo-desno, te promjene

orijentacije za kutove roll, pitch i yaw (Slika 3.1). Gibanje omogućuju glavni i repni rotor, te

slijedni motori. Zadatak glavnog rotora jest vertikalno gibanje helikoptera,dok repni rotor ima

dominantni utjecaj na zakretanje helikoptera oko vertikalne osi. Glavni rotor ima dvije glavne

lopatice i dvije pomoćne, čije je upravljanje realizirano po Hillerovom principu [4]. Slijedni

motori zakretanjem pomoćnih lopatica silu uzgona raspoređuju u željenom smjeru čime se

postiže nagib helikoptera i gibanje u smjeru x i y osi. Više o dinamici helikoptera otkriva

postojeći nelinearni matematički model.

Slika 3.1 Skica helikoptera malih dimenzija [5]

 

9  

3.1. Matematički model helikoptera malih dimenzija

Nelinearni matematički model otkriva nam ulaze i izlaze promatranog procesa (Slika 3.2).

Ulazi u proces su napon glavnog rotora UR, napon repnog rotora Ur, nagibi lopatica glavnog

rotora i u smjeru x i y osi helikoptera. Izlazi procesa su pomak u smjeru x, y i z osi, te

nagibi tijela helikoptera oko osi (kutovi , i ) [6].

Slika 3.2 Pojednostavljena shema nelinearnog modela helikoptera

Potrebno je napomenuti kako pojedini ulazi djeluju na više izlaza, tako zakreti lopatica za

kutove i osim zakreta tijela helikoptera oko osi x i y za kutove i djeluju na pomak u

smjeru x i y osi. To znači da primjerice neće biti moguće istovremeno napraviti praćenje

reference položaja u x smjeru i nagiba oko y osi. Drugi problem koji se javlja je utjecaj

sprege [7], odnosno promjena ulaza koji dominantno utječe na određeni izlaz u manjoj mjeri

utječe i na neki drugi izlaz. Na slici 3.4 nalazi se shematski prikaz djelovanja ulaza na izlaze,

i kao što se može vidjeti sprega nastaje promjenom dvije ulazne varijable: napona glavnog i

repnog rotora. Tako promjena napona glavnog rotora dominantno djeluje na promjenu visine

a sprežno na sve ostale izlazne veličine, dok promjena napona repnog rotora dominantno

psi

theta

fi

x

z

y

U_r

Betha

Alpha

U_R UR

alpha

betha

Ur

x

y

z

f i

theta

psi

Proces

 

10  

djeluje na zakret oko z osi helikoptera,ali sprežno i na zakret kuta . Ova pojava je neželjena,

no može se kompenzirati uvođenjem rasprezanja. Simulacijama na matematičkom modelu

pokazalo se da su svi utjecaji sprege na izlazne veličine mali osim utjecaja promjene napona

glavnog rotora na zakret oko z osi. Ovu spregu možemo objasniti kao reakciju na gibanje

glavnog rotora pri čemu se tijelo helikoptera počinje gibati u suprotnom smjeru oko svoje osi

(Slika 3.3) [8]. Utjecaj sprege poništit ćemo dovođenjem prikladnog napona na repni rotor,

odnosno u neizraziti regulator zakreta tijela helikoptera oko vertikalne osi ugraditi ćemo

znanja o obrtnom momentu i njegovom poništavanju.

Slika 3.3 Sprežni utjecaj pri vrtnji glavnog rotora

 

11  

+

+

+

+

+

ϕRG

βϕG

ΘRG

ΘrG

ΘαG

ψRG

ψrG

RxG

xG β

RyG

yGα

RzG

RU

β

rU

α

ϕ

θ

ψ

x

y

z

 

Slika 3.4 Pojednostavljeni prikaz prijenosnih funkcija procesa

 

 

 

 

12  

3.2. Struktura regulatora i zahtjevi upravljanja

Projektiranjem neizrazitog regulatora potrebno je dobiti upravljanje koje točno i brzo prati

reference sustava, te dobro kompenzira poremećaje. Za upravljanje 6 izlaznih veličina

potrebno je projektirati 6 regulatora. Regulator visine, te regulatori kutova zakreta tijela

helikoptera biti će realizirani tako da upravljačka veličina odgovara ulazu u proces. Kod

regulacije položajem u smjeru x i y osi morati ćemo se koristiti principom kaskadne

regulacije [9], odnosno upravljačka veličina tih regulatora biti će referentna vrijednost

unutarnjih regulacijskih krugova zakreta tijela helikoptera oko x i y osi. Razlog tome je

korištenje jednakog procesnog ulaza za dobivanje različitih procesnih izlaza.

Slika 3.5 Strukturna shema sustava regulacije

Ovakva struktura regulacije pred projektanta postavlja dodatni zahtjev, kako regulacija

vanjskog kruga ovisi o regulaciji unutarnjeg radi dobivanja kvalitetne regulacije vanjskog

kruga potrebno načiniti vrlo brzu regulaciju unutarnjeg kruga. Pojednostavljeni prikaz

UR

epsi

UR

vz

ez

ey

vy

ex

vx

z_ref

y_ref

x_ref

psi_ref

6.12

napon odrzavanja orijentacije pri lebdenju

7.66

napon lebdenja

beta theta

Proces

alf a f i

Proces

Ur psi

Proces

URz

v z

Proces

thetax

v x

Proces

f iy

v y

Proces

FLC z

FLC y

FLC x FLC theta

FLC psi

FLC fi

[UR]

[UR]

 

13  

strukture sustava regulacije dan je slikom 3.5. Što se strukture regulatora tiče potrebno je

naglasiti da regulatori u postupku odlučivanja, odnosno kalkulacije izlaza, koriste min T-

normu, min implikaciju i max agregaciju. U nastavku je dan detaljniji opis svakog

regulacijskog kruga. U prilogu C dana je simulacijska shema sustava upravljanja.

3.3. Regulator visine

Regulacija visine izvedena je upotrebom neizrazitog regulatora s dva ulaza i jednim izlazom.

Ulazi regulatora su regulacijsko odstupanje visine i brzina gibanja helikoptera u smjeru z osi,

dok je upravljačka veličina napon glavnog motora. Pri sintezi regulatora pretpostavljeno je da

promjene visine neće biti veće od 5 m, a testiranjem modela određena je i granica brzine

gibanja u smjeru z osi koja iznosi 5 m/s. Izlaz iz regulatora odgovara naponu koji se

pridodaje naponu od 7.66 V a odgovara vrijednosti koja helikopter održava u stanju

lebdjenja. Kako je maksimalni napon ograničen na vrijednost od 12 V izlaz regulatora može

poprimiti vrijednosti od -4 do 4 V. Ukoliko su vrijednosti izlaza veće od nule doći će do

uzdizanja, a ako su manje od nule do spuštanja helikoptera. Pojednostavljena strukturna

shema sustava upravljanja visinom dana je slikom 3.6, dok je slikom 3.7 dana struktura fuzzy

regulatora.

Slika 3.6 Struktura sustava upravljanja visinom

UR

vz

ez

z_ref

7.66

napon lebdenja

URz

v z

Proces FLC z

[UR]

 

14  

Slika 3.7 Struktura neizrazitog regulatora visine

Na temelju navedenih ograničenja ulaza i izlaza regulatora možemo pristupiti formiranju

fuzzy skupova. Područje vrijednosti podijeljeno je na 5 skupova kod oba ulaza i izlaza (Slike

3.8 i 3.9), raspored te oblik kod ulaznih skupova jednak je, dok su izlazni skupovi različitog

oblika i rasporeda kako bi se postigao efekt naglašenijih stanja izlaza.

Slika 3.8 Ulazni fuzzy skupovi regulatora visine

Slika 3.9 Izlazni fuzzy skup regulatora visine

 

15  

Neizraziti regulator visine je kompletan te posjeduje 25 pravila. Pri izboru pravila poseban

naglasak dan je na dobivanje odziva bez nadvišenja zbog izbjegavanja sudara pri slijetanju.

Pravila se mogu opisati sa sljedeće 4 osnovne relacije:

- Ako je helikopter daleko od cilja onda povećaj napon na izlazu

- Ako je helikopter blizu cilja onda smanji napon na izlazu

- Ako se helikopter približava cilju nekom brzinom onda dodatno smanji napon na

izlazu ovisno o vrijednosti brzine (kočenje)

- Ako je helikopter postigao željeni cilj onda izlaz postavi na 0

Detaljniji prikaz jezičnih varijabli i opis pravila nalazi se u prilogu A.

3.4. Regulator kuta

Neizraziti regulator koji kontrolira zakret helikoptera oko vertikalne osi prima dvije ulazne

veličine i daje jednu upravljačku veličinu. Ulazi regulatora su odstupanje kuta od

referentne vrijednosti i napon na izlazu iz regulatora visine, dok je izlaz iz regulatora napon

koji se pridodaje naponu repnog motora od 6.12 V. Ovaj napon osigurava kompenzaciju

rotacije helikoptera oko vertikalne osi uslijed lebdenja helikoptera, povećanjem ili

smanjivanjem tog napona dolazi do zakretanja oko vertikalne osi. Pojednostavljena

strukturna shema sustava upravljanja kutom dana je slikom 3.10, dok je slikom 3.11 dana

struktura fuzzy regulatora.

Slika 3.10 Struktura sustava upravljanja kutom

UR

epsi

psi_ref

6.12

napon odrzavanja orijentacije pri lebdenju

Ur psi

Proces FLC psi[UR]

 

16  

Slika 3.11 Struktura neizrazitog regulatora kuta

Kako je i najavljeno ovaj regulator ima ugrađena znanja o rasprezanju, odnosno znanja koja

smanjuju rotaciju helikoptera oko z osi uslijed vrtnje glavnog rotora, stoga se kao jedan od

ulaza koristi vrijednost napona na glavnom motoru koji je proporcionalan momentu rotora.

Slika 3.12 Ulazni fuzzy skupovi regulatora kuta

Slika 3.13 Izlazni fuzzy skupovi regulatora kuta

 

17  

Pretpostavljene izmjene kuta su između -180 i 180 , naponi izlaza iz regulatora visine

između -5 i 5 V, a izlaz iz regulatora je u rasponu od -5.9 i 5.9 V. Temeljem ovih vrijednosti

ulaza i izlaza formirani su i neizraziti skupovi prikazani slikama 3.12 i 3.13 . Područje

vrijednosti ulaza koje odgovara regulacijskom odstupanju kuta podijeljeno je na 9 fuzzy

skupova, pri čemu treba naglasiti da su skupovi gušći u području od 15 do 15 jer se u

tom području mijenjaju kutovi uslijed gibanja rotora pa je tim skupovima vrijednosti

pridodana posebna pažnja. Područje vrijednosti drugog ulaza podijeljeno je na 5 trokutastih

fuzzy skupova, dok je područje izlaznih vrijednosti dano sa 7 fuzzy skupova.

Neizraziti regulator posjeduje 45 pravila. U pravilima se znanje o spregi koristi kako bi se

sprežni utjecaj smanjio, ali i iskoristio kada je to moguće. Na primjer ukoliko istovremeno s

povećanjem visine želimo načiniti i rotaciju oko vertikalne osi tada se umjesto promjene

napona na repnom rotoru može iskoristiti samorotacija, naravno uz pretpostavku da je smjer

željenog zakreta jednak. U prilogu A detaljnije su opisana pravila regulatora, no osnovna

ideja je sljedeća:

- Ako je regulacijsko odstupanje veliko onda postavi veliki izlazni napon

- Ako je regulacijsko odstupanje malo onda postavi mali izlazni napon

- Ako je izlaz regulatora visine različit od 0 onda izlaznom naponu pridodaj

odgovarajuću vrijednost

- Ako pri promjeni kuta dolazi i do promjene visine onda napon izlaza prilagodi

vodeći računa o sprežnom djelovanju

- Ako su oba ulaza jednaka 0 onda i napon izlaza postavi na 0

3.5. Regulator kuta

Regulacijski krug po kutu ujedno je i unutarnji krug regulacije pomaka u smjeru y osi.

Stoga je vrlo važno pri projektiranju uzeti u obzir odziv ovog regulacijskog kruga kako bi

kvaliteta regulacije nadređenog regulacijskog kruga bila bolja. Pojednostavljena shema

regulacijskog kruga dana je slikom 3.14, dok je struktura regulatora dana slikom 3.15.

Neizraziti regulator ima jedan ulaz i jedan izlaz. Ulaz u regulator je razlika referentne i

stvarne vrijednosti kuta , dok je izlaz kut zakreta lopatica rotora .

 

18  

Slika 3.14 Strukturna shema upravljanja kutom

Slika 3.15 Struktura regulatora kuta

Pri sintezi regulatora pretpostavljeno je da se tijelo helikoptera neće zakretati za više od 15

te je stoga i ulaz ograničen na vrijednosti između 15 i 15 . Temeljem iskustva izlazu će

biti pridijeljene vrijednosti zakreta servo motora od 14 do 14 [6]. Fuzzy skupovi ulaza i

izlaza prikazani su slikom 3.16, a kako se može vidjeti i ulaz i izlaz podijeljeni su na 5 fuzzy

skupova. Raspored i oblik fuzzy skupova otkriva ideju regulatora, što brže dovesti sustav u

stacionarno stanje na način da se što veći prostor vrijednosti ulaza definira kao veliko

odstupanje, a izlazni skupovi poprimaju što veće vrijednosti, čime se postiže forsiranje.

Slika 3.16 Fuzzy skupovi ulaza i izlaza regulatora kuta

fi_ref

alf a f i

Proces FLC fi

 

19  

Neizraziti regulator kuta zbog jednog ulaza i malog broja fuzzy skupova ima samo 5

neizrazitih pravila. Pravila su kontinuirana i mogu se objasniti na sljedeći način:

- Ako je regulacijsko odstupanje veliko onda upotrijebi veći kut zakreta servo

motora

- Ako je regulacijsko odstupanje malo onda upotrijebi manji kut zakreta servo

motora

- Ako je regulacijsko odstupanje nula onda servo motor zadrži u neutralnom

položaju

3.6. Regulator kuta

Za regulaciju kuta vrijede ista svojstva kao i kod regulacije kuta . Naime također se radi o

regulacijskom krugu koji može raditi zasebno ili kao podređeni krug regulacije pomaka u

smjeru x osi, pa je osnovni zahtjev na regulacijski krug brzina odziva. Struktura regulatora

jednaka je prethodnom regulatoru (Slika 3.17 i 3.18), a prve razlike se pojavljuju tek kod

rasporeda i oblika fuzzy skupova ulaza i izlaza.

Slika 3.17 Strukturna shema upravljanja kutom

Slika 3.18 Struktura regulatora kuta

Kako se iz slike 3.19 vidi skupovi su prirodnijeg oblika i razmještaja, a ukoliko se u obzir

uzme da su pravila za oba regulatora jednaka tada možemo zaključiti da je forsiranje procesa

manje izraženo, razlog tome je brža dinamika procesa.

theta_ref

beta theta

Proces FLC theta

 

20  

Slika 3.19 Fuzzy skupovi ulaza i izlaza regulatora kuta

3.7. Regulator pomaka u smjeru x osi

Upravljanje pomakom u smjeru x osi izvedeno je regulacijskim krugom koji osim procesa

ima i podređeni regulacijski krug upravljanja kutom (Slika 3.20). Neizraziti regulator ima

dva ulaza i jedan izlaz (Slika 3.21). Ulazi u regulator su regulacijsko odstupanje od

referentnog položaja i promjena odstupanja položaja što je ujedno i brzina gibanja helikoptera

u smjeru x osi. Izlaz iz regulatora jest referenca podređenom regulacijskom krugu kuta .

Slika 3.20 Struktura upravljanja pomakom u smjeru x osi

Slika 3.21 Neizraziti regulator pomaka u smjeru x osi

ex

vxx_refbeta theta

Proces

thetax

v x

Proces

FLC x FLC theta

 

21  

Područje vrijednosti ulaza podijeljeno je na fuzzy skupove prikazane slikom 3.22, a izlaza

slikom 3.23. Regulator je projektiran za promjene položaja do 5 m i za brzine do 2 m/s, dok

izlaz regulatora poprima vrijednosti reference kuta od 10 do 10 .

Slika 3.22 Ulazni fuzzy skupovi regulatora pomaka u smjeru x osi

Slika 3.23 Izlazni fuzzy skupovi regulatora pomaka u smjeru x osi

Područje vrijednosti ulaza i izlaza podijeljeno je na 5 fuzzy skupova. Raspored fuzzy skupova

ulaza je odabran tako da što veće područje vrijednosti poprimi velike vrijednosti izlaza čime

se dobiva na brzini odziva, no s druge strane se želi što veće područje vrijednosti brzina

pridružiti skupu velike brzine te na taj način spriječiti velika nadvišenja. Svih 25 pravila

regulatora dana su u prilogu A, a osnovna ideja jednaka je onoj regulatora visine dakle:

- Ako je helikopter daleko od cilja onda povećaj izlaznu veličinu

- Ako je helikopter blizu cilja onda smanji izlaznu veličinu

- Ako se helikopter približava cilju nekom brzinom onda prilagodi izlaznu veličinu

ovisno o vrijednosti brzine (kočenje)

- Ako je helikopter postigao željeni cilj onda izlaz postavi na 0

 

22  

3.8. Regulator pomaka u smjeru y osi

Struktura i ideja regulacije pozicije u smjeru y osi slična je prethodnom regulacijskom

sustavu. Struktura upravljanja dana je slikom 3.24, a struktura regulatora s 2 ulaza i 1 izlazom

slikom 3.25. Kao i kod prethodnog regulatora ulazi su odstupanje stvarnog od referentnog

položaja i brzina gibanja objekta u smjeru y osi. Brzina je ograničena na vrijednost od 1 m/s,

promjena položaja na 5 m, a izlaz iz regulatora na vrijednosti reference od 10 do

10 .

Slika 3.24 Struktura upravljanja pomakom u smjeru y osi

Slika 3.25 Neizraziti regulator pomaka u smjeru y osi

Fuzzy skupovi ulaza dani su slikom 3.26, a izlaza slikom 3.27. Ukoliko se bolje pogleda

raspored skupova jednak je onome kod prethodnog regulatora, a budući da se radi o

jednakom principu upravljanja i pravila su ostala jednaka, odnosno princip je isti:

- Ako je helikopter daleko od cilja onda povećaj izlaznu veličinu

- Ako je helikopter blizu cilja onda smanji izlaznu veličinu

- Ako se helikopter približava cilju nekom brzinom onda prilagodi izlaznu veličinu

ovisno o vrijednosti brzine (kočenje)

- Ako je helikopter postigao željeni cilj onda izlaz postavi na 0

ey

vyy_ref

alf a f i

Proces

f iy

v y

ProcesFLC y FLC fi

 

23  

Slika 3.26 Ulazni fuzzy skupovi regulatora pomaka u smjeru y osi

Slika 3.27 Izlazni fuzzy skupovi regulatora pomaka u smjeru y osi

 

24  

4. PRIMJENA ALGORITMA UPRAVLJANJA NA NELINEARNOM MODELU

HELIKOPTERA

Na nelinearnom modelu u Simulinku testirati će se rad projektiranih regulatora. Na odzivima

koji će biti prikazani analizirati će se kvaliteta praćenja referentne vrijednosti i kompenzacije

poremećaja, te će ponašanje sustava upravljanja sa neizrazitim regulatorom biti uspoređeno

sa sustavom s proporcionalnim regulatorom. U poglavljima koja slijede biti će analiziran

svaki sustav upravljanja zasebno te će biti dan primjer složenog gibanja helikoptera u

prostoru.

4.1. Testiranje sustava regulacije visine

Sustav regulacije sa fuzzy regulatorima u postupku testiranja uspoređivali smo s ranije

projektiranim P regulatorima, tako kod regulacijskog kruga visine koristimo P regulator s

pojačanjem 0.5. Na slici 4.1 možemo promotriti vladanje sustava upravljanja. Iz odziva visine

na skokovite promjene referentne vrijednosti se može zaključiti da je upravljanje s

neizrazitim regulatorom brže, a razlog tome je korištenje većih upravljačkih signala.

Slika 4.1 Odziv visine, kuta i UR na skokovite promjene reference

 

25  

Na trećoj slici može se vidjeti utjecaj sprege o kojem smo ranije govorili. Naime uz uključeno

upravljanje po visini i isključena upravljanja ostalih veličina sustava, pri promjeni visine

dolazi i do skokovitih promjena kuta .

Ukoliko u regulacijski sustav dodamo poremećaj koji uzrokuje promjenu visine helikoptera,

regulacijskim djelovanjem utjecaj će biti kompenziran kao što je prikazano slikom 4.2.

Slika 4.2 Kompenzacija poremećaja visine korištenjem fuzzy regulatora

Iz prikazanih odziva možemo zaključiti da je odziv sustava brz, bez nadvišenja i dobro

kompenzira djelovanje poremećaja. Najveća izmjerena brzina pri skokovitim promjenama

visine jest 2.83 m/s, a osim djelovanja na kut ostali sprežni utjecaji su zanemarivi.

4.2. Testiranje sustava regulacije kuta

Zahtjevi na sustav regulacije kuta su brzo praćenje promjena referentne vrijednosti, te

kompenzacija sprežnog djelovanja i utjecaja poremećaja. Na slici 4.3 možemo vidjeti odzive

kuta i upravljačke veličine Ur za skokovitu promjenu reference od 5, 10, 60, 120 i -180

stupnjeva. Brzo i aperiodsko praćenje je osigurano za sve referentne vrijednosti kuta .

 

26  

Slika 4.3 Odziv kuta i upravljačke veličine Ur uz skokovitu promjenu referentne vrijednosti

Promotrimo sada kako regulacija kompenzira utjecaj sprege koja nastaje promjenama visine

helikoptera. Zahvaljujući pravilima koja posjeduju znanja o kompenzaciji sprege sprežno

djelovanje je smanjeno kao što je prikazano slikama 4.4. Uz promjene visine jednake onima u

prethodnom eksperimentu (Slika 4.1) dobivamo promjene kuta prikazane slikom 4.4.

Slika 4.4 Odzivi sustava uz skokovitu promjenu visine

 

27

Iz odziva se može vidjeti da je kompenzacija sprege najbolja ukoliko se koristi fuzzy

regulator. Osim najbržeg smirivanja i najmanjeg nadvišenja fuzzy regulator ima najviše

vrijednosti upravljačke veličine Ur. U prethodnom poglavlju govorilo se o ugrađenim

znanjima neizrazitog regulatora da iskoristi utjecaj sprege ukoliko istovremeno dobije zahtjev

za promjenom visine i kuta u istom smjeru, na slici 4.5 dani su odzivi koji prikazuju takve

situacije.

Slika 4.5 Odziv visine i kuta , te upravljačkih veličina UR i Ur

Iz odziva se jasno vidi da istovremenom promjenom visine i kuta u 30. s simulacije

upravljačka veličina Ur ima smanjenu vrijednost, dakle koristi se sprežni utjecaj za promjenu

kuta. S druge strane ukoliko se smjer zakreta uslijed sprege razlikuje od željenog smjera

promjene kuta potrebno je dovesti veću upravljačku veličinu kao u 45. s simulacije.

Kompenzacija poremećaja prikazana je slikom 4.6, naime za poremećaj koji uzrokuje

promjenu od 10 stupnjeva regulacijom se poništava za 5 s.

 

28  

Slika 4.6 Kompenzacija poremećaja kuta korištenjem fuzzy regulatora

4.3. Testiranje sustava regulacije kuta

Kako je ranije spomenuto regulacijski krug kuta podređeni je krug sustava regulacije

pomakom u smjeru x osi te je osnovni zahtjev na upravljanje brzina. Ukoliko usporedimo

odziv sustava uz korištenje fuzzy i proporcionalnog regulatora s pojačanjem 2 i limitatorom

Slika 4.7 Usporedba odziva P i fuzzy regulatora

 

29

upravljačkog signala (-14 do 14 stupnjeva) (Slika 4.7) možemo vidjeti da korištenjem fuzzy

regulatora za manje vrijednosti promjene reference imamo brži odziv dok za veće vrijednosti

promjena sustav u stacionarno stanje dolazi u podjednakom vremenu kao i korištenjem

proporcionalnog regulatora. Na slici 4.8 vide se odzivi kuta pitch, visine i kuta yaw, te

upravljačkih veličina beta, UR i Ur u slučaju skokovite promjene referentne vrijednosti kuta

theta.

Slika 4.8 Odzivi sustava uz skokovitu promjenu kuta

 

30  

Iz odziva možemo primijetiti da promjena kuta utječe na promjenu visine i kuta , no isto

tako treba reći da vraćanjem kuta na početnu vrijednost dolazi i do vraćanja visine i kuta

na inicijalne vrijednosti. Kako ova pojava rezultira vrlo malom promjenom veličina z i ,

utjecaj sprege se može zanemariti. Slikom 4.9 dan je odziv uslijed promjene kuta

uzrokovanog poremećajem. Zbog forsirajućeg djelovanja regulatora odziv je oscilatoran.

Slika 4.9 Kompenzacija poremećaja kuta korištenjem fuzzy regulatora

4.4. Testiranje sustava regulacije kuta

Sustav upravljanja kutom sličan je prethodnom sustavu upravljanja, glavna razlika je

brzina odziva. Naime odziv kuta uz korištenje jednakih upravljačkih veličina je sporiji u

što se možemo uvjeriti temeljem slike 4.10. Na slici su prikazani odzivi kuta , visine z i

kuta , te upravljačke veličine , UR i Ur. Osim što je praćenje referentne vrijednosti sporije

nego u sustavu regulacije kuta , i ovdje nastaju promjene kuta i visine uslijed sprege, ali

su također male pa ih možemo zanemariti. Dodavanjem poremećajne veličine sustav se

zahvaljujući regulatoru vraća u željeno stanje uz dosta oscilatoran odziv (Slika 4.11)

 

31

Slika 4.10 Odzivi sustava uz skokovitu promjenu kuta

 

32  

Slika 4.11 Kompenzacija poremećaja kuta korištenjem fuzzy regulatora

4.5. Testiranje sustava regulacije pomaka u smjeru x osi

Korištenjem fuzzy regulatora u upravljanju pozicijom u smjeru x osi dobivamo vrlo brzo

praćenje referentne vrijednosti uz osiguranu malu vrijednost nadvišenja. Usporedimo li

odzive položaja uz korištenje proporcionalnog i neizrazitog regulatora (Slika 4.12) vidimo da

neizraziti regulator daje brže i oscilatornije odzive s malenim nadvišenjima.

Slika 4.12 Usporedba odziva P i fuzzy regulatora

 

33

Simulacijom sustava dobiveni su odzivi na slici 4.13. Osim već spomenutog brzog odziva s

malim nadvišenjima valja spomenuti da brzina helikoptera ne prelazi 0.6 m/s, a maksimalni

iznos upravljačke veličine doseže 9 stupnjeva. Na drugoj slici crtkano je prikazana izlazna

veličina regulatora te stvarna vrijednost kuta pitch, ovdje se može vidjeti kako podređeni

upravljački krug po kutu pitch radi u službi nadređenog regulacijskog kruga položaja.

Slika 4.13 Odzivi sustava uz skokovite promjene pozicije u smjeru x osi

 

34  

Kako regulacijski krug sadrži i regulatore kuta i , ovdje se također javljaju promjene

visine i kuta ali zanemarive. Dovedemo li poremećajnu veličinu u regulacijski krug fuzzy

regulator će ju uz manje oscilacije kompenzirati (Slika 4.14).

Slika 4.14 Kompenzacija poremećaja pomaka u smjeru x osi korištenjem fuzzy regulatora

4.6. Testiranje sustava regulacije pomaka u smjeru y osi

Sustav regulacije pozicije u smjeru y osi zbog sporije dinamike procesa ima i sporije odzive.

Kao i kod prethodnog regulacijskog kruga odziv uz primjenu fuzzy regulatora mnogo je brži

od primjene proporcionalnog regulatora. Na slici 4.15 nalaze se odzivi najvažnijih veličina uz

skokovite promjene referentne veličine. Odziv položaja je oscilatorniji i ima veća nadvišenja

od prethodnog sustava upravljanja, razlog je sporije praćenje reference kuta što se može

i vidjeti na drugom odzivu (iscrtkan odziv predstavlja , a plavom bojom dana je stvarna

vrijednost kuta ). Maksimalna brzina u smjeru y osi jest 0.7 m/s, a utjecaj na visinu i zakret

oko vertikalne osi je zanemariv.

 

35

Slika 4.15 Odzivi sustava uz skokovite promjene pozicije u smjeru y osi

Promotrimo konačno kako se sustav regulacije ponaša u slučaju djelovanja poremećaja.

Smirivanje nakon poremećaja zbog oscilatornosti traje dosta dugo, ovakav odziv možemo

pripisati načinu projektiranja koji veću važnost pridaje praćenju referentne vrijednosti nego

kompenzaciji poremećaja.

 

36  

Slika 4.16 Kompenzacija poremećaja pomaka u smjeru y osi korištenjem fuzzy regulatora

4.7. Testiranje sustava regulacije na zadanoj putanji u prostoru

Cilj ovog eksperimenta je promotriti kvalitetu kojom objekt prati zadanu putanju, te opisati

upravljačke i izlazne veličine za vrijeme prolaska putanjom. Putanja koju helikopter treba

preći dana je slikom 4.17.

Slika 4.17 Zadana putanja koju helikopter treba preći

 

37  

Putanja se može opisati na sljedeći način: helikopter se treba uzdignuti na visinu od 2 m,

nakon toga slijedi gibanje u smjeru x osi za 2 m, u smjeru y osi za 2 m, u smjeru suprotnom

od smjera x osi za 2 m i u smjeru suprotnom od y osi za 1 m, nakon toga helikopter se spušta.

Korištenjem neizrazitih regulatora dobivamo praćenje referentne putanje prikazano slikom

4.18. Promotrimo li sliku 4.19 možemo vidjeti odstupanje stvarne trajektorije od referentne.

Slika 4.18 Putanja koju prolazi helikopter

Slika 4.19 Odstupanje od zadane trajektorije

 

38  

Iz slike možemo zaključiti da stvarna putanja dobro prati zadanu, a glavni izvor odstupanja su

nadvišenja pri gibanju u smjeru x i y osi. Detaljniji opis stanja sustava i upravljačkih veličina

dan je sljedećim slikama. Na slici 4.20 prikazane su referentne i stvarne vrijednosti kuta i

pozicije u odnosu na x os. Kako smo ranije objasnili istovremeno praćenje kuta i pozicije x

nije moguće, odnosno nadređeni krug uzrokuje promjenu kuta. Odziv pozicije je brz i ima

malo nadvišenje.

Slika 4.20 Odziv kuta i pozicije x

Slika 4.21 Odziv kuta i pozicije y

 

39  

Odziv kuta i pozicije u odnosu na y os prikazan je slikom 4.21. Odziv pozicije je u ovom

slučaju sporiji i oscilatorniji. Kut i visina dvije su povezane veličine čiju smo vezu

kompenzirali uvođenjem rasprežnog djelovanja u regulator kuta , ipak utjecaj nije u

potpunosti uklonjen (Slika 4.22). Odziv visine je vrlo brz i bez nadvišenja. Na slici 4.23

nalaze se iznosi upravljačkih veličina za vrijeme kretanja po zadanoj trajektoriji.

Slika 4.22 Odziv visine i kuta

Slika 4.23 Odzivi upravljačkih veličina sustava

 

40  

5. IMPLEMENTACIJA UPRAVLJAČKOG ALGORITMA

Razvijeni algoritam potrebno je implementirati na stvarnom objektu upravljanja, električnom

helikopteru malih dimenzija. Izvođenje algoritma zamišljeno je na računalu malih dimenzija,

a njegovo povezivanje sa aktuatorima i senzorima sustava izvedeno je upotrebom

pripadajućeg mikroprocesorskog sustava koji komunicira s računalom. U poglavljima koja

slijede biti će opisan stvarni objekt upravljanja, aktuatori i senzori koji se nalaze na njemu, te

računalni dio koji će izvoditi upravljanje. Također biti će objašnjen način povezivanja i

komunikacije između različitih elektroničkih komponenata sustava.

5.1. Stvarni objekt upravljanja- helikopter Ikarus Eco Piccolo V2

Kao baza autonomne letjelice odabran je električni model helikoptera Ikarus Eco Piccolo V2,

odlikuje se malim dimenzijama, fleksibilnošću i jednostavnošću. Tehnički podaci modela

dani su tablicom 5.1 [10].

Slika 5.1 Ikarus Eco Piccolo V2

Piccolo Eco V2 pripada generaciji elektro modela helikoptera s potpuno integriranim

elektroničkim modulima za komunikaciju, povratnom vezom preko rotacijskog žiroskopa za

stabilizaciju repa helikoptera i FET pojačalima snage za glavni i repni motor. Predviđen je za

uporabu u zatvorenim prostorima, kao početnički model helikoptera [11].

 

41  

Promjer glavnog rotora 50cm

Duljina tijela 50cm

Masa helikoptera spremnog za let 270g

Napajanje NiMh 9.6V, 700mAh ili LiPo

11V, 1500mAh

Vrijeme leta 8min s NiMh baterijom, 25 min s

LiPo baterijom

Upravljanje Modelarska PPM radio veza na

38MHz

Pojačala snage i upravljanje repnim

rotorom PiccoBoard Plus

Nosivost do 130g

Tablica 5.1 Tehničke karakteristike modela helikoptera

Glavni rotor ima dvije glavne lopatice i dvije pomoćne, čije je upravljanje realizirano po

Hillerovom principu [4]. Upravljačke kontrole koje posjeduje su: upravljanje naponom

glavnog motora, upravljanje nagibom glavnog rotora u dvije osi i upravljanje brzinom vrtnje

oko vlastite vertikalne osi. Osnovna razlika u upravljanju u odnosu na veće modele je ta što

nema mogućnost upravljanja napadnim kutom lopatica glavnog rotora te zbog toga ima

djelomično ograničene manevarske sposobnosti i lošije cjelokupne karakteristike upravljanja

[11]. Helikopter je prikazan na slici 5.1.

5.2. Sklopovska realizacija sustava upravljanja

U ovom poglavlju objasniti ćemo sve komponente koje sudjeluju u upravljanju modelom

helikoptera. Sustav automatizacije posjeduje pogonske i slijedne motore koji čine aktuatore

sustava, AHRS senzor koji ima mogućnost određivanja nagiba helikoptera oko x, y i z osi,

kutnih i linearnih brzina i pozicije helikoptera. Osim senzorskih i izvršnih članova sustav

posjeduje elektronički modul kojim se upravljaju pogonski motori helikoptera te stabilizira

zakret uslijed samorotacije. Mozak sustava upravljanja čini računalo malih dimenzija

Gumstix, te pripadajući daughterboard Robostix koji ga povezuje s vanjskim svijetom preko

njegovih ulaza i izlaza.

 

42  

5.2.1. Servo motori

Servo motori služe za promjenu kuta napada pomoćnih lopatica kod Hillerovog principa

konstrukcije rotora koji služi za promjenu nagiba nosećeg rotora. Servo motori posjeduju

vlastiti senzor položaja i regulacijsku elektroniku te im se kao ulaz dovodi referentni impuls u

PPM standardu (Pulse Position Modulation). Položaj osovine motora određen je duljinom

upravljačkog impulsa pri čemu impuls trajanja 1 ms predstavlja krajnji lijevi položaj, a

impuls trajanja 2 ms krajnji desni položaj (Slika 5.2). Frekvencija osvježavanja mora biti oko

50 Hz [12]. Princip rada servo motora grafički je prikazan na Slici 5.3.

Slika 5.2 Oblik PPM signala Slika 5.3 Princip upravljanja servo motorima

Korišteni su slijedni motori proizvođača Lexors mase 10 g, maksimalne snage 0.84 kg/cm i

brzine 460 /s prikazani slikom 5.4 [10].

Slika 5.4 Servo motor

 

43  

5.2.2. Pogonski motori

Pogonski motori služe za pogon nosećeg i repnog rotora, a upravljaju se pripadnim

pojačalima snage koja generiraju pulsno širinski modulirane naponske impulse. Pojačala

snage se upravljaju PPM upravljačkim impulsima, te posjeduju vlastite dekodere koji

generiraju PWM signal.

5.2.3. Elektronički sustav Piccoboard plus

Piccoboard plus je elektronički uređaj koji koristimo kao pojačalo snage za glavni i repni

motor helikoptera. Ovaj elektronički modul prima PPM signale koji daju informaciju o

željenoj brzini vrtnje motora. PPM signali se dekodiraju i na temelju njihovih vrijednosti

stvara se PWM signal koji upravlja električnim motorima. Osim samog upravljanja motorima

Piccoboard posjeduje nadređeni upravljački krug kojim stabilizira zakretanje oko vertikalne

osi zbog protumomenta vrtnji glavnog rotora. Regulacijski krug realiziran je prediktivnim

digitalnim PI regulatorom čiji su ulazi referenca brzine vrtnje glavnog rotora i brzina vrtnje

helikoptera oko vlastite osi izmjerena ugrađenim piezzoelektričnim žiroskopom [13]. Valja

napomenuti da se upravljanje vrtnjom glavnog motora postiže PPM signalima trajanja 1-1.8

ms pri čemu signal duljine 1 ms predstavlja minimum, a signal duljine 1.8 ms maksimum

snage glavnog motora. Repni motor upravlja se PPM signalom duljine 1-2 ms pri čemu signal

od 1.5 ms predstavlja brzinu vrtnje motora koju određuje ugrađeni regulator stabilizacije

vrtnje oko vertikalne osi. Dovođenjem signala trajanja većeg od 1.5 ms povećava se brzina

vrtnje motora, a dovođenjem signala kraćeg od 1.5 ms brzina vrtnje motora se smanjuje.

Prilikom uključivanja uređaja na PPM ulaze potrebno je dovesti signale trajanja 1 ms za

glavni motor i 1.5 ms za repni motor kako bi došlo do uspješne inicijalizacije, trajanje

inicijalizacije je između 7-10 s a njen završetak signaliziran je paljenjem crvene led lampice

[14]. Na slici 5.5 prikazan je elektronički modul Piccoboard plus.

 

44  

Slika 5.5 Piccoboard plus

5.2.4. Ahrs senzor

Attitude and Heading Reference System – inercijalni navigacijski sustav koji na osnovu

izmjerene akceleracije i kutne brzine u sve tri osi koordinatnog sustava izračunava trenutnu

orijentaciju, brzinu i položaj u prostoru objekta upravljanja [10]. Sadrži 3 ortogonalno

smještena MEMS akcelerometra, 3 'rate' MEMS žiroskopa i trodimenzionalni magnetometar.

MEMS (Micro Electro Mehanical Senzor) su mehanički senzori u obliku čipa malih

dimenzija bez klasičnih pokretnih dijelova. AHRS sustavi se koriste u svim letjelicama za

određivanje orijentacije gdje su istisnuli klasični mehanički vertikalni žiroskop koji se

donedavno koristio. Prednosti AHRS-a u odnosu na mehanički žiroskop su: mnogo manje

dimenzije i masa, veća robusnost zbog izostanka mehaničkih komponenata, mnogo manja

cijena (klasični žiroskop 25-65k $, AHRS < 10k $), te lakše povezivanje s modernim

navigacijskim uređajima zbog digitalnog principa rada [10]. Ahrs senzor podatke o kutovima

roll, pitch i yaw ostalim uređajima šalje serijskom komunikacijom brzine 115200 bps. Format

podataka je sljedeći: decimalne vrijednosti kutova u radijanima pretvorene su odgovarajuće

nizove znakova, a nizovi su međusobno odvojeni znakom razmaka (ASCII 32), kraj trećeg

niza predstavlja znak za novi red (ASCII 10). Ahrs senzor koji koristimo prikazan je slikom

5.6.

 

45  

Slika 5.6 Ahrs senzor

5.2.5. Gumstix Verdex pro XL6P Računalni sustav na kojem ćemo implementirati algoritam upravljanja temelji se na samo

jednoj pločici sklopa (Single board comupter) koja posjeduje sve mogućnosti modernih

računala. Ovakav uređaj posjeduje Marvell® PXA270 XScale™ procesor brzine 600 Mhz,

sa 128 Mb ram i 32 Mb flash memorije [15]. Operacijski sustav na računalu je Linux pa je za

njegovo podešavanje i rad potrebno koristiti jednaki operacijski sustav na vlastitom računalu.

Od ulazno/izlaznih sučelja Gumstix posjeduje sinkrono i asinkrono serijsko, USB, Ethernet,

Wifi i Bluetooth sučelje. Uređaj se napaja naponom od 5 V, masa mu je 8 g a dimenzije

veličine žvakače gume [16]. Zbog svoje veličine i mogućnosti Gumstix predstavlja idealnu

zamjenu mikrokontrolera koji su u najvećoj mjeri zastupljeni u robotskim sustavima malih

dimenzija. Korišteni uređaj prikazan je slikom 5.7.

Slika 5.7 Gumstix verdex pro XL6P

 

46  

5.2.6. Robostix

Robostix je elektronički sklop koji može raditi samostalno ili u kombinaciji s Gumstixom.

Robostix se temelji na Atmel ATMega 128 mikroprocesoru te omogućuje korištenje PWM-a,

GPIO ulaza i izlaza, AD konverziju, I2C, SPI i UART komunikaciju [17]. Ukoliko se koristi

u kombinaciji s Gumstixom on postaje slave, a Gumstix kao master pristupa njegovim

ulazima, izlazima i registrima korištenjem serijske ili I2C komunikacije. U našem

regulacijskom sustavu Robostix ćemo koristiti za generiranje PPM signala pomoću PWM

izlaza i primanje mjerenja od ahrs senzora pomoću UART porta. Povezivanje s Robostixom

ostvareno je serijskom komunikacijom preko UART porta, pri čemu se na Robostixu provodi

program koji mjerenja direktno prosljeđuje Gumstixu, a podatke sa Gumstixa prema PWM

izlazima. Komponenta je prikazana slikom 5.8.

Slika 5.8 Robostix

 

47  

5.3. Struktura regulacijskog kruga

U ovom poglavlju detaljnije će se objasniti uloga i način povezivanja komponenata

regulacijskog sustava u cjelinu. Zatvoreni regulacijski krug shematski je prikazan slikom 5.9.

Na slici su prikazane korištene komponente i način na koji su povezane s ostalim

komponentama. Započnemo li s AHRS senzorom vidimo da je s Robostixom povezan

serijskom komunikacijom preko UART porta. Robostix zatim također serijskom

komunikacijom preko drugog UART porta šalje informacije sa senzora Gumstixu. Nakon što

na temelju dobivenih informacija senzora Gumstix odredi upravljačke veličine istim

komunikacijskim kanalom ih šalje Robostixu. Robostix na temelju primljenih veličina

postavlja izlaze PWM-a te se formira željeni PPM signal. Servo motori povezani su direktno

s Robostixom i pretvaraju PPM signal u zakret. Kako je ranije opisano upravljačke signale

pogonskih motora najprije prima Piccoboard, PPM signal se na njemu pretvara u PWM signal

kojim se kontrolira brzina vrtnje pogonskih motora. Posljednji element regulacijskog kruga

čini udaljeno računalo koje s Gumstixom komunicira preko TCP/IP protokola. Uloga

udaljenog računala jest osiguravanje čovjek-stroj sučelja, odnosno preko udaljenog računala

mogu se zadavati reference i promatrati odzivi sustava.

Servo motori

Pogonski motori

Ahrs senzor

Piccoboard

Robostix

Gumstix

PWM

PPM

PPM

RS232

RS

232

TCP/IP

Udaljeno računalo

Slika 5.9 Shematski prikaz regulacijskog kruga

 

48  

Ovime je objašnjen signalni dio sustava. Što se tiče napajanja Gumstix, i Robostix napajaju

se istosmjernim naponom od 5 V. Za rad AHRS senzora i servo motora potreban je

istosmjerni napon od 5 V, dok se Piccoboard napaja sa 12 V istosmjerne struje. Piccoboard se

napaja iz baterije, a posjeduje i pretvarač napona koji napon smanjuje na razinu od 5 V.

Temeljem ovih karakteristika proizlazi sljedeći scenarij napajanja komponenata. Gumstix i

Robostix struju primaju iz Piccoboarda, dok ahrs senzor i servo motori struju preuzimaju iz

PWM izlaza Robostixa. Naime PWM izlazi Robostixa imaju tri pina, prvi je zemlja, drugi

istosmjerni napon od 5V, a treći pin je signalni s naponskom razinom od 5 V.

5.4. Moguća proširenja sustava

Trenutna senzorika dopušta nam kvalitetno praćenje reference i kompenzaciju poremećaja

orijentacije helikoptera dok zbog šuma poziciju pomoću ahrs senzora nije moguće kvalitetno

odrediti. Visinu i pomak u horizontalnoj ravnini stoga je potrebno odrediti na neki drugi

način. Jedan od načina na koji se može estimirati položaj helikoptera je upotreba dvije

kamere postavljene na različitim pozicijama, čime dobivamo slike objekta u dvije različite

lokalne koordinatne ravnine odnosno lako dolazimo do pomaka u smjeru x, y i z koordinatne

osi globalnog koordinatnog sustava [18]. Prednosti ovog načina određivanja pozicije je

senzorika smještena izvan objekta upravljanja, što čini helikopter lakšim, no s druge strane

brzina i kompleksnost obrade slike predstavljaju minuse ove metode. Preporučeni način

određivanja visine jest ugradnja ultrazvučnog senzora na donju stranu helikoptera.

Ultrazvučni senzor odašilje ultrazvučni val koji se odbija od prepreke i vraća ultrazvučnom

prijemniku senzora. Na temelju vremena potrebnog da se val vrati određuje se udaljenost od

prepreke. Prednosti upotrebe sonara su mala cijena, laka dobavljivost i mala masa, dok su

nedostatci mala preciznost, nemogućnost mjerenja udaljenosti manje od 0.5 m, velika širina

zrake, jako gušenje signala, te spekularna i višestruka refleksija [19]. Za određivanje pozicije

najprihvatljivije rješenje je korištenje GPS prijemnika. GPS prijemnik na jednostavan način

daje informaciju o apsolutnom položaju. Naime pozicija se određuje na temelju vremena

potrebnog da signal brzinom svjetlosti prođe put od satelita u Zemljinoj orbiti do GPS

prijemnika. Triangulacijom informacija dobivenih sa 4 satelita možemo odrediti točnu

poziciju GPS prijamnika, ali i brzinu njegovog gibanja [20]. Prednosti GPS lokalizacije su

mala masa senzora, a nedostatak predstavlja smanjena točnost estimacije koja može biti i

iznad 3 m. Kao prijamnik odabran je Navman Jupiter 110S [10] prikazan slikom 5.10. Radi

se o OEM prijamniku s ugrađenom antenom čije su osobine male dimenzije

 

49  

(39.1x34x6.1mm), masa od 9.5 g i velika osjetljivost. GPS uređaj s ostalim uređajima

komunicira RS232 vezom s 3 V CMOS naponskom razinom tako da se može direktno spojiti

sa slobodnim UART portom Robostixa .

Slika 5.10 GPS prijamnik

5.5. Programska podrška sustava

Kako bismo funkcionalno povezali komponente sustava potrebno je izvesti programsko

rješenje. Razvoj softverskog rješenja može se podijeliti na tri dijela: prvi dio je razvoj

algoritma koji se izvodi na Gumstixu, drugi dio je razvoj algoritma koji se izvodi na

Robostixu i treći dio je razvoj Windows aplikacije za čovjek-stroj komunikaciju. Program za

Robostix pisan je u programskom jeziku C, za Gumstix u programskom jeziku C++, dok je

aplikacija na Windows platformi realizirana u programskom jeziku C#. Pri razvoju

softverskog rješenja korišten je razvojni alat Microsoft Visual Studio 2008.

5.5.1. Gumstix algoritam

Pisan u programskom jeziku C++ algoritam koji se izvodi na Gumstixu objektno je

orijentiran što nam omogućava modularnost algoritma i bolju preglednost programskog koda.

Algoritam sadrži 6 klasa, a u tablici 5.2 navedene su klase i njihove zadaće. Detaljniji opis

korištenih datoteka dan je u prilogu B.

LRCAhrs Klasa koja omogućava serijsku komunikaciju sa AHRS senzorom

Senzor Klasa za čitanje informacija dobivenih od strane senzora

Regulatori Klasa koja provodi fuzzy algoritam upravljanja

Pwm Klasa koja omogućava serijsku komunikaciju s Robostixom

ServerSocket Klase ServerSocket i Socket zajedno osiguravaju TCP/IP komunikaciju sa udaljenim računalom Socket

Tablica 5.2 Opis korištenih klasa

 

50  

Glavni program načinjen je kao višedretveni što nam omogućava paralelno izvođenje

različitih procesa. Konkretno paralelno se izvode tri procesa, prvi je čitanje informacija koje

serijskom komunikacijom šalje senzor te njegova pretvorba u kutove zakreta u float tipu

podataka. Drugi proces je određivanje upravljačke veličine na temelju poznatih informacija o

kutu zakreta i referencama te slanje tih veličina serijskom komunikacijom prema Robostixu.

Treći proces koji se paralelno izvodi s ostala dva procesa jest primopredaja informacija o

referentnim veličinama, upravljačkim veličinama i vrijednostima senzorskih očitanja između

Gumstixa i udaljenog računala TCP/IP komunikacijom.

Čitanjem podataka sa serijskog porta Gumstix prima niz ASCII znakova, niz sadrži ASCII

znakove brojeva, zareza, razmaka i novog reda. Niz znakova možemo podijeliti u okvire a

svaki okvir od prethodnog je odvojen znakom novog reda. Unutar okvira nalaze se znakovi

koji predstavljaju zakrete kutova roll, pitch i yaw u decimalnom obliku pri čemu znak zareza

predstavlja decimalnu točku, a znak razmaka označava početak sljedećeg decimalnog broja.

Nakon primanja i obrade informacija dobivenih sa senzora slijedi proračun upravljačke

veličine koju daju neizraziti regulatori čiji je algoritam implementiran u zasebnoj klasi.

Implementirani regulatori u potpunosti su jednaki onima projektiranim u prethodnim

poglavljima rada. Klasa sadrži metode koje predstavljaju pojedine regulatore sustava, ulazi

metoda ulazne su veličine regulatora, a izlazi su upravljačke veličine. Nakon dobivanja

upravljačkih veličina potrebno je izvršiti normiranje, naime upravljačke veličine potrebno je

normirati na cjelobrojne vrijednosti između 2000 i 4000. Razlog normiranja je dobivanje

vrijednosti u obliku PPM signala, pri čemu će vrijednost 2000 predstavljati signal u visokoj

razini trajanja od 1 ms, a vrijednost 4000 signal trajanja 2 ms. Nakon normiranja vrijednosti

se serijskom komunikacijom šalju Robostixu, a format u kojem se šalju jednak je kao i kod

slanja podataka sa senzora samo što zbog poznatih duljina informacija nije potrebno koristiti

znak razmaka. Referentne vrijednosti sustava zadaje operater i algoritam ih prima TCP/IP

komunikacijom. Pri tome Gumstix radi kao poslužitelj i paralelno sa primanjem referentnih

vrijednosti odgovara slanjem informacija o orijentaciji i upravljačkim veličinama klijentu

(udaljeno računalu). Ovime je ukratko opisan cjelokupni programski kod koji se izvodi na

Gumstix računalu.

5.5.2. Robostix algoritam

Kao što je ranije opisano Robostix je uređaj koji ima sva obilježja ostalih mikrokontrolera, a

prednosti su mu mogućnost programiranja preko Gumstixa i olakšana suradnja s Gumstixom.

 

51  

Programski kod koji se izvodi na Robostixu ima dvije temeljne zadaće: čitanje UART porta i

postavljanje PWM izlaza. UART port čita se znak po znak, a ASCII znakovi korišteni u

komunikaciji su brojevi i oznake novog reda. Niz od četiri znaka predstavlja cjelobrojni broj

između 2000 i 4000 dok je znakom novog reda određen kraj okvira od 4 vrijednosti. Ove

vrijednosti predstavljaju signale koji se u visokoj razini zadržavaju između 1 ms i 2 ms.

PWM djelovanje realizirano je na sljedeći način: korišten je timer frekvencije 2Mhz, što

znači da svaki takt ima trajanje od 0.5 . Prema taktovima timera mijenja se i vrijednost

PWM brojača čija je vršna vrijednost zadana ICR registrima Robostixa, a nakon postizanja te

vrijednosti brojač se resetira. U području vrijednosti Robostixa od 0 do vrijednosti zadanih

OCR registrima PWM izlazi drže se na visokoj razini, a na ostalim vrijednostima na niskoj. U

našem slučaju postavili smo vrijednost ICR registra na 40000 što znači da je frekvencija

osvježavanja vrijednosti PWM izlaza 50 Hz, dovoljno za normalni rad servo motora. OCR

registri postavljaju se na vrijednosti primljene od strane Gumstixa serijskom komunikacijom,

dakle vrijednosti između 2000 i 4000 što odgovara vremenu od 1 ms do 2 ms.

5.5.3. Windows aplikacija

Aplikacija sadrži grafičko korisničko sučelje (GUI) i zamišljena je kao mjesto na kojem će

operater moći promatrati odzive sustava te zadavati referentne vrijednosti pojedinih veličina.

Program je napisan u programskom jeziku C# koji omogućava vrlo lako i jednostavno

kreiranje grafičkih objekata na principu drag&drop. Izrađeni GUI prikazuje odzive kutova

roll, pitch i yaw i upravljačke veličine , i Ur (Slika 5.11) [21]. Grafički prikaz može se

proširiti što se broja veličina tiče. Osim grafičkog prikaza veličina od interesa GUI posjeduje

i polja za upis referentnih veličina sustava upravljanja (Slika 5.12). Osim grafičkog dijela

aplikacija treba osigurati stabilnu komunikaciju između računala na kojem se izvodi i

Gumstixa na kojem se provodi algoritam upravljanja. Prijenos referentnih vrijednosti prema

Gumstixu te mjerenih i upravljačkih veličina s Gumstixa odvija se istim principom kao i kod

ranije opisane serijske komunikacije, dakle decimalne vrijednosti su prikazane znakovima, a

dvije različite vrijednosti međusobno su odvojene znakom razmaka, dok kraj niza predstavlja

znak za novi red (\n). U ovom slučaju umjesto serijske komunikacije koristi se asinkroni

prijenos upotrebom soketa [22]. Budući da je aplikaciji dana uloga klijenta može se odvijati

na bilo kojem računalu, jedino je važno da se IP adresa Gumstixa ne mijenja (161.53.68.64).

 

52  

Slika 5.11 Grafičko korisničko sučelje - prikaz odziva

Slika 5.12 Grafičko korisničko sučelje - zadavanje referentnih vrijednosti

 

53  

6. KARAKTERISTIKE REALIZIRANOG SUSTAVA UPRAVLJANJA

U ovom poglavlju prikazati ćemo odzive dobivene provođenjem eksperimenata kojima je cilj

dokazivanje ispravnosti rada cjelokupnog sustava. Temeljem eksperimenata ćemo upozoriti

na probleme i pojave pri radu u stvarnim uvjetima. Budući da trenutno realizirani sustav

posjeduje samo senzor kuta zakreta oko x, y i z osi možemo promatrati ponašanje

upravljačkih veličina , i Ur.

6.1. Šum mjerenja

Prva pojava o kojoj je potrebno voditi računa jest šum mjerenja, ukoliko snimimo očitanja

senzora bez njegovog zakretanja dobivamo vrijednosti šuma. Na slici 6.1 prikazan je šum

mjerenja kuta , dok su na slikama 6.2 i 6.3 šumovi mjerenja kutova i .

Slika 6.1 Šum mjerenja kuta

Slika 6.2 Šum mjerenja kuta

 

54  

Slika 6.3 Šum mjerenja kuta

Iz odziva vidimo da zbog šuma vrijednosti očitanja variraju oko srednje vrijednosti. Za kut

odstupanja su maksimalnih 0.5 , za kut oko 0.2 i za kut oko 1

6.2. Testiranje upravljanja u stvarnim uvjetima

Eksperimenti će pokazati na koji način regulator odgovara na poremećaj, referentna veličina

kutova pri tome je postavljena na nulu dok zakretanjem senzora mijenjamo mjerenu

(upravljanu) veličinu. Na slici 6.4 i 6.5 prikazana su mjerenja kuta i upravljačke veličine .

Slika 6.4 Upravljana i upravljačka veličina regulacijskog kruga po kutu

 

55  

Slika 6.5 Upravljana i upravljačka veličina regulacijskog kruga po kutu

Iz slike vidimo da povećanje kuta uzrokuje povećanje kuta u negativnom smjeru i

obrnuto. Također valja primijetiti da za kutove veće od 15 ili manje od 15 upravljačka

veličina maksimalni dopušteni kut zakreta od 15 .

Na slikama 6.6 i 6.7 prikazani su upravljačka veličina i regulirana veličina dobiveni

izvođenjem sličnog eksperimenta. Kao i kod prethodnog regulacijskog kruga maksimalni

zakret upravljačke veličine iznosi 15 u oba smjera.

Slika 6.6 Upravljana i upravljačka veličina regulacijskog kruga po kutu

Slika 6.7 Upravljana i upravljačka veličina regulacijskog kruga po kutu

 

56  

Regulacija kuta za ulaze ima promjenu kuta i napon glavnog motora UR kojim se

kompenzira utjecaj sprege. Kako je kompenzacija sprege izvedena na samom Piccoboardu,

regulatoru nije potrebno dovoditi informaciju o naponu glavnog motora nego samo

odstupanje mjerenog od referentnog kuta . Upravljačka veličina određena ovim postupkom

pridodaje se veličini koju je odredio Piccoboard. Na slikama 6.8 i 6.9 dani su odzivi kuta i

upravljačke veličine Ur za dva različita eksperimenta.

Slika 6.8 Upravljana i upravljačka veličina regulacijskog kruga po kutu

Slika 6.9 Upravljana i upravljačka veličina regulacijskog kruga po kutu

 

57  

7. ZAKLJUČAK

Naglim razvojem tehnologije omogućen je i razvoj složenih autonomnih sustava za

obavljanje različitih zahtjevnih zadaća. Posljednjih godina ovakvi se autonomni sustavi, osim

u vojne svrhe, sve češće počinju koristiti i u svakodnevnoj civilnoj, edukacijskoj i

rekreativnoj uporabi. U ovom diplomskom radu opisan je razvoj i implementacija početne

verzije sustava realizacije autonomne bespilotne letjelice zasnovane na mini modelu

helikoptera koja ima brojne primjene u području nadzora, snimanja i mjerenja iz zraka na

većem području.

U diplomskom radu dana je ideja upravljanja letjelicom. Upravljanje je izvedeno korištenjem

neizrazitih regulatora i testirano na nelinearnom matematičkom modelu u Matlabu.

Neizrazito upravljanje omogućilo nam je razvoj algoritma upravljanja koji veću pažnju

pridaje poznavanju postupka upravljanja nego samog matematičkog modela. Neizrazito

upravljanje možemo usporediti s čovjekovim upravljanjem nekog procesa, pri čemu

uspješnost upravljanja ne ovisi o poznavanju matematičkog opisa procesa nego radnji koji

utječu na sam proces.

Neizraziti algoritam upravljanja omogućio je stabilno i brzo slijeđenje zadanih referentnih

stanja i kompenzaciju poremećaja. Poseban izazov bio je rješavanje problema sprege, koji je

riješen uvođenjem dodatnih neizrazitih pravila u algoritam upravljanja.

U drugom dijelu rada predstavljen je jedan od mogućih načina implementacije upravljačkog

algoritma za stvarni objekt upravljanja, helikopter malih dimenzija. Sustav upravljanja čine

pogonski i servo motori helikoptera, računalni sustav koji izvodi algoritam upravljanja i

AHRS senzor koji daje informacije o kutu zakreta tijela helikoptera oko svih osi u prostoru, a

provođenjem dodatnih postupaka može odrediti i promjenu položaja. Korišteni računalni

sustav (Gumstix) alternativa je do sada korištenom mikrokontrolerskom sustavu temeljenom

na PIC mikrokontrolerima, a omogućava izvršavanje programa napisanog u višim

programskim jezicima, veću memoriju za sam programski kod i spremanje korisnih podataka,

veću procesorsku brzinu i komunikaciju s ostalim računalima što ga čini vrlo jednostavnim i

kvalitetnim rješenjem u sustavima upravljanja. Senzor i regulator povezani preko serijskog

porta, dok je upravljanje aktuatorima izvedeno korištenjem PWM izlaza namještenih tako da

generiraju PPM signale, osim toga razvijena je komunikacija s udaljenim računalom preko

soketa. Udaljeno računalo predstavlja medij kojim operator zadaje reference sustava

upravljanja i prima podatke o samom procesu. Realizirani sustav upravljanja dao je

očekivane rezultate.

 

58  

U daljnjem radu na projektu potrebno je implementirati upravljanje pozicijom helikoptera što

u ovom radu nije obrađeno zbog nedovoljno kvalitetnog određivanja pozicije pomoću AHRS

senzora.

 

59  

LITERATURA  

[1] Helicopter, http://en.wikipedia.org/wiki/Helicopter (2009.)

[2] K. Valavanis, ''Controller Design Challenges and Swarm Formation Control in

Unmanned Systems '', IEEE seminar, Zagreb 2009.

[3] Z. Kovačić, S. Bogdan, ''Fuzzy controller design, theory and applications'', CRC

Press, Boca Raton 2006.

[4] D. Kostadinović, ''Mehanika letenja i performance helikoptera'', Fakultet prometnih

znanosti, Zagreb,1999.

[5] Instruction manul for ECO Piccolo V2

http://www.ikarus-modellbau.de/Anleitungen/ecopiccolov2.pdf (2009.)

[6] I. Palunko, ''Nelinearni matematički model makete helikoptera'', diplomski rad br.

1583,Fakultet elektrotehnike i računarstva, Zagreb 2007.

[7] N. Perić, I. Petrović, ''Automatizacija postrojenja i procesa – predavanja'', Skripta

Zavoda za APR, FER, Zagreb, 2000.

[8] How helicopters fly and are controlled, http://www.rc-airplane-world.com/how-

helicopters-fly.html 2009.

[9] N. Perić, ''Automatsko upravljanje- predavanja'', Fakultet elektrotehnike i

računarstva, Zagreb 2005.

[10] A. Eršek, ''Elektronički sustav mjerenja pozicije i orijentacije letjelice'', diplomski

rad br. 1573, Fakultet elektrotehnike i računarstva, Zagreb 2007.

[11] Ikarus, http://www.ikarus-modellbau.de (2006.)

[12] Basic servo tutorial, http://www.hooked-on-rc-airplanes.com/servo-tutorial.html

(2009.)

[13] Piccolo electric heli, www.pgoelz.com/piccolo1.html (2009.)

[14] Piccoboard plus manual,

http://www.ikarus-modellbau.de/Anleitungen/piccoboardplus.pdf (2009.)

[15] Gumstix, http://www.Gumstix.com (2009.)

[16] Gumstix support, http://www.Gumstix.org (2009.)

[17] Robostix support, http://docwiki.Gumstix.org/Robostix (2009.)

[18] Matsuoka et al., ''Autonomous helicopter tracking and localization using self-

surveying camera array'', Stanford University, Stanford 2007.

 

60  

[19] I. Petrović , ''Senzori za mobilne robote- predavanje''

http://www.fer.hr/download/repository/mr_Predavanje_03_NEVIZUALNI_SENZORI_2

006_07_1str.pdf (2009.)

[20] Global positioning system, http://en.wikipedia.org/wiki/Global_Positioning_System

(2009.)

[21] A simple C# library for graph plotting,

http://www.codeproject.com/KB/miscctrl/GraphPlotting.aspx (2009.)

[22] Linux socket programming in C++, http://tldp.org/LDP/LG/issue74/tougher.html

(2009.)

 

61  

SAŽETAK

U ovom diplomskom radu prikazan je postupak projektiranja neizrazitih regulatora.

Definiranjem strukture regulatora i pravila upravljanja razvijen je neizraziti algoritam

upravljanja električnim helikopterom malih dimenzija. Razvijeni neizraziti regulatori u

kombinaciji s nelinearnim modelom helikoptera testirani su simulacijama pomoću

simulacijskog paketa Matlab 7.1. U diplomskom radu izvedena je i implementacija algoritma

upravljanja na stvarnom sustavu. Sustav upravljanja sadrži AHRS senzor koji mjeri izlaze

procesa, pogonske i servo motore koji djeluju na proces i računalni sustav Gumstix koji

provodi funkcije regulatora. Povezivanjem Gumstixa s udaljenim računalom na kojem se

zadaju referentna stanja i prikazuju podaci procesa ostvarena je čovjek-stroj komunikacija.

 

62  

ABSTRACT

In this diploma thesis the procedure of designing fuzzy controller is presented. Defining the

structure and control rules, fuzzy control algorithm for small size helicopter was developed.

Developed fuzzy controllers in combination with nonlinear model of helicopter was tested

with simulation application Matlab 7.1. In diploma thesis the implementation of control

algorithm on real system has been done. Control system consists of AHRS sensor for

measuring process outputs, propulsive and servo motors that affect the process states and

computer system Gumstix that has the role of the regulator. Connecting Gumstix with remote

computer that shows information of the process and provides set point input we get human-

machine interface.

 

63  

ŽIVOTOPIS

Rođen sam 17. rujna 1985. u gradu Vukovaru. Od 1991. godine živim u Zagrebu gdje

završavam osnovnu školu i 2000. godine upisujem V. prirodoslovno-matematičku gimnaziju

koju završavam s odličnim uspjehom. 2004. godine upisujem se na Fakultet elektrotehnike i

računarstva. Prilikom upisa trećeg semestra opredjeljujem se za studij elektrotehnike, smjer

Automatika, a član LARICS grupe postajem početkom 2008. godine.

 

64  

Prilog A U ovom prilogu dane su tablice jezičnih varijabli i pravila neizrazitih regulatora. Regulator visine Jezične varijable: Ulaz 1: Regulacijsko odstupanje visine

Ulaz 2: Brzina gibanja u vertikalnom smjeru

Izlaz: Napon na glavnom motoru

vne- veliko negativno odstupanje vnde- velika negativna brzina vnur- veliki negativni napon

mne- malo negativno odstupanje mnde- mala negativna brzina mnur- mali negativni napon

ze- odstupanje jednako nuli zde- brzina jednaka nuli zur- napon jednak nuli

mpe- malo pozitivno odstupanje mpde- mala pozitivna brzina mpur- mali pozitivni napon

vpe- veliko pozitivno odstupanje vpde- velika pozitivna brzina vpur- veliki pozitivni napon

Neizrazita pravila: Ako vne i vnde onda vnur Ako mne i vnde onda vnur Ako ze i vnde onda vnur Ako vne i mnde onda vnur Ako mne i mnde onda vnur Ako ze i mnde onda mnur Ako vne i zde onda vnur Ako mne i zde onda vnur Ako ze i zde onda zur Ako vne i mpde onda vnur Ako mne i mpde onda mnur Ako ze i mpde onda mpur Ako vne i vpde onda mnur Ako mne i vpde onda zur Ako ze i vpde onda vpur

Ako mpe i vnde onda zur Ako vpe i vnde onda mpur Ako mpe i mnde onda mpur Ako vpe i mnde onda vpur Ako mpe i zde onda vpur Ako vpe i zde onda vpur Ako mpe i mpde onda vpur Ako vpe i mpde onda vpur Ako mpe i vpde onda vpur Ako vpe i vpde onda vpur Regulator kuta Jezične varijable: Ulaz 1: Regulacijsko odstupanje kuta

Ulaz 2: Napon na izlazu iz regulatora visine

Izlaz: Napon na repnom motoru

vne- veliko negativno odstupanje

vnur- veliki negativni napon vnur- veliki negativni napon

sne- srednje veliko negativno odstupanje

mnur- mali negativni napon snur- srednji negativni napon

mne- malo negativno odstupanje

zur- napon jednak nuli mnur- mali negativni napon

vmne- vrlo malo negativno odstupanje

mpur- mali pozitivni napon zur- napon jednak nuli

ze- odstupanje jednako nuli vpur- veliki pozitivni napon mpur- mali pozitivni napon

 

65  

vmpe- vrlo malo pozitivno odstupanje

spur- srednji pozitivni napon

mpe- malo pozitivno odstupanje

vpur- veliki pozitivni napon

spe- srednje veliko pozitivno odstupanje

vpe- veliko pozitivno odstupanje

Neizrazita pravila: Ako vne i vnur onda vpur Ako sne i vnur onda vpur Ako mne i vnur onda mpur Ako vne i mnur onda vpur Ako sne i mnur onda vpur Ako mne i mnur onda spur Ako vne i zur onda vpur Ako sne i zur onda vpur Ako mne i zur onda spur Ako vne i mpur onda vpur Ako sne i mpur onda vpur Ako mne i mpur onda spur Ako vne i vpur onda vpur Ako sne i vpur onda vpur Ako mne i vpur onda spur

Ako vmne i vnur onda zur Ako ze i vnur onda snur Ako vmpe i vnur onda snur Ako vmne i mnur onda mpur Ako ze i mnur onda mnur Ako vmpe i mnur onda snurAko vmne i zur onda vpur Ako ze i zur onda zur Ako vmpe i zur onda mnur Ako vmne i mpur onda vpur Ako ze i mpur onda mpur Ako vmpe i mpur onda mnur Ako vmne i vpur onda vpur Ako ze i vpur onda spur Ako vmpe i vpur onda zur

Ako mpe i vnur onda snur Ako spe i vnur onda vnur Ako vpe i vnur onda vnur Ako mpe i mnur onda snur Ako spe i mnur onda vnur Ako vpe i mnur onda vnur Ako mpe i zur onda snur Ako spe i zur onda vnpur Ako vpe i zur onda vnur Ako mpe i mpur onda snur Ako spe i mpur onda vnur Ako vpe i mpur onda vnur Ako mpe i vpur onda mnur Ako spe i vpur onda vnur Ako vpe i vpur onda vnur Regulator kuta Jezične varijable: Ulaz 1: Regulacijsko odstupanje kuta

Izlaz: Kut zakreta pomočnih lopatica

vne- veliko negativno odstupanje

vnb- veliki negativni kut

mne- malo negativno odstupanje

mnb- mali negativni kut

ze- odstupanje jednako nuli zb- kut jednak nuli

mpe- malo pozitivno odstupanje

mpb- mali pozitivni kut

vpe- veliko pozitivno odstupanje

vpb- veliki pozitivni kut

Neizrazita pravila:

Ako vne onda vnb Ako mne onda mnb Ako ze onda zb Ako mpe onda mpb Ako vpe onda vpb

 

66  

Regulator kuta Jezične varijable: Ulaz 1: Regulacijsko odstupanje kuta

Izlaz: Kut zakreta pomočnih lopatica

vne- veliko negativno odstupanje

vna- veliki negativni kut

mne- malo negativno odstupanje

mna- mali negativni kut

ze- odstupanje jednako nuli za- kut jednak nuli

mpe- malo pozitivno odstupanje

mpa- mali pozitivni kut

vpe- veliko pozitivno odstupanje

vpa- veliki pozitivni kut

Neizrazita pravila:

Ako vne onda vna Ako mne onda mna Ako ze onda za Ako mpe onda mpa Ako vpe onda vpa

Regulator položaja u smjeru x osi Jezične varijable: Ulaz 1: Regulacijsko odstupanje položaja

Ulaz 2: Brzina gibanja u smjeru x osi

Izlaz: Referenca kuta

vne- veliko negativno odstupanje

vnb- velika negativna brzina vnt- veliki negativni

mne- malo negativno odstupanje

mnb- mala negativna brzina mnt- mali negativni

ze- odstupanje jednako nuli zb- brzina jednaka nuli zt- jednak nuli

mpe- malo pozitivno odstupanje

mpb- mala pozitivna brzina mpt- mali pozitivni

vpe- veliko pozitivno odstupanje

vpb- velika pozitivna brzina vpt- veliki pozitivni

Neizrazita pravila: Ako vne i vnb onda vnt Ako mne i vnb onda vnt Ako ze i vnb onda vnt Ako vne i mnb onda vnt Ako mne i mnb onda vnt Ako ze i mnb onda mnt Ako vne i zb onda vnt Ako mne i zb onda mnt Ako ze i zb onda zt Ako vne i mpb onda vnt Ako mne i mpb onda mpt Ako ze i mpb onda mpt Ako vne i vpb onda mnt Ako mne i vpb onda vpt Ako ze i vpb onda vpt

Ako mpe i vnb onda vnt Ako vpe i vnb onda mpt Ako mpe i mnb onda mnt Ako vpe i mnb onda vpt

 

67  

Ako mpe i zb onda mpt Ako vpe i zb onda vpt Ako mpe i mpb onda vpt Ako vpe i mpb onda vpt Ako mpe i vpb onda vpt Ako vpe i vpb onda vpt Regulator položaja u smjeru y osi Jezične varijable: Ulaz 1: Regulacijsko odstupanje položaja

Ulaz 2: Brzina gibanja u smjeru y osi

Izlaz: Referenca kuta

vne- veliko negativno odstupanje

vnb- velika negativna brzina vnf- veliki negativni

mne- malo negativno odstupanje

mnb- mala negativna brzina mnf- mali negativni

ze- odstupanje jednako nuli zb- brzina jednaka nuli zf- jednak nuli

mpe- malo pozitivno odstupanje

mpb- mala pozitivna brzina mpf- mali pozitivni

vpe- veliko pozitivno odstupanje

vpb- velika pozitivna brzina vpf- veliki pozitivni

Neizrazita pravila: Ako vne i vnb onda vnf Ako mne i vnb onda vnf Ako ze i vnb onda vnf Ako vne i mnb onda vnf Ako mne i mnb onda vnf Ako ze i mnb onda mnf Ako vne i zb onda vnf Ako mne i zb onda mnf Ako ze i zb onda zf Ako vne i mpb onda vnf Ako mne i mpb onda mpf Ako ze i mpb onda mpf Ako vne i vpb onda mnf Ako mne i vpb onda vpf Ako ze i vpb onda vpf

Ako mpe i vnb onda vnf Ako vpe i vnb onda mpf Ako mpe i mnb onda mnf Ako vpe i mnb onda vpf Ako mpe i zb onda mpf Ako vpe i zb onda vpf Ako mpe i mpb onda vpf Ako vpe i mpb onda vpf Ako mpe i vpb onda vpf Ako vpe i vpb onda vpf

 

68  

Prilog B Slijedi opis svih važnijih klasa korištenih u algoritmu upravljanja (Gumstix algoritam). class LRCahrs short openPort(const int portNumber, const unsigned long baudrate = PBR_115K2, const unsigned long inqueueSize = 4096, const unsigned long outqueueSize = 1024);

- funkcija kojom se otvara port za serijsku komunikaciju, - ulazi su broj porta, brzina prijenosa, duljina ulaznog i izlaznog niza podataka - izlaz javlja uspješnost otvaranja serije prema ahrs senzoru

short openFile(const char *fileName, bool createAlways = false);

- funkcija za otvaranje datoteke - ulazi su ime datoteke i zastavica prema kojoj se određuje da li se postojeća datoteka briše - izlaz javlja uspješnost otvaranja datoteke

bool isPortOpen(); bool isFileOpen();

- funkcije koje javljaju da li su port ili datoteka otvoreni int readData(unsigned char* msgBuffer, const int nBytesToRead);

- funkcija za čitanje - ulazi su pokazivač na string buffer u koji će pročitani podaci biti spremljeni i broj bajtova koji je

potrebno pročitati - izlaz je broj pročitanih bajtova

int writeData(const unsigned char* msgBuffer, const int nBytesToWrite);

- funkcija za pisanje na serijski port - ulazi su pokazivač na buffer u kojem se nalaze podaci koje je potrebno zapisati i broj bajtova koje

treba zapisati - izlaz je broj zapisanih bajtova

void flush();

- uklanja podatke iz korištenih buffera short setFilePos(long relPos, unsigned long moveMethod = FILEPOS_BEGIN);

- postavljanje pozicije unutar datoteke - ulazi su relativni pomak u bajtovima i pozicija od koje se on počinje brojati - izlaz daje informaciju o uspješnosti pozicioniranja

short getFileSize(unsigned long &fileSize);

- funkcija koja vraća duljinu datotekeu bajtovima short close();

- zatvaranje serijskojg porta i datoteke int readMessageData(std::string &roll, std::string &pitch, std::string &yaw);

- funkcija koja korištenjem navedenih metoda vraća podatke u željenom obliku - ulazi su pokazivači na stringove u kojima će se nalaziti vrijednosti pročitanih podataka - izlaz je broj pročitanih bajtova

class Senzor int procitaj(float* dataEuler);

- funkcija koja jednokratno otvara port za serijsku komunikaciju, čita ga dok ne pročita tražene podatke te ga zatim zatvara. Pročitani podaci se pretvaraju u flaot tip podataka i spremaju u polje.

- ulaz u funkciju je pokazivač na polje podataka tipa float

 

69  

class Pwm int pretvori(int br,int i, char zn[]);

- funkcija koja cjelobrojni broj pretvara u niz znakova - ulazi su integer broj nad kojim je potrebno provesti transformaciju, polje znakova u koji se sprema

znakovna reprezentacija broja, te indeks u polju na kojem je potrebno započeti upis - izlaz je osim samog niza znakova i indeks polja na kojem je završen unos

int otvori();

- funkcija kojom se otvara serijski port prema Robostixu - funkcija vraća ID otvorenog porta

int postavi(int* izlazi,int gPortFd);

- postavljanje podataka na serijski port, unutar ove funkcije poziva se funkcija pretvori kojom se niz integer podataka pretvara u jedinstveni string, kraj niza predstavljaju znakovi \n i \0.

- ulazi su polje integer vrijednosti koje je potrebno poslati Robostixu i ID otvorenog porta int zatvori(int gPortFd);

- zatvaranje serijske komunikacije - ulaz je ID otvorenog porta

class Regulatori float trimf(float* border,float x);

- funkcija za određivanje pripadnosti neke vrijednosti određenom trokutastom fuzzy skupu - ulazi su polje kojim su zadane karakteristične vrijednosti trokutastog fuzzy skupa i vrijednost čiji

nas stupanj pripadnosti zanima - izlaz je stupanj pripadnosti skupu

float trapmf(float* border,float x);

- funkcija za određivanje pripadnosti neke vrijednosti određenom trapeznom fuzzy skupu - ulazi su polje kojim su zadane karakteristične vrijednosti trapeznog fuzzy skupa i vrijednost čiji

nas stupanj pripadnosti zanima - izlaz je stupanj pripadnosti skupu

float min(float a1,float a2);

- funkcija koja vraća manju od dvije ulazne vrijednosti void trimfizlaz(float* border, float mi, float *agreg,float* granica);

- funkcija kojom se provodi agregacija - ulazi su polje kojim su zadane karakteristične vrijednosti izlaznog trokutastog fuzzy skupa, stupanj

pripadnosti ulaznim fuzzy skupovima i agregacijsko polje - izlaz predstavlja ažurirano agregacijsko polje

float regulator_z(float ex,float dx); float regulator_psi(float ex,float dx); float regulator_theta(float ex); float regulator_fi(float ex); float regulator_x(float ex,float dx); float regulator_y(float ex,float dx);

- funkcije u kojima se na temelju stupnjeva pripadnosti ulaznim skupovima primjenjuju fuzzy pravila, te se iz agregacijskog polja defuzzifikacijom određuje upravljačka veličina

- ulazi funkcija su ulazi regulacijskih krugova - izlaz je upravljačka veličina dobivena defuzzifikacijom

 

70  

class Socket bool create(); bool bind ( const int port ); bool listen() const; bool accept ( Socket& ) const;

- funkcije koje omogućavaju način razmijene podataka upotrebom socketa bool connect ( const std::string host, const int port );

- inicijalizacija klijenta - ulazi su ime poslužitelja i port na kojem se odvija komunikacija - izlaz javlja uspješnost spajanja

bool send ( const std::string ) const; - funkcija za slanje podataka u obliku stringa - ulaz je string koji je potrebno poslati, a izlaz daje uspješnost slanja

int recv ( std::string& ) const; - funkcija za primanje podataka u obliku stringa - ulaz je adresa stringa u koji će primljeni podaci biti spremljeni - status akcije dan je izlazom

class ServerSocket const ServerSocket& operator << ( const std::string& ) const;

- funkcija istovjetna funkciji send u klasi Socket (jednostavniji poziv) const ServerSocket& operator >> ( std::string& ) const;

- funkcija istovjetna funkciji recv u klasi Socket (jednostavniji poziv) void accept ( ServerSocket& );

- funkcija istovjetna funkciji accept u klasi Socket

 

71  

Prilog C U ovom prilogu dane su simulacijske sheme procesa i zatvorenog regulacijskog kruga.

Shema procesa u Simulinku 

Mom

enti koje proizvodi glavni rotor

Mom

enti koje proizvodi repni rotor

Mom

enti koji se dobiju otklonom glavnog rotora:

naprijed - natrag, lijevo - desnoM

omenti koji uzrokuju gibanje

oko x-osi - kut fi

Mom

enti koji uzrokuju gibanje oko y-osi - kut theta

Mom

enti koji se dobiju promjenom

ravnine rotacije glavnog rotora

Mom

enti koji uzrokuju gibanje oko z-osi - kut psi

Mom

ent koji nastaje zbog pom

aknutog centra tezistaG

ibanje kroz prostor kao posljedicam

omenata na glavnom

rotoru

10w

9vx8vy

7vz 6psi

5theta

4fi

3z 2y 1x

Tuz_fi

Tuz_theta

fitheta

psi

Tuz_fiz

Tuz_thetaz

utjecaj rotacija

T_G

fitheta

psi

T_G_z

utjecaj pomaknutog centra

tezista

[dtheta]

[theta][theta]

[theta]

[theta][psi]

[psi]

[psi]

[psi]

d_Om

ega_R

d_fi

d_theta

Td_x

Td_y

Td_z

promjena rotacije noseceg rotora

fitheta

psi

Fz_R

xyz

v_x

v_y

v_z

gibanje u prostoru

Tt_R

Td_z

Tz_r

psi

omega_psi

gibanje oko z-osi

Tuz_theta

T_G

Td_y

Tt_r

theta

omega_theta

gibanje oko y-osi

Tuz_fi

Td_x

fi

omega_fi

gibanje oko x-osi

[dfi]

[fi][fi]

[fi]

[fi]

[dtheta]

[dfi]

kutne_brzine

linearne_brzine

mT

*g*rg^2/2

T_G

Ur

Tt_r

Tz_r

Repni rotor

UR

alpha

betha

Tuz_fi

Tuz_theta

Tt_R

d_Om

ega_R

Fz_R

Glavni rotor

4Ur

3betha

2alpha

1UR

 

72  

Shema regulacijskih krugova po orijentaciji

UR

9vx 8vy 7vz6psi

5theta

4fi

3z 2y 1x

e(t)e(k)

zoh

e(t)e(k)

zoh

theta_ref

sklopka4

sklopka3

psi_ref4

psi_ref3

psi_ref2

psi_ref1

fitheta

psi

fi_1

theta_2

psi_1

pretvorba u stupnjeve

fi_ref

alfa

To W

orkspace6

reffi

To W

orkspace5

beta

To W

orkspace4

reftheta

To W

orkspace3

refpsi

To W

orkspace2U

r

To W

orkspace1

UR

To W

orkspace

Sw

itch2

Sw

itch1

Scope7

Scope3

Scope15

Saturation1

UR

alpha

betha

Ur

xyzfi

theta

psi

vz

vyvxw

Proces

-1

1/15

1/15

1/5

1/15

Fuzzy Logic C

ontroller2

Fuzzy Logic C

ontroller1

Fuzzy Logic C

ontroller

0

Display

Clock

[theta]

[fi]

[psi]

[U

R]

[theta]

[fi]

[psi]

[UR

]

3betha

2alpha

1UR

 

73  

Shema regulacijskih krugova po poziciji

In1In2

Out1

zoh

In1

In2O

ut1

zoh

In1In2

Out1

zoh

zy

x_ref

x

vzvy

vx

sklopka4

sklopka3

refy

ref y

ref x

ref x

polozaj

beta

alfa

Z_ref1

UR

refy

refxkut

polozaj

refz

t

To W

orkspace

Scope

UR

alpha

betha

xyzfi

theta

psi

vz

vyvx

Nelinearni m

odel + upravljanje orijentacijom

-1 11/5

1

1/5

1/5

FLC z

FLC y

FLC x

0

Display

Clock

[z]

[z]

[y]

[x]

[vx]

[z]

[y]

[vy]

[vz]

[x]

[x]

[vy]

1

[y]

[vz]

[vx]