32
SVEU ˇ CILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RA ˇ CUNARSTVA ZAVRŠNI RAD br. 1871 Implementacija algoritma za pra ´ cenje linije na autonomnu ronilicu IVER Tomislav Begi´ c Zagreb, lipanj 2011.

Implementacija algoritma za pracenje linije na autonomnu

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

SVEUCILIŠTE U ZAGREBUFAKULTET ELEKTROTEHNIKE I RACUNARSTVA

ZAVRŠNI RAD br. 1871

Implementacija algoritma zapracenje linije na autonomnu

ronilicu IVERTomislav Begic

Zagreb, lipanj 2011.

Umjesto ove stranice umetnite izvornik Vašeg rada.

Da bi ste uklonili ovu stranicu obrišite naredbu \izvornik.

iii

SADRŽAJ

1. Uvod 1

2. IVER-2 AUV 2

3. Matematicko modeliranje 33.1. Koordinatni sustavi . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3.2. Matematicki model . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3.2.1. Model potisnika . . . . . . . . . . . . . . . . . . . . . . . . 5

3.2.2. Alokacija aktuatora . . . . . . . . . . . . . . . . . . . . . . . 5

3.2.3. Dinamika . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.2.4. Kinematika . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4. Definicija problema slijedenja linije 84.1. Definiranje problema slijedenja linije u 2D . . . . . . . . . . . . . . . 8

4.2. Definiranje problema slijedenja linije u 3D . . . . . . . . . . . . . . . 8

4.3. Model pracenja linije . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.4. Model slijedenja lH linije . . . . . . . . . . . . . . . . . . . . . . . . 11

4.5. Model slijedenja lv linije . . . . . . . . . . . . . . . . . . . . . . . . 12

5. Projektiranje regulatora 135.1. Odabir modelske funkcije . . . . . . . . . . . . . . . . . . . . . . . . 13

5.2. Sinteza regulatora u kontinuiranoj domeni . . . . . . . . . . . . . . . 14

5.3. Proširenje regulatora za kontrolu udaljenosti od linije u 2D . . . . . . 16

5.4. Sinteza regulatora za kontrolu dubine . . . . . . . . . . . . . . . . . 18

5.5. Regulator za kontrolu rotaciju IVER-a oko x-osi . . . . . . . . . . . . 19

6. Diskretizacija regulatora 22

7. Zakljucak 25

iv

Literatura 26

v

1. Uvod

Kako bi se suvremenom covjeku pomoglo u svakodnevnome životu i kako bi se on

olakšao, tehnologija je napredovala do visokog stupnja, unatoc mnogim otkricima i

postignucima nerijetko opasnima za život, mnoga su podrucja, u kojima bi tehnolo-

gija mogla pripomoci, ipak ostala neistražena. Jedno od takvih je i podmorje koje

skriva ostatke potopljenih brodova, zaostalih artefakta, neotkrivene flore i faune. Kao

bice željno spoznaje, covjeku je podmorje upravo iz tih razloga zanimljivo i postalo

je predmetom proucavanja mnogim biolozima, arheolozima i drugima. Ipak, problem

istraživanjima predstavljaju velike dubine do kojih je nemoguce doprijeti ili su pak

opasne po život pa se iz tih razloga razvila podvodna robotika, grana koja je omogu-

cila dopiranje do onih predjela koja su do nedavno covjeku bila posve nepoznata. Ovaj

je rad samo dio velike slagalice koja je osmišljena u težnji istraživanja bez ugrožavanja

covjekova života. Rijec je o IVER-u, autonomnoj ronilici koja može zaroniti do 100m

dubine. Ovaj rad je podijeljen na cetiri dijela. U prvome dijelu su dane specifikacije

IVER-a zatim je opisan njegov matematicki model koji je razvijen u programskom

paketu MATLAB. Središnji dio ovog rada cini opis problema slijedenja linije dvije

dimenzije koji je kasnije proširen na tri dimenzije. Zadnje poglavlje opisuje projek-

tiranje regulatora za slijedenje linije koje je takoder izradeno u programskom paketu

MATLAB. Dizajn regulatora je prvo opisan u kontinuiranoj, a kasnije i u diskretnoj

domeni.

1

2. IVER-2 AUV

IVER-2 je autonomno podvodno vozilo. Kojega proizvodi tvrtka OceanServer Tech-

nology. Zahvaljujuci sredstvima Europske unije, Fakultet elektrotehnike i racunarstva

vlasnik je jedne takve ronilice. Kupljen je u sklopu projekta Developing the Croatian

Underwater Robotics Research Potential i koristi se kao istraživacka platforma za ra-

zvoj automatike, racunalnih ugradbenih sustava, navigacije i istraživanja podmorja Ja-

