%%This is a very basic article template.
%%There is just one section and two subsections.
\documentclass[times, utf8, seminar, numeric, table]{fer}
\usepackage{booktabs}
\usepackage{gensymb}
\usepackage{float}
\usepackage[geometry]{ifsym}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{mcode}
\usepackage{listings}
\lstset{language=C}

\begin{document}

\title{Upravljanje modelom broda}
\author{Viktor Vladić}
\voditelj{Prof.dr.sc.Zoran Vukić}

\maketitle
\tableofcontents 

\chapter{Uvod}

More. Od najdavnijih vremena, čovjek ima potrebu za kretanjem i istraživanjem
tog beskrajnog plavog prostranstva. S ciljem sigurnijeg i udobnijeg putovanja,
te povećanjem duljine puta, čovjek je izumio splav. Splav je zamijenio čamcem.
Razvojem trgovine i prijevoza putnika, čamac je zamijenio brodom. U vojne svrhe
razvijen je ratni brod. S ciljem povećanja efikasnosti trgovine, razvijani su
sve veći i veći trgovački brodovi. Uz povećanje nosivosti tereta, rasla je i
duljina rute. Razvojem tehnologije, za izgradnju brodova su primjenjivani razni
materijali, od drva preko željeza pa do plastike i modernih legura. Također,
brodski pogon je usavršavan kroz povijest, od vesla, jedra, preko lopatica
parobroda, do današnjih modernih sustava propulzije. Dakle, usporedo razvitkom
znanosti i potražnje, postoji put od primitivne splavi do modernih supertankera.
Glavna motivacija za automatsko upravljanje plovilima je ušteda novaca i
spriječavanje pomorskih nesreća. Npr. punom tankeru treba preko $15$ minuta za
zaustavljanje, pa i najbolji kapetani ponekad mogu krivo procijeniti kada početi
zaustavljati plovilo.

\section{Osnovna problematika upravljanja brodom}
Osnovni problemi kod upravljanja brodom mogu se podijeliti na nekoliko
kategorija. Prvi problem koji se susreće je regulacija kursa. Taj način
upravljanja najčešće je korišten kod manjih komercijalnih plovila. Za veća
plovila taj način regulacije ne daje zadovoljavajuće rezultate što se tiće
potrošnje energije, vremena a time novaca. S ciljem povećanja efikasnosti osmišljeni su
koncepti praćenja linije, putanje i trajektorije. Praćenje linije predstavlja
najjednostavnije bolje rješenje od čiste regulacije kursa, dok su praćenje
putanje i trajektorije nešto složenije. Putanja se može prikazati i kao povezani
skup linija, a trajektorija kao putanja u vremenu. U poglavlju $4$ predložena su
neka rješenja regulacije kursa i praćenja linije. Problemi koji se također mogu
susretati kod upravljanja plovilima su planiranje trajektorije, dinamičko
pozicioniranje broda, koordinacija s drugim plovilima, letjelicama i slično.

\chapter{Laboratorijski model broda}

Motivacija za izradu fizikalnog laboratorijskog modela broda proizlazi
iz želje za stjecanjem praktičnog znanja i za upoznavanjem sa stvarnim problemima koji se
javljaju kod automatskog upravljanja plovila. Ovakav pristup problemu
upravljanja puno je veći izazov jer sadrži puno problema koji ne postoje kod
simulacije na računalu npr. povećanje smetnje senzora pri radu aktuatora ili
brtvljenje osovine broda. Model tankera odabran je iz više razloga. Tanker
predstavlja tipični teretni brod, često je korišten i relativno je stabilan što
se tiće valjanja. Model je rađen po uzoru na $3D$ skicu tankera klase
\emph{Panamax} na slici \ref{fig:Slika1}.

\begin{figure}[htp]
\begin{center}
  \includegraphics[width=12cm]{img/panamax.png}
  \caption[labelInTOC]{Skica modela tankera klase Panamax}
  \label{fig:Slika1}
\end{center}
\end{figure}

Zbog iznimno velikog opsega područja koji pokriva ovaj rad, poglavlje o izradi
laboratorijskog fizikalnog modela je sažeto u ono najosnovnije.

\newpage
\section{Trup broda}
Trup broda izrađen je od poliesterske smole impregnirane staklenim vlaknima.
Najprije je obrađen sirovi komad poliuretanske pjene na način da poprimi što
sličniji oblik trupa broda prikazanog na skici sa slike \ref{fig:Slika1}. Zatim
je laminiranjem naneseno nekoliko slojeva poliesterske smole zajedno sa platnima
od staklenih vlakana. Nakon laminiranja izvađen je komad poliuretanske pjene
koji se koristio kao kalup. Površina je zatim obrađena i zaglađena masom za
popunjavanje neravnina od poliestera. U trup broda ugrađeni su tuneli za bočne
propulzore, nosači za aktuatore, kormilo i elektroniku. Na slici
\ref{fig:Slika2} može se vidjeti kako stvarno izgleda trup broda.

Dimenzije broda su sljedeće:

\begin{itemize}
  \item Dužina: $120$ cm
  \item Širina: $27$ cm
  \item Visina: $17$ cm (sa kabinom $25$ cm)
\end{itemize}

%\usepackage{graphics} is needed for \includegraphics
\begin{figure}[htp]
\begin{center}
  \includegraphics[width=14cm]{img/brodJezero.jpg}
  \caption[labelInTOC]{Brod na jezeru}
  \label{fig:Slika2}
\end{center}
\end{figure}

\section{Aktuatori}

Brod pokreću četiri električna aktuatora. Osovinu glavnog propelera pokreće
istosmjerni motor nazivnog napona $24$ V i nazivne struje $250$ mA. Osovina
motora i osovina propelera spojene su zupčastim remenom. Osovina se brtvi pomoću
posebno dizajnirane i izrađene brtve od nehrđajućeg čelika i teflonskih
prstenova. Teflonska brtva je korištena da se omogući vrtnja osovine
broda \emph{na suhom} i da trenje bude minimalno. Brod posjeduje i sustav bočne
propulzije koji se sastoji od prednjeg i stražnjeg bočnog propulzora, eng.
\emph{Bow thruster} i \emph{Stern thruster}. Bočne propulzore pokreću također
istosmjerni motori nazivnog napona $24$ V i nazivne struje $200$ mA.

Kormilo je realizirano pomoću koračnog motora a radi na sljedeći način. Osovina
koračnog motora preko sustava zupčanika pokreće osovinu kormila i osovinu
potenciometra. Otpor potenciometra ovisi o zakretu njegove osovine. Na temelju
otpora potenciometra može se precizno odrediti zakret kormila u svakom trenutku.
Sustav kormila prikazan je na slici \ref{fig:Slika3}.

Istosmjerne motore pokreću četverokvadratni čoperi napona poznatiji kao
H-mostovi, dok koračni motor pokreće tranzistorsko pojačalo sa četiri faze.
\newline

