sesudah ujian

release
a2nr 2021-07-20 19:35:18 +07:00
parent dd2f815898
commit 4aa147e808
31 changed files with 1433 additions and 828 deletions

8
.vscode/tasks.json vendored
View File

@ -6,14 +6,14 @@
{
"label": "Compile thesis",
"type": "shell",
"command": "latexmk -pdf -quite thesis.tex article.tex && latexmk -pdf -quite -c thesis.tex article.tex",
"command": "latexmk -pdf thesis.tex && latexmk -pdf -silent -c thesis.tex",
"problemMatcher": []
},
{
"label": "Compile articel",
"label": "Compile Presentasi",
"type": "shell",
"command": "latexmk -pdf article.tex && latexmk -pdf -c article.tex",
"command": "latexmk -pdf presentasi.tex && latexmk -pdf -silent -c presentasi.tex",
"problemMatcher": []
}
},
]
}

BIN
4985-12075-3-CE.docx Normal file

Binary file not shown.

BIN
4985-12075-3-CE.pdf Normal file

Binary file not shown.

View File

@ -7,47 +7,67 @@
%-----------------------------------------------------------------------------%
\section{Latar Belakang}
%-----------------------------------------------------------------------------%
Kendali formasi adalah topik penelitian kendali multi-robot untuk memecahkan permasalahan koordinasi pergerakan (\kutipLs{Parker2003}).
Kendali formasi bertujuan untuk mengendalikan sekelompok robot dalam mencapai formasi tertentu
dan dapat mempertahankan formasi tersebut ketika bermanuver menuju arah yang diinginkan.
Pengembangan kendali formasi dilakukan dari sisi algoritma strategi (\kutipLs{Guanghua2013}).
Seperti pengembangan yang dilakukan oleh \kutip{6889491} menggunakan strategi \textit{leader-follower}.
Strateginya adalah ditentukan salah satu dari sekolompok robot untuk dijadikan pemimpin.
Lalu menggunakan informasi pemimpin, robot lainnya bergerak mencapai formasi yang dinginkan.
Pengembangan strategi "berdasarkan tingkah laku" (\textit{Behavior Based}) dilakukan oleh \kutip{ELFERIK2016117},
dimana robot dimodelkan dengan kriteria formasi tertentu menjadi kesatuan model formasi yang dinamakan \textit{cluster space}.
Dalam model formasi tersebut robot memiliki dua tingkah laku yaitu tingkah laku untuk mengikuti robot tetangga dan tingkah laku mencapai formasi yang diinginkan.
Lalu tingkah laku robot tersebut dikendalikan menggunakan metode \textit{Fuzzy-Logic}.
Pengembangan setrategi juga dilakukan oleh \kutip{YOSHIOKA20085149} menggunakan strategi struktur virtual,
dimana sekelompok robot diformasikan dan dimodelkan menjadi satu kesatuan robot lalu robot bekerja untuk mencapai formasi tersebut.
Secara garis besar kendali formasi dikategorikan menjadi 3 bagian (\kutipLs{OH2015424}),
yaitu berdasarkan posisi, perpindahan, dan jarak.
Ketiga bagian tersebut tertuju pada jawaban dari pertanyaan, "variable apa yang digunakan
sebagai sensor" dan "variable apa yang aktif dikendalikan oleh sistem multi-robot untuk
mencapai formasi yang diinginkan".
Menetapkan variable sebagai sensor dapat dilakukan berdasarkan kemampuan robot.
Dari ketiga metode tersebut, formasi berdasarkan jarak merupakan metode yang dimungkinkan untuk diterapkan sensor yang lebih sedikit dari metode lainnya.
Pada formasi berdasarkan jarak, dimana setiap individu agent memiliki koordinatnya masing-masing dan tidak perlu disearahkan dengan koordinat global.
Variable yang dikendalikan pada meteode ini adalah variabel jarak antar agent yang terhubung,
sehingga dibutuhkan kemampuan untuk agent saling berkomunikasi antar agent lain.
Permasalah pada metode ini ditujukan pada analisa stabilitas secara general;
Pentingnya dilakukan investigasi pada penerapan model yang lebih nyata.
Pemeliharaan komunikasi juga menyumbang dalam permasalahan secara praktik, dan
kemampuan untuk menghindari rintangan juga dibutuhkan.
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
menggunakan struktur virtual dimana sekelompok robot memiliki titik referensi sebagai satu
robot oleh Xuen-ren (Li et al., 2015).
Penerapan kendali formasi berdasarkan jarak yang dikembangkan oleh \kutip{Rozenheck2015},
menunjukkan bahwa dengan memberikan kecepatan refrensi pada salh satu robot dapat mempertahankan formasi sekelompok robot menggunakan teori \textit{graph} dan kendali \textit{Proportional-Integral}.
Faktanya, analisis yang dilakukan oleh peneliti menggunakan model sederhana dan
pengukuran jarak antar tetangga diperoleh dari selisih koordinat global robot dan tetangganya.
Sedangkan dalam praktiknya robot hanya bisa mengukur jarak dan tidak mengetahui koordinat dari robot tetangga.
Dari penerapan penelitian tersebut terdapat kesenjangan terhadap analisis kendali dengan praktiknya.
Maka akan dikembangkan algoritma untuk mengestimasi koordinat menggunakan variable jarak saja.
Agar lebih fokus dalam pengembangan algoritma, model yang digunakan disesuaikan dengan model oleh peneliti.
Model yang digunakan oleh peneliti menggunakan model sederhana dengan sifat robot dapat bergerak kesegala arah.
Maka model yang akan digunakan adalah \textit{omnidirectional} mobile robot.
Penjabaran oleh Kwang-Kyo (\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
untuk mencapai formasi yang diinginkan". Kendali formasi berdasarkan posisi adalah metode
kendali formasi dimana robot diharuskan memiliki kemampuan untuk mengetahui kordinatnya
sendiri berdasarkan koordinat global. Kerena itu kendali berdasarkan posisi membutuhkan
sensor posisi seperti GPS. Kendali formasi berdasarkan perpindahan adalah kendali formasi
dimana setiap robot tidak mengetahui koordinatnya berdasarkan koordinat global dikarenakan
variabel yang digunakan sebagai sensor adalah kecepatan terhadap tetangganya. Metode
berdasarkan posisi, robot membutuhkan kemampuan penyesuaian orientasi koordinat global
sehingga setiap robot dibutuhkan sensor kompas untuk menyearahkannya. Formasi
berdasarkan jarak adalah kendali formasi dimana variabel yang dikendalikan adalah variabel
jarak antar robot yang terhubung sehingga koordinat yang digunakan tidak mengacu pada
koordinat global. Penerapan formasi berdasarkan jarak menggunakan sensor yang lebih sedikit
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}),
mengendalikan bentuk formasi menggunakan adaptive control untuk mengestimasi kecepatan
tetangga dari model robot yang sederhana oleh Sung-Mo (\kutip{kang2014}),
menggabungkan kendali formasi berdasarkan jarak dan perpindahan untuk mengendalikan
model robot yang sederhana oleh Myoung-Chul (\kutip{park2015}), dan menggunakan
kendali Proportional-Integral (PI) untuk mengendalikan jarak setiap model robot yang
sederhana oleh Rozenheck (\kutip{Rozenheck2015}).
Kendali PI pada penelitian oleh Rozenheck (\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})
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
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
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
mengembangkan kendali formasi berdasarkan jarak menggunakan model robot yang lebih
nyata.
%-----------------------------------------------------------------------------%
\section{Identifikasi dan Perumusan Masalah}
@ -55,21 +75,21 @@ Maka model yang akan digunakan adalah \textit{omnidirectional} mobile robot.
Berikut adalah potensi permasalahan sebagai identifikasi masalah :
\begin{enumerate}
\item Kendali formasi berdasarkan jarak membutuhkan studi lebih lanjut terhadap model yang lebih nyata.
\item Penerapan kendali formasi berdasarkan jarak masih memiliki kesenjangan antara analisis dan praktiknya.
\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}
Dalam penelitian ini akan digunakan batasan-batasan permasalahan sebagai berikut :
\begin{enumerate}
\item Variable sensor yang digunakan adalah jarak antar individu robot.
\item Komunikasi antar robot diasumsikan ideal, dalam artian percobaan tidak dilakukan diluar jarak jangkauan prangkat komunikasi.
% \item Rintangan yang digunakan adalah rintangan statis.
\item Kendali formasi berdsarkan jarak akan menggunakan tiga robot yang dijalankan secara simulasi.
\item Sensor jarak bekerja secara ideal.
\end{enumerate}
Berikut adalah beberapa point permasalahan yang ditujukan pada penelitian ini, yaitu:
\begin{enumerate}
\item Bagaimanakan strategi untuk kendali formasi apabila variable yang dikendalikan adalah jarak antar robot?.
\item Bagaimanakah pergerakan kendali formasi berdasarkan jarak apabila model yang digunakan adalah \textit{omnidirectional} mobile robot ?.
\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}
%-----------------------------------------------------------------------------%
@ -78,7 +98,7 @@ Berikut adalah beberapa point permasalahan yang ditujukan pada penelitian ini, y
%% \todo{tulis tujuan sebagai jawaban pertanyaan permasalahan}
Tujuan dari penelitian ini adalah
\begin{enumerate}
\item Mengetahui strategi untuk kendali formasi apabila variable yang dikendalikan adalah jarak antar robot.
\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}

View File

@ -188,27 +188,27 @@ 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,
$x = \begin{bmatrix} x_1^T & \dots & x_n^T \end{bmatrix}^T \mathbb{R}^{2n}$, dimana
$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(x)$,
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(x)$ 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$
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(x,\sisi) & \triangleq
F(p,\sisi) & \triangleq
\begin{bmatrix}
||e_1||^2 & \dots & ||e_m||^2
\end{bmatrix}^T
\end{align}
Matrik kekakuan $R(x)$ yang berhubungan erat dengan kerangka $\graf(x)$ dapat didefinisikan
Matrik kekakuan $R(p)$ yang berhubungan erat dengan kerangka $\graf(p)$ dapat didefinisikan
dengan \textit{Jacobian} dari fungsi sisi (\kutip{Rozenheck2015}),
\begin{align}
R(x) & \triangleq \frac{\partial F(x,\graf)}{\partial x} \in \mathbb{R}^{m\times 2n} \nonumber \\
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}
@ -243,58 +243,45 @@ Pengamatan dilakukan agar $\Phi(e) =0$ jika dan hanya jika $||e_k||^2 = d_k^2,$
Kendali dari setiap robot menggunakan gradien negatif dari fungsi potensial
\begin{align}
\begin{cases}
\dot{x} & = \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 x} \Big) \\
& = -C(v(t) + R(x)^T(R(x)x(t) - d )) \\
& = u(t)
\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}
\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 Proportional-Integral, konstanta $C$ pada persamaan~\eqref{eq:kontrolinput}
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_{i1}}(t) + u_{k_{p1}}(t) + u_{k_{i1}}(t) \\
u_{k_{p1}}(t) & = -k_{p1}v_i(t) \\
u_{k_{p2}}(t) & = -R(x_1)^T k_{p2}(R(x_1)x_1(t) - d )) \\
u_{k_{i1}}(t) & = -k_{i1} \int_0^\tau x_2(\tau) d\tau \\
u_{k_{i2}}(t) & = -R(x_1)^T k_{i2} \int_0^{\tau} (R(x_1)x_1(\tau) - d )) d\tau
\end{cases}
\label{eq:kontrolinput}
\end{align}
Lalu pada bagian integrator( $k_i$ ), menghasilkan \textit{state} baru
\begin{align}
\begin{cases}
\dot{\xi}_1 =& -k_{i1} v(t)\\
\dot{\xi}_2 =& -k_{i2} (R(x_1)x(t) - d
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{align}
\begin{bmatrix}
\dot{x} \\ \dot{v} \\ \dot{\xi}_1 \\ \dot{\xi}_2
\end{bmatrix} &=
\dot{x} \\ \dot{v}
\end{bmatrix} & =
\begin{bmatrix}
0 & 1 & 0 & 0\\
-k_{p2}R(x)^T R(x) & -k_{p1} & -1 & -R(x)^T \\
0 & k_{i1} & 0 & 0 \\
k_{i2}R(x) & 0 & 0 & 0 \\
0 & 1 \\
-k_{p2}R(x)^T R(x) & -k_{p1}\\
\end{bmatrix}
\begin{bmatrix}
x \\ v \\ \xi_1 \\ \xi_2
x \\ v
\end{bmatrix} +
\begin{bmatrix}
0 \\ k_{p2}R(x)^T \\ 0 \\ -k_{i2}
\end{bmatrix} d+Bv_{ref} \nonumber \\
\end{align*}
\begin{align}
\dot{x}_f(t) &= A_f(x)x_f(t)+B_f(x)d+Bv_{ref}
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}
@ -306,66 +293,66 @@ Dengan itu dapat digabungkan menjadi persamaan \textit{state-space} menggunakan
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Solusi Persamaan Differensial Secara Numerik}
\label{bab:dua:solusi_ODE}
% \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}.
% 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$.
% 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}
% 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}.
% 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}
% \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}
% \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}

View File

