revisi yudisium
							parent
							
								
									4aa147e808
								
							
						
					
					
						commit
						e6babdc70f
					
				| 
						 | 
				
			
			@ -8,12 +8,6 @@
 | 
			
		|||
            "type": "shell",
 | 
			
		||||
            "command": "latexmk -pdf  thesis.tex && latexmk -pdf -silent -c thesis.tex",
 | 
			
		||||
            "problemMatcher": []
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "label": "Compile Presentasi",
 | 
			
		||||
            "type": "shell",
 | 
			
		||||
            "command": "latexmk -pdf presentasi.tex && latexmk -pdf -silent -c presentasi.tex",
 | 
			
		||||
            "problemMatcher": []
 | 
			
		||||
        },
 | 
			
		||||
        }
 | 
			
		||||
    ]
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -11,14 +11,14 @@
 | 
			
		|||
Kendali formasi adalah topik penelitian kendali multi-robot untuk memecahkan permasalahan
 | 
			
		||||
koordinasi pergerakan. Kendali formasi bertujuan untuk mengendalikan sekelompok robot
 | 
			
		||||
dalam mencapai formasi tertentu dan dapat mempertahankan formasi tersebut ketika
 | 
			
		||||
bermanuver menuju arah yang diinginkan. Penjabaran oleh Guanghua (Guanghua et al.,
 | 
			
		||||
2013), pengembangan kendali formasi dilakukan dari beberapa algoritma strategi. Seperti
 | 
			
		||||
yang dikembangkan oleh Wang (\kutip{wang2014}) menggunakan strategi leader-follower,
 | 
			
		||||
menggunakan Fuzzy-Logic sebagai tingkah laku robot oleh Ferik (\kutip{ELFERIK2016117}) dan
 | 
			
		||||
bermanuver menuju arah yang diinginkan. Penjabaran oleh \kutip{Guanghua2013},
 | 
			
		||||
pengembangan kendali formasi dilakukan dari beberapa algoritma strategi. Seperti
 | 
			
		||||
yang dikembangkan oleh \kutip{wang2014} menggunakan strategi leader-follower,
 | 
			
		||||
menggunakan Fuzzy-Logic sebagai tingkah laku robot oleh \kutip{ELFERIK2016117} dan
 | 
			
		||||
menggunakan struktur virtual dimana sekelompok robot memiliki titik referensi sebagai satu
 | 
			
		||||
robot oleh Xuen-ren (Li et al., 2015).
 | 
			
		||||
robot oleh \kutip{li2015}.
 | 
			
		||||
 | 
			
		||||
Penjabaran oleh Kwang-Kyo (\kutip{OH2015424}), bahwa dari berbagai pengembangan kendali
 | 
			
		||||
Penjabaran oleh \kutip{OH2015424}, bahwa dari berbagai pengembangan kendali
 | 
			
		||||
formasi dapat ambil garis besar menjadi tiga bagian, yaitu berdasarkan posisi, perpindahan,
 | 
			
		||||
dan jarak. Ketiga bagian tersebut tertuju pada jawaban dari pertanyaan, "variabel apa yang
 | 
			
		||||
digunakan sebagai sensor" dan "variabel apa yang aktif dikendalikan oleh sistem multi-robot
 | 
			
		||||
| 
						 | 
				
			
			@ -36,33 +36,33 @@ koordinat global. Penerapan formasi berdasarkan jarak menggunakan sensor yang le
 | 
			
		|||
dibanding dengan posisi dan perpindahan. Namun pembahasan model yang lebih nyata untuk
 | 
			
		||||
diterapakan kendali formasi berdasarkan jarak masih sedikit. Pengembangan formasi
 | 
			
		||||
berdasarkan jarak telah dikembangkan menggunakan teori graph dengan model single dan
 | 
			
		||||
double integrator sederhana oleh Kwang-Kyo (\kutip{Oh2014}), menggunakan informasi
 | 
			
		||||
jarak untuk mengendalikan model sederhana double integrator oleh Xiaoyu (\kutip{Cai2014}),
 | 
			
		||||
 menggunakan konsensus antara robot untuk mencapai bentuk formasi
 | 
			
		||||
dengan model single integrator sederhana oleh Deghat (\kutip{deghat2016}),
 | 
			
		||||
double integrator sederhana oleh \kutip{Oh2014}, menggunakan informasi
 | 
			
		||||
jarak untuk mengendalikan model sederhana double integrator oleh \kutip{Cai2014},
 | 
			
		||||
menggunakan konsensus antara robot untuk mencapai bentuk formasi
 | 
			
		||||
dengan model single integrator sederhana oleh \kutip{deghat2016},
 | 
			
		||||
mengendalikan bentuk formasi menggunakan adaptive control untuk mengestimasi kecepatan
 | 
			
		||||
tetangga dari model robot yang sederhana oleh Sung-Mo (\kutip{kang2014}),
 | 
			
		||||
tetangga dari model robot yang sederhana oleh \kutip{kang2014},
 | 
			
		||||
menggabungkan kendali formasi berdasarkan jarak dan perpindahan untuk mengendalikan
 | 
			
		||||
model robot yang sederhana oleh Myoung-Chul (\kutip{park2015}), dan menggunakan
 | 
			
		||||
model robot yang sederhana oleh \kutip{park2015}, dan menggunakan
 | 
			
		||||
kendali Proportional-Integral (PI) untuk mengendalikan jarak setiap model robot yang
 | 
			
		||||
sederhana oleh Rozenheck (\kutip{Rozenheck2015}).
 | 
			
		||||
sederhana oleh \kutip{Rozenheck2015}.
 | 
			
		||||
 | 
			
		||||
Kendali PI pada penelitian oleh Rozenheck (\kutip{Rozenheck2015}) tidak dapat langsung
 | 
			
		||||
Kendali PI pada penelitian oleh \kutip{Rozenheck2015} tidak dapat langsung
 | 
			
		||||
diterapkan menggunakan sensor jarak karena kendali tersebut mengambil informasi jarak
 | 
			
		||||
menggunakan selisih dari koordinat kartesian global setiap robot. Sedangkan dalam praktiknya
 | 
			
		||||
robot hanya bisa mengukur jarak dan tidak mengetahui koordinat dari robot tetangganya.
 | 
			
		||||
Sudah umum penelitian dibidang lokalisasi menggunakan sensor jara seperti yang dibahas
 | 
			
		||||
oleh Kexing (\kutip{guo2020}) yang menggantikan sensor berbasis vision untuk
 | 
			
		||||
mendapatkan koordinat dari beberapa robot, penelitian oleh Qiang (\kutip{qiang2017}) 
 | 
			
		||||
oleh \kutip{guo2020} yang menggantikan sensor berbasis vision untuk
 | 
			
		||||
mendapatkan koordinat dari beberapa robot, penelitian oleh \kutip{qiang2017}
 | 
			
		||||
membutuhkan beberapa sensor jarak yang terpasang statis digunakan untuk mengetahui
 | 
			
		||||
koordinat sekelompok robot dan mengendalikannya secara terpusat, dan pengembangan oleh
 | 
			
		||||
Qiang (\kutip{qiang2018}) dengan memasang dua sensor jarak di salah satu dari 
 | 
			
		||||
koordinat sekelompok robot dan mengendalikannya secara terpusat, dan pengembangan \kutip{qiang2018} dengan memasang dua sensor jarak di salah satu dari
 | 
			
		||||
sekelompok robot, lalu mendistribusikan koordinat ke robot tetangganya. Lokalisasi
 | 
			
		||||
menggunakan dua sensor jarak tersebut memanfaatkan rumus segitiga untuk mendapatkan
 | 
			
		||||
koordinat robot tetangganya. Penelitian ini akan mengadopsi rumus segitiga dan
 | 
			
		||||
menggantikan salah satu dari dua sensor dengan algoritma cosinus sehingga tidak
 | 
			
		||||
mengharuskan salah satu robot memiliki dua sensor. Penelitian oleh Rozenheck (\kutip{Rozenheck2015})
 | 
			
		||||
 mengembangkan kendali formasi menggunakan model holonomic sederhana
 | 
			
		||||
koordinat robot tetangganya. Penelitian ini akan mengembangkan algoritma memanfaatkan rumus segitiga
 | 
			
		||||
yang dikembangkan oleh \kutip{qiang2018} dan
 | 
			
		||||
menggantikan salah satu robot yang memiliki dua sensor dengan algoritma tersebut sehingga tidak
 | 
			
		||||
mengharuskan salah satu robot memiliki dua sensor. Penelitian oleh \kutip{Rozenheck2015}
 | 
			
		||||
mengembangkan kendali formasi menggunakan model holonomic sederhana
 | 
			
		||||
dimana robot bergerak ke suatu arah tidak bergantung dari kondisi awal arah robot dan juga
 | 
			
		||||
model sederhana tidak mempertimbangkan parameter fisik pada modelnya. Percobaan akan
 | 
			
		||||
menggunakan tiga model robot holonomic dengan harapan menjadi langkah awal untuk
 | 
			
		||||
| 
						 | 
				
			
			@ -73,37 +73,24 @@ nyata.
 | 
			
		|||
\section{Identifikasi dan Perumusan Masalah}
 | 
			
		||||
%-----------------------------------------------------------------------------%
 | 
			
		||||
 | 
			
		||||
Berikut adalah potensi permasalahan sebagai identifikasi masalah :
 | 
			
		||||
\begin{enumerate}
 | 
			
		||||
    \item Kendali formasi berdasarkan jarak tidak dapat langsung diterapkan menggunakan sensor jarak
 | 
			
		||||
     karena kendali formasi mengambil informasi jarak menggunakan selisih dari koordinat kartesian global setiap robot.
 | 
			
		||||
     \item Kendali formasi berdasarkan jarak diperlukan pengembangan penarapan pada model yang lebih nyata.
 | 
			
		||||
\end{enumerate}
 | 
			
		||||
 | 
			
		||||
Pembahasan dari latar belakang dapat ditentukan pontensi permasalahan sebagai identifikasi masalah, yaitu
 | 
			
		||||
kendali formasi berdasarkan jarak tidak dapat langsung diterapkan menggunakan sensor jarak
 | 
			
		||||
karena kendali formasi mengambil informasi jarak menggunakan selisih dari koordinat kartesian global setiap robot.
 | 
			
		||||
Dalam penelitian ini akan digunakan batasan-batasan permasalahan sebagai berikut :
 | 
			
		||||
\begin{enumerate}
 | 
			
		||||
\item Kendali formasi berdsarkan jarak akan menggunakan tiga robot yang dijalankan secara simulasi.
 | 
			
		||||
\item Sensor jarak bekerja secara ideal.
 | 
			
		||||
    \item Kendali formasi berdsarkan jarak akan menggunakan tiga robot yang dijalankan secara simulasi.
 | 
			
		||||
    \item Sensor jarak bekerja secara ideal.
 | 
			
		||||
    \item Strategi yang akan dikembangkan hanya untuk mengetahui koordinat kondisi awal saja.
 | 
			
		||||
\end{enumerate}
 | 
			
		||||
 | 
			
		||||
Berikut adalah beberapa point permasalahan yang ditujukan pada penelitian ini, yaitu:
 | 
			
		||||
\begin{enumerate}
 | 
			
		||||
\item Bagaimanakan strategi untuk kendali formasi apabila variabel yang dikendalikan adalah jarak antar robot?.
 | 
			
		||||
\item Bagaimanakah pergerakan kendali formasi berdasarkan jarak apabila model yang digunakan adalah \textit{holonomic} mobile robot ?.
 | 
			
		||||
\end{enumerate}
 | 
			
		||||
Dapat ditentukan permasalaah untuk penelitian ini, yaitu "bagaimanakah strategi untuk mendapatkan koordinat
 | 
			
		||||
kondisi awal kendali formasi apabila variabel yang dikendalikan adalah jarak antar robot?.
 | 
			
		||||
 | 
			
		||||
%-----------------------------------------------------------------------------%
 | 
			
		||||
\section{Tujuan dan Manfaat}
 | 
			
		||||
%-----------------------------------------------------------------------------%
 | 
			
		||||
%% \todo{tulis tujuan sebagai jawaban pertanyaan permasalahan}
 | 
			
		||||
Tujuan dari penelitian ini adalah
 | 
			
		||||
\begin{enumerate}
 | 
			
		||||
\item Mengetahui strategi untuk kendali formasi apabila variabel yang dikendalikan adalah jarak antar robot.
 | 
			
		||||
\item Mengetahui pergerakan kendali formasi berdasarkan jarak apabila model yang digunakan adalah holonomic mobile robot.
 | 
			
		||||
\end{enumerate}
 | 
			
		||||
 | 
			
		||||
Tujuan dari penelitian ini adalah mengetahui strategi untuk mendapatkan koordinat kondisi awal kendali formasi apabila variabel yang dikendalikan adalah jarak antar robot.
 | 
			
		||||
Manfaat dari penelitian ini adalah
 | 
			
		||||
\begin{enumerate}
 | 
			
		||||
\item Memberikan referensi untuk permasalahan kendali multi-robot, kususnya pada permasalhaan kendali formasi, terhadap model yang lebih nyata.
 | 
			
		||||
\item Membuka peluang penelitian dibidang kendali mengenai kendali formasi pada kendali multi-robot dilingkungan Fakultas Teknik Elektro, Universitas Brawijaya.
 | 
			
		||||
\end{enumerate}
 | 
			
		||||
memberikan referensi untuk permasalahan kendali multi-robot, kususnya pada permasalhaan kendali formasi, terhadap model yang lebih nyata.
 | 
			
		||||
dan membuka peluang penelitian dibidang kendali mengenai kendali formasi pada kendali multi-robot dilingkungan Fakultas Teknik Elektro, Universitas Brawijaya.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										328
									
								
								BAB2/bab2.tex
								
								
								
								
							
							
						
						
									
										328
									
								
								BAB2/bab2.tex
								
								
								
								
							| 
						 | 
				
			
			@ -2,6 +2,137 @@
 | 
			
		|||
 | 
			
		||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
			
		||||
 | 
			
		||||