%\usepackage{graphics} is needed for \includegraphics
\begin{figure}[htp]
\begin{center}
  \includegraphics[width=10cm]{img/kormilo.jpg}
  \caption[labelInTOC]{Sustav kormila}
  \label{fig:Slika3}
\end{center}
\end{figure}

\newpage
\section{Elektronika}

Elektronika broda je složeni sustav koji obavlja razne funkcije na brodu.
Elektronika broda osmišljena je i izrađena tako da bude maksimalno modularna. Na
taj način moguće je vrlo jednostavno zamijeniti pojedine dijelove elektronike i
omogućena je eventualna nadogradnja sustava. Na slici \ref{fig:Slika4} može se
vidjeti na koji je način strukturirana elektronika. Plavom bojom označeni su
mikrokontroleri, narančastom bojom označena su pojačala, zelenom bojom označeni
su senzori, ljubičastom bojom označeni su komunikacijski moduli a crvenom bojom
označeni su elementi napajanja.

Glavna zadaća mikrokontrolera je razmjena podataka i upravljanje sa ostalim
komponentama. Zbog računske složenosti i izbjegavanja konflikata postoje tri
mikrokontrolera. Glavni mikrokontroler obavlja komunikaciju sa računalom,
upravljanje $I^2C$ sabirnicom, dobavljanje i kontrolu svih stanja broda i razne
upravljačke algoritme vezane za navigaciju. On sadrži podatke o:
\begin{itemize}
  \item Naponu napajanja, strujama pojedinih motora
  \item Zakretu kormila, orijentaciji
  \item GPS koordinatama, brzini kretanja
  \item Vremenu i datumu itd. \ldots
\end{itemize}

\vspace{12mm}

%\usepackage{graphics} is needed for \includegraphics
\begin{figure}[htp]
\begin{center}
  \includegraphics[width=14cm]{img/elektronikaSch.png}
  \caption[labelInTOC]{Načelna struktura elektronike}
  \label{fig:Slika4}
\end{center}
\end{figure}
\newpage

\noindent
Dio sustava prikazan je na slici \ref{fig:Slika5}. Na lijevoj strani nalazi se
mikrokontroler za upravljanje aktuatorima, u sredini je jedinica
napajanja sa relejom, dok se na desnoj strani nalazi glavni mikrokontroler. Na
dnu slike je pojačalo za koračni motor. \begin{figure}[htp]
\begin{center}
  \includegraphics[width=14cm]{img/elektronika.jpg}
  \caption[labelInTOC]{Elektronika broda}
  \label{fig:Slika5}
\end{center}
\end{figure}

Najbitnije komponente su sljedeće:
\begin{itemize}
  \item MCU - $2$ x ATmega$16$ i ATmega$8$ takta $8$MHz
  \item Compass - HMC$6352$
  \item GPS - LS$20031$
  \item H-bridge MOSFET driver - HIP$4082$   
\end{itemize}

%\usepackage{graphics} is needed for \includegraphics
\begin{figure}[htp]
\begin{center}$
\begin{array}{ccc}
  \includegraphics[width=4cm]{img/GPS.png}&
  \includegraphics[width=5cm]{img/HMC6352.png}&
  \includegraphics[width=4cm]{img/hip4082.jpg}
  \end{array}$
  \caption[labelInTOC]{GPS LS20031, Compass HMC6352, HIP4082 Driver}
  \label{fig:Slika6}
\end{center}
\end{figure}

\newpage
\section{Komunikacija}
Na brodu postoji više vrsta i razina komunikacija. Brod komunicira sa računalom
bežično koristeći serijsku komunikaciju. Mikroprocesori također međusobno
komuniciraju, i ta se komunikacija odvija preko $I^2C$ protokola. GPS i
odgovarajući mikroprocesor, prevoditelj NMEA poruka, koriste se serijskom
komunikacijom.

$I^2C$ odnosno \emph{Inter Integrated Circuit} protokol je oblik komunikacije 
koji je namijenjen povezivanju integriranih krugova i razne periferije sa 
računalom, a izumila ga je tvrtka \emph{Philips}. Veoma je raširen i često se
koristi u sustavima automatskog upravljanja. Glavne prednosti su da za
komunikaciju koristi samo dvije žice, postiže brzine do $1Mbit/s$ i na sabirnicu
istovremeno može biti spojeno do $127$ uređaja, što uvelike povećava
fleksibilnost i mogućnost nadogradnje. Isti protokol se koristi i pod imenom
\emph{TWI}, odnosno \emph{Two Wire Interface}.

Komunikacija broda i računala se odvija na principu \emph{Zahtjev/Odgovor}.
Ideja je da računalo brodu pošalje komandu ili zahtjev za nekim podatkom, na što
brod odgovara da je primio i izvršio komandu ili šalje zahtjevane podatke. Neke
važnije komande za komunikaciju s brodom se nalaze u tablici
\ref{table:Tablica1}. 

%\usepackage{graphics} is needed for \includegraphics
\begin{figure}[htp]
\begin{center}
  \includegraphics[width=6cm]{img/xbeepro.png}
  \caption[labelInTOC]{XbeePro komunikacijski modul}
  \label{fig:Slika7}
\end{center}
\end{figure}

Parametri serijskog porta za komunikaciju s brodom su prema tablici \ref{table:Tablica2}

\begin{table}[H]
\centering
\begin{tabular}{ccccc}
\hline \hline Baud Rate & Data bits & Stop bits & Parity & Flow control \\
\hline $19200$ & $8$ & $1$ & None & None \\ \hline \hline
\end{tabular}
\caption{Parametri serijskog porta broda}
\label{table:Tablica2}
\end{table}

\newpage

 \begin{table}[H] 
	\caption{Komunikacija broda i računala}
	\centering
	\begin{tabular}{c c c c}
	\hline \hline Broj & Zahtjev prema brodu & Odgovor od broda & Opis
	\\ \hline 1. & 'R','0' ili '1' & 'O','K' & Relay ON/OFF
	\\ 2. & 'G','R' & 'R', 1 ili 0 & Stanje releja
	\\ 3. & 'M','0' ... '8' & 'O','K' & Mod rada = 0 ... 8
	\\ 4. & 'G','M' & 'M', 0 ... 8 & Trenutni mod rada
	\\ 5. & 'H',$yaw_H$, $yaw_L$ & 'O','K' & Referentni heading
	\\ 6. & 'G','H' & 'H',$yaw_H$, $yaw_L$ & Trenutni heading
	\\ 7. & 'S','0' ili '1' & 'O','K' & Start/Stop
	\\ 8. & 'G','S' & 'S', 0 ili 1 & Stanje Start/Stop
	\\ 9. & 'K', $\delta_r$ & 'O','K' & Ref. stanje kormila
	\\ 10. & 'G','K' & 'K', $\delta$ & Tren. stanje kormila
	\\ 11. & 'A', $M_A$ & 'O','K' & Ref. stanje Motora A
	\\ 12. & 'B', $M_B$ & 'O','K' & Ref. stanje Motora B
	\\ 13. & 'C', $M_C$ & 'O','K' & Ref. stanje Motora C
	\\ 14. & 'G','A' & 'A', $M_A$ & Stanje Motora A
	\\ 15. & 'G','B' & 'B', $M_B$ & Stanje Motora B
	\\ 16. & 'G','C' & 'C', $M_C$ & Stanje Motora C
	\\ 17. & 'P',$la_H$,$la_L$,$lo_H$,$lo_L$ & 'O','K' & Ref. pozicija GPS
	\\ 18. & 'G','P' & 'P',$la_H$,$la_L$,$lo_H$,$lo_L$ & Tren. poziciju GPS
	\\ 19. & 'G','V' & 'V', $volt_H$, $volt_L$ & Napon baterije
	\\ 20. & 'G','E' & 'E', $error$ & Kod greske
	\\ 21. & 'G','W' & 'W', $warning$ & Kod upozorenja
	\\ 22. & 'r','s','t' & 'O','K' & Hard Reset
	\\ \hline
	\end{tabular}
    \label{table:Tablica1}