@ -2,7 +2,11 @@
Kerangka konsep penelitian akan dibahas mengenai potensi permasalahan yang timbul dalam topik
kendali formasi. Kerangka penelitian ini berdasarkan literatur oleh \kutip{OH2015424},
dimana didalam literatur tersebut, peneliti menguraikan berbagai metode yang digunakan dalam bidang kendali multi-robot, khususnya dalam kendali formasi.
dimana didalam literatur tersebut, peneliti menguraikan berbagai metode yang digunakan dalam bidang kendali multi-robot,
khususnya dalam kendali formasi.
Kerangka penelitian akan digabungkan dengan permasalahan penerapan kendali formasi berdasarkan jarak oleh Rozenheck \kutip{Rozenheck2015},
dimana kendali formasi tidak dapat langsung diterapkan menggunakan sensor jarak secara langsung.
\begin{figure}
\centering
@ -43,6 +47,10 @@ Pentingnya dilakukan investigasi pada penerapan model yang lebih nyata.
Pemeliharaan komunikasi juga menyumbang dalam permasalahan secara praktik, dan
kemampuan untuk menghindari rintangan juga dibutuhkan.
Penelitian oleh Rozenheck \kutip{Rozenheck2015} mengembangkan kendali formasi berdasarkan jarak dengan bagus.
Kendali formasi yang dikembangkan menggunakan kendali PI untuk mengendalikan beberapa robot menggunakan variabel jarak.
Akan tetapi pada kendali formasinya mengubah informasi koordinat menjadi jarak dimana pada penerapannya robot tidak dapat mengetahui koordinat tetangganya.
\section{Definisi Permasalahan Kendali Formasi}
Kendali formasi adalah kendali multi-agent untuk mencapai suatu formasi yang diinginkan.
@ -61,14 +69,13 @@ Dalam kenyataannya model yang digunakan memiliki kekurangan, seperti batas kerja
\kutip{OH2015424} menyatakan bahwa mayoritas dari hasil penelitian yang menggunakan pendekatan ini (\textit{distance-based}) berfokus pada model agent dengan integrator-tunggal di suatu bidang datar.
Gagasan model yang nyata memiliki manfaat ketika menginvestigasi karakteristik kendali secara mendasar, model agent yang lebih realistik (model yang nyata) perlu untuk dipelajari lebih lanjut untuk menambah kepraktisan metode kendali multi-robot, kususnya pada kendali formasi berdasarkan jarak.
Dengan bertambahnya kepraktisan diharapkan dapat diterapkan dalam model yang real.
Pada penelitian oleh \kutip{Rozenheck2015}, kendali formasi berdasarkan jarak dikendalikan
Pada penelitian oleh Rozenheck \kutip{Rozenheck2015}, kendali formasi berdasarkan jarak dikendalikan
menggunakan kendali PI dan menghasilkan pergerakan yang baik.
Dapat diperhatikan pada persamaan~\eqref{eq:modelorde2} bahwa peneliti menggunakan model yang simpel untuk mengembangkan kendali multi-robotnya.
Maka, penelitian ini akan difokuskan pada kendali formasi berbasis jarak
kendali PI yang telah dilakukan sebelumnya dengan menggunakan model yang nyata.
Penelitian oleh Rozenheck \kutip{Rozenheck2015} memperoleh variabel jaraknya menggunakan koordinat tetangganya
dimana pada penerapannya robot tidak mengetahui koordinat akan tetapi berbentuk jarak yang diperoleh dari sensor jarak.
\section{Permasalah dan Solusi}
Dapat diperhatikan pada persamaan~\eqref{eq:ss-formasi}, state yang digunakan membutuhkan koordinat relatif dari tetangganya.
Akan tetapi pada batasan penelitian ini, sensor yang digunakan hanya memberikan jarak terhadap tetangganya.
Sedangkan koordinat relatif yang digunakan adalah kartesian.

Binary file not shown.

Binary file not shown.

View File