drana. Svrha IVER-a je mapiranje morskog dna u cilju izradivanja nautickih karata,

arheoloških i bioloških istraživanja, detekcije i identifikacije objekata pod vodom [1].

Tablica 2.1: Tehnicke karakteristike IVER-a

Specifikacije IVER-a Vrijednosti

materijal karbonska vlakna

Dužina 148 cm

Promjer trupa 14.7 cm

Težina 21 kg

Maksimalna dubina 100 m

Brzina 4 cvora

Pogon istosmjerni DC motor

Napajanje Li-Ion baterija 600 Wh

Komunikacija s IVER-om je ostvarena putem WIFI i moguca je samo dok je IVER na

površini.

Neki od senzora koje posjeduje su kompas, senzor za kut valjanja, kut naginjanja, GPS,

senzor dubine te sonar. Za pogon se koristi jedan propulzor smješten na stražnjem kraju

IVER-a, udaljen oko 60cm od centra mase. Na IVER-u je pozitivan potisak definiran

u smjeru kazaljke na satu. Za upravljanje i stabilizaciju koriste se cetiri kormila koja

su oko 10cm udaljena od propulzora [2].

2

3. Matematicko modeliranje

U ovome poglavlju opisan je pojednostavljeni matematicki model ronilice IVER, koji

se koristi pri projektiranju regulatora.

3.1. Koordinatni sustavi

Definirana su dva koordinatna sustava pomocu kojih se definira položaj i brzine IVER-

a. Mobilni koordinatni sustav B je vezan za težište IVER-a i opisan trima osiima X, Y

i Z koje vidimo na Slici

Slika 3.1: Kordinatni sustavi

X - os usmjerena od straga prema naprijed

Y - os usmjerena prema desno

Z - os usmjerena prema dolje

3

Na slici je važno primjetiti da koordinate osi mobilnog kordinatnog sustava B koin-

cidiraju s osima zemaljskog koordinatnog sustava E. Nakon definiranih koordinatnih

sustava slijede definirane osobine svakog pojedinog (tablica 2.1):

Tablica 3.1: Oznake brzina i položaja IVER-a

DOF napredovanje poniranje valjanje zaošijanje definiran u:

brzina u w p r B

položaj i orijentacija x y φ ψ E

sile i momenti X Z K N B

Vidimo kako se koordinatni sustav E koristi za definiranje pozicije plovila η1 = [ x y z]

i orijentacije η2 = [ φ ψ θ ], η = [ητ1 ητ2 ]. U mobilnom koordinatnom sustavu defini-

ramo vektor v1 koji sadrži linearne brzine (napredovanje i zaranjanje) v1 = [ u w] i

vektor v2 koji sadrži brzine rotacije (valjanje i zaošijanje) v2 = [ p r], v = [ vτ1 vτ1 ]

3.2. Matematicki model

Poznavanje matematickog modela procesa implicira anticipaciju poznavanja procesa

korištenih pri projektiranju regulatora. Matematicki model je razložen na nekoliko

dijelova prikazanih na Slici 2.2..

Slika 3.2: Matematicki model IVER-a

4

3.2.1. Model potisnika

U opcenitom slucaju sila koju razvija propulzor je nelinearna funkcija koja ovisi o br-

zini plovila. Takav model se naziva bilinearni model. Kako se IVER krece malom

brzinom umjesto bilinearnog modela koristi se afini model koji je ujedno i primjenji-

viji u praksi. Potisak propulzora je zadan izrazom :

τ = KT |n| n

Potisak svakog od cetiri kormila zadan je izrazom:

τi = kr1 u2 δ + kr2 |n| n δ

pri cemu su kr1 i kr2 konstante kormila, n je upravljacki signal, a u je ukupna br-

zina IVER-a. Nelinearnost potiska motora je kompenzirana tako što je potisak nakon

inverzne alokacijske matrice korjenovan.

3.2.2. Alokacija aktuatora

IVER-om se upravlja pomocu jednog propulzora i cetiri kormila koji su smješteni na

njegovom kraju, kut medu kormilima je 90 stupnjeva kao što je vidljivo na Slici.

Slika 3.3: Raspored kormila na IVER-u

Položaj propulzora i kormila odreduje na koji nacin sile i momenti djeluju na IVER.

Bocna kormila koriste se za generiranje momenta M poniranja (engl. pitch), a gornje i

donje kormilo potrebno je za generiranje momenta zaošijanja N (engl. yaw). Moment

zaošijanja je pozitivan u smjeru kazaljke na satu. Važno je primjetiti ako jedno bocno

kormilo zakrenemo za više stupnjeva nego drugo uzrokovat cemo rotaciju plovila oko