\end{table} 
 
 
\chapter{Matematički model broda}
Nakon što je izrađen funkcionalni fizički model broda, potrebno ga je
matematički modelirati. Cilj matematičkog modela je što vjernije opisati
kinematičko ponašanje procesa u prostoru i dinamičko ponašanje procesa u
vremenu. Matematički model potreban je iz više razloga. Dobrim matematičkim
modelom može se predvidjeti ponašanje broda, te se na taj način mogu spriječiti
razne neželjene situacije. Također matematičkim modelom mogu se simulirati
razni algoritmi upravljanja brodom i na taj način vršiti razni eksperimenti bez
mnogo utrošenog vremena, goriva a time i novaca.

Brod predstavlja iznimno složen i nelinearan proces. Egzaktno modeliranje
složenih procesa u pravilu nije moguće, pa se zato pristupa pojednostavljenju
procesa. Matematičko modeliranje se bazira na zakonima kinematike i zakonima
dinamike. Kinematika opisuje gibanje sustava bez ulaženja u uzroke gibanja, dok
se dinamika bavi uzrocima gibanja, odnosno silama koje djeluju na
objekt koji se promatra. Dinamiku tijela se opisuje jednadžbama dinamičke
ravnoteže.

Matematički model je prvo polazište za bilo kakav oblik automatskog upravljanja.
Takav model posjeduje niz parametara koje je zatim potrebno identificirati nekom
od metoda identifikacije, o čemu će biti više riječi u nastavku.

\newpage
\section{Kinematika}
Općenito je pozicija i orijentacija nekog tijela u prostoru u odnosu na neki
referentni koordinatni sustav opisana sa $6$ stupnjeva slobode. Radi se o
koordinatama (x,y,z) koje opisuju poziciju i tzv. \emph{Eulerovim Kutovima}
($\phi$,$\theta$,$\psi$) koji opisuju orijentaciju promatranog tijela u odnosu
na neki referentni koordinatni sustav. Ovisno o kojem se referentnom
koordinatnom sustavu radi, postoji nekoliko načina za opis problema kinematike. Problem kinematike površinskih plovila znatno je
pojednostavljen zbog pretpostavke da se plovila ne mogu gibati vertikalno u
odnosu na površinu vode. Prirodno je da brod ne može uzletjeti sa površine vode.
Nadalje, pretpostavlja se da se plovilo ne zakreće oko x i y osi, odnosno da je
dno broda uvijek paralelno sa horizontalnom ravninom. 
Brod također posjeduje vlastiti koordinatni sustav koji je smješten u sredinu
broda, koji se kreće i rotira zajedno sa brodom. 
S obzirom da se vlastiti koordinatni sustav broda kreće zajedno s brodom, nema
smisla pričati o poziciji broda u odnosu na taj sustav, već samo o brzini kojom
se gibaju brod i njegov koordinatni sustav u odnosu na neki fiksni vanjski
koordinatni sustav. To se može lako uočiti na slici \ref{fig:Slika8}.

\begin{figure}[H]
	\centering
	\includegraphics[height=6.5cm, width=8cm]{img/kinematics.png} 
	\caption{Koordinatni sustav broda} 
	\label{fig:Slika8}   
\end{figure}

 S obzirom na ranije navedene pretpostavke, ostaje sustav
opisan sa tri stupnja slobode. U matričnom zapisu, veza između referentnog koordinatnog sustava i
pomičnog koordinatnog sustava broda može se izraziti sljedećom relacijom:

\begin{equation}
\begin{bmatrix}\dot{x} \\\dot{y}\\\dot{\psi} \end{bmatrix} =
\begin{bmatrix}cos(\psi) & -sin(\psi) & 0 \\ sin(\psi) & cos(\psi) & 0\\0
& 0 & 1 \end{bmatrix} \begin{bmatrix}u\\v\\r \end{bmatrix}
\end{equation}
\newpage

Matrica koja povezuje orijentaciju navedena dva koordinatna sustava naziva se
\emph{Rotacijska matrica} i označava se sa $R_{z,\psi}$.
Kada se matrični zapis raspiše dobije se:

\begin{equation}
\dot{x} = u\>cos\psi-v\>sin\psi
\end{equation}
\begin{equation}
\dot{y} = u\>sin\psi + v\>cos\psi
\end{equation}
\begin{equation}
\dot{\psi} = r
\end{equation}

Ako se pretpostavi da se brod giba nekom konstantnom unaprijednom brzinom, te da
na njega bočno ne djeluju morske struje i valovi u velikoj mjeri, može se pretpostaviti
da je bočna brzina jednaka nuli, odnosno da je

\begin{equation}U = \sqrt{u^2 + v^2} \approx u \end{equation}.

Na taj način mogu uvesti dodatna pojednostavljenja:

\begin{equation}\dot{x} = u\>cos\psi \end{equation}
\begin{equation}\dot{y} = u\>sin\psi \end{equation}.

Kinematički problem potrebno je što je više moguće pojednostaviti, obzirom da se
problemi kinematike prenose u dinamiku tvoreći ponekad iznimno nelinearne
diferencijalne jednadžbe. Obzirom da su analiza i sinteza linearnih sustava
mnogo jednostavnije od one nelinearnih sustava, cilj je problem prikazati makar
približno linearno, ako je to moguće i opravdano.

\newpage
\section{Dinamika}
Kinematički opis sustava općenito ne govori o silama koje djeluju na brod. Sile
koje djeluju na neko tijelo koje se nalazi u prostoru opisuju jednadžbe
dinamičke ravnoteže, i nazivaju se dinamikom tijela odnosno sustava.
Kao i kinematika, dinamika se općenito opisuje sa $6$ stupnjeva slobode.
Prema \cite{ref_1}na neko tijelo mogu djelovati $3$ sile, po jedna u smjeru x,
y i z osi i $3$ momenta, moment u smjeru zakretanja oko x, y i z osi.
Najopćenitiji zapis dinamike gibanja nekog tijela dan je jednadžbom $3.8$, gdje
je $\nu = \left[u\> v\> w\> p\> q\> r\right]^T$, a 
$\tau = \left[X\> Y\> Z\> K\> M\> N\right]^T$.