@ -1,8 +1,8 @@
% Graphic for TeX using PGF
% Title: /home/adnr/Disk/Opo/PASCASARJANA/RESEARCH/[T01][FormationControl]/[DOC]/-p-formation-control/BAB3/img/Structur_pen.dia
% Title: /home/a2nr/Documents/-p-formation-control/BAB3/img/Structur_pen.dia
% Creator: Dia v0.97.3
% CreationDate: Wed Dec 11 11:19:05 2019
% For: adnr
% CreationDate: Mon Jul 5 18:36:34 2021
% For: a2nr
% \usepackage{tikz}
% The following commands are not supported in PSTricks at present
% We define them conditionally, so when they are implemented,
@ -20,18 +20,18 @@
\pgfsetfillcolor{dialinecolor}
\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
\pgfsetfillcolor{dialinecolor}
\fill (17.212785\du,8.023945\du)--(17.212785\du,19.351108\du)--(24.318276\du,19.351108\du)--(24.318276\du,8.023945\du)--cycle;
\fill (17.212800\du,8.023940\du)--(17.212800\du,23.340327\du)--(24.318291\du,23.340327\du)--(24.318291\du,8.023940\du)--cycle;
\pgfsetlinewidth{0.100000\du}
\pgfsetdash{{1.000000\du}{0.200000\du}{0.200000\du}{0.200000\du}{0.200000\du}{0.200000\du}}{0cm}
\pgfsetdash{{1.000000\du}{0.200000\du}{0.200000\du}{0.200000\du}{0.200000\du}{0.200000\du}}{0cm}
\pgfsetmiterjoin
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\draw (17.212785\du,8.023945\du)--(17.212785\du,19.351108\du)--(24.318276\du,19.351108\du)--(24.318276\du,8.023945\du)--cycle;
\draw (17.212800\du,8.023940\du)--(17.212800\du,23.340327\du)--(24.318291\du,23.340327\du)--(24.318291\du,8.023940\du)--cycle;
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (20.765530\du,13.882526\du){};
\node at (20.765545\du,15.876196\du){};
\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
\pgfsetfillcolor{dialinecolor}
\fill (18.000000\du,12.500000\du)--(18.000000\du,14.400000\du)--(23.650000\du,14.400000\du)--(23.650000\du,12.500000\du)--cycle;
@ -45,7 +45,7 @@
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (20.825000\du,13.567500\du){Jarak};
\node at (20.825000\du,13.565840\du){Distance};
\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
\pgfsetfillcolor{dialinecolor}
\fill (17.500000\du,8.500000\du)--(17.500000\du,10.400000\du)--(23.940000\du,10.400000\du)--(23.940000\du,8.500000\du)--cycle;
@ -59,7 +59,7 @@
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (20.720000\du,9.567500\du){Formatio Control};
\node at (20.720000\du,9.565840\du){Formatio Control};
\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
\pgfsetfillcolor{dialinecolor}
\fill (11.000000\du,12.500000\du)--(11.000000\du,14.400000\du)--(16.650000\du,14.400000\du)--(16.650000\du,12.500000\du)--cycle;
@ -73,7 +73,7 @@
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (13.825000\du,13.567500\du){Posisi};
\node at (13.825000\du,13.565840\du){Position};
\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
\pgfsetfillcolor{dialinecolor}
\fill (25.000000\du,12.500000\du)--(25.000000\du,14.400000\du)--(30.650000\du,14.400000\du)--(30.650000\du,12.500000\du)--cycle;
@ -87,7 +87,7 @@
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (27.825000\du,13.567500\du){Perpindahan};
\node at (27.825000\du,13.565840\du){Displacement};
\pgfsetlinewidth{0.100000\du}
\pgfsetdash{}{0pt}
\pgfsetdash{}{0pt}
@ -142,21 +142,21 @@
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (13.825000\du,18.067500\du){Model yang simpel};
\definecolor{dialinecolor}{rgb}{1.000000, 0.976471, 0.494118}
\node at (13.825000\du,18.065840\du){Simple Model};
\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
\pgfsetfillcolor{dialinecolor}
\fill (18.000000\du,17.000000\du)--(18.000000\du,18.900000\du)--(23.650000\du,18.900000\du)--(23.650000\du,17.000000\du)--cycle;
\pgfsetlinewidth{0.100000\du}
\pgfsetdash{}{0pt}
\pgfsetdash{}{0pt}
\pgfsetmiterjoin
\definecolor{dialinecolor}{rgb}{1.000000, 0.000000, 0.000000}
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\draw (18.000000\du,17.000000\du)--(18.000000\du,18.900000\du)--(23.650000\du,18.900000\du)--(23.650000\du,17.000000\du)--cycle;
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (20.825000\du,18.067500\du){Model yang nyata};
\node at (20.825000\du,18.065840\du){Model Real};
\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
\pgfsetfillcolor{dialinecolor}
\fill (25.000000\du,17.000000\du)--(25.000000\du,18.900000\du)--(30.650000\du,18.900000\du)--(30.650000\du,17.000000\du)--cycle;
@ -170,7 +170,7 @@
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (27.825000\du,18.067500\du){Secara Praktik};
\node at (27.825000\du,18.065840\du){Real};
\pgfsetlinewidth{0.100000\du}
\pgfsetdash{}{0pt}
\pgfsetdash{}{0pt}
@ -222,14 +222,76 @@
% was here!!!
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\draw (25.388559\du,20.807882\du)--(27.083174\du,20.807882\du);
\draw (25.279549\du,24.488357\du)--(26.974149\du,24.488357\du);
}
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node[anchor=west] at (27.380475\du,20.926802\du){: Fokus Penelitian};
\node[anchor=west] at (27.271449\du,24.607257\du){: Fokus Penelitian};
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node[anchor=west] at (29.342661\du,20.807882\du){};
\node[anchor=west] at (29.233649\du,24.488357\du){};
\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
\pgfsetfillcolor{dialinecolor}
\fill (11.101096\du,20.310409\du)--(11.101096\du,23.010409\du)--(16.548596\du,23.010409\du)--(16.548596\du,20.310409\du)--cycle;
\pgfsetlinewidth{0.100000\du}
\pgfsetdash{}{0pt}
\pgfsetdash{}{0pt}
\pgfsetmiterjoin
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\draw (11.101096\du,20.310409\du)--(11.101096\du,23.010409\du)--(16.548596\du,23.010409\du)--(16.548596\du,20.310409\du)--cycle;
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (13.824846\du,21.376249\du){Variabel Jarak };
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (13.824846\du,22.176249\du){Dari Koordinat};
\definecolor{dialinecolor}{rgb}{1.000000, 0.976471, 0.494118}
\pgfsetfillcolor{dialinecolor}
\fill (17.781680\du,20.192418\du)--(17.781680\du,22.892418\du)--(23.919180\du,22.892418\du)--(23.919180\du,20.192418\du)--cycle;
\pgfsetlinewidth{0.100000\du}
\pgfsetdash{}{0pt}
\pgfsetdash{}{0pt}
\pgfsetmiterjoin
\definecolor{dialinecolor}{rgb}{1.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\draw (17.781680\du,20.192418\du)--(17.781680\du,22.892418\du)--(23.919180\du,22.892418\du)--(23.919180\du,20.192418\du)--cycle;
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (20.850430\du,21.258258\du){Variabel Jarak };
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (20.850430\du,22.058258\du){Dari Sensor Jarak};
\pgfsetlinewidth{0.100000\du}
\pgfsetdash{}{0pt}
\pgfsetdash{}{0pt}
\pgfsetbuttcap
{
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetfillcolor{dialinecolor}
% was here!!!
\pgfsetarrowsend{latex}
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\draw (20.825000\du,18.900000\du)--(20.836955\du,20.142182\du);
}
\pgfsetlinewidth{0.100000\du}
\pgfsetdash{}{0pt}
\pgfsetdash{}{0pt}
\pgfsetbuttcap
{
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetfillcolor{dialinecolor}
% was here!!!
\pgfsetarrowsend{latex}
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\draw (13.824935\du,18.948103\du)--(13.824846\du,20.310409\du);
}
\end{tikzpicture}

View File

@ -1,44 +1,46 @@
\chapter{\babEmpat}
\section{Perangkat Percobaan}
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}
% \section{Perangkat Percobaan}
% Percobaan akan dilakukan secara simulasi yang dijalankan menggunakan aplikasi MATLAB / GNU Octave.
\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.
% 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.
% 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}
% \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
@ -50,23 +52,23 @@ sebagai tampilan pergerakan robotnya.
% \end{itemize}
% }
\section{Strategi Kendali Multi Robot}
% \section{Strategi Kendali Multi Robot}
Pembahasan 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.
% 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.
\subsection{Kendali Robot}
Pada kendali robot akan dibahas mengenai analisis kendali robot menggunakan
state-space feedback. Kendali robot ini adalah kendali tingkat bawah dari kendali ke-
seluruhan. Dapat diperhatikan pada persamaan~\eqref{eq:ss-formasi}, sebagai kendali tahap awal,
bahwa state yang digunakan adalah koordinat. Maka koordinat tersebut akan men-
jadi set point bagi robot. Variable yang dikendalikan pada kendali robot adalah
koordinat robot dari kondisi inisial. Koordinat disini adalah koordinat state pada
persamaan~\eqref{eq:ss1}. Pada sub bab ini akan didefinisi mengenai kriteria pencapaian
set point dan membahas parameter kendali state-space feedback agar mencapai kri-
teria yang diinginkan.
% \section{Kendali Robot}
\subsubsection{State Feedback}
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.
Strategi pencarian koordinat mengharuskan juga robot untuk mencapai koordinat relatif tertentu.
Pada bab ini akan menjelaskan bagaimana robot menemukan koordinat, mencapai kecepatan dan koordinat tertentu,
dan membentuk formasi menggunakan model robot \textit{holonomic}.
\section{State Feedback}
\begin{figure}
\centering
\input{BAB4/img/statefeedback.tex}
@ -145,7 +147,7 @@ maka \textit{observer} tidak dibutuhkan dalam desain kendali robot.
\end{center}
\label{tab:param_model}
\end{table}
\subsubsection{Desain Kendali}
\section{Desain Kendali}
Berdasarkan \kutip{Richard2010}, bahwa kendali optimal berdasarkan indeks kinerja sistem. Indeks tersebut adalah hasil dari meminimalisasi pada integral kuadrat error atau \textit{integration square error} (ISE).
Kendali optimal dilakukan oleh komputer untuk mengkalkulasi minimal indeks tersebut.
@ -279,9 +281,72 @@ Apabila diintegrasi terhadap persamaan~\eqref{eq:ss1} terhadap diagram~\ref{fig:
\end{center}
\end{figure}
\subsection{Kendali Formasi Multi Robot}
\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-PI dan menghasilkan persamaan~\eqref{eq:ss-formasi}.
kendali-P dan menghasilkan persamaan~\eqref{eq:ss-formasi}.
Persamaan tersebut adalah persamaan \textit{state-space} kendali formasi.
Apabila diperhatikan \textit{state} yang digunakan adalah koordinat relatif dari robot.
Akan tetapi dalam batasanya, robot hanya bisa mengetahui nilai jarak dari robot lain.
@ -290,13 +355,40 @@ $x \in \mathbb{R}^2$. Sedangkan dalam kenyataanya yang diketahui adalah jarak, $
Apabila hanya variable jarak tersebut sebagai acuan kendali, maka robot tidak mengerti kearah mana
harusnya robot itu bergerak untuk meminimalisasi error jaraknya.
\subsubsection{Strategi Penentuan Koordinat Tetangga}
Di Persamaan~\eqref{eq:ss-formasi} adalah persamaan \textit{state-space} yang menggunakan model sederhana
di Persamaan~\eqref{eq:modelorde2}.
Apabila diperhatikan pada model tersebut masukan pada perseamaan tersebut berbentuk kecepatan.
Menggunakan Persamaan~\eqref{eq:ss_kecepatan} dan~\eqref{eq:kendali_mode_dua} akan diperoleh persamaan \textit{state-space} baru
\begin{align}
\dot{x_c}(t) & = \Big(\big(A_c-B_cK_c + \big)\Big) x_c(t) K_{cf} sgn(x_c(t))+ (B_c N_c) r_c ,
\end{align}
Lalu diterapkan di Persamaan~\eqref{eq:ss-formasi} sebgai berikut.
\begin{align}
\dot{p} & = A_{cf} p(t) + B_{cf} v(t) + K_{cf} sgn(p(t)) \\
\dot{v} & = -k_{p1}v_i(t) -R(p(t))^T k_{p2}(R(p(t))x_1(t) - d )) \\
A_{cf} & = \begin{bmatrix}
A_c-B_cK_c & 0 & 0 \\
0 & A_c-B_cK_c & 0 \\
0 & 0 & A_c-B_cK_c \\
\end{bmatrix};
B_{cf} = \begin{bmatrix}
(B_c N_c) \\ (B_c N_c) \\ (B_c N_c) \\
\end{bmatrix}; \notag \\
K_{cf} & = \begin{bmatrix}
k_c & 0 & 0 \\
0 & k_c & 0 \\
0 & 0 & k_c \\
\end{bmatrix}
\end{align}
\section{Strategi Penentuan Koordinat Tetangga}
\label{bab:empat:Strategi_koordinat_tetangga}
Telah dibahas bahwa model robot memiliki sifat \textit{observable}, dimana state dapat diperoleh dari sensor.
Informasi state tersebut dapat dikirim melalu komunikasi sehingga dapat dipantau koordinat tetangga dari individu robot.
Informasi state yang dibutuhkan pada individu robot adalah percepatan, sedangkan koordinat bersifat relatif.
Oleh karena itu untuk mengetahui koordinat yang relatif, individu robot membutuhkan nilai koordinat sebagai nilai inisialisasi.
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$.
@ -306,209 +398,262 @@ Algoritama yang ditawarkan memanfaatkan hukum \textit{cosinus} pada segitiga unt
\begin{figure}
\centering
\includegraphics[scale=.5]{BAB3/img/estimate_coordinate.png}
\caption{Strategi Penentuan Koordinat}
\label{fig:strategiPenentuanKoordinat}
\includegraphics[scale=.2]{BAB3/img/estimate_coordinate.png}
\caption{Strategi Penentuan Koordinat Langkah Pertama}
\label{fig:strategiPenentuanKoordinat_satu}
\end{figure}
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]$
\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}
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)
\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}
Sebelum $\alpha[k+1]$ digunakan, jarak $d_a[k+1]$ dan $d_a[k]$ berpengaruh dalam penentuan koordinat.
Sehingga diperlukan sedikit algoritma
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}
\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}
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}
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}
\subsubsection{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}
\includegraphics[scale=.2]{BAB3/img/estimate_coordinate.png}
\caption{Strategi Penentuan Koordinat Langakah Kedua}
\label{fig:strategiPenentuanKoordinat_dua}
\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.
\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$.
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.
\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}
\subsection{Analisa Algoritama Dengan Tetangga Statis}
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}
% \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.
% 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.
% 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}
% \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{gantt}{7}{12}
\begin{ganttitle}
\numtitle{1}{1}{12}{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}
% \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{

View File

@ -1,80 +1,80 @@
% %-----------------------------------------------------------------------------%
% \chapter{\babLima}
\chapter{\babLima}
% %-----------------------------------------------------------------------------%
% \todo{Tambahkan kata-kata pengantar bab 5 disini.}
\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}
% %-----------------------------------------------------------------------------%
% \section{Mengubah Tampilan Teks}
% %-----------------------------------------------------------------------------%
% Beberapa perintah yang dapat digunakan untuk mengubah tampilan adalah:
% \begin{itemize}
% \item \bslash f \\
% Merupakan alias untuk perintah \bslash textit, contoh
% \f{contoh hasil tulisan}.
% \item \bslash bi \\
% \bi{Contoh hasil tulisan}.
% \item \bslash bo \\
% \bo{Contoh hasil tulisan}.
% \item \bslash m \\
% \m{Contoh hasil tulisan}.
% \item \bslash mc \\
% \mc{Contoh hasil tulisan}.
% \item \bslash code \\
% \code{Contoh hasil tulisan}.
% \end{itemize}
Kendali formasi berdasarkan jarak akan dijalankan secara simulasi menggunakan
MATLAB/GNU Octave dan algoritma cosinus akan dijalankan pertama kali untuk mendapatkan
state yang akan digunakan di Persamaan (16) dan (18). Simulasi akan menggunakan 3 robot
dengan himpunan simpul $V = \{R_1 , R_2 , R_3 \}$ dan himpunan sisi $E = \{(R_1 , R_2 ), (R_3 , R_2), (R_3 , R 1 ) \}$
sehingga variable jarak $d_1 = ||x_1 - x_2 ||$, $d_2 = ||x_3 - x_2||$ dan $d_3 = ||x_3 - x_1||$. Gambar 4
adalah pergerakan robot terhadap koordinat global robot $R_1$ dengan kendali formasi algoritma
cosinus. dapat diperhatikan robot $R_1$ menjalankan algoritma cosinus langkah pertama dimana
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}
\end{figure}
% %-----------------------------------------------------------------------------%
% \section{Memberikan Catatan}
% %-----------------------------------------------------------------------------%
% Ada dua perintah untuk memberikan catatan penulisan dalam dokumen yang Anda
% kerjakan, yaitu:
% \begin{itemize}
% \item \bslash todo \\
% Contoh: \\ \todo{Contoh bentuk todo.}
% \item \bslash todoCite \\
% Contoh: \todoCite
% \end{itemize}
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
Persamaan (23) dengan membandingkan jarak dari sensor dengan jarak dari koordinat yang
dihasilkan dari Persamaan (22). Robot $R_3$ berada di kuadran 4 maka kejadian yang digunakan
adalah $\alpha^\circ_i = 180^\circ + \zeta_i^a$ dan robot $R_2$ berada di kuadran 1 maka kejadian yang digunakan
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}
\end{figure}
% %-----------------------------------------------------------------------------%
% \section{Menambah Isi Daftar Isi}
% %-----------------------------------------------------------------------------%
% Terkadang ada kebutuhan untuk memasukan kata-kata tertentu kedalam Daftar Isi.
% Perintah \bslash addChapter dapat digunakan untuk judul bab dalam Daftar isi.
% Contohnya dapat dilihat pada berkas thesis.tex.
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
untuk mendapatkan state tersebut. Gambar 5 adalah grafik perbandingan kendali formasi
Persamaan (16) dan (18) dengan algoritma cosinus dan tanpa algoritma cosinus dengan
asumsi ketika dilakukan percobaan tanpa algoritma, kondisi awal state telah diketahui. Hasil
jarak $||d_i ||$ pada kendali formasi tanpa algoritma cosinus menunjukan bahwa setiap robot
mencapai jarak yang sama dalam waktu kurang lebih 4 detik. Sedangkan pada kendali formasi
dengan algoritma cosinus terdapat tambahan waktu 6 detik. Tambahan waktu tersebut
digunakan untuk menjalankan algoritmanya.
\begin{table}
\begin{tabular}{|l|l|l|l|l|l|l|l|l|l|l|l|}
\hline
\multicolumn{3}{|c|}{\textbf{Koordinat}} & \multicolumn{3}{c|}{\textbf{\begin{tabular}[c]{@{}c@{}}Settling Time\\ Tanpa Algoritma \\ cosinus (detik)\end{tabular}}} & \multicolumn{3}{c|}{\textbf{\begin{tabular}[c]{@{}c@{}}Settling Time \\ Dengan Algoritma \\ cosinus (detik)\end{tabular}}} & \multicolumn{3}{c|}{\textbf{Selisih (detik)}} \\ \hline
\multicolumn{1}{|c|}{R1} & \multicolumn{1}{c|}{R2} & \multicolumn{1}{c|}{R3} & \multicolumn{1}{c|}{A} & \multicolumn{1}{c|}{B} & \multicolumn{1}{c|}{C} & \multicolumn{1}{c|}{A} & \multicolumn{1}{c|}{B} & \multicolumn{1}{c|}{C} & \multicolumn{1}{c|}{A} & \multicolumn{1}{c|}{B} & \multicolumn{1}{c|}{C} \\ \hline
(0,0) & (1,2) & (-2, 3) & 6 & 5 & 3 & 14 & 11 & 9 & 8 & 6 & 6 \\ \hline
(0,0) & (-2, -4) & (3, -2) & 4 & 2 & 2 & 9 & 8 & 7 & 5 & 6 & 5 \\ \hline
(0,0) & (1,2) & (3, -3) & 7 & 4 & 2 & 16 & 13 & 11 & 9 & 9 & 9 \\ \hline
(0,0) & (-2, -3) & (3,2) & 10 & 7 & 4 & 16 & 11 & 9 & 6 & 4 & 5 \\ \hline
\multicolumn{12}{|l|}{\textbf{Konstanta} : (A) $K_{p1} = 50;$ $K_{p2} = 3;$ (B) $K_{p1} = 80;$ $K_{p2} = 7;$ (C) $K_{p1} = 100;$ $K_{p2} = 15;$ } \\ \hline
\end{tabular}
\end{table}
% %-----------------------------------------------------------------------------%
% \section{Memasukan PDF}
% %-----------------------------------------------------------------------------%
% Untuk memasukan PDF dapat menggunakan perintah \bslash inpdf yang menerima satu
% buah argumen. Argumen ini berisi nama berkas yang akan digabungkan dalam
% laporan. PDF yang dimasukan degnan cara ini akan memiliki header dan footer
% seperti pada halaman lainnya.
% \inpdf{OTHER/include}
% Cara lain untuk memasukan PDF adalah dengan menggunakan perintah \bslash putpdf
% dengan satu argumen yang berisi nama berkas pdf. Berbeda dengan perintah
% sebelumnya, PDF yang dimasukan dengan cara ini tidak akan memiliki footer atau
% header seperti pada halaman lainnya.
% \putpdf{OTHER/include}
% %-----------------------------------------------------------------------------%
% \section{Membuat Perintah Baru}
% %-----------------------------------------------------------------------------%
% Ada dua perintah yang dapat digunakan untuk membuat perintah baru, yaitu:
% \begin{itemize}
% \item \bslash Var \\
% Digunakan untuk membuat perintah baru, namun setiap kata yang diberikan
% akan diproses dahulu menjadi huruf kapital.
% Contoh jika perintahnya adalah \bslash Var\{adalah\} makan ketika
% perintah \bslash Var dipanggil, yang akan muncul adalah ADALAH.
% \item \bslash var \\
% Digunakan untuk membuat perintah atau baru.
% \end{itemize}
Percobaan di Gambar 5 adalah grafik settling time saat koordinat robot seperti di Gambar 4
yaitu $R_2$ berada di kuadran 1 dan $R_3$ berada di kuadran 4. Hasil percobaan Tabel 1 bertujuan
untuk mengetahui kecepatan algoritma cosinus mencari koordinat tetangga dengan kombinasi
kemungkinan dua robot dengan kejadian di Persamaan (23). Serta diberikan nilai $K_{p1}$ dan $K_{p2}$
di Persamaan (18) yang berbeda untuk mengetahui pengaruh parameter kendali formasi
terhadap algoritma cosinus. Setelah dilakukan percobaan, selisih waktu ketika algoritma
cosinus berjalan dengan perbedaan parameter menghasilkan waktu yang tidak jauh beda
antara 0-2 detik. Maka, algoritma cosinus mendapatkan koordinat tetangga yang digunakan
untuk nilai kondisi awal kendali hampir tidak berpengaruh terhadap kendali formasi Persamaan
(18) dengan rata-rata waktu 6.5 detik, minimal waktu 4 detik dan maksimal 9 detik.