\section{Kendali Formasi Berdasarkan Jarak}
 | 
			
		||||
Pembahasan kendali formasi mutli-robot dikutip dari paper oleh \kutip{Rozenheck2015}.
 | 
			
		||||
Dimana peneliti membahas mengenai kendali formasi robot berdasarkan jaraknya lalu dikendalikan dengan kendali PI\@.
 | 
			
		||||
Dari subbab ini akan dirangkum dari paper tersebut, yaitu mulai dari pendahuluan sampai kendalinya.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\subsection{Pendahuluan Formasi Multi Robot}
 | 
			
		||||
 | 
			
		||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
			
		||||
 | 
			
		||||
\subsubsection{Teori Graf}
 | 
			
		||||
Suatu graf $\graf$, dinotasikan sebagai $\graf=(\simpul, \sisi)$, merupakan pasangan $\simpul$ dan $\sisi$,
 | 
			
		||||
di mana $\simpul$ merupakan himpunan tak kosong berisikan simpul pada graf tersebut dan $\sisi$
 | 
			
		||||
merupakan himpunan sisi pada graf tersebut. Secara formal,
 | 
			
		||||
himpunan $\sisi$ dapat dinyatakan sebagai suatu koleksi subhimpunan berkardinalitas dua dari himpunan $\simpul$,
 | 
			
		||||
atau dalam notasi matematika $\sisi \subseteq \simpul \times \simpul $.
 | 
			
		||||
Sebuah $\graf$ diakatakan tak berarah (\textit{undirected graph}),
 | 
			
		||||
dimana himpunan sisi terdiri dari pasangan node $(i,j)$,
 | 
			
		||||
maka sisi tersebut tidak memiliki urutan arah antara node $i$ dengan $j$. Dinotasikan
 | 
			
		||||
$n \triangleq | \simpul |$ sebagai jumlah dari node dan $m \triangleq | \sisi |$ sebagai jumlah dari sisinya.
 | 
			
		||||
Apabila $(i,j) \in \sisi$ maka dapat disebut node $i$ dan $j$ berdekatan(\textit{adjecent}).
 | 
			
		||||
Himpunan dari node yang terhubung dari setiap simpul $i$ dinotasikan dengan $\tetangga_i \triangleq \{ j \in \simpul: (i,j) \in \sisi \}$, dan juga $i \sim j$.
 | 
			
		||||
Matiks insidensi (\textit{incidence}), $E \in \mathbb{R}^{n\times m}$, adalah matrik $\{0,\pm 1\}$ dimana
 | 
			
		||||
baris matrik mengindikasikan simpulnya dan kolomnya sebagai sisinya.
 | 
			
		||||
Matriks \textit{laplacian} didefinisikan dengan $L(\simpul)=EE^T$
 | 
			
		||||
 | 
			
		||||
\subsubsection{Teori Kekakuan Graf}
 | 
			
		||||
Koordinat multi dimensi adalah konfigurasi matrik vector yang terdisi dari beberapa koordinat node,
 | 
			
		||||
$p = \begin{bmatrix} x_1^T & \dots & x_n^T \end{bmatrix}^T \mathbb{R}^{2n}$, dimana
 | 
			
		||||
$x_i \in \mathbb{R}^2$ dan $x_i \neq x_j$ untuk semua $i \neq j$.
 | 
			
		||||
Difinisi sebuah kerangka (\textit{framework}), dinotasikan dengan $\graf(p)$,
 | 
			
		||||
adalah graf tak berarah $\graf$ dengan konfigurasi $x$, dimana simpul $i$ pada graf dipetakan
 | 
			
		||||
kedalam koordinat $x_i$. Misalkan $(i,j)\in \sisi$ sama dengan sisi ke $k$ dari graf langsung
 | 
			
		||||
dan mendefinisikan vektor sisi dari kerangka, atau dapat disebut sebagai vektor posisi relatif,
 | 
			
		||||
dengan $ e_k \triangleq x_j - x_i$. Untuk semua vektor sisi dapat dinotasikan dengan
 | 
			
		||||
$e=\begin{bmatrix}e_1^t & \dots & e_m^T\end{bmatrix} \in \mathbb{R}^{2m}$.
 | 
			
		||||
 | 
			
		||||
Apabila kerangka $\simpul(p)$ dengan vektor sisi $\{e_k\}_{k=1}^m$, maka didefinisisi fungsi sisi (\textit{edge function}), $F:\mathbb{R}^{2n} \times \simpul \rightarrow \mathbb{R}^m$
 | 
			
		||||
dengan
 | 
			
		||||
\begin{align}
 | 
			
		||||
  F(p,\sisi) & \triangleq
 | 
			
		||||
  \begin{bmatrix}
 | 
			
		||||
    ||e_1||^2 & \dots & ||e_m||^2
 | 
			
		||||
  \end{bmatrix}^T
 | 
			
		||||
\end{align}
 | 
			
		||||
Matrik kekakuan $R(p)$ yang berhubungan erat dengan kerangka $\graf(p)$ dapat didefinisikan
 | 
			
		||||
dengan \textit{Jacobian} dari fungsi sisi (\kutip{Rozenheck2015}),
 | 
			
		||||
\begin{align}
 | 
			
		||||
  R(p) & \triangleq \frac{\partial F(p,\graf)}{\partial x} \in \mathbb{R}^{m\times 2n} \nonumber \\
 | 
			
		||||
       & \triangleq diag(e_i^T)(E^T \otimes I_2)
 | 
			
		||||
\end{align}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
			
		||||
 | 
			
		||||
\subsection{Kendali Formasi Multi-Robot}
 | 
			
		||||
\label{subbab:KendaliFormasi}
 | 
			
		||||
 | 
			
		||||
Dikarenakan pada penelitian sebelumnya menggunakan model sederhana,
 | 
			
		||||
maka akan menggabungkan literatur oleh \kutip{Oh2014} dengan penyesuaian metode sebelumnya.
 | 
			
		||||
 | 
			
		||||
Pembahasan kendali dari formasi multi robot menggunakan gradient control.
 | 
			
		||||
Apabila $n(n\geq 2)$ dimodelkan sebagai titik yang memiliki masa jenis bergerak diatas
 | 
			
		||||
dimensi 2(\textit{Euclidean Space}), maka pergerakan dimodelkan dengan
 | 
			
		||||
\begin{align}
 | 
			
		||||
  \begin{cases}
 | 
			
		||||
    \dot{x}_i(t) = & v_i(t) \quad i = 1, \dots, n. \\
 | 
			
		||||
    \dot{v}_i(t) = & u_i(t)
 | 
			
		||||
  \end{cases}
 | 
			
		||||
  \label{eq:modelorde2}
 | 
			
		||||
\end{align}
 | 
			
		||||
dimana $v_i(t) \in \mathbb{R}^2$ dan $u_i(t)\in \mathbb{R}^2$adalah  kecepatan dan input dari robot-$i$. Dinotasikan $d \in \mathbb{R}^m$ adalah vector jarak dimana isi
 | 
			
		||||
dari matrik tersebut adalah $d_k^2$ yang mempresentasikan jarak yang dinginkan antara
 | 
			
		||||
setiap robot $i$ dan $j$ untuk sisi $(i,j)\in \sisi$.
 | 
			
		||||
Lalu didefinisi persamaan potensial yang memiliki hubungan antara jarak robot yang diinginkan
 | 
			
		||||
dengan jarak yang sekarang
 | 
			
		||||
\begin{align}
 | 
			
		||||
  \Phi(e) & = \frac{1}{2} \sum_{i \in \simpul }||v_i||^2 + \frac{1}{2} \sum_{k=1}^{m} \big( ||e_k||^2 - d_k^2 \big)^2
 | 
			
		||||
\end{align}
 | 
			
		||||
Pengamatan dilakukan agar $\Phi(e) =0$ jika dan hanya jika $||e_k||^2 = d_k^2,$   $\forall k = 1, \dots, m$.
 | 
			
		||||
Kendali dari setiap robot menggunakan gradien negatif dari fungsi potensial
 | 
			
		||||
\begin{align}
 | 
			
		||||
  \begin{cases}
 | 
			
		||||
    \dot{p} & = \frac{\partial \Phi(e)}{\partial v}   + Bv_{ref}                                         \\
 | 
			
		||||
            & = v(t) + Bv_{ref}                                                                          \\
 | 
			
		||||
    \dot{v} & = -C \Big( \frac{\partial \Phi(e)}{\partial v} + \frac{\partial \Phi(e)}{\partial p} \Big) \\
 | 
			
		||||
            & = -C(v(t) + R(p)^T(R(p)x(t) - d ))                                                         \\
 | 
			
		||||
            & = u(t)
 | 
			
		||||
  \end{cases}
 | 
			
		||||
  \label{eq:dynmState}
 | 
			
		||||
\end{align}
 | 
			
		||||
Dimana $v \in \mathbb{R}^{2n}$ adalah vector kecepatan dari seluruh node. Penambahan refrensi kecepatan pada salah satu robot dapat menjadikan formasi bermanuver.
 | 
			
		||||
Dimana $B \in \mathbb{R}^{2n \times 2}$ digunakan untuk indikasi robot ke $i$ sebagai leader atau penerima kecepatan referensinya, $v_{ref} \in \mathbb{R}^2$ sebagai kecepatan referensi,
 | 
			
		||||
dan $C$ adalah konstanta pengendali yang akan digantikan dengan algoritma kendali.
 | 
			
		||||
Dengan menerapkan kendali \textit{Proportional}, konstanta $C$ pada persamaan~\eqref{eq:kontrolinput}
 | 
			
		||||
dapat diubah dengan
 | 
			
		||||
 | 
			
		||||
\begin{align}
 | 
			
		||||
  \begin{cases}
 | 
			
		||||
    u_i(t)        & = u_{k_{p1}}(t) + u_{k_{p2}}(t)          \\
 | 
			
		||||
    u_{k_{p1}}(t) & = -k_{p1}v_i(t)                          \\
 | 
			
		||||
    u_{k_{p2}}(t) & = -R(p(t))^T k_{p2}(R(p(t))x_1(t) - d )) \\
 | 
			
		||||
  \end{cases}
 | 
			
		||||
  \label{eq:kontrolinput}
 | 
			
		||||
\end{align}
 | 
			
		||||
Dengan itu dapat digabungkan menjadi persamaan \textit{state-space} menggunakan persamaan~\eqref{eq:dynmState}
 | 
			
		||||
 | 
			
		||||
\begin{align}
 | 
			
		||||
  \begin{bmatrix}
 | 
			
		||||
    \dot{x} \\ \dot{v}
 | 
			
		||||
  \end{bmatrix} & =
 | 
			
		||||
  \begin{bmatrix}
 | 
			
		||||
    0                  & 1      \\
 | 
			
		||||
    -k_{p2}R(x)^T R(x) & -k_{p1}\\
 | 
			
		||||
  \end{bmatrix}
 | 
			
		||||
  \begin{bmatrix}
 | 
			
		||||
    x \\ v
 | 
			
		||||
  \end{bmatrix} +
 | 
			
		||||
  \begin{bmatrix}
 | 
			
		||||
    0 \\  k_{p2}R(x)^T
 | 
			
		||||
  \end{bmatrix} d+Bv_{ref} \nonumber              \\
 | 
			
		||||
  \dot{x}_f(t)               & = A_f(x)x_f(t)+B_f(x)d+Bv_{ref}
 | 
			
		||||
  \label{eq:ss-formasi}
 | 
			
		||||
\end{align}
 | 
			
		||||
 | 
			
		||||
\begin{figure}
 | 
			
		||||
  \centering
 | 
			
		||||
  \includegraphics[scale=.35]{BAB2/img/plotMotion3Robot.png}
 | 
			
		||||
  \caption{Plot motion 3 robot dengan nilai kp=80 dan ki=1}
 | 
			
		||||
\end{figure}
 | 
			
		||||
 | 
			
		||||
\section{Pemodelan Robot}
 | 
			
		||||
 | 
			
		||||
Pembahasan pemodelan robot akan dirangkum dari jurnal oleh \kutip{CORREIA20127}.
 | 
			
		||||
| 
						 | 
				
			
			@ -159,200 +290,3 @@ sistem robot
 | 
			
		|||
    0 & 0 & 0 & 0 & 0 & 1 & \\
 | 
			
		||||
  \end{bmatrix}
 | 
			
		||||
\end{align*}
 | 
			
		||||
 | 
			
		||||
\section{Formasi Multi Robot}
 | 
			
		||||
Pembahasan kendali formasi mutli-robot dikutip dari paper oleh \kutip{Rozenheck2015}.
 | 
			
		||||
Dimana peneliti membahas mengenai kendali formasi robot berdasarkan jaraknya lalu dikendalikan dengan kendali PI\@.
 | 
			
		||||
Dari subbab ini akan dirangkum dari paper tersebut, yaitu mulai dari pendahuluan sampai kendalinya.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\subsection{Pendahuluan Formasi Multi Robot}
 | 
			
		||||
 | 
			
		||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
			
		||||
 | 
			
		||||
\subsubsection{Teori Graf}
 | 
			
		||||
Suatu graf $\graf$, dinotasikan sebagai $\graf=(\simpul, \sisi)$, merupakan pasangan $\simpul$ dan $\sisi$,
 | 
			
		||||
di mana $\simpul$ merupakan himpunan tak kosong berisikan simpul pada graf tersebut dan $\sisi$
 | 
			
		||||
merupakan himpunan sisi pada graf tersebut. Secara formal,
 | 
			
		||||
himpunan $\sisi$ dapat dinyatakan sebagai suatu koleksi subhimpunan berkardinalitas dua dari himpunan $\simpul$,
 | 
			
		||||
atau dalam notasi matematika $\sisi \subseteq \simpul \times \simpul $.
 | 
			
		||||