\begin{equation} M\dot{\nu}+C(\nu)\nu + D(\nu)\nu + g(\eta)=g_0 + w + \tau \end{equation}

Matrica M naziva se inercijska matrica i sadrži informacije o silama i momentima
inercije sustava. C predstavlja Coriolis-Centripetalnu matricu koja sadrži
informacije centripetalnim i Coriolisovim silama koje djeluju na sustav zbog
brzine gibanja. U D matrici sadržan je opis djelovanja hidrodinamičkih
prigušenja, a u $g\left(\nu\right)$ utjecaj gravitacije. Sa desne strane
jednadžbe nalaze se momenti kojima se može upravljati sustavom. Vektor $\tau$
sadrži sile djelovanja aktuatora, $g_0 + w$ djelovanje balasta.

Pojednostavljenja navedena u opisu kinematičkog modela, odnosno svođenje
problema samo na horizontalnu ravninu može se opravdano primijeniti i kod opisa
dinamike broda. Ako se pretpostavi da su novi vektori 
$\nu = \left[u\> v\> r\right]^T$
$\tau = \left[X\> Y\> N\right]^T$
i zanemari utjecaj balasta i gravitacije koja djeluje okomito na horizontalnu
ravninu vrijedi sljedeća jednadžba

\begin{equation} M\dot{\nu}+C(\nu)\nu + D(\nu)\nu = \tau \end{equation}

Ovisno o primjeni, moguće je uvesti dodatne pretpostavke i još više
pojednostaviti problem dinamike.

\section{Odabir modela broda}
Ovisno o namjeni, moguće je izvesti velik broj modela kojima se može opisati
gibanje broda. Model je poželjno odabrati da bude što jednostavniji, odnosno što
manjeg reda i ako je ikako moguće linearan. Ovdje će biti spomenuta dva najčešće
korištena modela, model za manevriranje eng. \emph{Maneuvering model} i model za
dinamičko pozicioniranje eng. \emph{Dynamic Positioning model} prema
\cite{ref_1}.
\newpage
\textbf{Model za dinamičko pozicioniranje}
\newline
Kod modela za dinamičko pozicioniranje, polazi se od pretpostavke da je brzina
gibanja broda vrlo mala, da je brod simetričan na vertikalnu x-z ravninu i da mu
je masa raspoređena homogeno.
Matrica C sustava glasi

\begin{equation}
C(\nu) =
\begin{bmatrix} 0 & 0 & -(m - Y_{\dot{v}})v - (mx_g - Y_{\dot{r}})r \\
				0 & 0 & (m - X_{\dot{u}})u \\
				(m - Y_{\dot{v}})v + (mx_g - Y_{\dot{r}})r & -(m - X_{\dot{u}})u & 0
\end{bmatrix}
\end{equation}

Zbog male brzine gibanja broda može se pretpostaviti da je matrica $C \approx
0$. Na taj način dolazi se do jednostavnijeg opisa sustava prikazanog
jednadžbama $3.11$:

\begin{equation}
\begin{array}{c}
	\dot{\eta} = R(\psi)\nu \\
 	M\dot{\nu} + D\nu = \tau \\
 	\tau = Bu
\end{array}
\end{equation}
 	
Matrica B predstavlja konfiguraciju aktuatora za dinamičko pozicioniranje.

\vspace{1cm}
\textbf{Model za manevriranje}
\newline
Temeljne pretpostavke modela za manevriranje su kretanje broda konstantnom
unaprijednom brzinom i upravljanje isključivo pomoću kormila i unaprijedne
propulzije. Na taj način mogu se raspregnuti model unaprijedne brzine i model
kutne i bočne brzine. Za unaprijednu brzinu približno vrijedi relacija:

\begin{equation}
(m-X_{\dot{u}})\dot{u} - X_uu - X_{\left|u\right|u}\left|u\right|u = \tau_1
\end{equation}

\noindent Kod modela kutne i bočne brzine može se pokazati da vrijedi:

\begin{equation}
M\dot{\nu} + N(u_o)\nu = b\delta
\end{equation}

gdje su $\nu = \left[v\> r\right]^T$, $\delta$ defleksija kormila i 
$b = \left[-Y_\delta\>-N_\delta\right]^T$ vektor koji povezuje defleksiju
kormila sa silom u smjeru y-osi i momentom zakreta oko z-osi. Sila u smjeru
y-osi koju stvara defleksija kormila u pravilu je malog iznosa i zbog toga se
može zanemariti njen utjecaj čime se dodatno pojednostavljuje sustav. Iz
jednadžbe $3.13$ može se izvesti prijenosna funkcija koja povezuje brzinu
zaošijanja broda sa defleksijom kormila:

\begin{equation}
\frac{r}{\delta}(s)=\frac{K(1+T_3s)}{(1+T_1s)(1+T_2s)}
\end{equation}

Jednadžba $3.14$ naziva se Nomotov model drugog reda. Nomotov model drugog reda
moguće je pojednostaviti tako da se definira jedinstvena vremenska konstanta
$T = T_1 + T_2 - T_3$ te iz toga slijedi:

\begin{equation}
\frac{r}{\delta}(s)=\frac{K}{(1+Ts)}
\end{equation}

Kako je $\dot{\psi} = r$, vrijedi:

\begin{equation}
\frac{\psi}{\delta}(s)=\frac{K}{s(1+Ts)}
\end{equation}

Jednadžbe $3.16$ i $3.12$ korištene su u velikom broju komercijalnih autopilota.
Konačne jednadžbe odabranog modela za manevriranje mogu se zapisati prema
$3.17$. Može se primjetiti da su jednadžbe nelinearne. Svojstva
takvih nelinearnih sustava detaljnije su opisana u \cite{ref_3}.

\begin{equation}
\begin{array}{c}
	\alpha_u\dot{u} - \beta_u u - \beta_{uu} \left|u\right|u = X \\
	\alpha_r\dot{r} - \beta_r r - \beta_{rr} \left|r\right|r = K\delta
\end{array}
\end{equation}

\vspace{1cm}
\section{Identifikacija modela broda}
Nakon što je odabran željeni matematički model broda, potrebno je pronaći
parametre koji ga opisuju. Postoji nekoliko načina kojima se mogu identificirati
parametri modela. Moguće je koristiti Zig-Zag manevar opisan u \cite{ref_1},
mjeriti odziv kutne brzine za step pobudu defleksije kormila, korelacijskom
analizom, itd.