View File

@ -1,9 +0,0 @@
@INPROCEEDINGS{7978492,
author={Qiang, Lv and Heng, Wei and Huican, Lin and Ying, Zhang},
booktitle={2017 29th Chinese Control And Decision Conference (CCDC)},
title={Design and implementation of multi robot research platform based on UWB},
year={2017},
volume={},
number={},
pages={7246-7251},
doi={10.1109/CCDC.2017.7978492}}

View File

@ -5,23 +5,26 @@
% @version 1.00
%
\chapter*{ABSTRACT}
\chapter*{\textit{Summary} }
\vspace*{0.2cm}
% \vspace*{0.2cm}
\noindent \begin{tabular}{l l p{11.0cm}}
Name&: & \penulis \\
Program&: & \program \\
Title&: & \judulInggris \\
\end{tabular} \\
% \noindent \begin{tabular}{l l p{11.0cm}}
% Name&: & \penulis \\
% Program&: & \program \\
% Title&: & \judulInggris \\
% \end{tabular} \\
% \vspace*{0.5cm}
\textbf{ \penulis},\textit{ \EnGelar \ \EnJurusan \ \EnFakultas , \EnFakultas \ \EnNamaUni , \bulanTahun , \textit{\judulInggris}, }
\textit{Academic Supervisor} : \pembimbingSatu and \pembimbingDua.
\vspace*{0.5cm}
% \noindent % \todo{Write your abstract here.}\\
\textit{ Formation control is a research topic of multi-robot control, where a group of robots can reach a certain formation and defend it when moving in the desired direction. One of the developments is distance-based where formation goals achieved using the distance between each other only. Many developments are using a simple model and need further development into a realistic model. When applying distance-based, there is a problem in the initial condition, namely that the robot cannot find the coordinates of its neighbors when using only distance. In this work, the cosine algorithm was developed as a solution to the initial conditions which are inspired by a simple triangle formula and need only two steps to find the coordinates. From simulation experiment results, distance-based formation control using three holonomic robot models and the application of the cosine algorithm takes an average of 6.5 seconds to find the coordinates of its neighbors.}
\noindent \todo{Write your abstract here.}\\
% \vspace*{0.2cm}
\vspace*{0.2cm}
\noindent Keywords: \\
\noindent \todo{Write up keywords about your report here.}
% \noindent
Keywords:Formation Control, Multi-robot, Cosine Algorithm, Mobile Robot.\\
% \noindent \todo{Write up keywords about your report here.}
\newpage

View File

@ -5,24 +5,43 @@
% @version 1.00
%
\chapter*{Abstrak}
\chapter*{Ringkasan}
\vspace*{0.2cm}
% \vspace*{0.2cm}
\noindent \begin{tabular}{l l p{10cm}}
Nama&: & \penulis \\
Program Studi&: & \program \\
Judul&: & \judul \\
\end{tabular} \\
% \noindent \begin{tabular}{l l p{10cm}}
% Nama&: & \penulis \\
% Program Studi&: & \program \\
% Judul&: & \judul \\
% \end{tabular} \\
\vspace*{0.5cm}
% \vspace*{0.5cm}
\noindent \todo{Tuliskan abstrak laporan disini.} \\
% \noindent
% \todo{Tuliskan abstrak laporan disini.} \\
\textbf{ \penulis}, \gelar \ \jurusan , Fakultas \fakultas \namaUni , \bulanTahun , \textit{\judul},
Dosen Pembimbing: \pembimbingSatu dan \pembimbingDua.
\vspace*{0.2cm}
Kendali formasi adalah topik penelitian kendali multi-robot, dimana sekelompok
robot dapat mencapai formasi tertentu dan mempertahankannya ketika berpindah
ke arah yang diinginkan. Salah satu pengembangan kendali formasi adalah kendali
formasi berdasarkan jarak dimana setiap individu robot menggunakan informasi
jarak antara sesamanya untuk mencapai tujuan formasi. Banyak pengembangan
yang dilakukan pada kendali formasi berdasarkan jarak menggunakan model yang
sederhana dan membutuhkan pengembangan lebih lanjut untuk penerapan
kendali ke model yang lebih nyata. Ketika penerapan kendali formasi berdasarkan
jarak, terdapat permasaalah kondisi awal yaitu robot tidak dapat menentukan
koordinat tetangganya. Penelitian ini akan mengembangkan algoritma cosinus
sebagai solusi untuk kondisi awal kendali formasi berdasarkan jarak. Algoritma
cosinus terinspirasi dari rumus segitiga sederhana dan mengharuskan robot
melakukan dua langkah saja untuk dapat menemukan koordinat tetangganya.
Hasil percobaan simulasi, kendali formasi berdasarkan jarak menggunakan tiga
model robot holonomic dan penerapan algoritma cosinus membutuhkan waktu
rata-rata 6.5 detik untuk menemukan koordinat tetangganya.
\noindent Kata Kunci: \\
\noindent \todo{Tuliskan kata kunci yang berhubungan dengan laporan
disini} \\
% \vspace*{0.2cm}
Kata Kunci: Kendali Formasi, Multi-Robot, Algoritma Cosinus, Mobile Robot. \\
% \noindent \todo{Tuliskan kata kunci yang berhubungan dengan laporan disini} \\
\newpage

View File

@ -1,15 +1,15 @@
%---------------------------------------------------------------
\chapter{\kesimpulan}
%---------------------------------------------------------------
\todo{Tambahkan kesimpulan dan saran terkait dengan perkerjaan
yang dilakukan.}
%---------------------------------------------------------------
\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.
%---------------------------------------------------------------
\section{Saran}
%---------------------------------------------------------------
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.

View File

@ -5,23 +5,42 @@
% @version 1.01
%
\chapter*{\uppercase{halaman pernyataan orisinalitas}}
\vspace*{2cm}
\chapter*{\uppercase{halaman pernyataan orisinalitas tesis }}
\begin{center}
\bo{\type~ini adalah hasil karya saya sendiri, \\
dan semua sumber baik yang dikutip maupun dirujuk \\
telah saya nyatakan dengan benar.} \\
\vspace*{2.6cm}
Saya menyatakan dengan sebenar-benarnya bahwa sepanjang pengetahuan saya
dan berdasarka hasil penelusuran berbagai karya ilmiah, gagasan dan masalah ilmiah yang
diteliti dan diulas di dalam Naskah Tesis ini adalah asli dari pemikiran
saya. tidak terdapat karya ilmiah yang pernah diajukan oleh orang lain untuk memperoleh
gelar akademik di suatu Perguruan Tinggi, dan tidak terdapat karya atau pendapat yang
pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis dikutip dalam
naskah ini dan disebutkan dalam sumber kutipan dan daftar pustaka.
Apabila ternyata di dalam naskah Tesis ini dapat dibuktikan terdapat
unsur-unsur jiplakan, saya bersedia Tesis dibatalkan, serta diproses sesuai
dengan peraturan perundang-undangan yang berlaku (UU No. 20 Tahun 2003, pasal 25
ayat 2 dan pasal 70).
\vspace*{0.1cm}
\begin{flushright}
\kota, \bulanTahun \\[0.1cm]
\vspace*{1cm}
\penulis
\end{flushright}
% \begin{center}
% \bo{\type~ini adalah hasil karya saya sendiri, \\
% dan semua sumber baik yang dikutip maupun dirujuk \\
% telah saya nyatakan dengan benar.} \\
% \vspace*{2.6cm}
\begin{tabular}{l c l}
\bo{Nama} & : & \bo{\penulis} \\
\bo{NPM} & : & \bo{\npm} \\
\bo{Tanda Tangan} & : & \\
& & \\
& & \\
\bo{Tanggal} & : & \bo{\tanggalPengesahan} \\
\end{tabular}
\end{center}
% \begin{tabular}{l c l}
% \bo{Nama} & : & \bo{\penulis} \\
% \bo{NPM} & : & \bo{\npm} \\
% \bo{Tanda Tangan} & : & \\
% & & \\
% & & \\
% \bo{Tanggal} & : & \bo{\tanggalPengesahan} \\
% \end{tabular}
% \end{center}
\newpage

View File