Sebuah $\graf$ diakatakan tak berarah (\textit{undirected graph}),
 | 
			
		||||
dimana himpunan sisi terdiri dari pasangan node $(i,j)$,
 | 
			
		||||
maka sisi tersebut tidak memiliki urutan arah antara node $i$ dengan $j$. Dinotasikan
 | 
			
		||||
$n \triangleq | \simpul |$ sebagai jumlah dari node dan $m \triangleq | \sisi |$ sebagai jumlah dari sisinya.
 | 
			
		||||
Apabila $(i,j) \in \sisi$ maka dapat disebut node $i$ dan $j$ berdekatan(\textit{adjecent}).
 | 
			
		||||
Himpunan dari node yang terhubung dari setiap simpul $i$ dinotasikan dengan $\tetangga_i \triangleq \{ j \in \simpul: (i,j) \in \sisi \}$, dan juga $i \sim j$.
 | 
			
		||||
Matiks insidensi (\textit{incidence}), $E \in \mathbb{R}^{n\times m}$, adalah matrik $\{0,\pm 1\}$ dimana
 | 
			
		||||
baris matrik mengindikasikan simpulnya dan kolomnya sebagai sisinya.
 | 
			
		||||
Matriks \textit{laplacian} didefinisikan dengan $L(\simpul)=EE^T$
 | 
			
		||||
 | 
			
		||||
\subsubsection{Teori Kekakuan Graf}
 | 
			
		||||
Koordinat multi dimensi adalah konfigurasi matrik vector yang terdisi dari beberapa koordinat node,
 | 
			
		||||
$p = \begin{bmatrix} x_1^T & \dots & x_n^T \end{bmatrix}^T \mathbb{R}^{2n}$, dimana
 | 
			
		||||
$x_i \in \mathbb{R}^2$ dan $x_i \neq x_j$ untuk semua $i \neq j$.
 | 
			
		||||
Difinisi sebuah kerangka (\textit{framework}), dinotasikan dengan $\graf(p)$,
 | 
			
		||||
adalah graf tak berarah $\graf$ dengan konfigurasi $x$, dimana simpul $i$ pada graf dipetakan
 | 
			
		||||
kedalam koordinat $x_i$. Misalkan $(i,j)\in \sisi$ sama dengan sisi ke $k$ dari graf langsung
 | 
			
		||||
dan mendefinisikan vektor sisi dari kerangka, atau dapat disebut sebagai vektor posisi relatif,
 | 
			
		||||
dengan $ e_k \triangleq x_j - x_i$. Untuk semua vektor sisi dapat dinotasikan dengan
 | 
			
		||||
$e=\begin{bmatrix}e_1^t & \dots & e_m^T\end{bmatrix} \in \mathbb{R}^{2m}$.
 | 
			
		||||
 | 
			
		||||
Apabila kerangka $\simpul(p)$ dengan vektor sisi $\{e_k\}_{k=1}^m$, maka didefinisisi fungsi sisi (\textit{edge function}), $F:\mathbb{R}^{2n} \times \simpul \rightarrow \mathbb{R}^m$
 | 
			
		||||
dengan
 | 
			
		||||
\begin{align}
 | 
			
		||||
  F(p,\sisi) & \triangleq
 | 
			
		||||
  \begin{bmatrix}
 | 
			
		||||
    ||e_1||^2 & \dots & ||e_m||^2
 | 
			
		||||
  \end{bmatrix}^T
 | 
			
		||||
\end{align}
 | 
			
		||||
Matrik kekakuan $R(p)$ yang berhubungan erat dengan kerangka $\graf(p)$ dapat didefinisikan
 | 
			
		||||
dengan \textit{Jacobian} dari fungsi sisi (\kutip{Rozenheck2015}),
 | 
			
		||||
\begin{align}
 | 
			
		||||
  R(p) & \triangleq \frac{\partial F(p,\graf)}{\partial x} \in \mathbb{R}^{m\times 2n} \nonumber \\
 | 
			
		||||
       & \triangleq diag(e_i^T)(E^T \otimes I_2)
 | 
			
		||||
\end{align}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
			
		||||
 | 
			
		||||
\subsection{Kendali Formasi Multi-Robot}
 | 
			
		||||
\label{subbab:KendaliFormasi}
 | 
			
		||||
 | 
			
		||||
Dikarenakan pada penelitian sebelumnya menggunakan model sederhana,
 | 
			
		||||
maka akan menggabungkan literatur oleh \kutip{Oh2014} dengan penyesuaian metode sebelumnya.
 | 
			
		||||
 | 
			
		||||
Pembahasan kendali dari formasi multi robot menggunakan gradient control.
 | 
			
		||||
Apabila $n(n\geq 2)$ dimodelkan sebagai titik yang memiliki masa jenis bergerak diatas
 | 
			
		||||
dimensi 2(\textit{Euclidean Space}), maka pergerakan dimodelkan dengan
 | 
			
		||||
\begin{align}
 | 
			
		||||
  \begin{cases}
 | 
			
		||||
    \dot{x}_i(t) = & v_i(t) \quad i = 1, \dots, n. \\
 | 
			
		||||
    \dot{v}_i(t) = & u_i(t)
 | 
			
		||||
  \end{cases}
 | 
			
		||||
  \label{eq:modelorde2}
 | 
			
		||||
\end{align}
 | 
			
		||||
dimana $v_i(t) \in \mathbb{R}^2$ dan $u_i(t)\in \mathbb{R}^2$adalah  kecepatan dan input dari robot-$i$. Dinotasikan $d \in \mathbb{R}^m$ adalah vector jarak dimana isi
 | 
			
		||||
dari matrik tersebut adalah $d_k^2$ yang mempresentasikan jarak yang dinginkan antara
 | 
			
		||||
setiap robot $i$ dan $j$ untuk sisi $(i,j)\in \sisi$.
 | 
			
		||||
Lalu didefinisi persamaan potensial yang memiliki hubungan antara jarak robot yang diinginkan
 | 
			
		||||
dengan jarak yang sekarang
 | 
			
		||||
\begin{align}
 | 
			
		||||
  \Phi(e) & = \frac{1}{2} \sum_{i \in \simpul }||v_i||^2 + \frac{1}{2} \sum_{k=1}^{m} \big( ||e_k||^2 - d_k^2 \big)^2
 | 
			
		||||
\end{align}
 | 
			
		||||
Pengamatan dilakukan agar $\Phi(e) =0$ jika dan hanya jika $||e_k||^2 = d_k^2,$   $\forall k = 1, \dots, m$.
 | 
			
		||||
Kendali dari setiap robot menggunakan gradien negatif dari fungsi potensial
 | 
			
		||||
\begin{align}
 | 
			
		||||
  \begin{cases}
 | 
			
		||||
    \dot{p} & = \frac{\partial \Phi(e)}{\partial v}   + Bv_{ref}                                         \\
 | 
			
		||||
            & = v(t) + Bv_{ref}                                                                          \\
 | 
			
		||||
    \dot{v} & = -C \Big( \frac{\partial \Phi(e)}{\partial v} + \frac{\partial \Phi(e)}{\partial p} \Big) \\
 | 
			
		||||
            & = -C(v(t) + R(p)^T(R(p)x(t) - d ))                                                         \\
 | 
			
		||||
            & = u(t)
 | 
			
		||||
  \end{cases}
 | 
			
		||||
  \label{eq:dynmState}
 | 
			
		||||
\end{align}
 | 
			
		||||
Dimana $v \in \mathbb{R}^{2n}$ adalah vector kecepatan dari seluruh node. Penambahan refrensi kecepatan pada salah satu robot dapat menjadikan formasi bermanuver.
 | 
			
		||||
Dimana $B \in \mathbb{R}^{2n \times 2}$ digunakan untuk indikasi robot ke $i$ sebagai leader atau penerima kecepatan referensinya, $v_{ref} \in \mathbb{R}^2$ sebagai kecepatan referensi,
 | 
			
		||||
dan $C$ adalah konstanta pengendali yang akan digantikan dengan algoritma kendali.
 | 
			
		||||
Dengan menerapkan kendali \textit{Proportional}, konstanta $C$ pada persamaan~\eqref{eq:kontrolinput}
 | 
			
		||||
dapat diubah dengan
 | 
			
		||||
 | 
			
		||||
\begin{align}
 | 
			
		||||
  \begin{cases}
 | 
			
		||||
    u_i(t)        & = u_{k_{p1}}(t) + u_{k_{p2}}(t)          \\
 | 
			
		||||
    u_{k_{p1}}(t) & = -k_{p1}v_i(t)                          \\
 | 
			
		||||
    u_{k_{p2}}(t) & = -R(p(t))^T k_{p2}(R(p(t))x_1(t) - d )) \\
 | 
			
		||||
  \end{cases}
 | 
			
		||||
  \label{eq:kontrolinput}
 | 
			
		||||
\end{align}
 | 
			
		||||
Dengan itu dapat digabungkan menjadi persamaan \textit{state-space} menggunakan persamaan~\eqref{eq:dynmState}
 | 
			
		||||
 | 
			
		||||
\begin{align}
 | 
			
		||||
  \begin{bmatrix}
 | 
			
		||||
    \dot{x} \\ \dot{v}
 | 
			
		||||
  \end{bmatrix} & =
 | 
			
		||||
  \begin{bmatrix}
 | 
			
		||||
    0                  & 1      \\
 | 
			
		||||
    -k_{p2}R(x)^T R(x) & -k_{p1}\\
 | 
			
		||||
  \end{bmatrix}
 | 
			
		||||
  \begin{bmatrix}
 | 
			
		||||
    x \\ v
 | 
			
		||||
  \end{bmatrix} +
 | 
			
		||||
  \begin{bmatrix}
 | 
			
		||||
    0 \\  k_{p2}R(x)^T
 | 
			
		||||
  \end{bmatrix} d+Bv_{ref} \nonumber              \\
 | 
			
		||||
  \dot{x}_f(t)               & = A_f(x)x_f(t)+B_f(x)d+Bv_{ref}
 | 
			
		||||
  \label{eq:ss-formasi}
 | 
			
		||||
\end{align}
 | 
			
		||||
 | 
			
		||||
\begin{figure}
 | 
			
		||||
  \centering
 | 
			
		||||
  \includegraphics[scale=.35]{BAB2/img/plotMotion3Robot.png}
 | 
			
		||||
  \caption{Plot motion 3 robot dengan nilai kp=80 dan ki=1}
 | 
			
		||||
\end{figure}
 | 
			
		||||
 | 
			
		||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
			
		||||
 | 
			
		||||
% \section{Solusi Persamaan Differensial Secara Numerik}
 | 
			
		||||
% \label{bab:dua:solusi_ODE}
 | 
			
		||||
 | 
			
		||||
% Persamaan \eqref{eq:ss1} dan \eqref{eq:ss2} adalah persamaan differensial kontinu orde satu.
 | 
			
		||||
% Dalam memecahkan persamaan differensial dapat dilakukan dalam bentuk kontinyu atau numerik.
 | 
			
		||||
% Dalam kasus kendali, persamaan differensial dikalkulasi menggunakan komputer, sehingga persamaan tersebut
 | 
			
		||||
% dapat dicari solusi pendekatannya menggunakan cara numerik. Persamaan orde satu dapat direpresentasikan
 | 
			
		||||
% dengan persamaan
 | 
			
		||||
% \begin{align}
 | 
			
		||||
%   \dot{x}(t) & = f(x,t), t_0 \leq t \leq t_f \label{eq:ode1.a} \\
 | 
			
		||||
%   y(t_0)     & = x(t_0)\label{eq:ode1.b}
 | 
			
		||||
% \end{align}
 | 
			
		||||
% Dimana $x(t) \in \mathbb{R}^n$, adalah vector yang setiap iterasi waktu berubah, $f(x,t)\in \mathbb{R}^n$
 | 
			
		||||
% adalah fungsi sistem, $t_0$ dan $t_f$ adalah waktu inisial dan waktu akhir.
 | 
			
		||||
% Pada persamaan~\eqref{eq:ode1.a} dan~\eqref{eq:ode1.b} adalah persamaan dengan permasalahan nilai inisial~\kutip{Fabien2009}.
 | 
			
		||||
 | 
			
		||||
% Apablia $t(0) = t(t_i)$ maka $t(1) = t(0)+ h$, dimana $h$ adalah perubahan kecil yang memiliki hubungan terhadap waktu.
 | 
			
		||||
% Didalam metode algoritma yang akan dibahas, $h$ juga dapat disebut sebagai \textit{step size}, dan juga
 | 
			
		||||
% $t[k] = t[k-1] + h$ adalah bentuk diskretnya untuk $k = 0,1,2,3\dots$.
 | 
			
		||||
 | 
			
		||||
% Apabila $y(t[k])$ adalah nilai inisial ketika waktu $t[k]$, maka menggunakan deret \textit{taylor} akan didapat
 | 
			
		||||
% pendekatan solusi untuk $y(t[k+1])$. Menggunakan orde pertama deret \textit{taylor} saja maka didapat
 | 
			
		||||
% persamaan diskret solusi pendekatan $y(t[k])~\approx y[k]$
 | 
			
		||||
% \begin{align}
 | 
			
		||||
%   y[k+1] = y[k]+f(y[k])h \label{eq:desode1}
 | 
			
		||||
% \end{align}
 | 
			
		||||
 | 
			
		||||
% Pendekatan lain dari persamaan~\eqref{eq:desode1} dengan mendefinisikan turunan $y(t[k])$ sebagai
 | 
			
		||||
% \begin{align}
 | 
			
		||||
%   \dot{y}(t[k]) & =  \frac{y[k+1] - y[k]}{h} \label{eq:desdotode1}
 | 
			
		||||
% \end{align}
 | 
			
		||||
% Persamaan~\eqref{eq:desode1} dan~\eqref{eq:desdotode1} dinamakan dengan persamaan \textit{explicite Euler method} dan \textit{forward Euler formula} (\kutip{Fabien2009}).
 | 
			
		||||