Za identifikaciju parametara modela broda odabrana je
metoda vlastitih oscilacija opisana u \cite{ref_2}. Relejnim upravljanjem
prema slici \ref{fig:Slika9} brod se dovodi u vlastite oscilacije po kursu.
Analizom vlastitih oscilacija moguće je doći do koeficijenata $\alpha$ i $\beta$
pretpostavljenih diferencijalnih jednadžbi sa $3.17$.

\begin{figure}[H]
	\centering
	\includegraphics{img/vlastiteOsc.png} 
	\caption{Relejno upravljanje brodom} 
	\label{fig:Slika9}   
\end{figure}

\newpage
Formule koje se koriste za izračun nepoznatih parametara korištenjem vlastitih
oscilacija preuzete su iz \cite{ref_2} i glase :

\begin{equation}
\alpha_{\nu} = \frac{2C}{\pi}\frac{1}{\omega^2X_m} \left[\sqrt{1 -
\left(\frac{x_a - x_0}{X_m}\right)^2} + \sqrt{1 - \left(\frac{x_a 
x_0}{X_m}\right)^2}\right]
\end{equation}

\begin{equation}
\beta_\nu = \frac{4Cx_a}{\pi}\frac{1}{\omega X_m^2}
\end{equation}

\begin{equation}
\beta_{\nu\nu} = \frac{3Cx_a}{2}\frac{1}{\omega^2 X_m^3}
\end{equation}

Za identifikaciju parametara, kontrolu i komunikaciju s brodom korišten je
program napravljen u razvojnom alatu LabVIEW.
Algoritam za proračun parametara uzima u obzir $n$ uzastopnih
ispravnih oscilacija. Posljednjih $n$ oscilacija se smatra ispravnim ako je
amplituda svake od njih unutar $10\%$ vrijednosti standardne devijacije
$\sigma_n$.

Pokusi su provedeni na temelju tri uzastopne ispravne oscilacije, za $\Delta\psi
= 10$ i za različite vrijednosti unaprijedne brzine $u$ i defleksije kormila
$\delta$. Provedena su dva testiranja, prvo u Brodarskom Institutu u laboratorijskim uvijetima, a zatim
na Jarunskom jezeru, uz utjecaj vjetra i valova.

\begin{figure}[H]
	\includegraphics[height=8cm, width=14cm]{img/VOmjerenje.png} 
	\caption{Primjer mjerenja vlastitih oscilacija} 
	\label{fig:Slika10}   
\end{figure}

\newpage
\begin{table}[H]
\centering
\begin{tabular}{c c c c}
\hline \hline $\delta / n \left[\%\right] $ & $60$ & $75$ & $90$ \\ \hline
\hline $15$ & 
$\begin{array}{c} \alpha_\nu = 22.6756 \\ \beta_\nu = 1.32307
\\ \beta_{\nu\nu} = 0.316941\end{array}$ & 
$\begin{array}{c} \alpha_\nu = 15.3351 \\ \beta_\nu = 1.01845
\\ \beta_{\nu\nu} = 0.19519\end{array}$ & 
$\begin{array}{c} \alpha_\nu = 10.7561 \\ \beta_\nu = 0.762229
\\ \beta_{\nu\nu} = 0.116981\end{array}$ \\ \hline
$20$ & 
$\begin{array}{c} \alpha_\nu = 23.3144 \\ \beta_\nu = 1.76853
\\ \beta_{\nu\nu} = 0.385646\end{array}$ & 
$\begin{array}{c} \alpha_\nu = 15.5159 \\ \beta_\nu = 1.45363
\\ \beta_{\nu\nu} = 0.256379\end{array}$ & 
$\begin{array}{c} \alpha_\nu = 11.0802 \\ \beta_\nu = 0.810496
\\ \beta_{\nu\nu} = 0.103078\end{array}$ \\ \hline
$25$ & 
$\begin{array}{c} \alpha_\nu = 25.8722 \\ \beta_\nu = 1.88889
\\ \beta_{\nu\nu} = 0.3687\end{array}$ & 
$\begin{array}{c} \alpha_\nu = 15.843 \\ \beta_\nu = 1.38828
\\ \beta_{\nu\nu} = 0.204333\end{array}$ & 
$\begin{array}{c} \alpha_\nu = 10.5661 \\ \beta_\nu = 0.865404
\\ \beta_{\nu\nu} = 0.0956444\end{array}$ \\ \hline
$30$ & 
$\begin{array}{c} \alpha_\nu = 27.1788 \\ \beta_\nu = 2.06121
\\ \beta_{\nu\nu} = 0.386062\end{array}$ & 
$\begin{array}{c} \alpha_\nu = 15.1589 \\ \beta_\nu = 1.27583
\\ \beta_{\nu\nu} = 0.16246\end{array}$ & 
$\begin{array}{c} \alpha_\nu = 10.6117 \\ \beta_\nu = 0.912358
\\ \beta_{\nu\nu} = 0.0892697\end{array}$ \\ \hline
$35$ & 
$\begin{array}{c} \alpha_\nu = 25.9649 \\ \beta_\nu = 2.13616
\\ \beta_{\nu\nu} = 0.34504\end{array}$ & 
$\begin{array}{c} \alpha_\nu = 16.0364 \\ \beta_\nu = 1.31714
\\ \beta_{\nu\nu} = 0.153245\end{array}$ & 
$\begin{array}{c} \alpha_\nu = 11.5163 \\ \beta_\nu = 0.91495
\\ \beta_{\nu\nu} = 0.0835362\end{array}$ \\ \hline
$40$ & 
$\begin{array}{c} \alpha_\nu = 24.2857 \\ \beta_\nu = 1.8148
\\ \beta_{\nu\nu} = 0.252084 \end{array}$ & 
$\begin{array}{c} \alpha_\nu = 16.46 \\ \beta_\nu = 1.3446
\\ \beta_{\nu\nu} = 0.146221 \end{array}$ & 
$\begin{array}{c} \alpha_\nu = 14.0555 \\ \beta_\nu = 1.03646
\\ \beta_{\nu\nu} = 0.0949693 \end{array}$ \\ \hline
$45$ & 
$\begin{array}{c} \alpha_\nu = 28.1153 \\ \beta_\nu = 1.98819
\\ \beta_{\nu\nu} = 0.277984 \end{array}$ & 
$\begin{array}{c} \alpha_\nu = 19.9912 \\ \beta_\nu = 1.23659
\\ \beta_{\nu\nu} = 0.127236 \end{array}$ & 
$\begin{array}{c} \alpha_\nu = 13.5499 \\ \beta_\nu = 1.05354
\\ \beta_{\nu\nu} = 0.0883654 \end{array}$ \\ \hline
$50$ & 
$\begin{array}{c} \alpha_\nu = 31.4674 \\ \beta_\nu = 2.05403
\\ \beta_{\nu\nu} = 0.282027 \end{array}$ & 
$\begin{array}{c} \alpha_\nu = 19.8112 \\ \beta_\nu = 1.36902
\\ \beta_{\nu\nu} = 0.135198 \end{array}$ & 
$\begin{array}{c} \alpha_\nu = 17.3213 \\ \beta_\nu = 1.07868
\\ \beta_{\nu\nu} = 0.0920468 \end{array}$ \\ \hline
\end{tabular}
\caption{IS-O eksperiment - Jarun}
\label{table:Tablica3}
\end{table}