@ -1,78 +1,27 @@
%-----------------------------------------------------------------------------%
\chapter*{\kataPengantar}
%-----------------------------------------------------------------------------%
Template ini disediakan untuk orang-orang yang berencana menggunakan
\latex~untuk membuat dokumen tugas akhirnya.
Mengapa \latex?
Ada banyak hal mengapa menggunakan \latex, diantaranya:
Puji syukur penulis panjatkan kehadirat Allah SWT, atas rahmat dan hidayah-Nya
sehingga penulis dapat menyelesaikan penulisan \type dengan judul
\judul”.
Penulis mengucapkan terimakasih kepada pihak-pihak yang membantu proses penulisan \type ini hingga selesai.
\begin{enumerate}
\item \latex~membuat kita jadi lebih fokus terhadap isi dokumen, bukan
tampilan atau halaman.
\item \latex~memudahkan dalam penulisan persamaan matematis.
\item Adanya automatis dalam penomoran caption, bab, subbab, subsubbab,
referensi, dan rumus.
\item Adanya automatisasi dalam pembuatan daftar isi, daftar gambar, dan
daftar tabel.
\item Adanya kemudahan dalam memberikan referensi dalam tulisan dengan
menggunakan label. Cara ini dapat meminimalkan kesalahan pemberian
referensi.
\item Agus Hidayat, sebagai Ayah dan pemmimpin keluarga saya.
\item Suryani, sebagai Ibu dan penopang semangat di keluarga saya.
\item \pembimbingSatu, selaku Ketua Dosen Pembimbing.
\item \pembimbingDua, selaku Anggota Dosen Pembimbing.
\item \ketuaProgramStudi, selaku Ketua Program Studi \gelar \ \jurusan \ \namaUni
\item Teman-teman mahasiswa \gelar \ \jurusan yang telah bekerjasama dan memberikan informasi dalam penyusunan \type ini
\item Semua pihak yang membantu demi kelancaran penyelesaian \type ini.
\end{enumerate}
Template ini bebas digunakan dan
didistribusikan sesuai dengan aturan \license, yang secara sederhana berisi:
\begin{figure}
\centering
\includegraphics[width=0.74\textwidth]
{OTHER/img/creative_common.png}
\caption{\license}
\label{fig:lisensi}
\end{figure}
\pic~\ref{fig:lisensi} diambil dari
\url{http://creativecommons.org/licenses/by-nc-sa/1.0/deed.en_CA}.
Jika ingin mengentahui lebih lengkap mengenai \license, silahkan buka
\url{http://creativecommons.org/licenses/by-nc-sa/1.0/legalcode}.
Seluruh dokumen yang dibuat dengan menggunakan template ini sepenuhnya
menjadi hak milik pembuat dokumen dan bebas didistribusikan sesuai dengan
keperluan masing-masing.
Lisensi hanya berlaku jika ada orang yang membuat template baru dengan
menggunakan template ini sebagai dasarnya.
Dokumen ini dibuat dengan \latex~juga. Untuk meyakinkan Anda, coba lihat
properti dari dokumen ini dan Anda akan menemukan bagian seperti
\pic~\ref{fig:pdflatex}.
Dokumen ini dimaksudkan untuk memberikan gambaran kepada Anda seperti apa
mudahnya menggunakan \latex~dan juga memperlihatkan betapa bagus dokumen
yang dihasilkan.
Seluruh url yang Anda temukan dapat Anda klik.
Seluruh referensi yang ada juga dapat diklik.
Untuk mengerti template yang disediakan, Anda tetap harus membuka kode
\latex~dan bermain-main dengannya.
Penjelasan dalam PDF ini masih bersifat gambaran dan tidak begitu
mendetail, dapat dianggap sebagai pengantar singkat.
Jika Anda merasa kesulitan dengan template ini, mungkin ada baiknya
Anda belajar sedikit dasar-dasar \latex.
\begin{figure}
\centering
\includegraphics[width=0.54\textwidth]
{OTHER/img/mark.png}
\caption{Dokumen Dibuat dengan PDFLatex}
\label{fig:pdflatex}
\end{figure}
Semoga template ini dapat membantu orang-orang yang ingin mencoba menggunakan
\latex. Semoga template ini juga tidak berhenti disini dengan ada kontribusi
dari para penggunanya.
Kami juga ingin berterima kasih kepada Andreas Febrian, Lia Sadita, Fahrurrozi
Rahman, Andre Tampubolon, dan Erik Dominikus atas kontribusinya dalam template
ini.
Penulis menyadari bahwa \type ini masih jauh dari kesempurnaan.
Oleh karena itu penulis mengharapkan kritik dan saran yang bersifat membangun sehingga dapat dijadikan koreksi untuk penyempurnaan \type ini.
Semoga \type ini dapat bermanfaat sebagaimana mestinya.
\vspace*{0.1cm}
\begin{flushright}
Depok, 30 Desember 2009\\[0.1cm]
\kota, \bulanTahun \\[0.1cm]
\vspace*{1cm}
\penulis

View File

@ -1,244 +1,328 @@
@Inbook{Jim1999,
author="Jim A. Ledin",
title= "Hardware-in-the-Loop Simulation",
bookTitle="Embedded Systems Programming",
year=1999,
month="February",
page="42"
@inbook{Jim1999,
author = {Jim A. Ledin},
title = {Hardware-in-the-Loop Simulation},
booktitle = {Embedded Systems Programming},
year = 1999,
month = {February},
page = {42}
}
@Articel{Irwanto2018,
author="Herma Yudhi Irwanto ",
title="Development of Mobile Ground Control System and GPS Base Auto Tracking Antenna",
journal="Jurnal Teknologi Dirgantara",
volume="16",
number="1",
year=2018,
month="Juni"
@articel{Irwanto2018,
author = {Herma Yudhi Irwanto },
title = {Development of Mobile Ground Control System and GPS Base Auto Tracking Antenna},
journal = {Jurnal Teknologi Dirgantara},
volume = {16},
number = {1},
year = 2018,
month = {Juni}
}
@article{QUESADA2019275,
title = "Open-source low-cost Hardware-in-the-loop simulation platform for testing control strategies for artificial pancreas research",
journal = "IFAC-PapersOnLine",
volume = "52",
number = "1",
pages = "275 - 280",
year = "2019",
note = "12th IFAC Symposium on Dynamics and Control of Process Systems, including Biosystems DYCOPS 2019",
issn = "2405-8963",
doi = "https://doi.org/10.1016/j.ifacol.2019.06.074",
url = "http://www.sciencedirect.com/science/article/pii/S2405896319301594",
author = "Luisa Fernanda Quesada and José David Rojas and Orlando Arrieta and Ramon Vilanova",
keywords = "Controlled system, insulin control, Hardware in the loop, PID control, Optimal control",
abstract = "Artificial pancreas control is an important research area in the biomedical field. However, it is dangerous to test new control algorithms on humans in order to improve the performance of the control system. This paper presents the results of using an open-source low-cost hardware in the loop platform to test different control strategies for artificial pancreas research. An Arduino platform was selected as the main device to implement the real time differential equations solver needed for the HIL simulation. The platform was successfully tested with both a PID controller and an LQR controller. The code and schematics of the platform are available upon request."
title = {Open-source low-cost Hardware-in-the-loop simulation platform for testing control strategies for artificial pancreas research},
journal = {IFAC-PapersOnLine},
volume = {52},
number = {1},
pages = {275 - 280},
year = {2019},
note = {12th IFAC Symposium on Dynamics and Control of Process Systems, including Biosystems DYCOPS 2019},
issn = {2405-8963},
doi = {https://doi.org/10.1016/j.ifacol.2019.06.074},
url = {http://www.sciencedirect.com/science/article/pii/S2405896319301594},
author = {Luisa Fernanda Quesada and José David Rojas and Orlando Arrieta and Ramon Vilanova},
keywords = {Controlled system, insulin control, Hardware in the loop, PID control, Optimal control},
abstract = {Artificial pancreas control is an important research area in the biomedical field. However, it is dangerous to test new control algorithms on humans in order to improve the performance of the control system. This paper presents the results of using an open-source low-cost hardware in the loop platform to test different control strategies for artificial pancreas research. An Arduino platform was selected as the main device to implement the real time differential equations solver needed for the HIL simulation. The platform was successfully tested with both a PID controller and an LQR controller. The code and schematics of the platform are available upon request.}
}
@Article{Hacene2019,
author="Hacene, Nacer
and Mendil, Boubekeur",
title="Fuzzy Behavior-based Control of Three Wheeled Omnidirectional Mobile Robot",
journal="International Journal of Automation and Computing",
year="2019",
month=Apr,
day="01",
volume="16",
number="2",
pages="163--185",
abstract="In this paper, a fuzzy behavior-based approach for a three wheeled omnidirectional mobile robot (TWOMR) navigation has been proposed. The robot has to track either static or dynamic target while avoiding either static or dynamic obstacles along its path. A simple controller design is adopted, and to do so, two fuzzy behaviors ``Track the Target'' and ``Avoid Obstacles and Wall Following'' are considered based on reduced rule bases (six and five rules respectively). This strategy employs a system of five ultrasonic sensors which provide the necessary information about obstacles in the environment. Simulation platform was designed to demonstrate the effectiveness of the proposed approach.",
issn="1751-8520",
doi="10.1007/s11633-018-1135-x",
url="https://doi.org/10.1007/s11633-018-1135-x"
@article{Hacene2019,
author = {Hacene, Nacer
and Mendil, Boubekeur},
title = {Fuzzy Behavior-based Control of Three Wheeled Omnidirectional Mobile Robot},
journal = {International Journal of Automation and Computing},
year = {2019},
month = Apr,
day = {01},
volume = {16},
number = {2},
pages = {163--185},
abstract = {In this paper, a fuzzy behavior-based approach for a three wheeled omnidirectional mobile robot (TWOMR) navigation has been proposed. The robot has to track either static or dynamic target while avoiding either static or dynamic obstacles along its path. A simple controller design is adopted, and to do so, two fuzzy behaviors ``Track the Target'' and ``Avoid Obstacles and Wall Following'' are considered based on reduced rule bases (six and five rules respectively). This strategy employs a system of five ultrasonic sensors which provide the necessary information about obstacles in the environment. Simulation platform was designed to demonstrate the effectiveness of the proposed approach.},
issn = {1751-8520},
doi = {10.1007/s11633-018-1135-x},
url = {https://doi.org/10.1007/s11633-018-1135-x}
}
@Inbook{Fabien2009,
author="Fabien, Brian",
title="Numerical Solution of ODEs and DAEs",
bookTitle="Analytical System Dynamics: Modeling and Simulation",
year="2009",
publisher="Springer US",
address="Boston, MA",
pages="1--59",
isbn="978-0-387-85605-6",
doi="10.1007/978-0-387-85605-6_5",
url="https://doi.org/10.1007/978-0-387-85605-6_5"
@inbook{Fabien2009,
author = {Fabien, Brian},
title = {Numerical Solution of ODEs and DAEs},
booktitle = {Analytical System Dynamics: Modeling and Simulation},
year = {2009},
publisher = {Springer US},
address = {Boston, MA},
pages = {1--59},
isbn = {978-0-387-85605-6},
doi = {10.1007/978-0-387-85605-6_5},
url = {https://doi.org/10.1007/978-0-387-85605-6_5}
}
@article{CORREIA20127,
title = "Modeling of a Three Wheeled Omnidirectional Robot Including Friction Models",
journal = "IFAC Proceedings Volumes",
volume = "45",
number = "22",
pages = "7 - 12",
year = "2012",
note = "10th IFAC Symposium on Robot Control",
issn = "1474-6670",
doi = "https://doi.org/10.3182/20120905-3-HR-2030.00002",
url = "http://www.sciencedirect.com/science/article/pii/S1474667016335807",
author = "Mariane Dourado Correia and André Gustavo and Scolari Conceição",
keywords = "Models, Friction, Parameter estimation, Autonomous mobile robots",
abstract = "This paper presents a model of a three-wheeled omnidirectional robot including a static friction model. Besides the modeling is presented a practical approach in order to estimate the coefficients of coulomb and viscous friction, which used sensory information about force and velocity of the robot's center of mass. The proposed model model has the voltages of the motors as inputs and the linear and angular velocities of the robot as outputs. Actual results and simulation with the estimated model are compared to demonstrate the performance of the proposed modeling."
title = {Modeling of a Three Wheeled Omnidirectional Robot Including Friction Models},
journal = {IFAC Proceedings Volumes},
volume = {45},
number = {22},
pages = {7 - 12},
year = {2012},
note = {10th IFAC Symposium on Robot Control},
issn = {1474-6670},
doi = {https://doi.org/10.3182/20120905-3-HR-2030.00002},
url = {http://www.sciencedirect.com/science/article/pii/S1474667016335807},
author = {Mariane Dourado Correia and André Gustavo and Scolari Conceição},
keywords = {Models, Friction, Parameter estimation, Autonomous mobile robots},
abstract = {This paper presents a model of a three-wheeled omnidirectional robot including a static friction model. Besides the modeling is presented a practical approach in order to estimate the coefficients of coulomb and viscous friction, which used sensory information about force and velocity of the robot's center of mass. The proposed model model has the voltages of the motors as inputs and the linear and angular velocities of the robot as outputs. Actual results and simulation with the estimated model are compared to demonstrate the performance of the proposed modeling.}
}
@INPROCEEDINGS{Khaledyan2018,
author={M. {Khaledyan} and M. {de Queiroz}},
booktitle={2018 Annual American Control Conference (ACC)},
title={Translational Maneuvering Control of Nonholonomic Kinematic Formations: Theory and Experiments},
year={2018},
volume={},
number={},
pages={2910-2915},
keywords={control system synthesis;mobile robots;motion control;multi-robot systems;path planning;position control;robot dynamics;robot kinematics;translational maneuvering control;nonholonomic kinematic formations;distance-based formation maneuvering problem;control law;kinematic level;rigidity properties;sensing/control interactions;simple input transformation;control design;nonholonomic model;single-integrator equation;formation maneuvers;multiple nonholonomic unicycle-type robots;time-varying translational velocity;Robot kinematics;Atmospheric modeling;Trajectory;Kinematics;Mobile robots;Robot sensing systems},
doi={10.23919/ACC.2018.8431562},
ISSN={2378-5861},
month={June},}
@inproceedings{Khaledyan2018,
author = {M. {Khaledyan} and M. {de Queiroz}},
booktitle = {2018 Annual American Control Conference (ACC)},
title = {Translational Maneuvering Control of Nonholonomic Kinematic Formations: Theory and Experiments},
year = {2018},
volume = {},
number = {},
pages = {2910-2915},
keywords = {control system synthesis;mobile robots;motion control;multi-robot systems;path planning;position control;robot dynamics;robot kinematics;translational maneuvering control;nonholonomic kinematic formations;distance-based formation maneuvering problem;control law;kinematic level;rigidity properties;sensing/control interactions;simple input transformation;control design;nonholonomic model;single-integrator equation;formation maneuvers;multiple nonholonomic unicycle-type robots;time-varying translational velocity;Robot kinematics;Atmospheric modeling;Trajectory;Kinematics;Mobile robots;Robot sensing systems},
doi = {10.23919/ACC.2018.8431562},
issn = {2378-5861},
month = {June}
}
@INPROCEEDINGS{Rozenheck2015,
author={O. {Rozenheck} and S. {Zhao} and D. {Zelazo}},
booktitle={2015 European Control Conference (ECC)},
title={A proportional-integral controller for distance-based formation tracking},
year={2015},
volume={},
number={},
pages={1693-1698},
keywords={gradient methods;multi-agent systems;PI control;velocity control;proportional-integral controller;distance-based formation tracking;multiagent formation control problem;additional velocity reference command;interagent distance constraints;gradient formation controller;formation error dynamics;steady-state formation error;Stability analysis;Steady-state;Symmetric matrices;Aerodynamics;Jacobian matrices;Numerical stability;Asymptotic stability},
doi={10.1109/ECC.2015.7330781},
ISSN={},
month={July},}
@inproceedings{Rozenheck2015,
author = {O. {Rozenheck} and S. {Zhao} and D. {Zelazo}},
booktitle = {2015 European Control Conference (ECC)},
title = {A proportional-integral controller for distance-based formation tracking},
year = {2015},
volume = {},
number = {},
pages = {1693-1698},
keywords = {gradient methods;multi-agent systems;PI control;velocity control;proportional-integral controller;distance-based formation tracking;multiagent formation control problem;additional velocity reference command;interagent distance constraints;gradient formation controller;formation error dynamics;steady-state formation error;Stability analysis;Steady-state;Symmetric matrices;Aerodynamics;Jacobian matrices;Numerical stability;Asymptotic stability},
doi = {10.1109/ECC.2015.7330781},
issn = {},
month = {July}
}
@book{Richard2010,
author = {Dorf, Richard and Bishop, Robert},
year = {2010},
month = {07},
pages = {},
title = {Modern Control Systems, 12th Edition},
isbn = {ISBN-10: 0136024580; ISBN-13: 978-0136024583}
author = {Dorf, Richard and Bishop, Robert},
year = {2010},
month = {07},
pages = {},
title = {Modern Control Systems, 12th Edition},
isbn = {ISBN-10: 0136024580; ISBN-13: 978-0136024583}
}
@book{astrom2008feedback,
title={Feedback Systems: An Introduction for Scientists and Engineers},
author={Astr{\"o}m, K.J. and Murray, R.M.},
isbn={9780691135762},
url={http://www.cds.caltech.edu/~murray/amwiki/index.php?title=Version_2.11b},
year={2008},
publisher={Princeton University Press}
title = {Feedback Systems: An Introduction for Scientists and Engineers},
author = {Astr{\"o}m, K.J. and Murray, R.M.},
isbn = {9780691135762},
url = {http://www.cds.caltech.edu/~murray/amwiki/index.php?title=Version_2.11b},
year = {2008},
publisher = {Princeton University Press}
}
@article{Parker2003,
author = {Parker, Lynne},
year = {2003},
month = {03},
pages = {1-5},
title = {Current research in multirobot systems},
volume = {7},
journal = {Artificial Life and Robotics},
doi = {10.1007/BF02480877}
author = {Parker, Lynne},
year = {2003},
month = {03},
pages = {1-5},
title = {Current research in multirobot systems},
volume = {7},
journal = {Artificial Life and Robotics},
doi = {10.1007/BF02480877}
}
% author = {Guanghua, Wang and Deyi, Li and Wenyan, Gan and Peng, Jia},
@inproceedings{Guanghua2013,
author = {Guanghua, Wang and Deyi, Li and Wenyan, Gan and Peng, Jia},
year = {2013},
month = {01},
pages = {1335-1339},
title = {Study on Formation Control of Multi-Robot Systems},
isbn = {978-1-4673-4893-5},
doi = {10.1109/ISDEA.2012.316}
author = {Guanghua, Wang and Deyi, Li and Wenyan, Gan},
year = {2013},
month = {01},
pages = {1335-1339},
title = {Study on Formation Control of Multi-Robot Systems},
isbn = {978-1-4673-4893-5},
doi = {10.1109/ISDEA.2012.316}
}
@inproceedings{YQC2005,
author = {Yang Quan Chen and Zhongmin Wang},
booktitle = {2005 IEEE/RSJ International Conference on Intelligent Robots and Systems},
title = {Formation control: a review and a new consideration},
year = {2005},
volume = {},
number = {},
pages = {3181-3186},
keywords = {mobile robots;remotely operated vehicles;multi-robot systems;position control;motion control;distributed parameter systems;unmanned autonomous vehicle formation;unmanned autonomous robot formation;distributed parameter systems;formation regulation control;formation tracking control;pattern formation;Robot kinematics;Mobile robots;Control systems;Remotely operated vehicles;Robot sensing systems;Robot control;Intelligent robots;Distributed parameter systems;Road vehicles;Intelligent systems;Formation control;stability analysis;graph theory;Lyapunov analysis;distributed parameter system;pattern formation;formation regulation control;formation tracking control;morphological pattern formation tracking control;adaptive mesh},
doi = {10.1109/IROS.2005.1545539},
issn = {2153-0858},
month = {Aug}
}
@INPROCEEDINGS{YQC2005,
author={Yang Quan Chen and Zhongmin Wang},
booktitle={2005 IEEE/RSJ International Conference on Intelligent Robots and Systems},
title={Formation control: a review and a new consideration},
year={2005},
volume={},
number={},
pages={3181-3186},
keywords={mobile robots;remotely operated vehicles;multi-robot systems;position control;motion control;distributed parameter systems;unmanned autonomous vehicle formation;unmanned autonomous robot formation;distributed parameter systems;formation regulation control;formation tracking control;pattern formation;Robot kinematics;Mobile robots;Control systems;Remotely operated vehicles;Robot sensing systems;Robot control;Intelligent robots;Distributed parameter systems;Road vehicles;Intelligent systems;Formation control;stability analysis;graph theory;Lyapunov analysis;distributed parameter system;pattern formation;formation regulation control;formation tracking control;morphological pattern formation tracking control;adaptive mesh},
doi={10.1109/IROS.2005.1545539},
ISSN={2153-0858},
month={Aug},}
@article{OH2015424,
title = "A survey of multi-agent formation control",
journal = "Automatica",
volume = "53",
pages = "424 - 440",
year = "2015",
issn = "0005-1098",
doi = "https://doi.org/10.1016/j.automatica.2014.10.022",
url = "http://www.sciencedirect.com/science/article/pii/S0005109814004038",
author = "Kwang-Kyo Oh and Myoung-Chul Park and Hyo-Sung Ahn",
keywords = "Formation control, Position-based control, Displacement-based control, Distance-based control",
abstract = "We present a survey of formation control of multi-agent systems. Focusing on the sensing capability and the interaction topology of agents, we categorize the existing results into position-, displacement-, and distance-based control. We then summarize problem formulations, discuss distinctions, and review recent results of the formation control schemes. Further we review some other results that do not fit into the categorization."}
title = {A survey of multi-agent formation control},
journal = {Automatica},
volume = {53},
pages = {424 - 440},
year = {2015},
issn = {0005-1098},
doi = {https://doi.org/10.1016/j.automatica.2014.10.022},
url = {http://www.sciencedirect.com/science/article/pii/S0005109814004038},
author = {Kwang-Kyo Oh and Myoung-Chul Park and Hyo-Sung Ahn},
keywords = {Formation control, Position-based control, Displacement-based control, Distance-based control},
abstract = {We present a survey of formation control of multi-agent systems. Focusing on the sensing capability and the interaction topology of agents, we categorize the existing results into position-, displacement-, and distance-based control. We then summarize problem formulations, discuss distinctions, and review recent results of the formation control schemes. Further we review some other results that do not fit into the categorization.}
}
@INPROCEEDINGS{Cao2007,
author={M. {Cao} and A. S. {Morse} and C. {Yu} and B. D. O. {Anderson} and S. {Dasguvta}},
booktitle={2007 46th IEEE Conference on Decision and Control},
title={Controlling a triangular formation of mobile autonomous agents},
year={2007},
volume={},
number={},
pages={3603-3608},
abstract={This paper proposes a distributed control law for maintaining a triangular formation in the plane consisting of three mobile autonomous agents. It is shown that the control law can cause any initially non-collinear, positively-oriented {resp. negatively-oriented} triangular formation to converge exponentially fast to a desired positively-oriented {resp. negatively- oriented} triangular formation. It is also shown that there is a thin set of initially collinear formations which remain collinear and may drift off to infinity as t rarr infin. These findings complement and extend earlier findings cited below.},
keywords={distributed control;mobile robots;multi-robot systems;spatial variables control;triangular formation;mobile autonomous agents;collinear formations;distributed control law;Autonomous agents;USA Councils;Distributed control;H infinity control;Differential equations;Information technology;Art;Australia Council},
doi={10.1109/CDC.2007.4434757},
ISSN={0191-2216},
month={Dec},}
@inproceedings{Cao2007,
author = {M. {Cao} and A. S. {Morse} and C. {Yu} and B. D. O. {Anderson} and S. {Dasguvta}},
booktitle = {2007 46th IEEE Conference on Decision and Control},
title = {Controlling a triangular formation of mobile autonomous agents},
year = {2007},
volume = {},
number = {},
pages = {3603-3608},
abstract = {This paper proposes a distributed control law for maintaining a triangular formation in the plane consisting of three mobile autonomous agents. It is shown that the control law can cause any initially non-collinear, positively-oriented {resp. negatively-oriented} triangular formation to converge exponentially fast to a desired positively-oriented {resp. negatively- oriented} triangular formation. It is also shown that there is a thin set of initially collinear formations which remain collinear and may drift off to infinity as t rarr infin. These findings complement and extend earlier findings cited below.},
keywords = {distributed control;mobile robots;multi-robot systems;spatial variables control;triangular formation;mobile autonomous agents;collinear formations;distributed control law;Autonomous agents;USA Councils;Distributed control;H infinity control;Differential equations;Information technology;Art;Australia Council},
doi = {10.1109/CDC.2007.4434757},
issn = {0191-2216},
month = {Dec}
}
@article{Oh2014,
author = {Oh, Kwang-Kyo and Ahn, Hyo-Sung},
title = {Distance-based undirected formations of single-integrator and double-integrator modeled agents in n-dimensional space},
journal = {International Journal of Robust and Nonlinear Control},
volume = {24},
number = {12},
pages = {1809-1820},
keywords = {formation control, distance-based control, graph rigidity, Hamiltonian systems, gradient systems},
doi = {10.1002/rnc.2967},
url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/rnc.2967},
eprint = {https://onlinelibrary.wiley.com/doi/pdf/10.1002/rnc.2967},
abstract = {SUMMARYWe study the local asymptotic stability of undirected formations of single-integrator and double-integrator modeled agents based on interagent distance control. First, we show that n-dimensional undirected formations of single-integrator modeled agents are locally asymptotically stable under a gradient control law. The stability analysis in this paper reveals that the local asymptotic stability does not require the infinitesimal rigidity of the formations. Second, on the basis of the topological equivalence of a dissipative Hamiltonian system and a gradient system, we show that the local asymptotic stability of undirected formations of double-integrator modeled agents in n-dimensional space is achieved under a gradient-like control law. Simulation results support the validity of the stability analysis. Copyright © 2013 John Wiley \& Sons, Ltd.},
year = {2014}
author = {Oh, Kwang-Kyo and Ahn, Hyo-Sung},
title = {Distance-based undirected formations of single-integrator and double-integrator modeled agents in n-dimensional space},
journal = {International Journal of Robust and Nonlinear Control},
volume = {24},
number = {12},
pages = {1809-1820},
keywords = {formation control, distance-based control, graph rigidity, Hamiltonian systems, gradient systems},
doi = {10.1002/rnc.2967},
url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/rnc.2967},
eprint = {https://onlinelibrary.wiley.com/doi/pdf/10.1002/rnc.2967},
abstract = {SUMMARYWe study the local asymptotic stability of undirected formations of single-integrator and double-integrator modeled agents based on interagent distance control. First, we show that n-dimensional undirected formations of single-integrator modeled agents are locally asymptotically stable under a gradient control law. The stability analysis in this paper reveals that the local asymptotic stability does not require the infinitesimal rigidity of the formations. Second, on the basis of the topological equivalence of a dissipative Hamiltonian system and a gradient system, we show that the local asymptotic stability of undirected formations of double-integrator modeled agents in n-dimensional space is achieved under a gradient-like control law. Simulation results support the validity of the stability analysis. Copyright © 2013 John Wiley \& Sons, Ltd.},
year = {2014}
}
@article{ELFERIK2016117,
title = "A Behavioral Adaptive Fuzzy controller of multi robots in a cluster space",
journal = "Applied Soft Computing",
volume = "44",
pages = "117 - 127",
year = "2016",
issn = "1568-4946",
doi = "https://doi.org/10.1016/j.asoc.2016.03.018",
url = "http://www.sciencedirect.com/science/article/pii/S1568494616301272",
author = "Sami El Ferik and Mohammad Tariq Nasir and Uthman Baroudi",
keywords = "Cluster space, Behavioral control, Fuzzy adaptive, Multi-robots",
abstract = "Cooperation between autonomous robot vehicles holds several promising advantages like robustness, adaptability, configurability, and scalability. Coordination between the different robots and the individual relative motion represent both the main challenges especially when dealing with formation control and maintenance. Cluster space control provides a simple concept for controlling multi-agent formation. In the classical approach, formation control is the unique task for the multi-agent system. In this paper, the development and application of a novel Behavioral Adaptive Fuzzy-based Cluster Space Control (BAFC) to non-holonomic robots is presented. By applying a fuzzy priority control approach, BAFC deals with two conflicting tasks: formation maintenance and target following. Using priority rules, the fuzzy approach is used to adapt the controller and therefore the behavior of the system, taking into accounts the errors in the formation states and the target following states. The control approach is easy to implement and has been implemented in this paper using SIMULINK real-time platform. The communication between the different agents and the controller is established through Wi-Fi link. Both simulation and experimental results demonstrate the behavioral response where the robot performs the higher priority tasks first. This new approach shows a great performance with a lower control signal when benchmarked with previously known results in the literature."
title = {A Behavioral Adaptive Fuzzy controller of multi robots in a cluster space},
journal = {Applied Soft Computing},
volume = {44},
pages = {117 - 127},
year = {2016},
issn = {1568-4946},
doi = {https://doi.org/10.1016/j.asoc.2016.03.018},
url = {http://www.sciencedirect.com/science/article/pii/S1568494616301272},
author = {Sami El Ferik and Mohammad Tariq Nasir and Uthman Baroudi},
keywords = {Cluster space, Behavioral control, Fuzzy adaptive, Multi-robots},
abstract = {Cooperation between autonomous robot vehicles holds several promising advantages like robustness, adaptability, configurability, and scalability. Coordination between the different robots and the individual relative motion represent both the main challenges especially when dealing with formation control and maintenance. Cluster space control provides a simple concept for controlling multi-agent formation. In the classical approach, formation control is the unique task for the multi-agent system. In this paper, the development and application of a novel Behavioral Adaptive Fuzzy-based Cluster Space Control (BAFC) to non-holonomic robots is presented. By applying a fuzzy priority control approach, BAFC deals with two conflicting tasks: formation maintenance and target following. Using priority rules, the fuzzy approach is used to adapt the controller and therefore the behavior of the system, taking into accounts the errors in the formation states and the target following states. The control approach is easy to implement and has been implemented in this paper using SIMULINK real-time platform. The communication between the different agents and the controller is established through Wi-Fi link. Both simulation and experimental results demonstrate the behavioral response where the robot performs the higher priority tasks first. This new approach shows a great performance with a lower control signal when benchmarked with previously known results in the literature.}
}
@article{YOSHIOKA20085149,
title = "Formation Control of Nonholonomic Multi-Vehicle Systems based on Virtual Structure",
journal = "IFAC Proceedings Volumes",
volume = "41",
number = "2",
pages = "5149 - 5154",
year = "2008",
note = "17th IFAC World Congress",
issn = "1474-6670",
doi = "https://doi.org/10.3182/20080706-5-KR-1001.00865",
url = "http://www.sciencedirect.com/science/article/pii/S1474667016397609",
author = "Chika Yoshioka and Toru Namerikawa",
abstract = "This paper deals with formation control strategies based on Virtual Structure (VS) for multi-vehicle systems. We propose several control laws for networked multi-nonholonomic vehicle systems in order to achieve VS consensus, VS Flocking and VS Flocking with collision-avoidance. First, Virtual Vehicle for the feedback linearization is considered, and we propose VS consensus and Flocking control laws based on a virtual structure and consensus algorithms. Then, VS Flocking control law considering collision avoidance is proposed and its asymptotical stability is proven. Finally, simulation and experimental results show effectiveness of our proposed approaches."
title = {Formation Control of Nonholonomic Multi-Vehicle Systems based on Virtual Structure},
journal = {IFAC Proceedings Volumes},
volume = {41},
number = {2},
pages = {5149 - 5154},
year = {2008},
note = {17th IFAC World Congress},
issn = {1474-6670},
doi = {https://doi.org/10.3182/20080706-5-KR-1001.00865},
url = {http://www.sciencedirect.com/science/article/pii/S1474667016397609},
author = {Chika Yoshioka and Toru Namerikawa},
abstract = {This paper deals with formation control strategies based on Virtual Structure (VS) for multi-vehicle systems. We propose several control laws for networked multi-nonholonomic vehicle systems in order to achieve VS consensus, VS Flocking and VS Flocking with collision-avoidance. First, Virtual Vehicle for the feedback linearization is considered, and we propose VS consensus and Flocking control laws based on a virtual structure and consensus algorithms. Then, VS Flocking control law considering collision avoidance is proposed and its asymptotical stability is proven. Finally, simulation and experimental results show effectiveness of our proposed approaches.}
}
@inproceedings{wang2014,
author = {X. {Wang} and Z. {Yan} and J. {Wang}},
booktitle = {2014 International Joint Conference on Neural Networks (IJCNN)},
title = {Model predictive control of multi-robot formation based on the simplified dual neural network},
year = {2014},
volume = {},
number = {},
pages = {3161-3166},
keywords = {dynamic programming;mobile robots;multi-robot systems;neurocontrollers;optimal control;predictive control;quadratic programming;recurrent neural nets;torque control;trajectory control;model predictive control approach;multirobot formation control problem;simplified dual neural network;leader-follower scheme;desired trajectory tracking;dynamic quadratic optimization problem;one-layer recurrent neural network;optimal control input;Vectors;Lead;Wheels;Neural networks;Robot kinematics;Mathematical model},
doi = {10.1109/IJCNN.2014.6889491},
issn = {2161-4393},
month = {July}
}
@inproceedings{Cai2014,
author = {Cai, Xiaoyu and de Queiroz, Marcio},
booktitle = {2014 American Control Conference},
title = {Multi-agent formation maneuvering and target interception with double-integrator model},
year = {2014},
volume = {},
number = {},
pages = {287-292},
doi = {10.1109/ACC.2014.6858603}
}
@article{deghat2016,
author = {Deghat, Mohammad and Anderson, Brian D. O. and Lin, Zhiyun},
journal = {IEEE Transactions on Automatic Control},
title = {Combined Flocking and Distance-Based Shape Control of Multi-Agent Formations},
year = {2016},
volume = {61},
number = {7},
pages = {1824-1837},
doi = {10.1109/TAC.2015.2480217}
}
@inproceedings{kang2014,
author = {Kang, Sung-Mo and Park, Myoung-Chul and Lee, Byung-Hun and Ahn, Hyo-Sung},
booktitle = {2014 American Control Conference},
title = {Distance-based formation control with a single moving leader},
year = {2014},
volume = {},
number = {},
pages = {305-310},
doi = {10.1109/ACC.2014.6858587}
}
@inproceedings{park2015,
author = {Park, Myoung-Chul and Ahn, Hyo-Sung},
booktitle = {2015 54th IEEE Conference on Decision and Control (CDC)},
title = {Distance-based control of formations with orientation control},
year = {2015},
volume = {},
number = {},
pages = {2199-2204},
doi = {10.1109/CDC.2015.7402533}
}
@inproceedings{qiang2017,
author = {Qiang, Lv and Heng, Wei and Huican, Lin and Ying, Zhang},
booktitle = {2017 29th Chinese Control And Decision Conference (CCDC)},
title = {Design and implementation of multi robot research platform based on UWB},
year = {2017},
volume = {},
number = {},
pages = {7246-7251},
doi = {10.1109/CCDC.2017.7978492}
}
@article{guo2020,
author = {Guo, Kexin and Li, Xiuxian and Xie, Lihua},
journal = {IEEE Transactions on Cybernetics},
title = {Ultra-Wideband and Odometry-Based Cooperative Relative Localization With Application to Multi-UAV Formation Control},
year = {2020},
volume = {50},
number = {6},
pages = {2590-2603},
doi = {10.1109/TCYB.2019.2905570}
}
@inproceedings{qiang2018,
author = {Qiang, Lv and Heng, Wei and Huican, Lin and Shuqi, Qin and Nanxun, Duo and Bing, Liang},
booktitle = {2018 Chinese Control And Decision Conference (CCDC)},
title = {Formation control of multi robot based on UWB distance measurement},
year = {2018},
volume = {},
number = {},
pages = {2404-2408},
doi = {10.1109/CCDC.2018.8407528}
}
@INPROCEEDINGS{6889491,
author={X. {Wang} and Z. {Yan} and J. {Wang}},
booktitle={2014 International Joint Conference on Neural Networks (IJCNN)},
title={Model predictive control of multi-robot formation based on the simplified dual neural network},
year={2014},
volume={},
number={},
pages={3161-3166},
keywords={dynamic programming;mobile robots;multi-robot systems;neurocontrollers;optimal control;predictive control;quadratic programming;recurrent neural nets;torque control;trajectory control;model predictive control approach;multirobot formation control problem;simplified dual neural network;leader-follower scheme;desired trajectory tracking;dynamic quadratic optimization problem;one-layer recurrent neural network;optimal control input;Vectors;Lead;Wheels;Neural networks;Robot kinematics;Mathematical model},
doi={10.1109/IJCNN.2014.6889491},
ISSN={2161-4393},
month={July},}

View File

View File

@ -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/
Wed Mar 17 13:44:15 2021
Filename: /home/a2nr/Documents/-p-formation-control/BAB5/__latexindent_temp.tex
Tue Jul 13 10:34:18 2021
Filename: /home/a2nr/Documents/-p-formation-control/OTHER/__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

View File

@ -5,29 +5,30 @@
% Nama universitas
\var{\namaUni}{Universitas Brawijaya}
\Var{\NamaUni}{Universitas Brawijaya}
\var{\EnNamaUni}{University of Brawijaya}
% Kota universitas
\var{\kota} {Malang}
\Var{\Kota} {Malang}
% Judul laporan.
\var{\judul}{Kendali Formasi Mobile Robot Berdasarkan Jarak Menggunakan Algoritma Cosinus}
%
% Tulis kembali judul laporan, kali ini akan diubah menjadi huruf kapital
\Var{\Judul}{Kendali Formasi Mobile Robot Berdasarkan Jarak Menggunakan Algoritma Cosinus}
\Var{\Judul}{Kendali Formasi \textit{Mobile} Robot Berdasarkan Jarak Menggunakan Algoritma \textit{Cosinus} }
%
% Judul laporan.
\var{\judul}{Kendali Formasi \textit{Mobile} Robot Berdasarkan Jarak Menggunakan Algoritma \textit{Cosinus} }
%
% Tulis kembali judul laporan namun dengan bahasa Ingris
\var{\judulInggris}{Formation Control Distance-Based Using Cosinus Algoritm For Multi Mobile-Robot}
%
% Tipe laporan, dapat berisi Skripsi, Tugas Akhir, Thesis, atau Disertasi
\var{\type}{Proposal Tesis}
\var{\type}{Tesis}
%
% Tulis kembali tipe laporan, kali ini akan diubah menjadi huruf kapital
\Var{\Type}{Proposal Tesis}
\Var{\Type}{Tesis}
%
% Tulis nama penulis
\var{\penulis}{anggoro dwi nur rohman}
\var{\penulis}{Anggoro Dwi Nur Rohman}
%
% Tulis kembali nama penulis, kali ini akan diubah menjadi huruf kapital
\Var{\Penulis}{Anggoro Dwi Nur Rohman}
@ -38,20 +39,24 @@
% Tuliskan Fakultas dimana penulis berada
\Var{\Fakultas}{Teknik}
\var{\fakultas}{Teknik}
\var{\EnFakultas}{Engineering}
%
% Jurusan
\Var{\Jurusan}{Elektro}
\var{\jurusan}{Elektro}
\var{\EnJurusan}{Electrical}
%
% Tuliskan Program Studi yang diambil penulis
\Var{\Program}{Kontrol dan Elektronika}
\var{\program}{Kontrol dan Elektronika}
%
% Tuliskan tahun publikasi laporan
\Var{\bulanTahun}{Februari 2020}
\Var{\BulanTahun}{Februari 2020}
\var{\bulanTahun}{Februari 2020}
%
% Tuliskan gelar yang akan diperoleh dengan menyerahkan laporan ini
\var{\gelar}{Magister Teknik}
\var{\EnGelar}{Master }
%
% Tuliskan tanggal pengesahan laporan, waktu dimana laporan diserahkan ke
% penguji/sekretariat
@ -85,8 +90,8 @@
\Var{\babDua}{Kajian Pustaka}
\Var{\babTiga}{Kerangka Konsep Penelitian}
\Var{\babEmpat}{Metode Penelitian}
\Var{\babLima}{Perintah dalam uithesis.sty}
\Var{\babEnam}{??}
\Var{\babLima}{Hasil dan Pembahasan}
\Var{\babEnam}{Kesimpulan dan Saran}
\Var{\kesimpulan}{Kesimpulan dan Saran}
\Var{\mybibname}{Daftar Referensi}

11
presentasi-blx.bib Normal file
View File

@ -0,0 +1,11 @@
@Comment{$ biblatex control file $}
@Comment{$ biblatex bcf format version 3.7 $}
% Do not modify this file!
%
% This is an auxiliary file used by the 'biblatex' package.
% This file may safely be deleted. It will be recreated as
% required.
@Control{biblatex-control,
options = {3.7:0:0:1:0:1:1:0:0:1:0:2:3:1:3:1:0:0:3:1:79:+:+:nyt},
}

90
presentasi.bbl Normal file
View File

@ -0,0 +1,90 @@
% $ biblatex auxiliary file $
% $ biblatex bbl format version 3.1 $
% Do not modify the above lines!
%
% This is an auxiliary file used by the 'biblatex' package.
% This file may safely be deleted. It will be recreated as
% required.
%
\begingroup
\makeatletter
\@ifundefined{ver@biblatex.sty}
{\@latex@error
{Missing 'biblatex' package}
{The bibliography requires the 'biblatex' package.}
\aftergroup\endinput}
{}
\endgroup
\datalist[entry]{nyt/global//global/global}
\entry{Jim1999}{inbook}{}
\name{author}{1}{}{%
{{hash=LJA}{%
family={Ledin},
familyi={L\bibinitperiod},
given={Jim\bibnamedelima A.},
giveni={J\bibinitperiod\bibinitdelim A\bibinitperiod},
}}%
}
\strng{namehash}{LJA1}
\strng{fullhash}{LJA1}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{labelyear}{1999}
\field{labeldatesource}{}
\field{sortinit}{L}
\field{sortinithash}{L}
\field{booktitle}{Embedded Systems Programming}
\field{title}{Hardware-in-the-Loop Simulation}
\field{year}{1999}
\warn{\item Invalid format of field 'month'}
\endentry
\entry{Rozenheck2015}{inproceedings}{}
\name{author}{3}{}{%
{{hash=RO}{%
family={{Rozenheck}},
familyi={R\bibinitperiod},
given={O.},
giveni={O\bibinitperiod},
}}%
{{hash=ZS}{%
family={{Zhao}},
familyi={Z\bibinitperiod},
given={S.},
giveni={S\bibinitperiod},
}}%
{{hash=ZD}{%
family={{Zelazo}},
familyi={Z\bibinitperiod},
given={D.},
giveni={D\bibinitperiod},
}}%
}
\keyw{gradient methods;multi-agent systems;PI control;velocity
control;proportional-integral controller;distance-based formation
tracking;multiagent formation control problem;additional velocity reference
command;interagent distance constraints;gradient formation
controller;formation error dynamics;steady-state formation error;Stability
analysis;Steady-state;Symmetric matrices;Aerodynamics;Jacobian
matrices;Numerical stability;Asymptotic stability}
\strng{namehash}{ROZSZD1}
\strng{fullhash}{ROZSZD1}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{labelyear}{2015}
\field{labeldatesource}{}
\field{sortinit}{R}
\field{sortinithash}{R}
\field{booktitle}{2015 European Control Conference (ECC)}
\verb{doi}
\verb 10.1109/ECC.2015.7330781
\endverb
\field{pages}{1693\bibrangedash 1698}
\field{title}{A proportional-integral controller for distance-based
formation tracking}
\field{year}{2015}
\warn{\item Invalid format of field 'month'}
\endentry
\enddatalist
\endinput

111
presentasi.nav Normal file
View File

@ -0,0 +1,111 @@
\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}
\headcommand {\beamer@framepages {1}{1}}
\headcommand {\beamer@sectionpages {1}{1}}
\headcommand {\beamer@subsectionpages {1}{1}}
\headcommand {\sectionentry {1}{Pendahuluan}{2}{Pendahuluan}{0}}
\headcommand {\beamer@subsectionpages {2}{1}}
\headcommand {\beamer@subsectionentry {0}{1}{1}{2}{Latar Belakang}}
\headcommand {\slideentry {1}{1}{1}{2/2}{Latar Belakang}{0}}
\headcommand {\beamer@framepages {2}{2}}
\headcommand {\slideentry {1}{1}{2}{3/3}{Latar Belakang}{0}}
\headcommand {\beamer@framepages {3}{3}}
\headcommand {\slideentry {1}{1}{3}{4/4}{Latar Belakang}{0}}
\headcommand {\beamer@framepages {4}{4}}
\headcommand {\slideentry {1}{1}{4}{5/5}{Latar Belakang}{0}}
\headcommand {\beamer@framepages {5}{5}}
\headcommand {\beamer@subsectionpages {2}{5}}
\headcommand {\beamer@subsectionentry {0}{1}{2}{6}{Identifikasi dan Perumusan Masalah}}
\headcommand {\slideentry {1}{2}{1}{6/6}{Identifikasi dan Perumusan Masalah}{0}}
\headcommand {\beamer@framepages {6}{6}}
\headcommand {\slideentry {1}{2}{2}{7/7}{Identifikasi dan Perumusan Masalah}{0}}
\headcommand {\beamer@framepages {7}{7}}
\headcommand {\slideentry {1}{2}{3}{8/8}{Identifikasi dan Perumusan Masalah}{0}}
\headcommand {\beamer@framepages {8}{8}}
\headcommand {\slideentry {1}{2}{4}{9/9}{Identifikasi dan Perumusan Masalah}{0}}
\headcommand {\beamer@framepages {9}{9}}
\headcommand {\beamer@subsectionpages {6}{9}}
\headcommand {\beamer@subsectionentry {0}{1}{3}{10}{Tujuan dan Manfaat}}
\headcommand {\slideentry {1}{3}{1}{10/10}{Tujuan dan Manfaat}{0}}
\headcommand {\beamer@framepages {10}{10}}
\headcommand {\slideentry {1}{3}{2}{11/11}{Tujuan dan Manfaat}{0}}
\headcommand {\beamer@framepages {11}{11}}
\headcommand {\beamer@sectionpages {2}{11}}
\headcommand {\beamer@subsectionpages {10}{11}}
\headcommand {\sectionentry {2}{Krangka Konsep Penelitian}{12}{Krangka Konsep Penelitian}{0}}
\headcommand {\slideentry {2}{0}{1}{12/12}{}{0}}
\headcommand {\beamer@framepages {12}{12}}
\headcommand {\slideentry {2}{0}{2}{13/13}{}{0}}
\headcommand {\beamer@framepages {13}{13}}
\headcommand {\beamer@subsectionpages {12}{13}}
\headcommand {\beamer@subsectionentry {0}{2}{1}{14}{Definisi Permasalahan Kendali Formasi}}
\headcommand {\slideentry {2}{1}{1}{14/14}{Definisi Permasalahan Kendali Formasi}{0}}
\headcommand {\beamer@framepages {14}{14}}
\headcommand {\slideentry {2}{1}{2}{15/15}{Definisi Permasalahan Kendali Formasi}{0}}
\headcommand {\beamer@framepages {15}{15}}
\headcommand {\beamer@subsectionpages {14}{15}}
\headcommand {\beamer@subsectionentry {0}{2}{2}{16}{Permasalah dan Solusi}}
\headcommand {\slideentry {2}{2}{1}{16/16}{Permasalah dan Solusi}{0}}
\headcommand {\beamer@framepages {16}{16}}
\headcommand {\slideentry {2}{2}{2}{17/17}{Permasalah dan Solusi}{0}}
\headcommand {\beamer@framepages {17}{17}}
\headcommand {\beamer@sectionpages {12}{17}}
\headcommand {\beamer@subsectionpages {16}{17}}
\headcommand {\sectionentry {3}{Kajian Pustaka}{18}{Kajian Pustaka}{0}}
\headcommand {\beamer@subsectionpages {18}{17}}
\headcommand {\beamer@subsectionentry {0}{3}{1}{18}{Pemodelan Robot}}
\headcommand {\slideentry {3}{1}{1}{18/18}{Pemodelan Robot}{0}}
\headcommand {\beamer@framepages {18}{18}}
\headcommand {\slideentry {3}{1}{2}{19/19}{Pemodelan Robot}{0}}
\headcommand {\beamer@framepages {19}{19}}
\headcommand {\slideentry {3}{1}{3}{20/20}{Pemodelan Robot}{0}}
\headcommand {\beamer@framepages {20}{20}}
\headcommand {\slideentry {3}{1}{4}{21/21}{Pemodelan Robot}{0}}
\headcommand {\beamer@framepages {21}{21}}
\headcommand {\beamer@sectionpages {18}{21}}
\headcommand {\beamer@subsectionpages {18}{21}}
\headcommand {\sectionentry {4}{Metode Penelitian}{22}{Metode Penelitian}{0}}
\headcommand {\beamer@subsectionpages {22}{21}}
\headcommand {\beamer@subsectionentry {0}{4}{1}{22}{Prangkat Percobaan}}
\headcommand {\slideentry {4}{1}{1}{22/22}{Prangkat Percobaan}{0}}
\headcommand {\beamer@framepages {22}{22}}
\headcommand {\slideentry {4}{1}{2}{23/23}{Prangkat Percobaan}{0}}
\headcommand {\beamer@framepages {23}{23}}
\headcommand {\slideentry {4}{1}{3}{24/24}{Prangkat Percobaan}{0}}
\headcommand {\beamer@framepages {24}{24}}
\headcommand {\beamer@subsectionpages {22}{24}}
\headcommand {\beamer@subsectionentry {0}{4}{2}{25}{Strategi Kendali Multi Robot}}
\headcommand {\slideentry {4}{2}{1}{25/25}{Strategi Kendali Multi Robot}{0}}
\headcommand {\beamer@framepages {25}{25}}
\headcommand {\slideentry {4}{2}{2}{26/26}{Strategi Kendali Multi Robot}{0}}
\headcommand {\beamer@framepages {26}{26}}
\headcommand {\slideentry {4}{2}{3}{27/27}{Strategi Kendali Multi Robot}{0}}
\headcommand {\beamer@framepages {27}{27}}
\headcommand {\slideentry {4}{2}{4}{28/28}{Strategi Kendali Multi Robot}{0}}
\headcommand {\beamer@framepages {28}{28}}
\headcommand {\slideentry {4}{2}{5}{29/29}{Strategi Kendali Multi Robot}{0}}
\headcommand {\beamer@framepages {29}{29}}
\headcommand {\beamer@subsectionpages {25}{29}}
\headcommand {\beamer@subsectionentry {0}{4}{3}{30}{Strategi Uji Coba}}
\headcommand {\slideentry {4}{3}{1}{30/30}{Strategi Uji Coba}{0}}
\headcommand {\beamer@framepages {30}{30}}
\headcommand {\slideentry {4}{3}{2}{31/31}{Strategi Uji Coba}{0}}
\headcommand {\beamer@framepages {31}{31}}
\headcommand {\slideentry {4}{3}{3}{32/32}{Strategi Uji Coba}{0}}
\headcommand {\beamer@framepages {32}{32}}
\headcommand {\slideentry {4}{3}{4}{33/33}{Strategi Uji Coba}{0}}
\headcommand {\beamer@framepages {33}{33}}
\headcommand {\beamer@sectionpages {22}{33}}
\headcommand {\beamer@subsectionpages {30}{33}}
\headcommand {\sectionentry {5}{End}{34}{End}{0}}
\headcommand {\slideentry {5}{0}{1}{34/34}{}{0}}
\headcommand {\beamer@framepages {34}{34}}
\headcommand {\beamer@sectionpages {34}{34}}
\headcommand {\beamer@subsectionpages {34}{34}}
\headcommand {\sectionentry {6}{References}{35}{References}{0}}
\headcommand {\slideentry {6}{0}{0}{35/35}{}{0}}
\headcommand {\beamer@framepages {35}{35}}
\headcommand {\beamer@partpages {1}{35}}
\headcommand {\beamer@subsectionpages {34}{35}}
\headcommand {\beamer@sectionpages {34}{35}}
\headcommand {\beamer@documentpages {35}}
\headcommand {\gdef \inserttotalframenumber {35}}

BIN
presentasi.pdf Normal file

Binary file not shown.

93
presentasi.run.xml Normal file
View File

@ -0,0 +1,93 @@
<?xml version="1.0" standalone="yes"?>
<!-- logreq request file -->
<!-- logreq version 1.0 / dtd version 1.0 -->
<!-- Do not edit this file! -->
<!DOCTYPE requests [
<!ELEMENT requests (internal | external)*>
<!ELEMENT internal (generic, (provides | requires)*)>
<!ELEMENT external (generic, cmdline?, input?, output?, (provides | requires)*)>
<!ELEMENT cmdline (binary, (option | infile | outfile)*)>
<!ELEMENT input (file)+>
<!ELEMENT output (file)+>
<!ELEMENT provides (file)+>
<!ELEMENT requires (file)+>
<!ELEMENT generic (#PCDATA)>
<!ELEMENT binary (#PCDATA)>
<!ELEMENT option (#PCDATA)>
<!ELEMENT infile (#PCDATA)>
<!ELEMENT outfile (#PCDATA)>
<!ELEMENT file (#PCDATA)>
<!ATTLIST requests
version CDATA #REQUIRED
>
<!ATTLIST internal
package CDATA #REQUIRED
priority (9) #REQUIRED
active (0 | 1) #REQUIRED
>
<!ATTLIST external
package CDATA #REQUIRED
priority (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8) #REQUIRED
active (0 | 1) #REQUIRED
>
<!ATTLIST provides
type (static | dynamic | editable) #REQUIRED
>
<!ATTLIST requires
type (static | dynamic | editable) #REQUIRED
>
<!ATTLIST file
type CDATA #IMPLIED
>
]>
<requests version="1.0">
<internal package="biblatex" priority="9" active="0">
<generic>latex</generic>
<provides type="dynamic">
<file>presentasi.aux</file>
<file>presentasi-blx.bib</file>
</provides>
<requires type="dynamic">
<file>presentasi.bbl</file>
</requires>
<requires type="static">
<file>blx-dm.def</file>
<file>blx-compat.def</file>
<file>blx-bibtex.def</file>
<file>biblatex.def</file>
<file>standard.bbx</file>
<file>authoryear.bbx</file>
<file>authoryear-icomp.bbx</file>
<file>authoryear-icomp.cbx</file>
<file>biblatex.cfg</file>
<file>english.lbx</file>
</requires>
</internal>
<external package="biblatex" priority="5" active="0">
<generic>bibtex</generic>
<cmdline>
<binary>bibtex</binary>
<option>-min-crossrefs 2</option>
<infile>presentasi</infile>
</cmdline>
<input>
<file>presentasi.aux</file>
</input>
<output>
<file>presentasi.bbl</file>
</output>
<provides type="dynamic">
<file>presentasi.bbl</file>
</provides>
<requires type="dynamic">
<file>presentasi.aux</file>
<file>presentasi-blx.bib</file>
</requires>
<requires type="editable">
<file>OTHER/references.bib</file>
</requires>
<requires type="static">
<file>biblatex.bst</file>
</requires>
</external>
</requests>

0
presentasi.snm Normal file
View File

Binary file not shown.

View File

@ -17,6 +17,14 @@
% Load konfigurasi LaTeX untuk tipe laporan thesis
\usepackage{uithesis}
\AtEveryBibitem{%
\clearfield{issn} % Remove issn
\clearfield{doi} % Remove doi
\ifentrytype{online}{}{% Remove url except for @online
\clearfield{url}
}
}
\addbibresource{OTHER/references.bib}
% Load konfigurasi khusus untuk laporan yang sedang dibuat
@ -38,7 +46,7 @@
%
% load halaman judul dalam
\addChapter{HALAMAN JUDUL}
\addChapter{Halaman Judul}
\include{OTHER/judul_dalam}
%
@ -46,32 +54,33 @@
\setcounter{page}{2}
%
% load halaman pengesahan
% \addChapter{LEMBAR PERSETUJUAN}
% \include{OTHER/pengesahan}
%
% load halaman orisinalitas
% \addChapter{LEMBAR PERNYATAAN ORISINALITAS}
% \include{OTHER/orisinal}
%
%
\addChapter{LEMBAR PENGESAHAN}
\addChapter{Pengesahan}
\include{OTHER/ub/pengesahan_pembimbing}
%
% load halaman orisinalitas
\addChapter{Lembar Pernyataan Orisinalitas}
\include{OTHER/orisinal}
%
% \addChapter{\kataPengantar}
% \include{OTHER/pengantar}
%
\addChapter{Riwayat Hidup}
\include{OTHER/ub/riwayat_hidup.tex}
%
%
% \addChapter{LEMBAR PERSETUJUAN PUBLIKASI ILMIAH}
% \include{OTHER/persetujuan_publikasi}
%
%
% \addChapter{ABSTRAK}
% \include{OTHER/abstrak}
\addChapter{Ringkasan}
\include{OTHER/abstrak}
%
%
% \include{OTHER/abstract}
\addChapter{\textit{Summary}}
\include{OTHER/abstract}
%
%
\addChapter{\kataPengantar}
\include{OTHER/pengantar}
%
% Daftar isi, gambar, dan tabel
@ -98,9 +107,9 @@
\include{BAB2/bab2}
\include{BAB3/bab3}
\include{BAB4/bab4}
% \include{BAB5/bab5}
\include{BAB5/bab5}
% \include{BAB6/bab6}
% \include{OTHER/kesimpulan}
\include{OTHER/kesimpulan}
%
% Daftar Pustaka

View File

@ -227,7 +227,7 @@
}
\@ifclassloaded{report}
{
\usepackage[backend=bibtex, style=authoryear-icomp,autocite=inline]{biblatex}
\usepackage[backend=bibtex, style=authoryear-icomp,autocite=inline,]{biblatex}
}
{