% Apabila persamaan~\eqref{eq:desdotode1} disubtitusikan pada~\eqref{eq:ode1.a}
 | 
			
		||||
% dan~\eqref{eq:ode1.b} maka didapat persamaan~\eqref{eq:desode1}.
 | 
			
		||||
% Untuk diterapkan dalam komputer, dapat mengikuti algoritme~\ref{algo:eEuler}.
 | 
			
		||||
 | 
			
		||||
% \begin{algorithm}
 | 
			
		||||
%   \DontPrintSemicolon
 | 
			
		||||
%   \KwInput{Integer $N > 0$, $h=(t_f-t_i)/N$, $t[0]=t_i$, $y[0]=y[t_i]=y_i$).}
 | 
			
		||||
%   \KwOutput{$y[k]$, $k=1,2,\dots,N$.}
 | 
			
		||||
%   \For{$k=0,1,\dots,N-1$}
 | 
			
		||||
%   {$y[k+1] = y[k]+hf(y[k])$\;
 | 
			
		||||
%   $t[k+1] = t[k] + h$
 | 
			
		||||
%   }
 | 
			
		||||
%   \caption{\textit{Explicite Euler Method}}
 | 
			
		||||
%   \label{algo:eEuler}
 | 
			
		||||
% \end{algorithm}
 | 
			
		||||
 | 
			
		||||
% \subsection{Stabilitas Metode Euler}
 | 
			
		||||
% \begin{figure}
 | 
			
		||||
%   \centering
 | 
			
		||||
%   \includegraphics[scale=.5]{BAB2/img/equler_explicit.png}
 | 
			
		||||
%   \caption[]{Area stabilitas metode explicit euler(\kutipLs{Fabien2009}).}
 | 
			
		||||
%   \label{fig:explicit_euler}
 | 
			
		||||
% \end{figure}
 | 
			
		||||
% Properti dari stabilitas metode Euler dapat diperoleh dengan mendefinisikan persamaan differensial secara general $\dot{x}=\alpha x$,dimana $\alpha$ adalah bilangan complex
 | 
			
		||||
% dari parameter sistem.
 | 
			
		||||
% Dengan menggunakan pendekatan sebelumnya  maka persamaan masalah dapat didefinisikan
 | 
			
		||||
% \begin{align}
 | 
			
		||||
%   y[k+1] = (1+h\lambda)y[k] = (1 + z)y[k]= R(z)y[k] \label{eq:disstab}
 | 
			
		||||
% \end{align}
 | 
			
		||||
% Dari persamaan~\eqref{eq:disstab}, sistem akan stabil apabila $|R(z)|\leq 1$.
 | 
			
		||||
% Jika digambarkan dalam grafik complex stabilitas maka dapat dilihat pada gambar~\ref{fig:explicit_euler}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										544
									
								
								BAB4/bab4.tex
								
								
								
								
							
							
						
						
									
										544
									
								
								BAB4/bab4.tex
								
								
								
								
							| 
						 | 
				
			
			@ -1,66 +1,5 @@
 | 
			
		|||
\chapter{\babEmpat}
 | 
			
		||||
 | 
			
		||||
% \section{Perangkat Percobaan}
 | 
			
		||||
% Percobaan akan dilakukan secara simulasi yang dijalankan menggunakan aplikasi MATLAB / GNU Octave.
 | 
			
		||||
 | 
			
		||||
% Sub bab ini akan dibahas mengenai prangkat penunjang sebagai pembatu dalam menyelesaikan penelitian.
 | 
			
		||||
% Sebagai langkah awal pengembangan, metode yang digunakan adalah \textit{Hardware-In Loop}.
 | 
			
		||||
% \begin{figure}
 | 
			
		||||
%   \centering
 | 
			
		||||
%   \includegraphics[scale=.5]{BAB3/img/hil_graph.png}
 | 
			
		||||
%   \caption{Hardware-in-the-loop (\kutip{Jim1999}). }
 | 
			
		||||
%   \label{fig:hil_graph}
 | 
			
		||||
% \end{figure}
 | 
			
		||||
 | 
			
		||||
% \textit{Hardware-in-the-loop} (HIL) adalah metode untuk pengembangan prangkat kendali dengan memanfaatkan model sebagai objek kendalinya. Seperti pada gambar~\ref{fig:hil_graph},
 | 
			
		||||
% bahwa HIL terdiri dari dua prangkat, yaitu prangkat untuk menjalankan objek kendali atau dapat
 | 
			
		||||
% disebut sebagai model/plant dan prangkat sistem kontrolnya, dalam kasus ini sistem kontrol menggunakan sistem tertanam (\textit{embedded system}).
 | 
			
		||||
% Metode HIL, banyak digunakan oleh peneliti dalam proses pengembangan dengan pertimbangan efisiensi terhadap berbagai hal.
 | 
			
		||||
% Seperti yang digunakan oleh~\kutip{Irwanto2018}, mengembangkan kendali UAV menggunakan HIL;
 | 
			
		||||
% dan \kutip{QUESADA2019275}, mengembangkan prangkat pankreas buatan yang digunakan untuk mengendalikan kadar gula pada pengidap diabetes.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
% Pada penelitian ini akan digunakan \textit{microcontroller}(MCU) STM32F466 sebagai prangkat kendalinya.
 | 
			
		||||
% MCU tersebut ber-arsitektur ARM Cortex-M4 dengan clock 180MHz, menampung ukuran program sampai 256K didalam memori Flash, serta fitur komunikasi standart MCU dengan lengkap.
 | 
			
		||||
% \textit{Platform Library} yang digunakan dalam pembuatan aplikasi didalamnya adalah \textit{Mbed},
 | 
			
		||||
% yang menyediakan berbagai banyak fungsi yang lengkap dan mudah untuk berinteraksi dengan fitur-fitur MCU. \textit{Mbed} juga menyediakan fungsi untuk mengaplikasikan RTOS (Real-time Operating System) dengan mudah dan terdokumentasi secara jelas didalam lamannya.
 | 
			
		||||
% Pada prangkat PC akan dikembangkan program berbasis \textit{Python} yang akan
 | 
			
		||||
% menjalankan simulasi model dan berkomunikasi dengan MCU secara \textit{real-time}.
 | 
			
		||||
% Program \textit{Python} akan menjalankan model pada persamaan~\eqref{eq:ss1}-\eqref{eq:ss2}
 | 
			
		||||
% dengan metode yang dijabarkan pada sub bab~\ref{bab:dua:solusi_ODE}.
 | 
			
		||||
% Dalam penerapan multi-robot, digunakan 3 perangkat sistem tertanam untuk mempresentasikan kendali 3 robot (Gambar.~\ref{fig:hil_graph_1}).
 | 
			
		||||
% Setiap prangkat pengendali akan saling terhubung satu sama lain dan semua prangkat pengendali terhubung dengan prangkat PC.
 | 
			
		||||
% Komunikasi antar prangkat pengendali akan digunakan untuk pertukaran informasi.
 | 
			
		||||
% Sedangkan komunikasi dengan PC akan mempresentasikan aktuator dan sensor untuk setiap prangkat
 | 
			
		||||
% kendali. PC akan merekam setiap keluaran dari model dan masukan dari setiap prangkat kendali
 | 
			
		||||
% sebagai tampilan pergerakan robotnya.
 | 
			
		||||
 | 
			
		||||
% \begin{figure}
 | 
			
		||||
%   \centering
 | 
			
		||||
%   \input{BAB4/img/Diagram_hil_controller.tex}
 | 
			
		||||
%   \caption{HIL Kendali Multi-Robot.}
 | 
			
		||||
%   \label{fig:hil_graph_1}
 | 
			
		||||
% \end{figure}
 | 
			
		||||
 | 
			
		||||
% \todo{
 | 
			
		||||
%    Tambahkan subsection mengenai
 | 
			
		||||
%    \begin{itemize}
 | 
			
		||||
%       %% \item pengembangan data/akuisisi data ?
 | 
			
		||||
%       % \item skenario pengujian/simulasi? (lebih ke teknis seperti lapangan environtment dll)
 | 
			
		||||
%       % \item skenario Analisa hasil
 | 
			
		||||
%       \item jadwal penelitian
 | 
			
		||||
%    \end{itemize}
 | 
			
		||||
% }
 | 
			
		||||
 | 
			
		||||
% \section{Strategi Kendali Multi Robot}
 | 
			
		||||
 | 
			
		||||
% Pembahasan metode akan menerangkan mengenai strategi kendali multi robot.
 | 
			
		||||
% Strategi akan dibagi menjadi dua bagian, yaitu kendali tingkat bawah dan kendali tingkat atas.
 | 
			
		||||
% Kendali tingkat bawah akan membahas mengenai kendali robot secara individu, 
 | 
			
		||||
% sedangkan kendali tingkat atas akan dibahas mengenai penggabungan antara kendali tingkat bawah dan atas.
 | 
			
		||||
 | 
			
		||||
% \section{Kendali Robot}
 | 
			
		||||
 | 
			
		||||
Metode penelitian akan menerangkan tentang bagaimana strategi untuk menemukan koordinat tetangga menggunakan variabel jarak saja.
 | 
			
		||||
Dapat diperhatikan pada persamaan~\eqref{eq:ss-formasi} bahwa \textit{state} yang dibutuhkan adalah kecepatan.
 | 
			
		||||
Maka kendali robot diharuskan dapat mencapai kecepatan tertentu.
 | 
			
		||||
| 
						 | 
				
			
			@ -68,6 +7,147 @@ Strategi pencarian koordinat mengharuskan juga robot untuk mencapai koordinat re
 | 
			
		|||
Pada bab ini akan menjelaskan bagaimana robot menemukan koordinat, mencapai kecepatan dan koordinat tertentu,
 | 
			
		||||
dan membentuk formasi menggunakan model robot \textit{holonomic}.
 | 
			
		||||
 | 
			
		||||
\section{Strategi Penentuan Koordinat Tetangga}
 | 
			
		||||
\label{bab:empat:Strategi_koordinat_tetangga}
 | 
			
		||||
 | 
			
		||||
Tujuan dari strategi penentuan koordinat tetangga ini adalah menemukan koodinat menggunakan variabel jarak saja.
 | 
			
		||||
Mengadopsi dari pengembangan oleh Qiang (\kutip{qiang2018}) meletakkan dua sensor jarak pada salah satu robot,
 | 
			
		||||
menggunakan kaidah rumus segitiga untuk mendapatkan sudut diantara robot tetangganya dan mengubahnya menjadi koordinat polar.
 | 
			
		||||
Di penelitian ini menggunakan kaidah rumus segitiga tersebut akan tetapi robot hanya terpasang satu sensor jarak saja
 | 
			
		||||
dan mengharuskan melakukan langkah tertentu untuk mendapatkan sudut diantara robot tetangganya.
 | 
			
		||||
 | 
			
		||||
Penentuan koordinat tentangga dapat ditemukan dengang mengubah koordinat polar menjadi koordinat kartesian.
 | 
			
		||||
Koordinat polar membutuhkan panjang $d_a$, dan sudut $\alpha$.
 | 
			
		||||
Panjang $d_a$ adalah variable yang didapat dari sensor yang memberikan nilai jarak dari robot $A$ ke robot $B$,
 | 
			
		||||
akan tetapi untuk mendapatkan koordinat polar, pengukuran sudu $\alpha$ tidak tersedia.
 | 
			
		||||
Algoritama yang ditawarkan memanfaatkan hukum \textit{cosinus} pada segitiga untuk mendapatkan sudut tersebut.
 | 
			
		||||
 | 
			
		||||
\begin{figure}
 | 
			
		||||
  \centering
 | 
			
		||||
  \includegraphics[scale=.2]{BAB3/img/estimate_coordinate.png}
 | 
			
		||||
  \caption{Strategi Penentuan Koordinat Langkah Pertama}
 | 
			
		||||
  \label{fig:strategiPenentuanKoordinat_satu}
 | 
			
		||||
\end{figure}
 | 
			
		||||
 | 
			
		||||
\textbf{Langkah pertama}. Gambar~\ref{fig:strategiPenentuanKoordinat_satu} adalah Ilustrasi langkah pertama algoritma cosinus dimana
 | 
			
		||||
robot $A$ diharuskan berpindah sepanjang la atau ke koordinat $A' = (0, la )$ menggunakan
 | 
			
		||||
kendali mode dua di Persamaan~\eqref{eq:kendali_mode_dua} akan tetapi robot harus menyimpan jarak di $[k]$ terlebih
 | 
			
		||||
dahulu. Setelah berpindah robot $A$ mendapatkan jarak di $[k + 1]$ digunakan untuk menentukan
 | 
			
		||||
sudut $\alpha_i^\circ$ menggunakan rumus segitiga cosinus. Berikut adalah Persamaan $\alpha_i^\circ$.
 | 
			
		||||
\begin{align}
 | 
			
		||||
  \zeta_i^a      & = cos^{-1}\Bigg( \frac{l_a^2 + d_a[k+1]^2 -d_a[k]^2}{2d_a[k+1]l_a} \Bigg)
 | 
			
		||||
  \alpha_i^\circ & = 180^\circ                                                               \\pm \zeta_i^a \\
 | 
			
		||||
  \label{eq:algo_getAngle}
 | 
			
		||||
\end{align}
 | 
			
		||||
Variabel $\alpha_i^\circ$ dan $d_i[k+1]$ adalah nilai dari koordinat polar dari setiap robot tetangga A. Diubah
 | 
			
		||||
menjadi koordinat kartesian untuk dapat dimasukkan dalam state kendali formasi.
 | 
			
		||||
\begin{align}
 | 
			
		||||
  x_{B_i}^A = \begin{bmatrix}
 | 
			
		||||
    x_{B_i}= d_i[k]\cos \alpha_i^\circ \\
 | 
			
		||||
    y_{B_i}= d_i[k]\sin \alpha_i^\circ
 | 
			
		||||
  \end{bmatrix} \label{eq:algo_koordinat}
 | 
			
		||||
