Upload
ivan-mesaros
View
786
Download
7
Embed Size (px)
Citation preview
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.
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)
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]