\newpage
\begin{table}[H]
\centering
\begin{tabular}{c c c c}
\hline \hline $\delta / n \left[\%\right] $ & $50$ & $75$ & $90$ \\ \hline
\hline $15$ & 
$\begin{array}{c} \alpha_\nu = 16.4334 \\ \beta_\nu = 1.43106
\\ \beta_{\nu\nu} = 0.315533 \end{array}$ & 
$\begin{array}{c} \alpha_\nu = 16.2669 \\ \beta_\nu = 1.45682
\\ \beta_{\nu\nu} = 0.309076 \end{array}$ & 
$\begin{array}{c} \alpha_\nu = \ldots \\ \beta_\nu = \ldots
\\ \beta_{\nu\nu} = \ldots \end{array}$ \\ \hline
$20$ & 
$\begin{array}{c} \alpha_\nu = 16.6512 \\ \beta_\nu = 1.47342
\\ \beta_{\nu\nu} = 0.272069 \end{array}$ & 
$\begin{array}{c} \alpha_\nu = 12.8811 \\ \beta_\nu = 1.09564
\\ \beta_{\nu\nu} = 0.166355 \end{array}$ & 
$\begin{array}{c} \alpha_\nu = \ldots \\ \beta_\nu = \ldots
\\ \beta_{\nu\nu} = \ldots \end{array}$ \\ \hline
$25$ & 
$\begin{array}{c} \alpha_\nu = 17.448 \\ \beta_\nu = 1.37377
\\ \beta_{\nu\nu} = 0.218176 \end{array}$ & 
$\begin{array}{c} \alpha_\nu = 13.2997 \\ \beta_\nu = 1.10632
\\ \beta_{\nu\nu} = 0.146501 \end{array}$ & 
$\begin{array}{c} \alpha_\nu = \ldots \\ \beta_\nu = \ldots
\\ \beta_{\nu\nu} = \ldots \end{array}$ \\ \hline
$30$ & 
$\begin{array}{c} \alpha_\nu = 19.6332 \\ \beta_\nu = 1.47305
\\ \beta_{\nu\nu} = 0.214009 \end{array}$ & 
$\begin{array}{c} \alpha_\nu = 18.3092 \\ \beta_\nu = 1.62588
\\ \beta_{\nu\nu} = 0.243068 \end{array}$ & 
$\begin{array}{c} \alpha_\nu = \ldots \\ \beta_\nu = \ldots
\\ \beta_{\nu\nu} = \ldots \end{array}$ \\ \hline
$40$ & 
$\begin{array}{c} \alpha_\nu = 22.069 \\ \beta_\nu = 1.81729
\\ \beta_{\nu\nu} = 0.241599 \end{array}$ & 
$\begin{array}{c} \alpha_\nu = 15.6035 \\ \beta_\nu = 1.22768
\\ \beta_{\nu\nu} = 0.125424 \end{array}$ & 
$\begin{array}{c} \alpha_\nu = \ldots \\ \beta_\nu = \ldots
\\ \beta_{\nu\nu} = \ldots \end{array}$ \\ \hline
\end{tabular}
\caption{IS-O eksperiment - Brodarski Institut}
\label{table:Tablica4}
\end{table}

Analizom podataka iz tablica mjerenja, može se zaključiti da $\alpha$ i $\beta$
padaju s porastom brzine okretaja propulzora $n$, dok rastu s porastom
defleksije kormila $\delta$, što je i očekivano s obzirom da veća brzina
propulzora daje veći moment i time djeluje jače od prigušenja, dok je za veću
defleksiju kormila hidrodinamički otpor kormila mnogo veći. Također, može se
primjetiti da je koeficijent $\beta_{\nu\nu}$ uz nelinearni član u jednadžbi za
red veličine manji od prvog linearnog. Taj podatak potvrđuje opravdanost
korištenja linearnog modela:

\begin{equation}
\frac{\psi}{\delta}(s)=\frac{K}{s(1+Ts)}
\end{equation}

\noindent gdje su $K = 1 / \beta_\nu$ i $T = \alpha_\nu / \beta_\nu$.
\vspace{1cm}
\newline
\emph{Model unaprijedne brzine nije identificiran zbog toga što na
brodu ne postoji senzor za mjerenje unaprijedne brzine osim GPS-a koji je
izrazito nepouzdan za male brzine kretanja.}

\newpage
\chapter{Upravljanje modelom broda}
U ovom poglavlju biti će riječi o tome na koji način se može upravljati
identificiranim modelom broda.

\textbf{Guidance, Navigation and Control}
\newline
Većina današnjih plovila, letjelica i ostalih objekata automatskog upravljanja
koristi princip Navođenja, Navigacije i Regulacije. Struktura upravljanja
prikazana je na slici \ref{fig:Slika11}. Više o GNC može se potražiti u
\cite{ref_1}.

\begin{figure}[H]
	\includegraphics[height=7cm, width=16cm]{img/GNC.png} 
	\caption{Guidance, Navigation and Control} 
	\label{fig:Slika11}   
\end{figure}

Sustav za navođenje generira trajektoriju, pravac, kurs, ili neku drugu željenu
referentnu veličinu. Regulator, sustav regulatora, neuronska mreža ili neka
druga upravljačka struktura zatim generiraju upravljačke signale koji upravljaju
brodom na način da on što bolje slijedi referentnu veličinu. Sustav za
navigaciju sastoji se od niza senzora i estimatora koji mjere ili estimiraju
stanja broda potrebna za planiranje reference i kao povratne veze za regulaciju.

\newpage
U ovoj fazi izrade, zadavanje reference i regulacija su realizirani na udaljenom
računalu koje komunicira s brodom bežično, dok je izvorni plan realizirati autonomno
površinsko plovilo sa vlastitom regulacijom i referenciranjem.
Navigacijski sustav broda trenutno se sastoji od GPS-a, kompasa i Diskretnog
Kalmanovog Filtra (DKF) koji estimira vrijednosti $\psi$ i $r$ na temelju
mjerenja i identificiranog modela broda. Algoritam kalmanovog filtra se izvršava u
upravljačkom mikroprocesoru broda. Jednadžba diferencija glasi:

\begin{equation}
\alpha \dot{r} + \beta r = \delta
\end{equation}

Ako se varijable stanja odrede kao $x = \left[ r \> \psi\right]^T $ matrice
sustava u prostoru stanja glase:

\begin{equation}
\begin{array}{ccc}
\Phi = \begin{bmatrix} 1 + \frac{\beta T}{\alpha} & 0 \\ T & 1 \end{bmatrix} &
\Gamma = \begin{bmatrix} \frac{T}{\alpha} \\ 1 \end{bmatrix} &
H = \begin{bmatrix} 0 & 1 \end{bmatrix}
\end{array}
\end{equation}

Dio koda u mikroprocesoru koji se tiče Kalmanovog Filtra je:
\begin{lstlisting}

void DKF(void) //Inicijalizacija matrice kovar. P u init();
{
	d = (float) kormilo - 60; // Delta
	psi = (float) heading / 10;	// Psi
	p_11 = (1+beta*Ts/alfa)*p11*(1+beta*Ts/alfa)+Q11; //Predikcija
	p_12 = (1+beta*Ts/alfa)*p11*Ts+(1+beta*Ts/alfa)*p12;
	p_21 = (Ts*p11+p21)*(1+beta*Ts/alfa);
	p_22 = (Ts*p11+p21)*Ts+Ts*p12+p22+Q22;
	K1 = 1/(p_22+R)*p_12; // Kalmanovo pojacanje
	K2 = 1/(p_22+R)*p_22;
	x_1 = (1+beta*Ts/alfa)*x1+delta*Ts/alfa; // Predikcija
	x_2 = Ts*x1+x2;
	x1 = x_1+(psi-x_2)*K1; // Korekcija
	x2 = x_2+(psi-x_2)*K2;
	p11 = p_11-K1*p_21-(p_12-K1*p_22)*K1+R*K1*K1; // Korekcija
	p12 = (p_12-K1*p_22)*(1-K2)+R*K1*K2;
	p21 = (1-K2)*p_21-(1-K2)*p_22*K1+R*K2*K1;
	p22 = (1-K2)*p_22*(1-K2)+R*K2*K2;	
	headingEstimate = (int) (x2 * 10); // Izlaz
	headingRateEstimate = (int) (x1);
}
\end{lstlisting}

\newpage
\section{Regulator kursa}
Jedna od referenca često korištenih referenci koja se regulira na plovilima je
kurs. Zadavanje reference kursa može se vršiti na više razina regulacije.
Referentna vrijednost kursa može se zadati ručno, a može je zadavati regulator
koji se nalazi hijerarhijski iznad regulatora kursa, npr. regulator praćenja
linije. U svakom slučaju, cilj je osigurati što bržu i što točniju regulaciju
kursa po mogućnosti bez prebačaja i oscilacija.

Matematički model koji će služiti za regulaciju kursa je dan Nomotovom funkcijom
prijenosa prvog reda sa parametrima $\alpha = 15$ i $\beta = 1.5$. Ovi parametri
dobiveni su usrednjavanjem većeg broja parametara iz tablice $3.1$. Vrijeme
diskretizacije računala broda iznosi $T_s = 0.25 \left[s\right]$, ali će
simulacije biti provedene na kontinuiranom modelu. Uz $K = 1 / \beta_\nu$ i $T
= \alpha_\nu / \beta_\nu$ dobije se da je $K = 0.67$ i $T = 10$. Slijedi:

\begin{equation}
\frac{\psi}{\delta}(s)=\frac{0.67}{s(10s + 1)}
\end{equation}

Prvi i najjednostavniji način regulacije kursa je P regulator, međutim to i nije
baš najbolje rješenje budući da se ne mogu po želji postaviti polovi prijenosne
funkcije rezultirajućeg zatvorenog kruga. Može se pokazati da se I-PD
regulatorom prema slici \ref{fig:Slika12} mogu po želji razmještati polovi rezultirajuće
prijenosne funkcije zatvorenog kruga. Prijenosna funkcija zatvorenog kruga glasi:

\begin{equation}
\frac{\psi}{\psi_{ref}}(s)=\frac{KK_I}{Ts^3 + (1+KK_D)s^2 + KK_Ps + KK_I)}
\end{equation}

\begin{figure}[H]
	\includegraphics[height=7.5cm, width=14cm]{img/IPD.png} 
	\caption{I-PD regulator} 
	\label{fig:Slika12}   
\end{figure}

\newpage
S obzirom da nije poželjno imati nadvišenje kod regulacije kursa, moguće je
odabrati binomnu modelsku funkciju. Binomna modelska funkcija predstavlja
najbrži aperiodski odziv bez nadvišenja. Ako se odabere trostruki pol u $s =
-1/3$ odnosno $T_b = 3$ dobije se prijenosna funkcija:

\begin{equation}
G_\psi(s)=\frac{1}{27s^3 + 27s^2 + 9s + 1}
\end{equation}

Uzevši u obzir ograničenja na maksimalni zakret i brzinu zakretanja kormila u
obje strane, simuliran je rad zatvorenog kruga regulacije kursa I-PD
regulatorom, i odziv je prikazan na slici \ref{fig:Slika13}

\begin{figure}[H]
	\includegraphics{img/IPDprijelaz.png} 
	\caption{Odziv zatvorenog kruga na step pobudu} 
	\label{fig:Slika13}   
\end{figure}

Plavom bojom prikazan je željeni odziv odnosno binomna funkcija, dok je crvenom
bojom prikazan odziv sa uključenim maksimalnim zakretom kormila od $30\> ^\circ$
i maksimalnom brzinom zakretanja od $90\> ^\circ/s$. Može se zaključiti da je
ponašanje sustava zadovoljavajuće i za slučaj s realnim ograničenjima.

\newpage
\section{Praćenje linije}

Neka je zadani problem doći brodom u jednu udaljenu točku. Problem je
moguće riješiti na više načina. Moguće rješenje je računati kut prema zadanoj
točki i pratiti taj kurs regulatorom kursa. Međutim problem nastaje
ukoliko postoji utjecaj valova ili morske struje. Struja će početi
zanoisiti brod u jednu stranu i brod će promašiti željeno odredište.
Prikladnije rješenje bilo bi zadati referentnu liniju po kojoj se brod mora
kretati do neke točke. Poanta praćenja linije je minimizirati udaljenost broda
od referentne linije. Na taj način se izbjegava zanošenje u slučaju djelovanja
morske struje i brod će sigurno prije doći do zadanog odredišta.

Praćenje linije moguće je rješiti na više načina. Prvi način je direktna
kontrola aktuatora broda, dok je druga opcija upravljanje podređenom
regulacijskom strukturom, u ovom slučaju kontrolom kursa. U ovom seminaru
odabrana je druga metoda slijeđenja linije da se pokaže da se regulator kursa
može koristiti i na ovaj način.

Regulacija kursa je prijenosna funkcija trećeg reda prema formuli $4.4$ kojoj
se po volji mogu razmještati polovi. Ako se prijenosna funkcija kursa postavi
kao binomna, npr. prema $4.5$, moguće ju je ugrubo aproksimirati prijenosnom
funkcijom prvog reda koja ima vremensku konstantu kao zbroj svih onih u funkciji
trećeg reda, kao što je prikazano na slici \ref{fig:Slika14}.