5

osi x, isti moment možemo proizvesti i drugim parom kormila. Moment koji nastanje

zbog razlike kuta lijevog i desnog odnosno gornjeg i donjeg kormila naziva se moment

valjanja K (engl. roll). Moment valjanja stvara i okretanje propelera. IVER ima šest

stupnjeva slobode medu kojima su dva ( N i Y) i dva (M i Z) spregnuta. Zakretanjem

krilaca izravno se upravlja momentima N i M , a Y i Z su posljedica navedenih mo-

menata. Konacno, možemo napisati alokacijsku matricu :

X

Y

Z

K

M

N

=

1 −sin(δ1) −sin(δ2) −sin(δ3) −sin(δ4)

0 −cos(δ1) 0 −cos(δ3) 0

0 0 −cos(δ2) 0 −cos(δ4)0 −R ∗ cos(δ1) −R ∗ cos(δ2) R ∗ cos(δ3) R ∗ cos(δ4)0 0 L ∗ cos(δ2) 0 L ∗ cos(δ4)0 L ∗ cos(δ1) 0 L ∗ cos(δ3) 0

×

τ 0

τ 1

τ 2

τ 3

τ 4

Alokacijska matrica prikazuje vezu izmedu potisaka propulzora i kormila sa silama

i momentima koji djeluju na IVER. Model je spregnut, što znaci da se ne može npr.

upravljati odvojeno momentom M i silom Z. Iz alokacijske matrice slijedi kako se

IVER-om može upravljati cetirima stupnjevima slobode ( X, Z, K, N ) pri cemu X

predstavlja silu napredovanja, Z silu poniranja. Kontrolira se sila poniranja, a ne mo-

ment M s ciljem ostvarenja gibanja IVER-a na odredenoj dubini. K oznacava moment

valjanja koji se kontrolira kako IVER ne bi rotirao oko x-osi, a N moment zaošijanja

kako bi se postiglo gibanje u lijevo ili desno u horizontalnoj ravnini.

3.2.3. Dinamika

Veze izmedu brzina i akceleracija koje djeluju na IVER prikazane su dinamickim mo-

delom. IVER se krece malom brzinom pa se može koristiti pojednostavljena jednadžba

gibanja IVER-a.

αu u′ + β(u) u = X + τuE

αw w′ + β(w) w = Z + τwE

αr r′ + β(r) r = N + τrE

αϕ ϕ′′ + β(ϕ) ϕ′ +W (zg − zb) ϕ = K + τϕE

Prikazane jednadžbe sustava opisuju dinamiku IVER-a. Koeficijenti α, moment iner-

6

cije β, hidrodinamicki otpor eksperimentalno su odredeni tijekom identifikacije sus-

tava. [τuE τwE τrE]T predstavlja vektor smetnje i nelinearne dinamike. Manji α znaci

da je potrebna manja sila kako bi se pokrenuo IVER, dok manji hidrodinamicki otpor

upucuje na to kako je potrebna manja sila prilikom zakretanja. W oznacava težinu

IVER-a, a (zg − zb) razliku izmedu ishodišta sile uzgona i sile teže, ϕ oznacava kut za

koji je zakrenut IVER u odnosu na os x.

3.2.4. Kinematika

Položaj IVER-a treba se definirati u odnosu na Zemlju odnosno zemaljski koordinatni

sustav E. Kinematicki model prikazuje vezu izmedu brzina definiranih u mobilnom ko-

ordinatnom sustavu B i položaja i orijentacije definiranih u zemaljskom koordinatnom

sustavu. U kinematickoj matrici navedene su one velicine koje odgovaraju velicinama

iz dinamickog modela, a potrebne su za izracunavanje položaja u simulacijskom mo-

delu.

x

y

z

φ

ψ

=

cos(ψ) −sin(ψ)cos(φ) sin(ψ)sin(φ) 0 0

sin(ψ) cos(ψ)cos(φ) −cos(ψ)sin(φ) 0 0

0 sin(φ) cos(φ) 0 0

0 0 0 1 0

0 0 0 0 cos(φ)

×

u

v

w

p

r

7

4. Definicija problema slijedenja linije

U ovome poglavlju opisan je problem slijedenja linije po površini, u dvije dimenzije,

koji je proširen na slijedenje linije u tri dimenzije.

4.1. Definiranje problema slijedenja linije u 2D

Problem slijedenja linije je misija koja se temelji na slijedenju ravne linije u 2D rav-

nini. Oznacimo pocetnu tocku s T1 (x1(t), y1(t)) i drugu tocku T2 (x2(t), y2(t)), dok

poziciju IVER-a oznacimo s [x(t), y(t)].Orijentacija zadane linije je od tocke T1 prema