\end{align}
 | 
			
		||||
 | 
			
		||||
\begin{figure}
 | 
			
		||||
  \centering
 | 
			
		||||
  \includegraphics[scale=.2]{BAB3/img/estimate_coordinate.png}
 | 
			
		||||
  \caption{Strategi Penentuan Koordinat Langakah Kedua}
 | 
			
		||||
  \label{fig:strategiPenentuanKoordinat_dua}
 | 
			
		||||
\end{figure}
 | 
			
		||||
 | 
			
		||||
\textbf{Langkah kedua}. Koordinat di Persamaan~\eqref{eq:algo_koordinat} akan menghasilkan bias dikarenakan
 | 
			
		||||
Persamaan~\eqref{eq:algo_getAngle} tidak mengetahui letak kuadran sudutnya. Menggunakan ilustrasi di Gambar~\ref{fig:strategiPenentuanKoordinat_satu},
 | 
			
		||||
langkah pertama menghasilkan dua kemungkinan koordinat robot $B_1$ dan $B_1'$ .
 | 
			
		||||
Apabila di Gambar~\ref{fig:strategiPenentuanKoordinat_satu}, Sudut $\zeta_i^a$ adalah sudut segitiga $\angle AA'B_1$ atau $\angle AA'B_2$ sehingga
 | 
			
		||||
dimungkinkan koordinat yang dihasilkan Persamaan~\eqref{eq:algo_getAngle} bisa berada pada kuadran 1 atau kuadran 4.
 | 
			
		||||
Oleh karena itu di Persamaan~\ref{fig:algo_getAngle} terdapat operasi $\pm$ dimana operasi tersebut
 | 
			
		||||
akan dilakukan berdasarkan letak kuadran $B_i$.
 | 
			
		||||
 | 
			
		||||
\begin{align}
 | 
			
		||||
  \alpha_i^\circ & = \begin{cases}
 | 
			
		||||
    180^\circ - \zeta_i^a & , Robot berada pada kuadran 1 dan 2 \\
 | 
			
		||||
    180^\circ + \zeta_i^a & , Robot berada pada kuadran 3 dan 4
 | 
			
		||||
  \end{cases}
 | 
			
		||||
  \label{eq:kejadian_langkah_dua}
 | 
			
		||||
\end{align}
 | 
			
		||||
 | 
			
		||||
Langkah kedua ini bertujuan untuk menentukan kejadian di Persamaan~\eqref{eq:kejadian_langkah_dua} dimana robot
 | 
			
		||||
harus berpindah ke koordinat $A'' = (x*_a , y*_a )$ (Gambar~\ref{fig:strategiPenentuanKoordinat_dua}).
 | 
			
		||||
Sebelum robot berpindah, kondisi robot telah mendapatkan koordinat dari langkah pertama. Koordinat tersebut akan diubah
 | 
			
		||||
menjadi jarak dan akan dibandingkan jarak tersebut dengan informasi jarak dari sensor setelah
 | 
			
		||||
berpindah ke $A''$ . Apabila terdapat perbedaan maka kejadian di Persamaan~\eqref{eq:algo_getAngle} diubah kejadian selanjutnya
 | 
			
		||||
dan mengkoreksi koordinat sebelumnya.
 | 
			
		||||
 | 
			
		||||
\section{Analisa Algoritama Dengan Tetangga Statis}
 | 
			
		||||
 | 
			
		||||
Telah dijelaskan pada Bab \ref{bab:empat:Strategi_koordinat_tetangga} bahwa robot bergerak kearah yang random dengan jarak tertentu untuk mengetahui koordinat tetangga.
 | 
			
		||||
Analisa akan dilakukan dengan membandingkan berbagai jarak dari tinggat rendah, sedang, dan tinggi untuk mengetahui respon algoritma yang sesuai dan optimal untuk mendapatkan koordinat tetangga.
 | 
			
		||||
 | 
			
		||||
Dari hasil analisa ini akan menghasilkan jarak terbaik untuk algoritma menentukan koordinat tetangga. Pembuktian akan dilakukan secara menampilkan grafik respon.
 | 
			
		||||
 | 
			
		||||
\section{Kendali Robot \textit{Holonomic}}
 | 
			
		||||
Kendali robot \textit{holonomic} akan dibagi menjadi dua mode.
 | 
			
		||||
Perbedaan kedua mode tersebut adalah \textit{setpoint} kendalinya,
 | 
			
		||||
dimana mode satu akan memiliki setpoint kecepatan robot sedangkan
 | 
			
		||||
mode dua memiliki \textit{setpoint} koordinat kerangka robot.
 | 
			
		||||
Penjelasan lebih lengkap kegunaan dari kedua mode tersebut akan dijelaskan
 | 
			
		||||
di pembahasan metode strategi penentuan koordinat.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\textbf{Mode Satu}. Kendali robot mode satu bertujuan untuk robot mencapai kecepatan yang
 | 
			
		||||
diinginkan. Untuk mencapai tujuan tersebut akan menggunakan metode \textit{state-feedback}
 | 
			
		||||
seperti yang telah dijabarkan sebelumnya.
 | 
			
		||||
Mengadopsi persamaan \textit{state-space} dari robot.
 | 
			
		||||
\begin{align}
 | 
			
		||||
  \dot{x_c}(t) & = A_c x_c(t) + B_c u_c(t) + k_c sgn(x_c(t)), \label{eq:ss_kecepatan} \\
 | 
			
		||||
  y_c(t)       & = C_cx_c(t),
 | 
			
		||||
\end{align}
 | 
			
		||||
Dimana $A_c,B_c,k_c,C_c \in \mathbb{R}^{3\times 3}$ adalah matriks parameter robot yang telah dijelaskan sebelumnya.
 | 
			
		||||
\begin{align*}
 | 
			
		||||
  A_c & = \begin{bmatrix}
 | 
			
		||||
    -\frac{3.l^2.K_t^2}{2.M.R_a.r^2}-\frac{B_{\dot{x}_r}}{M} & 0                                                        & 0                                                             \\
 | 
			
		||||
    0                                                        & -\frac{3.l^2.K_t^2}{2.M.R_a.r^2}-\frac{B_{\dot{y}_r}}{M} & 0                                                             \\
 | 
			
		||||
    0                                                        & 0                                                        & -\frac{3.l^2.K_t^2}{2.I.R_a.r^2}-\frac{B_{\dot{\theta}_r}}{I} \\
 | 
			
		||||
  \end{bmatrix}, \\
 | 
			
		||||
  B_c & = \begin{bmatrix}
 | 
			
		||||
    0                                & \frac{l.K_t}{R_a.r}. \frac{\cos(30^\circ)}{M} & -\frac{l.K_t}{R_a.r}.\frac{\cos(30^\circ)}{M} \\
 | 
			
		||||
    \frac{l.K_t}{R_a.r}.\frac{-1}{M} & \frac{l.K_t}{R_a.r}.\frac{\cos(60^\circ)}{M}  & \frac{l.K_t}{R_a.r}.\frac{\cos(60^\circ)}{M}  \\
 | 
			
		||||
    \frac{l.K_t}{R_a.r}.\frac{b}{I}  & \frac{l.K_t}{R_a.r}.\frac{b}{I}               & \frac{l.K_t}{R_a.r}.\frac{b}{I}               \\
 | 
			
		||||
  \end{bmatrix},
 | 
			
		||||
  k_c = \begin{bmatrix}
 | 
			
		||||
    -\frac{C_{\dot{x}_r}}{M} & 0                        & 0                        \\
 | 
			
		||||
    0                        & -\frac{C_{\dot{x}_r}}{M} & 0                        \\
 | 
			
		||||
    0                        & 0                        & -\frac{C_{\dot{x}_r}}{M} \\
 | 
			
		||||
  \end{bmatrix},   \\
 | 
			
		||||
  C_c & = \begin{bmatrix}
 | 
			
		||||
    1 & 0 & 0 & \\
 | 
			
		||||
    0 & 1 & 0 & \\
 | 
			
		||||
    0 & 0 & 1 & \\
 | 
			
		||||
  \end{bmatrix}
 | 
			
		||||
\end{align*}
 | 
			
		||||
Dimana $y_c(t) = x_c(t) = \begin{bmatrix} v & v_n & w \end{bmatrix}^T$ adalah vektor kecepatan.
 | 
			
		||||
Lalu ditentukan fungsi kendali $u_c(t)$ menggunakan \textit{state-feedback}.
 | 
			
		||||
\begin{align}
 | 
			
		||||
  u_c(t) & = -K_c x_c(t) + N_c r_c   \label{eq:kendali_mode_satu} \\
 | 
			
		||||
  N_c    & = -[C(A_c - B_c K_c)^{-1} B_c ]^{-1}
 | 
			
		||||
\end{align}
 | 
			
		||||
Dimana vektor $r_c = \begin{bmatrix} v* & v_n* & w* \end{bmatrix}$ adalah \textit{set-point} kendali mode satu dan
 | 
			
		||||
matriks $K_c$ diperoleh dari solusi persamaan \textit{Riccati}.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\textbf{Mode dua}. Kendali robot mode bertujuan untuk robot mencapai koordinat relatif yang
 | 
			
		||||
diinginkan. Untuk mencapai tujuan tersebut akan menggunakan metode \textit{state-feedback}
 | 
			
		||||
seperti yang telah dijabarkan sebelumnya.
 | 
			
		||||
Mengadopsi persamaan \textit{state-space} dari robot Persamaan\eqref{eq:ss1}-\eqref{eq:ss2}.
 | 
			
		||||
Lalu ditentukan fungsi kendali $u(t)$ menggunakan \textit{state-feedback}.
 | 
			
		||||
\begin{align}
 | 
			
		||||
  u(t) & = -K_r x_c(t) + N_r r_r             \label{eq:kendali_mode_dua} \\
 | 
			
		||||
  N_r  & = -[C(A_r - B_r K_r)^{-1} B_r ]^{-1}
 | 
			
		||||
\end{align}
 | 
			
		||||
Dimana vektor $r_c = \begin{bmatrix} \dot{x*}_r & \dot{y*}_r & \dot{\theta *}_r & v* & v_n* & w* \end{bmatrix}$
 | 
			
		||||
adalah \textit{set-point} kendali mode dua dan
 | 
			
		||||
matriks $K_r$ diperoleh dari solusi persamaan \textit{Riccati}.
 | 
			
		||||
 | 
			
		||||
\section{State Feedback}
 | 
			
		||||
\begin{figure}
 | 
			
		||||
  \centering
 | 
			
		||||