\begin{figure}[H]
	\includegraphics{img/LFapprox.png} 
	\caption{Aproksimacija binomne funkcije} 
	\label{fig:Slika14}   
\end{figure}

\newpage
Uz tako postavljenu prijenosnu funkciju zatvorenog kruga regulacije kursa,
moguće je na vrlo sličan način projektirati I-PD regulator praćenja linije.
Ako se kao primjer pretpostavi da se prati linija $y = 0$, kut koji linija
zatvara sa fiksnim koordinatnim sustavom je $\gamma = 0$. Također potrebno je
pretpostaviti da se brod kreće konstantnom unaprijednom brzinom $u_r = konst.$.
Sada vrijedi diferencijalna jednadžba koja opisuje promjenu udaljenosti od
linije $y = 0$.

\begin{equation}
\dot{d} = u_r \> \sin \psi
\end{equation}

Ako se primjeni Laplaceova transformacija na $4.6$ novi objekt upravljanja
moguće je prikazati kao:

\begin{equation}
\frac{d}{\psi_{ref}}(s)=\frac{u_r}{s(T_{\Sigma}s + 1)}
\end{equation}

\noindent Zatvoreni krug upravljanja praćenjem linije uz I-PD regulator opisan
je sa:

\begin{equation}
\frac{d}{d_{ref}}(s)=\frac{\frac{K_iu_r}{T_\Sigma}}{s^3 + \frac{1 +
K_{psi}}{T_\Sigma}s^2 +
\frac{K_du_r}{T_\Sigma}s + \frac{K_iu_r}{T_\Sigma}}
\end{equation}

\vspace{1cm}
Na opisani način moguće je birati dinamiku praćenja linije. Bitno je spomenuti
da bi dinamika praćenja linije trebala biti sporija od dinamike promjene kursa,
što je i logično s obzirom da je dimaika kursa podređena praćenju linije. Kod
regulacijskih struktura višeg stupnja unutarnji krug regulacije uvijek treba
biti brže dinamike od vanjskog, njemu nadređenog.

Na slici \ref{fig:Slika15} moguće je vidjeti putanju broda i referentnu liniju.
U jednom trenutku počinje djelovati poremećaj u obliku morske struje koji
počinje zanositi brod u smjeru y-osi brzinom koja iznosi pola brzine kretanja
broda, dakle može se reći da na brod djeluje prilično velika smetnja.

Na slici \ref{fig:Slika16} prikazane su udaljenost od linije $d$, izlaz iz
regulatora praćenja linije $\psi_{ref}$, izlaz iz regulatora kursa $\delta$ i
stvarna orijentacija broda $\psi$. Može se zaključiti da je cilj postignut, brod
prati liniju i kompenzira utjecaje čak i velikih smetnji. 

Ako se pogleda
putanja, može se primjetiti mali prebačaj linije koji se događa zbog toga što je
prijenosna funkcija kursa aproksimirana i jer je odabrana dinamika praćenja
linije za nijansu prebrza u odnosu na dinamiku zatvorenog kruga regulacije
kursa. Kada je vanjska dinamika brža od unutarnje
dolazi do vlastitih oscilacija po kursu za cijeli sustav, odnosno prinudnih za
sustav regulacije kursa.

\begin{figure}[H]
	\includegraphics{img/lineFollowing.png} 
	\caption{Praćenje linije modelom broda} 
	\label{fig:Slika15}   
\end{figure}

\begin{figure}[H]
	\includegraphics{img/LFsignali.png} 
	\caption{Veličine od interesa kod praćenja linije} 
	\label{fig:Slika16}
\end{figure}

\chapter{Zaključak}

Brod predstavlja izuzetno složen sustav i upravljanje brodom predstavlja izazov
kojim se svakodnevno bave inženjeri diljem svijeta. Kod izrade modela broda,
najviše vremena potrošeno je na programiranje mikroprocesora i izradu
upravljačke elektronike. Kao rezultat višemjesečnog truda na kraju je izrađen
funkcionalni model broda sa bežičnom komunikacijom, senzorom položaja (GPS) i
kompasom. Brod pokreću tri propulzora i kormilo. U mikroprocesoru broda
implementiran je Kalmanov filter za estimaciju orijentacije i njene kutne
brzine, koji veoma uspješno estimira potrebna stanja. Pretpostavljeni
matematički model sustava identificiran je metodom vlastitih oscilacija koji se
pokazao kao veoma dobar način za identifikaciju parametara plovila.
Identifikacija pomoću vlastitih oscilacija pokazala je gotovo iste rezultate
kao i identifikacija prijenosne funkcije kutne brzine pomoću odziva na step
pobudu defleksije kormila, te Zig-Zag manevrom. Iz mjernih podataka može se
zaključiti da je učinak nelinearnosti kod nelinearne diferencijalne jednadžbe
kormila mala, i da je korišteni linearni model opravdan. Kao regulator kursa
korišten je regulator strukture I-PD. To je regulator najnižeg reda za koji je
moguće po volji odabrati razmještaj polova rezultirajućeg zatvorenog kruga
upravljanja. Provedene simulacije na identificiranom modelu daju zadovoljavajuće
rezultate. Praćenje linije realizirano je kao dvostupanjska regulacijska
struktura gdje je unutarnja petlja regulator kursa, dok je vanjska regulator
praćenja linije. Unutarnja petlja mora biti brže dinamike od vanjske, što je
potvrđeno mnogobrojnim simulacijama. Ovaj rad i predstavlja tek uvod u upravljanje brodom.
Sve provedene simulacije na matematičkom modelu trebaju se potvrditi
eksperimentima na fizičkom modelu da bi se uvidili svi njihovi nedostatci.
 
\bibliography{literatura}  
\bibliographystyle{fer}

\chapter{Sažetak}

U svrhu ovog seminarskog rada, izrađen je model broda, pretpostavljen je njegov
matematički model, identificirani su parametri matematičkog modela, predloženo
je i objašnjeno nekoliko načina upravljanja brodom. Model broda izrađen je od
stakloplastike. Kao izvor energije koristi olovnu bateriju koja dodatno
stabilizira brod na valjanje. Kao senzori, koriste se GPS uređaj i kompas.
Aktuatore broda čine \emph{bow thruster}, \emph{stern thruster}, glavni
propulzor i kormilo. Brod komunicira serijski bežično sa računalom pomoću XBee
komunikacijskog modula. Na temelju karakteristika broda odabran je i
obrazložen prikladan matematički model. Matematički model je identificiran
metodom vlastitih oscilacija i dani su rezultati identifikacije. Naveden je
temeljni GNC princip upravljanja brodom. U svrhu estimacije brzine promjene
kursa u mikrokontroler broda implementiran je Kalmanov filtar koji uspješno
estimira kurs i njegovu brzinu promjene. Obrađena je osnovna problematika
praćenja kursa i linije te je za svaku ponuđeno svojevrsno rješenje problema.

\end{document}