tocki T2. Okomitu udaljenost IVER-a od zadane linije racunamo prema izrazu:

dh(t) =(x2(t)− x1(t))(y1(t)− y0(t))− (x1(t)− x2(t)(y0(t)− y1(t))√

(x1(t)− x2(t))2 + (y1(t)− y2(t))2

mora vrijediti :

limt→∞dh(t) = 0

iz cega je jasno da okomita udaljenost dh(t) predstavlja regulacijsku pogrešku koja

teži prema 0 što govori da IVER konvergira prema liniji i nastavlja se gibati po njoj.

4.2. Definiranje problema slijedenja linije u 3D

Upravljanje u tri dimenzije dodatno komplicira analizu problema, povezanost izmedu

sila koje djeluju na IVER-a bitno utjece na njegovo ponašanje. Problem se rješava na

nacin da se željeni pravac rastavi na dvije komponente. Sada se tocke zadane linije

oznacuju s T1 (x1(t), y1(t), z1(t)) i T2 (x2(t), y2(t), z2(t)) iz cega je jasno da je i po-

zicija IVER-a je dobila trecu kordinatu z(t). Orijentacija linije ostaje ista kao i u 2D,

znaci od tocke T1 prema T2. Liniju l rastavlja se na svoju horizontalnu komponentu lhi vertikalnu lv. Horizontalna linija lh definirana je ortogonalnalnom projekcijom linije

l. Kako je z = z0 paralelna N-E ravnini, pravac lh je definiran tockom T1 i kutom Γ u

8

odnosu na N-D ravninu i dan sljedecim izrazom :

Γ = arctany2 − y1x2 − x1

Slika 4.1: Orijentacija pracenja pravca u z = z0

Vertikalna linija lv definirana je u Π ravnini ortogonalno N − E ravnini koja prolazi

tockom T1. Pravac lv je definiran tockom T1 i kutem χ u odnosu na N-E ravninu zadan:

χ = arctanz2 − z1√

(x2 − x1)2 + (y2 − y1)2

Navedene pretpostavke podrazumijevaju kako se pracenje 3D linije može promatrati

kao slijedenje dvije 2D linije. Udaljenost IVER-a od linije lh dana je sljedecim izra-

zom:

dH =|(x2 − x1) (y1 − y0)− (x1 − x0) (y2 − y1)|√

(x2 − x1)2 + (y2 − y1)2

Vertikalna udaljenost dv je sagledana uzimajuci u obzir ravninu Π cije ishodište

izvorno postavljeno u tocki (x1, y1, z0). Kordinate tocke T1 u odnosu na ravninu Π su

P1 = (0, z1 − z0) i tocka P2 = (σ2, z2 − z1) gdje je σ2 =√

(y2 − y1)2 + (x2 − x1)2.Ortogonalna projekcija tocke T0 u odnosu na Π ravninu daje relativne kordinate P0 =

(σ0, 0) gdje je σ0 =√√

(y0 − y1)2 + (x0 − x1)2 − d2H .

Vertikalna udaljenost se racuna kao udaljenost od tocke P0 i linije koja je opisana

9

pomocu tocaka P1 i P2.

dH =−(z2 − z1)[(x2 − x1) (x0 − x1) + (y2 − y1) (y0 − y1)]− (z1 − z0)[(x2 − x1)2 + (y2 − y1)2]√

(x2 − x1)2 + (y2 − y1)2√

(x2 − x1)2 + (y2 − y1)2 + (z2 − z1)2

Slika 4.2: Orijentacija pracenja pravca u Π ravnini

Sada su definirani osnovni parametri za izracunavanje udaljenosti s obzirom na dvije

rastavljenje linije lh i lv i izveden je matematicki model gibanja IVER-a.

Slika 4.3: Orijentacija pracenja pravca u NED koordinatnom sustavu

10

4.3. Model pracenja linije

Kako je prikazano u prethodnom poglavlju, pracenje linije u 3D se može rastaviti na

pracenje dvije linije u 2D prostoru. IVER ima cetiri stupnja slobode: napredovanje,

poniranje, valjanje i zaošijanja.

Slika 4.4: Model pracenja linije u z = z0 i Π ravnini

4.4. Model slijedenja lHlinije

Pracenje linije lH opisuju slijedece jednadžbe:

dH = u sin(γ) + v cos(γ) + ξH

γ = r

r =β(r)

αrr +

1

αr N

Na udaljenost dH utjece brzina napredovanja koja je konstantna i brzina zaošijavanja

koja se kontrolira i ujedno stvara brzinu u y smjeru v koja je njena posljedica. Mijenja-

njem kuta γq = ψ − Γ mijenja se zakret krilaca lijevog i desnog kormila kako bi se

postigao onaj raspored sila, na svakom od kormila, koje se dobiju iz inverzne alokacij-

ske matrice. Pošto je kut zakreta svakog od kormila 30 stupnjeva vrijede pretpostavke

sin(γ) ≈ γ i cos(γ) ≈ 1. Te pretpostavke jako pojednostavljuju sintezu regulatora jer

je sustav, barem na razini kinematike lineariziran.

11

4.5. Model slijedenja lv linije

Pracenje linije lv opisuju slijedece jednadžbe:

dv = w cos(χ)− u cos(γ) sin(χ) + ξv

w =β(w)

αww +

1

αw(Z + W − B)

Na udaljenost dv utjece brzina napredovanja koja je konstantna. Moment zaranjanja M

(engl.pitch) stvara silu Z i brzinu u z smjeru. Kako je želja kontrolirati dubinu, a ne

moment zaranjanja, kontolira se Z (engl. heave).

12

5. Projektiranje regulatora

U ovome poglavlju opisano je projektiranje regulatora za kontrolu zaošijanja, poniranja

za pracenje linije u 2D i 3D te dizajn regulatora za kontrolu valjanja.

5.1. Odabir modelske funkcije

Polazište pri sintezi je zatvoren regulacisjki krug opisan željenom prijenosnom funk-

cijom. Modelska funkcija proizlazi iz specifikacija kakvoce koja se obicno zasniva

na odgovarajucoj prijelaznoj funkciji hr(t). Opceniti zapis modelske funkcije dan je

izrazom:

Gm(s) =α(s)

β(s)=a0 + a1 s. . .av s

v

b0 + b1 s. . .bu su, u > v

gdje su α(s) i β(s) polinomi kompleksne varijable pri cemu ne smije postojati odstu-

panje od referentne vrijednosti u stacionarnom stanju

limt→∞ G(0) = 0

Uz poznato vladanje procesa i uz odabrani Gm(∗) može se neposredno projektirati

odgovoarajuci regulator. Proces Gs(s) opisan je prijenosnom funkcijom:

Gs(s) =D(s)

C(s)=d0 + d1 s. . .dm sm

c0 + c1 s. . .cn sn, n > m

iz cega slijedi da je prijenosna funkcija regulatora dana izrazom:

Gr(s) =B(s)

A(s)=

C(s)α(s)

D(s) [β(s)− α(s)]

Prijenosne funkcije regulatora koje je potrebno projektirati zapisane su u paralelnoj

formi i dane u sljedecem obliku :

Gr(s) = KR +KI

s+KD s

Kako IVER može pratiti zadanu liniju na površini i pod vodom, zbog mogucnosti da

zaroni dublje i zabije se u dno ili u rub jezera, odabire se binomna modelska funkcija,

13

ponajprije zbog svog aperiodskog odziva.

Gm(s) =wnn

(s+ wn)n

5.2. Sinteza regulatora u kontinuiranoj domeni

Regulator se projektira u s domeni što je opravdano zbog odabranog malog vremena

diskretizacije T = 0.1s. Za regulaciju udaljenosti od linije i kontrole momenta zaošija-

nja koristi se I-PD struktura regulatora. Takva struktura je dobra jer za veliku promjenu

reference ne dolazi do velike promjene upravljackog signala što je i poželjno. Izlaz iz

prvog PD regulatora što kontrolira okomitu udaljenost IVERA od linije je rref (brzina

zanošenja) koja je referenca za drugi, unutrašnji regulator koji na svome izlazu daje

upravljacki signal N.

rref = KPd (dref − d) +KDdd

dt(dref − d) + βr r

N = KIr

∫ t

0

(rref − r) dt−KPr r + βr r

Struktura regulatora prikazana je na sljedecoj Slici.

Slika 5.1: Zatvorena petlja za slijedenje linije

14

Kao što je vec navedeno, udaljenost od linije i moment zaošijanja se kontroliraju po-

mocu dva regulatora odn. unutrašnje i vanjske petlje što pretpostavlja korištenje jedne

modelske funkcije. Unutrašnja petlja ima prijenosnu funkciju:

r

rref=

1αr

KIrs2 + KPr

KIrs+ 1

Oznacimo αr

KIrs a2r, a KPr

KIrs a1r. Sada pogledajmo prijenosnu funkciju otvorenog

krugad

dref=

1 + KDd

KPds

α2r

ur KPds4 + α1r

ur KPds3 + 1

ur KPds2 + KDd

KPds+ 1

Polove prijenosne funkcije oznacimo redom s a4d, a3d,a2d i a1d.

Kombinacijom prijenosne funkcije unutrašnje petlje i prijenosne funkcije otvorenog

kruga dobiju se sljedeci izrazi za parametre regulatora:

KIr =a2da4d

αr

KPr =a3da4d

αr

KPd =1

ur a2d

KIr =a1dur a2d

Poznavanjem dinamike procesa moguce je automatski podešavati parametre regula-

tora. Kada pogledamo modelsku funkciju

Gm(s) =1

1w4

ns4 + 1

w3ns3 + 1

w2ns2 + 1

wns+ 1

jasno je da dinamiku sustava podešavamo frekvencijom neprigušenih oscilacija wn.

15

Slika 5.2: Prijelazne funkcije za binomne modelske oblike

Jedini dinamicki parametar prema kojemu je odredena wn je vrijeme porasta pri-

jelazne funkcije tu. Iz normirane prijelazne funkcije za binomni oblik cetvrtog reda

išcitavamo:

wn t = 20

Metodom pokušaja odredivanja tu odlucili smo da je tu jednako 7 sekundi. Nakon što

su odredeni parametri regulatora važno je naglasiti da je umjesto idealnog derivacij-

skog clana korišten realni:

GD(s) =KR TDTDνs+ 1

5.3. Proširenje regulatora za kontrolu udaljenosti od li-

nije u 2D

Kada je linija koju IVER treba pratiti jako udaljena od njega, IVER se pocinje vrtjeti

u mjestu ili spiralno kretati prije nego pocne pratiti zadanu liniju. U ovome poglav-

lju opisan je postupak koji omogucuje izbjegavanje takvih,neželjenih radnji. Kontrola

udaljenosti od linije dana u prethodnom poglavlju za slucajeve kad je d velik može re-

zultirati takoder velikim rref , takvim da se IVER kružno ili spiralno giba. Rješavanju

ovog problema pristupili smo na dva nacina. Prvi pristup podrazumijeva udaljenost

vecu od maksimalne udaljenosti, koju smo sami odredili, o cemu cemo kasnije govo-

riti, cime je rref odraniceno na 0. Takav pristup je dobar jer IVER prestane kružiti

16

oko svoje osi ili se spiralno kretati, ali odziv pracenja linije ne daje zadovoljavajuce

rezultate. Drugi pristup pak podrazumijeva ogranicenje udaljenosti na maksimalnu

vrijednost ako je ona veca od maksimalne vrijednosti. Maksimalna vrijednost udalje-

nosti do koje možemo biti sigurni da se IVER nece poceti spiralno gibati ili još gore

poceti rotirati oko svoje osi zadan je izrazom :

d =KDd

KPd

ur sin(β)

β oznacava kut za koji se IVER može maksimalno zakrenuti β = (−π2, π2) što je do-

voljno da IVER može pratiti bilo koju liniju. Ogranicenjem udaljenosti regulator do-

biva novi oblik:

rref = −KPd sat(d,−d, d)− KDd d

Ovakvim nacinom ogranicenja udaljenosti od linije i modifikacijom regulatora za sli-

jedenje linije postignuto je da se IVER približava zadanoj liniji pod 45 stupnjeva sve

dok udaljenost od linije ne postane manja od maksimalne kad ulogu izracunavanja rrefpreuzima regulator opisan u prethodnom poglavlju.

Slika 5.3: Spiralna putanja IVER-a prema liniji

17

Slika 5.4: Uklanjanje efekta spiralnog gibanja uz primjenjenu modifikaciju

5.4. Sinteza regulatora za kontrolu dubine

Struktura sustava upravljanja dubinom na kojoj ce se nalaziti IVER prikazana je na sli-

jedecoj Slici. Kontroliranje slijedenja linije ostvaruje se pomocu klasicnog PID regu-

Slika 5.5: Prijelazne funkcije za binomne modelske oblike

latora. Kao i u slucaju slijedenja lh linije željeno vladanje je da udaljenost dV,ref = 0.

Upravljacki signal Z iz regulatora zadan je slijedecim izrazom:

Z = KIv

∫ t

0

(dV,ref − dV ) dt−KPvdV +d

dtdV

Parametri regulatora i u ovome slucaju traže se pomocu modelske funkcije takoder

u kontinuiranoj domeni. Izjednacavanjem jednadžbe upravljackog signala i jednadžbe

procesa danih u [3.5] dobije se željena prijenosna funkcija procesa izražena na slijedeci

nacin:dVdV,ref

=1

αw

KIv cosχs3 + βw

KIv cos(χ)+ KDv

KIvs2 + KPv

KIvs+ 1

18

ako oznacimo redom clan uz s3 s av3 uz s2 s av2 i s s av1 slijede slijedeci izrazi za

parametre regulatora:

KIv =αw

cos(χ)

1

av3

KPv =αw

cos(χ)

av1av3

KIv =αw

cos(χ)

av2av3− βw

cos(χ)

Potrebno je naglasiti da izbor parametara željene modelske funkcije ovisi o fleksibil-

nosti dinamike sustava koji se regulira, u ovome slucaju IVER-a.

Slika 5.6: Pracenje jedne zadane linije u 3D

5.5. Regulator za kontrolu rotaciju IVER-a oko x-osi

Zbog vrtnje propelera propulzora nastaje moment koji pokušava okrenuti IVER oko

x-osi. IVER se takoder pokušava okrenuti ako postoji razlika izmedu kutova gornjeg

i donjeg ili bocnih kormila. Valjanje je nepoželjno ukoliko je cilj snimati podmorje.

Iz tih razloga projektira se regulator koji kontrolira valjanje (eng. roll). Kako IVER

daje podatke o kutu rotacije oko x osi, regulira se kut, a ne brzina valjanja. Kako bi

se regulirao ovaj proces potrebno je poznavati njegovo ponašanje. Jednadžba koja ga

opisuje prikazana je izrazom:

α ϕ+ β ϕ+W (zG − zB) ϕ = K + ηK

19

Za razliku od procesa poniranja ili zaošijanja, ovaj proces ima još jedan clan W (zG −zB). Taj clan je posljedica što se i sam IVER želi vratiti u pocetno stanje.

Pri definiranju procesa korištena su pojednostavljenja koja su opravdana iz razloga

navedenih u 3.2.3. Nadalje, pretpostavlja se da je sila uzgona jednaka sili teži. zG−zBpredstavlja razliku izmedu ishodišta djelovanja sile uzgona i sile teže. Ako uzmemo

da je zG− zB približno 15 cm i da je težina IVER-a 20 kg lako izracunamo koeficijent

W (zG − zB). Zatim pretpostavimo da se IVER rotira u pocetni položaj za 1s i da mu

je nadvišenje pri toj radnji 2 % . Uzimajuci u obzir ove kriterije kvalitete lako se može

odrediti frekvencija neprigušenih oscilacija wn 5.8 s−1 i koeficijent ζ=0.78. Nakon

što smo odredili wn i ζ tražimo funkciju koja dobro opisuje naš proces. Uvrštavajuci

koeficijente u izraz

G(s) =w2n

s2 + 2 ζwn s+ w2n

i uzimajuci u obzir težinu IVER-a i zG − zB dobije se prijenosna funkcija procesa

rotacije oko x-osi:

G(s) =1

0.6 s2 + 8 s+ 30

koja zadovoljava navedene kriterije. Sada kad poznajemo proces lako cemo odrediti

parametre regulatora pomocu binomne modelske funkcije drugog reda. Parametre mo-

delske funkcije odabiru se kako bi zatvoreni krug imao isto vrijeme maksimuma i

nadvišenje kao i proces.

Regulator je zadan prijenosnom funkcijom :

G(s) = 15 +75

s− 25

s+ 10

20

Moment koji nastaje zbog okretanja motora simuliramo kao konstantni poremecaj

na ulazu u proces. Na simulacijskom modelu kad se regulira valjanje važno je primjetiti

razliku izmedu zakreta kako gornjeg i donjeg tako i bocnih kormila.

Slika 5.7: Kut zakreta svakog od kormila pri slijedenju zadane linije

21

6. Diskretizacija regulatora

Kako bi mogli realizirati upravljanje sustavom, projektirane kontinuirane regulatore

potrebno je diskretizirati. Zbog odabranog malog vremena diskretizacije T = 0.1s,

regulatori su diskretizirani prema EMUL1 metodi. Pri diskretizaciji korištena je Eule-

rova metoda unazadne diferencije.

s =z − 1

T z

PD regulator realiziran u mskripti u MATLAB-u:

p e r s i s t e n t dh1 bp r r e f 1 ;

i f t ==0

dh1 =0;

r r e f 1 =0;

r r e f =0;

bp =0;

b =0;

a =0;

e l s e

i f ( abs ( dh ) >dmax )

i f ( dh >0)

d=dmax ;

e l s e

d=−dmax ;

end

a=KPd∗d ;

b=KDd∗ ( dh−dh1 ) / T ;

r r e f =−a−b ;

e l s e

a=KPd∗ ( d r e f−dh ) ;

b=KDd∗ ( dh1−dh ) / T ;

22

r r e f =a+b ;

end

end

dh1=dh ;

bp=b ;

r r e f 1 = r r e f ;

y =[ r r e f ] ;

end

PI regulator realiziran u mskripti u MATLAB-u:

p e r s i s t e n t ap ;

i f t ==0

ap =0;

a = 0 ;

b = 0 ;

c = 0 ;

N = 0 ;

e l s e

a=ap+KIr ∗T∗ ( r r e f− r r e a l ) ;

b=KPr∗ r r e a l ;

c= b e t a r ∗ r r e a l ∗ abs ( r r e a l ) ;

N=a−b+c ;

end

ap=a ;

y =[N ] ;

end

PID regulator realiziran u mskripti u MATLAB-u:

p e r s i s t e n t dv1 Z1 ;

i f t ==0

dv1 =0;

dv2 =0;

Z1 =0;

Z=0;

e l s e

a=Z1+KIv∗T∗ ( d r e f−dv ) ;

23

b=KPv∗dv ;

c = ( ( ( KDv/ T ) ∗ ( dv−dv1 ) ) + Z1 ) / ( 0 . 4 ∗T + 1 ) ;

Z=a−b−c ;

end

dv1=dv ;

Z1=Z ;

y =[Z ] ;

end

Kao što je vidljivo iz kodova regulatora, regulatori su ostvareni preko rekurzivnih jed-

nadžbi.

24

7. Zakljucak

U ovome radu opisan je problem slijedenja linije u tri dimenzije rastavljanjem linije

na njenu horizontalnu i vertikalnu komponentu. Pri izradi regulatora za kontrolu slije-

denja linije pretpostavlja se da je brzina napredovanja konstantna. Regulator zaošija-

nja kontrolira horizontalnu komponentu linije, dok vertikalnu komponentu kontrolira

regulator poniranja. Regulatori su projektirani pod pretpostavkom da je model ras-

pregnut, nažalost, nisu testirani na stvarnome spregnutom modelu. Simulacijski model

u cjelosti je razvijen u programskom paketu MATLAB. Regulatori su diskretizirani

i ostvareni u mskriptama kao predložak za njihovu implementaciju u programu C++.

Simulacijski model je ostvaren parametarski kako bi se povecala modularnost odnosno

omogucila daljnja proširenja i nadogradnja postojeceg modela.

25

LITERATURA

[1] University of Zagreb’s OceanServer Technologies AUV "Iver 2"’s first dive

http://www.youtube.com/watch?v=d5i0TkgQ9oQ

[2] Developing the Croatian Underwater Robotics Research Potential

http://cure.fer.hr/index.php/labust-resources/cureresources-auv

[3] Predavanja racunalno upravljanje sustavima

http : //www.fer.hr/download/repository/RUS06Analitickipostupcisinteze2010−11.pdf

[4] T. Fossen. Guidance and Control of Ocean Vehicles. John Wiley and Sons

England, 1994.

[5] N. Miškovic. Bespilotne ronilice - identifikacija i upravljanje

[6] Z. Vukic i Lj. Kuljaca. Automatsko upravljanje - analiza

linearnih sustava. Kigen, Zagreb, 2004

[7] M.Bibuli.Advanced Guidance Techniques and Mission Control Architectures

Development towards Marine Robotic Systems Enhancement

[8] N. Miškovic. 3D Line Following for Unmanned Underwater Vehicles

26

Implementacija algoritma za pracenje linije na autonomnu ronilicu IVER

Sažetak

IVER je autonomno podvodno vozilo koje se koristi kao istraživacka platforma za

razvoj automatike. Prilikom izrade regulatora potrebno je poznavanje matematickog

modela koji ukljucuje poznavanje aktuatora, alokacije aktuatora, dinamike i kinema-

tike. Cilj je definiranje problema slijedenja u tri dimenzije koji je riješen rastavljanjem

linije na horizontalnu i vertikalnu komponentu. Za upravljanje su korišteni I-PD re-

gulator i klasicni PID regulator. Regulatori su dizajnirani metodom modelske funkcije

pri cemu je odabrana binomna modelska funkcija ponajprije zbog aperiodskog odziva.

Kljucne rijeci: autonomno podvodno vozilo, matematicki model, I-PD regulator, PID

regulator, vertikalna i horizontalna komponenta linije

The implementation of the line following algorithm to the IVER autonomousunderwater vehicle (AUV)

Abstract

Iver is autonomous underwater vehicle used as a research platform in automatic

development. During regulator construction a mathematical model consisting of an

aktuator, an allocation matrix, dynamical and kinematic model is necessary. The pur-

pose of this paper is to define the line following problem in 3D. The problem is then

solved by resolving the line into a horizontal and vertical component. An I-PD re-

gulator and a classical PID regulator are implemented for control. A model function

method is chosen for designing the regulators, where the binom model function is se-

lected mainly of its aperiodical response.

Keywords: autonomous underwater vehicle,I-PD regulator,PID regulator,horizontal

and vertical line component