| 
						 | 
				
			
			@ -281,69 +361,6 @@ Apabila diintegrasi terhadap persamaan~\eqref{eq:ss1} terhadap diagram~\ref{fig:
 | 
			
		|||
  \end{center}
 | 
			
		||||
\end{figure}
 | 
			
		||||
 | 
			
		||||
\section{Kendali Robot \textit{Holonomic}}
 | 
			
		||||
Kendali robot \textit{holonomic} akan dibagi menjadi dua mode.
 | 
			
		||||
Perbedaan kedua mode tersebut adalah \textit{setpoint} kendalinya,
 | 
			
		||||
dimana mode satu akan memiliki setpoint kecepatan robot sedangkan
 | 
			
		||||
mode dua memiliki \textit{setpoint} koordinat kerangka robot.
 | 
			
		||||
Penjelasan lebih lengkap kegunaan dari kedua mode tersebut akan dijelaskan
 | 
			
		||||
di pembahasan metode strategi penentuan koordinat.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\textbf{Mode Satu}. Kendali robot mode satu bertujuan untuk robot mencapai kecepatan yang
 | 
			
		||||
diinginkan. Untuk mencapai tujuan tersebut akan menggunakan metode \textit{state-feedback}
 | 
			
		||||
seperti yang telah dijabarkan sebelumnya.
 | 
			
		||||
Mengadopsi persamaan \textit{state-space} dari robot.
 | 
			
		||||
\begin{align}
 | 
			
		||||
  \dot{x_c}(t) & = A_c x_c(t) + B_c u_c(t) + k_c sgn(x_c(t)), \label{eq:ss_kecepatan} \\
 | 
			
		||||
  y_c(t)       & = C_cx_c(t),
 | 
			
		||||
\end{align}
 | 
			
		||||
Dimana $A_c,B_c,k_c,C_c \in \mathbb{R}^{3\times 3}$ adalah matriks parameter robot yang telah dijelaskan sebelumnya.
 | 
			
		||||
\begin{align*}
 | 
			
		||||
  A_c & = \begin{bmatrix}
 | 
			
		||||
    -\frac{3.l^2.K_t^2}{2.M.R_a.r^2}-\frac{B_{\dot{x}_r}}{M} & 0                                                        & 0                                                             \\
 | 
			
		||||
    0                                                        & -\frac{3.l^2.K_t^2}{2.M.R_a.r^2}-\frac{B_{\dot{y}_r}}{M} & 0                                                             \\
 | 
			
		||||
    0                                                        & 0                                                        & -\frac{3.l^2.K_t^2}{2.I.R_a.r^2}-\frac{B_{\dot{\theta}_r}}{I} \\
 | 
			
		||||
  \end{bmatrix}, \\
 | 
			
		||||
  B_c & = \begin{bmatrix}
 | 
			
		||||
    0                                & \frac{l.K_t}{R_a.r}. \frac{\cos(30^\circ)}{M} & -\frac{l.K_t}{R_a.r}.\frac{\cos(30^\circ)}{M} \\
 | 
			
		||||
    \frac{l.K_t}{R_a.r}.\frac{-1}{M} & \frac{l.K_t}{R_a.r}.\frac{\cos(60^\circ)}{M}  & \frac{l.K_t}{R_a.r}.\frac{\cos(60^\circ)}{M}  \\
 | 
			
		||||
    \frac{l.K_t}{R_a.r}.\frac{b}{I}  & \frac{l.K_t}{R_a.r}.\frac{b}{I}               & \frac{l.K_t}{R_a.r}.\frac{b}{I}               \\
 | 
			
		||||
  \end{bmatrix},
 | 
			
		||||
  k_c = \begin{bmatrix}
 | 
			
		||||
    -\frac{C_{\dot{x}_r}}{M} & 0                        & 0                        \\
 | 
			
		||||
    0                        & -\frac{C_{\dot{x}_r}}{M} & 0                        \\
 | 
			
		||||
    0                        & 0                        & -\frac{C_{\dot{x}_r}}{M} \\
 | 
			
		||||
  \end{bmatrix},   \\
 | 
			
		||||
  C_c & = \begin{bmatrix}
 | 
			
		||||
    1 & 0 & 0 & \\
 | 
			
		||||
    0 & 1 & 0 & \\
 | 
			
		||||
    0 & 0 & 1 & \\
 | 
			
		||||
  \end{bmatrix}
 | 
			
		||||
\end{align*}
 | 
			
		||||
Dimana $y_c(t) = x_c(t) = \begin{bmatrix} v & v_n & w \end{bmatrix}^T$ adalah vektor kecepatan.
 | 
			
		||||
Lalu ditentukan fungsi kendali $u_c(t)$ menggunakan \textit{state-feedback}.
 | 
			
		||||
\begin{align}
 | 
			
		||||
  u_c(t) & = -K_c x_c(t) + N_c r_c   \label{eq:kendali_mode_satu} \\
 | 
			
		||||
  N_c    & = -[C(A_c - B_c K_c)^{-1} B_c ]^{-1}
 | 
			
		||||
\end{align}
 | 
			
		||||
Dimana vektor $r_c = \begin{bmatrix} v* & v_n* & w* \end{bmatrix}$ adalah \textit{set-point} kendali mode satu dan
 | 
			
		||||
matriks $K_c$ diperoleh dari solusi persamaan \textit{Riccati}.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\textbf{Mode dua}. Kendali robot mode bertujuan untuk robot mencapai koordinat relatif yang
 | 
			
		||||
diinginkan. Untuk mencapai tujuan tersebut akan menggunakan metode \textit{state-feedback}
 | 
			
		||||
seperti yang telah dijabarkan sebelumnya.
 | 
			
		||||
Mengadopsi persamaan \textit{state-space} dari robot Persamaan\eqref{eq:ss1}-\eqref{eq:ss2}.
 | 
			
		||||
Lalu ditentukan fungsi kendali $u(t)$ menggunakan \textit{state-feedback}.
 | 
			
		||||
\begin{align}
 | 
			
		||||
  u(t) & = -K_r x_c(t) + N_r r_r             \label{eq:kendali_mode_dua} \\
 | 
			
		||||
  N_r  & = -[C(A_r - B_r K_r)^{-1} B_r ]^{-1}
 | 
			
		||||
\end{align}
 | 
			
		||||
Dimana vektor $r_c = \begin{bmatrix} \dot{x*}_r & \dot{y*}_r & \dot{\theta *}_r & v* & v_n* & w* \end{bmatrix}$
 | 
			
		||||
adalah \textit{set-point} kendali mode dua dan
 | 
			
		||||
matriks $K_r$ diperoleh dari solusi persamaan \textit{Riccati}.
 | 
			
		||||
 | 
			
		||||
\section{Kendali Formasi Multi Robot}
 | 
			
		||||
Pada sub bab~\ref{subbab:KendaliFormasi} dijabarkan bagaimana kendali formasi menggunakan
 | 
			
		||||
kendali-P dan menghasilkan persamaan~\eqref{eq:ss-formasi}.
 | 
			
		||||
| 
						 | 
				
			
			@ -379,281 +396,4 @@ Lalu diterapkan di Persamaan~\eqref{eq:ss-formasi} sebgai berikut.
 | 
			
		|||
    0   & k_c & 0   \\
 | 
			
		||||
    0   & 0   & k_c \\
 | 
			
		||||
  \end{bmatrix}
 | 
			
		||||
\end{align}
 | 
			
		||||
 | 
			
		||||
\section{Strategi Penentuan Koordinat Tetangga}
 | 
			
		||||
\label{bab:empat:Strategi_koordinat_tetangga}
 | 
			
		||||
 | 
			
		||||
Tujuan dari strategi penentuan koordinat tetangga ini adalah menemukan koodinat menggunakan variabel jarak saja.
 | 
			
		||||
Mengadopsi dari pengembangan oleh Qiang (\kutip{qiang2018}) meletakkan dua sensor jarak pada salah satu robot,
 | 
			
		||||
menggunakan kaidah rumus segitiga untuk mendapatkan sudut diantara robot tetangganya dan mengubahnya menjadi koordinat polar.
 | 
			
		||||
Di penelitian ini menggunakan kaidah rumus segitiga tersebut akan tetapi robot hanya terpasang satu sensor jarak saja
 | 
			
		||||
dan mengharuskan melakukan langkah tertentu untuk mendapatkan sudut diantara robot tetangganya.
 | 
			
		||||
 | 
			
		||||
Penentuan koordinat tentangga dapat ditemukan dengang mengubah koordinat polar menjadi koordinat kartesian.
 | 
			
		||||
Koordinat polar membutuhkan panjang $d_a$, dan sudut $\alpha$.
 | 
			
		||||
Panjang $d_a$ adalah variable yang didapat dari sensor yang memberikan nilai jarak dari robot $A$ ke robot $B$,
 | 
			
		||||
akan tetapi untuk mendapatkan koordinat polar, pengukuran sudu $\alpha$ tidak tersedia.
 | 
			
		||||
Algoritama yang ditawarkan memanfaatkan hukum \textit{cosinus} pada segitiga untuk mendapatkan sudut tersebut.
 | 
			
		||||
 | 
			
		||||
\begin{figure}
 | 
			
		||||
  \centering
 | 
			
		||||
  \includegraphics[scale=.2]{BAB3/img/estimate_coordinate.png}
 | 
			
		||||
  \caption{Strategi Penentuan Koordinat Langkah Pertama}
 | 
			
		||||
  \label{fig:strategiPenentuanKoordinat_satu}
 | 
			
		||||
\end{figure}
 | 
			
		||||
 | 
			
		||||
\textbf{Langkah pertama}. Gambar~\ref{fig:strategiPenentuanKoordinat_satu} adalah Ilustrasi langkah pertama algoritma cosinus dimana
 | 
			
		||||
robot $A$ diharuskan berpindah sepanjang la atau ke koordinat $A' = (0, la )$ menggunakan
 | 
			
		||||
kendali mode dua di Persamaan~\eqref{eq:kendali_mode_dua} akan tetapi robot harus menyimpan jarak di $[k]$ terlebih
 | 
			
		||||
dahulu. Setelah berpindah robot $A$ mendapatkan jarak di $[k + 1]$ digunakan untuk menentukan
 | 
			
		||||
sudut $\alpha_i^\circ$ menggunakan rumus segitiga cosinus. Berikut adalah Persamaan $\alpha_i^\circ$.
 | 
			
		||||
\begin{align}
 | 
			
		||||
  \zeta_i^a      & = cos^{-1}\Bigg( \frac{l_a^2 + d_a[k+1]^2 -d_a[k]^2}{2d_a[k+1]l_a} \Bigg)
 | 
			
		||||
  \alpha_i^\circ & = 180^\circ                                                               \\pm \zeta_i^a \\
 | 
			
		||||
  \label{eq:algo_getAngle}
 | 
			
		||||
\end{align}
 | 
			
		||||
Variabel $\alpha_i^\circ$ dan $d_i[k+1]$ adalah nilai dari koordinat polar dari setiap robot tetangga A. Diubah
 | 
			
		||||
menjadi koordinat kartesian untuk dapat dimasukkan dalam state kendali formasi.
 | 
			
		||||
\begin{align}
 | 
			
		||||
  x_{B_i}^A = \begin{bmatrix}
 | 
			
		||||
    x_{B_i}= d_i[k]\cos \alpha_i^\circ \\
 | 
			
		||||
    y_{B_i}= d_i[k]\sin \alpha_i^\circ
 | 
			
		||||
  \end{bmatrix} \label{eq:algo_koordinat}
 | 
			
		||||
\end{align}
 | 
			
		||||
 | 
			
		||||
\begin{figure}
 | 
			
		||||
  \centering
 | 
			
		||||
  \includegraphics[scale=.2]{BAB3/img/estimate_coordinate.png}
 | 
			
		||||
  \caption{Strategi Penentuan Koordinat Langakah Kedua}
 | 
			
		||||
  \label{fig:strategiPenentuanKoordinat_dua}
 | 
			
		||||
\end{figure}
 | 
			
		||||
 | 
			
		||||
\textbf{Langkah kedua}. Koordinat di Persamaan~\eqref{eq:algo_koordinat} akan menghasilkan bias dikarenakan
 | 
			
		||||
Persamaan~\eqref{eq:algo_getAngle} tidak mengetahui letak kuadran sudutnya. Menggunakan ilustrasi di Gambar~\ref{fig:strategiPenentuanKoordinat_satu},
 | 
			
		||||
langkah pertama menghasilkan dua kemungkinan koordinat robot $B_1$ dan $B_1'$ .
 | 
			
		||||
Apabila di Gambar~\ref{fig:strategiPenentuanKoordinat_satu}, Sudut $\zeta_i^a$ adalah sudut segitiga $\angle AA'B_1$ atau $\angle AA'B_2$ sehingga
 | 
			
		||||
dimungkinkan koordinat yang dihasilkan Persamaan~\eqref{eq:algo_getAngle} bisa berada pada kuadran 1 atau kuadran 4.
 | 
			
		||||
Oleh karena itu di Persamaan~\ref{fig:algo_getAngle} terdapat operasi $\pm$ dimana operasi tersebut
 | 
			
		||||
akan dilakukan berdasarkan letak kuadran $B_i$.
 | 
			
		||||
 | 
			
		||||
\begin{align}
 | 
			
		||||
  \alpha_i^\circ & = \begin{cases}
 | 
			
		||||
    180^\circ - \zeta_i^a & , Robot berada pada kuadran 1 dan 2 \\
 | 
			
		||||
    180^\circ + \zeta_i^a & , Robot berada pada kuadran 3 dan 4
 | 
			
		||||
  \end{cases}
 | 
			
		||||
  \label{eq:kejadian_langkah_dua}
 | 
			
		||||
\end{align}
 | 
			
		||||
 | 
			
		||||
Langkah kedua ini bertujuan untuk menentukan kejadian di Persamaan~\eqref{eq:kejadian_langkah_dua} dimana robot
 | 
			
		||||
harus berpindah ke koordinat $A'' = (x*_a , y*_a )$ (Gambar~\ref{fig:strategiPenentuanKoordinat_dua}).
 | 
			
		||||
Sebelum robot berpindah, kondisi robot telah mendapatkan koordinat dari langkah pertama. Koordinat tersebut akan diubah
 | 
			
		||||
menjadi jarak dan akan dibandingkan jarak tersebut dengan informasi jarak dari sensor setelah
 | 
			
		||||
berpindah ke $A''$ . Apabila terdapat perbedaan maka kejadian di Persamaan~\eqref{eq:algo_getAngle} diubah kejadian selanjutnya
 | 
			
		||||
dan mengkoreksi koordinat sebelumnya.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
% Dapat diperhatikan pada gambar~\ref{fig:strategiPenentuanKoordinat} untuk gambaran strateginya.
 | 
			
		||||
% Robot $B \in \tetangga_A$, adalah tetangga dari robot $A$.
 | 
			
		||||
% Pertama-tama, sebelum robot $A$ bergerak, disimpan terlebih dahulu nilai $d_a$,
 | 
			
		||||
% atau dinotasikan dengan $d_a[k]$ sebagai jarak sebelum bergerak.
 | 
			
		||||
% Lalu robot $A$ berjalan secara random kesegala arah dengan jarak $l_a$.
 | 
			
		||||
% Disimpan kembali nilai jara $d_a$, atau dinotasikan dengan $d_a[k+1]$.
 | 
			
		||||
% Setalah itu dapat ditentukan sudut $\alpha[k+1]$
 | 
			
		||||
% \begin{align}
 | 
			
		||||
%   d_a[k]^2    & = d_a[k+1]^2 + l_a^2 + 2 d_a[k+1] l_a \cos{(\alpha[k+1])}                 \\
 | 
			
		||||
%   \alpha[k+1] & = cos^{-1}\Bigg( \frac{l_a^2 + d_a[k+1]^2 -d_a[k]^2}{2d_a[k+1]l_a} \Bigg)
 | 
			
		||||
%   \label{eq:algo_getAngle}
 | 
			
		||||
% \end{align}
 | 
			
		||||
% Sebelum $\alpha[k+1]$ digunakan, jarak $d_a[k+1]$ dan $d_a[k]$ berpengaruh dalam penentuan koordinat.
 | 
			
		||||
% Sehingga diperlukan sedikit algoritma
 | 
			
		||||
% \begin{align}
 | 
			
		||||
%   \alpha_i=
 | 
			
		||||
%   \begin{cases}
 | 
			
		||||
%     \alpha[k+1]     & ,d_a[k+1] > d_a[k] \\
 | 
			
		||||
%     180-\alpha[k+1] & ,d_a[k+1] < d_a[k]
 | 
			
		||||
%   \end{cases}.\label{eq:init_relatif_koordinat}
 | 
			
		||||
% \end{align}
 | 
			
		||||
 | 
			
		||||
% Strategi pada gambar~\ref{fig:strategiPenentuanKoordinat} hanya berlaku apabila target ukur berhenti. Apabila dinotasikan koordinat $(x_B^A, y_B^A)$ adalah koordinat relatif robot $B$ terhadap $A$,
 | 
			
		||||
% maka $(\dot{x}_B^A, \dot{y}_B^A)$ adalah notasi kecepatan koordinat dari robot B.
 | 
			
		||||
% Dengan menggunakan persamaan~\eqref{eq:kinematika_robot} untuk menyelesaikan koordinat dalam
 | 
			
		||||
% keadaan robot $B$ bergerak, yaitu mengirimkan informasi kecepatan koordinatnya
 | 
			
		||||
% ke robot $A$. Lalu robot $A$ dapat mengkalkulasi koordinat relatif dengan persamaan berikut
 | 
			
		||||
% \begin{align}
 | 
			
		||||
%   \alpha[k+1] & = \alpha[k]+tan^{-1} \Big[ \frac{\dot{x}_B^A}{\dot{y}_B^A} \Big]
 | 
			
		||||
% \end{align}
 | 
			
		||||
% dimana kondisi inisial adalah $\alpha[k] = \alpha_i$ diperoleh dari hasil strategi pada persamaan~\eqref{eq:init_relatif_koordinat}.
 | 
			
		||||
% Dengan memanfaatkan kedua strategi tersebut dapat digunakan untuk
 | 
			
		||||
% mengkalkulasi koordinat robot $B$ relatif terhadap robot $A$
 | 
			
		||||
% \begin{align}
 | 
			
		||||
%   x_B^A = \begin{bmatrix}
 | 
			
		||||
%     x_B = d_a[k]\cos \alpha[k] \\
 | 
			
		||||
%     y_B = d_a[k]\sin \alpha[k]
 | 
			
		||||
%   \end{bmatrix}
 | 
			
		||||
% \end{align}
 | 
			
		||||
% Dalam strategi ini akan terjadi ketidak akuratan dalam pengukuran apabila target ukur
 | 
			
		||||
% berada pada sudut $90^\circ$.
 | 
			
		||||
% Akan tetapi, \kutip{Cao2007} sudah menjelaskan mengenai kriteria posisi agent ketika dalam kondisi inisial.
 | 
			
		||||
% Yaitu semua agent tidak berada pada kondisi sejajar secara koordinat global.
 | 
			
		||||
 | 
			
		||||
% \begin{algorithm}
 | 
			
		||||
%   \DontPrintSemicolon
 | 
			
		||||
%   \KwInput{
 | 
			
		||||
%     Integer $l_a>0$,
 | 
			
		||||
%     $\tetangga_i=getConnectionRobot()$, }
 | 
			
		||||
%   \KwOutput{$x_i^j$}
 | 
			
		||||
 | 
			
		||||
%   \If{isInisilised() == false}{
 | 
			
		||||
%   \tcc{inisialisasi}
 | 
			
		||||
%   \tcc{getRandomDirection() akan mengembalikan sudur random antara 0 - 360}
 | 
			
		||||
%   $dir = getRandomDirection()$\;
 | 
			
		||||
%   $d_{before} = getDistanceFromSensor(\tetangga_i)$\;
 | 
			
		||||
%   $r = \begin{bmatrix}
 | 
			
		||||
%       l_a \cos(dir) \\
 | 
			
		||||
%       l_a \sin(dir)
 | 
			
		||||
%     \end{bmatrix}$\;
 | 
			
		||||
 | 
			
		||||
%   \tcc{Menjalankan robot hingga mencapai setpoint}
 | 
			
		||||
%   \While{isSetpointReached()}{
 | 
			
		||||
%     $runRobotToSetpoint(r)$\;
 | 
			
		||||
%   }
 | 
			
		||||
 | 
			
		||||
%   \tcc{Mengambil jarak setelah robot mencapai setpoint}
 | 
			
		||||
%   $d_{after} = getDistanceFromSensor(\tetangga_i)$\;
 | 
			
		||||
 | 
			
		||||
%   \tcc{Mengkalkulasi sudut}
 | 
			
		||||
%   $ang = cos^{-1}\Bigg[ \frac{l_a^2 + d_{after}^2 -d_{before}^2}{2d_{before}l_a} \Bigg]$\;
 | 
			
		||||
%   }
 | 
			
		||||
%   \Else{
 | 
			
		||||
%   \tcc{mendapatkan infromasi state dari tetangga}
 | 
			
		||||
%   $\begin{bmatrix}
 | 
			
		||||
%       \dot{x}_B^A \\ \dot{y}_B^A
 | 
			
		||||
%     \end{bmatrix} = getState()$ \;
 | 
			
		||||
%   $ang = \alpha[k]+tan^{-1} \Big[ \frac{\dot{x}_B^A}{\dot{y}_B^A} \Big]$ \;
 | 
			
		||||
%   }
 | 
			
		||||
 | 
			
		||||
%   \If{$d_{before}<d_{after}$}
 | 
			
		||||
%   {
 | 
			
		||||
%   $ang = 180-ang$\;
 | 
			
		||||
%   }
 | 
			
		||||
%   \tcc{Menjadikan koordinat kartesian}
 | 
			
		||||
%   \Return $x_i^j = \begin{bmatrix}
 | 
			
		||||
%       d_{after} \cos(ang) \\
 | 
			
		||||
%       d_{after} \sin(ang)
 | 
			
		||||
%     \end{bmatrix}$\;
 | 
			
		||||
 | 
			
		||||
%   \caption{\textit{Algoritma Cosinus}}
 | 
			
		||||
%   \label{algo:algoritma_cosinus}
 | 
			
		||||
% \end{algorithm}
 | 
			
		||||
% \section{Implementasi Kendali Formasi Dengan Kendali Robot}
 | 
			
		||||
 | 
			
		||||
% Implementasi kendali formasi pada kendali robot akan menggabungkan persamaan state space pada~\eqref{eq:ss-formasi} dengan persamaan~\eqref{eq:ss-control-robot}.
 | 
			
		||||
% Implementasi ini akan menjadikan persamaan~\eqref{eq:ss-formasi} sebagai kendali utama sedangkan pada persamaan~\eqref{eq:ss-control-robot} adalah kendali tingkat bawah.
 | 
			
		||||
% Kendali utama akan diberikan input berupa jarak, $d$, sebagai tujuan pengendali. Sedangkan keluaran dari kendali tersebut adalah koordinat yang perlu dicapai oleh kendali tingkat bawah.
 | 
			
		||||
% Pembahasan akan diambil dari sudut pandang robot secara individual.
 | 
			
		||||
% Dengan menulis ulang persamaan~\eqref{eq:ss-control-robot} dengan notasi baru akan lebih mudah dalam penjelasaan lebih lanjut.
 | 
			
		||||
% \begin{align}
 | 
			
		||||
%   \begin{cases}
 | 
			
		||||
%     \dot{x_r} & = (A_r-B_rK_s)x_r + B_rN_rr \\
 | 
			
		||||
%     y_r       & = C_rx_r
 | 
			
		||||
%   \end{cases}
 | 
			
		||||
%   \label{eq:ss-control-robot-implement}
 | 
			
		||||
% \end{align}
 | 
			
		||||
% Apabila diasumsikan state pada persamaan~\eqref{eq:ss-formasi} sebagai berikut
 | 
			
		||||
% \begin{align*}
 | 
			
		||||
%   x(t) & = \begin{bmatrix}
 | 
			
		||||
%     y_r^T & y_{rj1}^T & y_{rj2}^T & \dots & y_{rjn}^T
 | 
			
		||||
%   \end{bmatrix}^T , \quad (i,jn) \in \sisi
 | 
			
		||||
% \end{align*}
 | 
			
		||||
% maka $y_{rjn}$ adalah koordinat yang didapat dari algoritma atau hasil pengiriman data dari robot tetangga.
 | 
			
		||||
% Sedangkan $r$ pada persamaan~\eqref{eq:ss-control-robot-implement} adalah koordinat refrensi yang dihasilkan dari persamaan~\eqref{eq:ss-formasi}, $r = C_fx(t)$. Untuk lebih mudah dalam memahami dapat diperhatikan diagram pada gambar~\ref{fig:all-control}
 | 
			
		||||
 | 
			
		||||
% \section{Strategi Uji Coba}
 | 
			
		||||
% Strategi ujicoba akan diawali dengan menghitung kesetabilan menggunakan teori Euler pada Bab \ref{bab:dua:solusi_ODE}.
 | 
			
		||||
% Langkah selanjutnya adalah percobaan terhadap Algoritma~\ref{algo:algoritma_cosinus} dengan kondisi robot tetangga dalam keadaan statis.
 | 
			
		||||
% Percobaan tersebut bermaksut untuk menguji apakah algoritma berjalan dengan benar.
 | 
			
		||||
% Langkah terakhir adalah percobaan keseluruhan robot menggunakan Algoritma yang dikembangkan
 | 
			
		||||
% dengan skenario percobaan yang sama dengan penelitian sebelumnya oleh \kutip{Rozenheck2015}.
 | 
			
		||||
 | 
			
		||||
% \begin{figure}
 | 
			
		||||
%   \centering
 | 
			
		||||
%   \input{BAB4/img/implement-control.tex}
 | 
			
		||||
%   \caption{Kendali keseluruhan}
 | 
			
		||||
%   \label{fig:all-control}
 | 
			
		||||
% \end{figure}
 | 
			
		||||
 | 
			
		||||
% \subsection{Analisa Kesetabilan Model}
 | 
			
		||||
% Perhitungan kesetabilan akan menggunakan parameter model dari penelitian sebelumnya, dapat diperhatikan di Tabel \ref{tab:param_model}.
 | 
			
		||||
% Parameter tersebut akan diimplementasi di persamaan~\eqref{eq:ss1}-\eqref{eq:ss2}.
 | 
			
		||||
% Lalu ditentukan waktu sample dan diubah menjadi persamaan diskrit meggunakan persamaan~\eqref{eq:disstab}.
 | 
			
		||||
% Setelah itu akan diuji menggunakan diagram Gambar.\ref{fig:explicit_euler} untuk mengetahui kesetabilan model.
 | 
			
		||||
 | 
			
		||||
% Dari hasil analisa ini akan menghasilkan parameter waktu sampling ($h$) untuk menjalankan Algoritma~\ref{algo:eEuler}.
 | 
			
		||||
% Pembuktian secara grafik sangat dibutuhkan untuk mengetahui respon model.
 | 
			
		||||
 | 
			
		||||
\section{Analisa Algoritama Dengan Tetangga Statis}
 | 
			
		||||
 | 
			
		||||
Telah dijelaskan pada Bab \ref{bab:empat:Strategi_koordinat_tetangga} bahwa robot bergerak kearah yang random dengan jarak tertentu untuk mengetahui koordinat tetangga.
 | 
			
		||||
Analisa akan dilakukan dengan membandingkan berbagai jarak dari tinggat rendah, sedang, dan tinggi untuk mengetahui respon algoritma yang sesuai dan optimal untuk mendapatkan koordinat tetangga.
 | 
			
		||||
 | 
			
		||||
Dari hasil analisa ini akan menghasilkan jarak terbaik untuk algoritma menentukan koordinat tetangga. Pembuktian akan dilakukan secara menampilkan grafik respon.
 | 
			
		||||
 | 
			
		||||
% \subsection{Analisa Percobaan Keseluruhan}
 | 
			
		||||
 | 
			
		||||
% Percobaan keseluruhan akan menjalankan Algoritma \ref{algo:algoritma_cosinus} yang diterapkan pada seluruh robot. Lalu, seperti skenario penelitian sebelumnya salah satu robot diberikan kecepatan refrensi untuk bergerak ke arah tertentu.
 | 
			
		||||
 | 
			
		||||
% Dari hasil percobaan ini akan menghasilkan grafik respon dari keseluruhan robot terhadap perubahan error yang terjadi.
 | 
			
		||||
% Dengan hipotesis, keseluruhan robot akan menjaga jarak formasi dengan baik.
 | 
			
		||||
 | 
			
		||||
% \subsection{Jadwal Penelitian}
 | 
			
		||||
% \todo{
 | 
			
		||||
% buat draftnya dan pakek library ini 
 | 
			
		||||
% \url{
 | 
			
		||||
% http://www.martin-kumm.de/wiki/doku.php?id=05Misc:A_LaTeX_package_for_gantt_plots
 | 
			
		||||
% }
 | 
			
		||||
% }
 | 
			
		||||
% \begin{enumerate}
 | 
			
		||||
%   \item Analisa kestabilan model
 | 
			
		||||
%         \begin{enumerate}
 | 
			
		||||
%           \item Pengembangan dan test Individu Model(1)
 | 
			
		||||
%         \end{enumerate}
 | 
			
		||||
%   \item Analisa algoritma dengan tetangga statis
 | 
			
		||||
%         \begin{enumerate}
 | 
			
		||||
%           \item Pengembangan dan test Kendali (1)
 | 
			
		||||
%           \item Pengembangan dan test Koneksi antara Individu Model dan Kendali (2)
 | 
			
		||||
%           \item Pengembangan dan test Algoritma dengan tetangga yang statis (2)
 | 
			
		||||
%         \end{enumerate}
 | 
			
		||||
%         % \item Analisa algoritma keseluruhan
 | 
			
		||||
%         %       \begin{enumerate}
 | 
			
		||||
%         %         \item Pengembangan dan test Algoritma komunikasi antar kendali (3)
 | 
			
		||||
%         %         \item Pengembangan dan test Algoritma keseluruhan (3)
 | 
			
		||||
%         %       \end{enumerate}
 | 
			
		||||
% \end{enumerate}
 | 
			
		||||
% \begin{center}
 | 
			
		||||
 | 
			
		||||
%   \begin{gantt}{7}{6}
 | 
			
		||||
%     \begin{ganttitle}
 | 
			
		||||
%       \numtitle{1}{1}{6}{1}
 | 
			
		||||
%     \end{ganttitle}
 | 
			
		||||
%     \ganttbar{1.a}{0}{1}
 | 
			
		||||
%     \ganttbarcon{2.a}{1}{1}
 | 
			
		||||
%     \ganttbarcon{2.b}{2}{2}
 | 
			
		||||
%     \ganttbarcon{2.c}{4}{2}
 | 
			
		||||
%     % \ganttbarcon{3.a}{6}{3}
 | 
			
		||||
%     % \ganttbarcon{3.b}{9}{3}
 | 
			
		||||
%     % \ganttbar{task 1}{0}{2}
 | 
			
		||||
%     % \ganttbarcon{task 2}{2}{4}
 | 
			
		||||
%     % \ganttbarcon{task 3}{8}{2}
 | 
			
		||||
%     % \ganttmilestone[color=cyan]{task 4}{4}
 | 
			
		||||
%     % \ganttbar{task 5}{2}{2}
 | 
			
		||||
%     % \ganttbar[color=cyan]{task 6}{4}{4}
 | 
			
		||||
%     % \ganttbar{task 7}{4}{2}
 | 
			
		||||
%     % \ganttcon{4}{5}{4}{7}
 | 
			
		||||
%     % \ganttmilestonecon{task 8}{7}
 | 
			
		||||
%     % \ganttbarcon{task 9}{8}{2}
 | 
			
		||||
%   \end{gantt}
 | 
			
		||||
% \end{center}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%% \subsection{
 | 
			
		||||
\end{align}
 | 
			
		||||
| 
						 | 
				
			
			@ -2,12 +2,16 @@
 | 
			
		|||
\chapter{\babLima}
 | 
			
		||||
% %-----------------------------------------------------------------------------%
 | 
			
		||||
 | 
			
		||||
\begin{figure}
 | 
			
		||||
    \centering
 | 
			
		||||
    \includegraphics[scale=.2]{BAB5/img/motion.png}
 | 
			
		||||
    \caption{Grafik Pergerakan Robot Menggunakan Algoritma Cosinus danKendali Formasi}
 | 
			
		||||
    \label{fig:hasil_motion_satu}
 | 
			
		||||
\end{figure}
 | 
			
		||||
Hasil pembahasan akan dilakukan dengan membahas hasil percobaan algoritma \textit{cosinus}.
 | 
			
		||||
Pembahasan hasil pertama akan membahas jalannya algoritma terhadap kendali formasi untuk
 | 
			
		||||
menentukan koordinat kondisi awal dan mengetahui langkah-langkah nya. 
 | 
			
		||||
Pembahasa kedua akan membandingkan penerapan algoritma dengan tanpa algoritma sehingga mengetahui
 | 
			
		||||
spesifikasi kecepatan algoritma untuk menemukan koordinat kondisi awal. 
 | 
			
		||||
Pemabahasan terakhir akan dilakukan percobaan dengan kuadran yang berbeda sehingga algoritma dapat
 | 
			
		||||
bekerja dengan baik untuk menemukan koordinat.
 | 
			
		||||
 | 
			
		||||
\section{Pergerakan Robot Terhadap Algoritma \textit{Cosinus}}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Kendali formasi berdasarkan jarak akan dijalankan secara simulasi menggunakan
 | 
			
		||||
MATLAB/GNU Octave dan algoritma cosinus akan dijalankan pertama kali untuk mendapatkan
 | 
			
		||||
| 
						 | 
				
			
			@ -19,14 +23,15 @@ cosinus. dapat diperhatikan robot $R_1$ menjalankan algoritma cosinus langkah pe
 | 
			
		|||
robot berpindah sepanjang $l_a = 1$ sehingga setpoint kendali Persamaan (13) adalah
 | 
			
		||||
 $r_2^c = \begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 \end{bmatrix}^T$.
 | 
			
		||||
 Setelah setpoint tercapai, robot $R_1$ mendapatkan jarak yang dibutuh
 | 
			
		||||
 | 
			
		||||
\begin{figure}
 | 
			
		||||
    \centering
 | 
			
		||||
    \includegraphics[scale=.2]{BAB5/img/distance norm.png}
 | 
			
		||||
    \caption{Grafik Response Jarak Terhadap Waktu Pada Robot Dengan Kendali Formasi.}
 | 
			
		||||
    \label{fig:hasil_motion_dua}
 | 
			
		||||
    \includegraphics[scale=.2]{BAB5/img/motion.png}
 | 
			
		||||
    \caption{Grafik Pergerakan Robot Menggunakan Algoritma Cosinus danKendali Formasi}
 | 
			
		||||
    \label{fig:hasil_motion_satu}
 | 
			
		||||
\end{figure}
 | 
			
		||||
 | 
			
		||||
 \section{Perbandingan Penerapan Algoritma \textit{Cosinus}}
 | 
			
		||||
 | 
			
		||||
untuk menyelesaikan Persamaan (21) dan (22) lalu dilanjutkan ke langkah dua dengan
 | 
			
		||||
berpindah ke koordinat (1,1) sehingga setpoint kendali Persamaan (13) adalah $r_2^c =
 | 
			
		||||
    [1 1 0 0 0 0]^T$ . Setelah setpoint tercapai maka dilakukan pengecekan kejadian
 | 
			
		||||
| 
						 | 
				
			
			@ -36,14 +41,15 @@ adalah $\alpha^\circ_i = 180^\circ + \zeta_i^a$ dan robot $R_2$ berada di kuadra
 | 
			
		|||
adalah $\alpha^\circ_i = 180^\circ - \zeta_i^a$ . Setelah koordinat ditemukan, maka kendali robot mulai berpindah
 | 
			
		||||
menggunakan kendali formasi Persamaan (16) dan (18) dengan kondisi koordinat awal state
 | 
			
		||||
berada di $t = 6$ dan akhir dari formasi di $t = 20$ pada Gambar 4.
 | 
			
		||||
 | 
			
		||||
\begin{figure}
 | 
			
		||||
    \centering
 | 
			
		||||
    \includegraphics[scale=.2]{BAB5/img/distance norm.png}
 | 
			
		||||
    \caption{Grafik Response Jarak Terhadap Waktu Pada Robot Dengan Kendali Formasi.}
 | 
			
		||||
    \label{fig:hasil_motion_tiga}
 | 
			
		||||
    \label{fig:hasil_motion_dua}
 | 
			
		||||
\end{figure}
 | 
			
		||||
 | 
			
		||||
\section{Algoritma \textit{Cosinus} Di Seluruh Kuadran}
 | 
			
		||||
 | 
			
		||||
Seperti yang telah dijelaskan di pembahasan algoritma cosinus (subbab 2.4), bahwa kendali
 | 
			
		||||
formasi di Persamaan (16) dan (18) mengharuskan state dalam bentuk koordinat dimana
 | 
			
		||||
ketika kondisi awal robot tidak mengetahuinya, maka peran utama dari algoritma cosinus
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -3,13 +3,27 @@
 | 
			
		|||
%---------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
\section{Kesimpulan}
 | 
			
		||||
Penelitian ini mengusulkan penggunaan algoritma cosinus untuk kendali formasi berdasarkan
 | 
			
		||||
jarak menggunakan tiga model robot holonomic. Dari hasil percobaan dicapai rata-rata waktu
 | 
			
		||||
sebesar 6.5 detik ketika algoritma cosinus menemukan keadaan awal kendali formasi
 | 
			
		||||
berdasarkan jarak menggunakan model robot holonomic.
 | 
			
		||||
Kendali formasi berdasarkan jarak telah dikembangkan fokus dibagian metode kendali dan masih perlu dibahas penerapannya.
 | 
			
		||||
Telah dikembangkan di penelitian sebelumnya dengan fokus di metode kendali formasi berdasarkan jarak dengan penerapan metode PI
 | 
			
		||||
dan analisa menghasilkan respon yang baik,
 | 
			
		||||
akan tetapi penerapan metode tersebut dikenyataannya tidak berjalan dengan baik karena
 | 
			
		||||
robot tidak mendapatkan kondisi awal yang digunakan untuk kendalinya.
 | 
			
		||||
Penelitian ini telah mengusulkan algoritma \textit{cosinus} sebagai solusi kondisi awal kendali.
 | 
			
		||||
Dari hasil percobaan, algoritma \textit{cosinus} dapat digunakan untuk 
 | 
			
		||||
mendapatkan koordinat kondisi awal kendali formasi berdasarkan jarak,
 | 
			
		||||
algoritma dapat menemukan koordinat relatif tetangganya di semua kuadran,
 | 
			
		||||
 dan rata-rata waktu yang dibutuhkan adalah 6.5 detik.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\section{Saran}
 | 
			
		||||
Penelitian ini dimulai dengan pengembangan dibagian kendali formasi berdasarkan jarak dan penerapannya pada model yang nyata.
 | 
			
		||||
Akan tetapi dalam proses penelitian terdapat permasalahan kondisi awal pada kendalinya sehingga pengembangan
 | 
			
		||||
kendali formasi berdasarkan jarak masih jauh dianggap sempurna.
 | 
			
		||||
Ditujuan kepada penelitian selanjutnya dibidang kendali formasi berdasarkan jarak terdapat peluang
 | 
			
		||||
penelitian di bagian penerapan kendali tanpa menggunakan robot asli yaitu menggunakan metode HIL (Hardware In Loop).
 | 
			
		||||
Saran ini disampaikan karena penelitian dibidang kendali formasi mengendalikan banyak robot. 
 | 
			
		||||
Dengan menggunakan HIL pengembangan penerapan kendali menjadi terjangkau.
 | 
			
		||||
Saran ini disampaikan karena penelitian dibidang kendali formasi mengendalikan banyak robot dan juga pemodelan 
 | 
			
		||||
robot yang nyata telah banyak dikembangkan maka penggunaan metode HIL sangat bermanfaat untuk melakukan analisis
 | 
			
		||||
kendali formasi.
 | 
			
		||||
Peluang penelitian selanjutnya juga dapat dimulai di bagian analisis kendali menggunakan metode MPC 
 | 
			
		||||
(\textit{Model Predictive Control}) karena metode MPC banyak digunakan
 | 
			
		||||
untuk mengendalikan robot secara optimal dan \textit{state feedback} adalah dasar dari metode MPC.
 | 
			
		||||
| 
						 | 
				
			
			@ -326,3 +326,13 @@ and Mendil, Boubekeur},
 | 
			
		|||
  doi       = {10.1109/CCDC.2018.8407528}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@INPROCEEDINGS{li2015,
 | 
			
		||||
  author={Li, Xue-ren and Li, Bo and Zhang, Peng and Zhang, Jian-ye and Zhang, Shuai},
 | 
			
		||||
  booktitle={2015 8th International Symposium on Computational Intelligence and Design (ISCID)}, 
 | 
			
		||||
  title={Large-Scale Unmanned Aerial Vehicle Formation Maintenance Algorithm Based on Virtual Structure}, 
 | 
			
		||||
  year={2015},
 | 
			
		||||
  volume={1},
 | 
			
		||||
  number={},
 | 
			
		||||
  pages={417-421},
 | 
			
		||||
  doi={10.1109/ISCID.2015.5}}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 52 KiB  | 
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
INFO: latexindent version 3.8.1, 2020-05-05, a script to indent .tex files
 | 
			
		||||
      latexindent lives here: /usr/share/texlive/texmf-dist/scripts/latexindent/
 | 
			
		||||
      Tue Jul 13 10:34:18 2021
 | 
			
		||||
      Filename: /home/a2nr/Documents/-p-formation-control/OTHER/__latexindent_temp.tex
 | 
			
		||||
      Sat Jul 24 21:12:26 2021
 | 
			
		||||
      Filename: /home/a2nr/Documents/-p-formation-control/BAB1/__latexindent_temp.tex
 | 
			
		||||
INFO: Processing switches:
 | 
			
		||||
      -y|--yaml: YAML settings specified via command line
 | 
			
		||||
      -c|--cruft: cruft directory
 | 
			
		||||
| 
						 | 
				
			
			@ -13,7 +13,7 @@ INFO: YAML settings read: indentconfig.yaml or .indentconfig.yaml
 | 
			
		|||
      To specify user settings you would put indentconfig.yaml here: /home/a2nr/indentconfig.yaml
 | 
			
		||||
      Alternatively, you can use the hidden file .indentconfig.yaml as: /home/a2nr/.indentconfig.yaml
 | 
			
		||||
INFO: YAML settings read: -y switch
 | 
			
		||||
      Updating masterSettings with defaultIndent: 	
 | 
			
		||||
      Updating masterSettings with defaultIndent:     
 | 
			
		||||
INFO: Phase 1: searching for objects
 | 
			
		||||
INFO: Phase 2: finding surrounding indentation
 | 
			
		||||
INFO: Phase 3: indenting objects
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,10 +12,10 @@
 | 
			
		|||
\Var{\Kota} {Malang}
 | 
			
		||||
 | 
			
		||||
% Tulis kembali judul laporan, kali ini akan diubah menjadi huruf kapital
 | 
			
		||||
\Var{\Judul}{Kendali Formasi \textit{Mobile} Robot Berdasarkan Jarak Menggunakan Algoritma \textit{Cosinus} }
 | 
			
		||||
\Var{\Judul}{Algoritma \textit{Cosinus} Sebagai Solusi Keadaan Awal Pada Kendali Formasi Berdasarkan Jarak}
 | 
			
		||||
%
 | 
			
		||||
% Judul laporan. 
 | 
			
		||||
\var{\judul}{Kendali Formasi \textit{Mobile} Robot Berdasarkan Jarak Menggunakan Algoritma \textit{Cosinus} }
 | 
			
		||||
\var{\judul}{Algoritma \textit{Cosinus} Sebagai Solusi Keadaan Awal Pada Kendali Formasi Berdasarkan Jarak}
 | 
			
		||||
% 
 | 
			
		||||
% Tulis kembali judul laporan namun dengan bahasa Ingris
 | 
			
		||||
\var{\judulInggris}{Formation Control Distance-Based Using Cosinus Algoritm For Multi Mobile-Robot}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											Binary file not shown.
										
									
								
							
		Loading…
	
		Reference in New Issue