diff --git a/BAB1/bab1.tex b/BAB1/bab1.tex index fa9073d..f0e6d07 100644 --- a/BAB1/bab1.tex +++ b/BAB1/bab1.tex @@ -7,42 +7,27 @@ %-----------------------------------------------------------------------------% \section{Latar Belakang} %-----------------------------------------------------------------------------% -Berdasarkan literatur oleh \kutip{Parker2003}, -kendali formasi adalah topik penelitian kendali multi-robot untuk memecahkan permasalahan koordinasi pergerakan. +Kendali formasi adalah topik penelitian kendali multi-robot untuk memecahkan permasalahan koordinasi pergerakan (\kutip{Parker2003}). Kendali formasi bertujuan untuk mengendalikan sekelompok robot dalam mencapai formasi tertentu dan dapat mempertahankan formasi tersebut ketika bermanuver menuju arah yang diinginkan. -Dalam literatur yang dipaparkan oleh \kutip{Guanghua2013}, -pengembangan kendali formasi dilakukan dari sisi algoritma strategi. -Strategi yang dipaparkan adalah \textit{leader-follower}, struktur virtual, -berdasarkan tingkahlaku, menggunakan teori graph, dan memanfaatkan medan potensial buatan. +Pengembangan kendali formasi dilakukan dari sisi algoritma strategi (\kutip{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. -Dalam literatur oleh \kutip{OH2015424}, kendali formasi dikategorikan menjadi 3 bagian, +Secara garis besar kendali formasi dikategorikan menjadi 3 bagian (\kutip{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. - -Pada formasi berdasarkan posisi, -dimana agent diharuskan memiliki kemampuan untuk mengetahui koordinatnya sendiri berdasarkan koordinat global. -Sehingga, koordinat tujuan didistribusikan kepada setiap agent dan agent bekerja untuk mencapai koordinat tersebut. -Karena itu, kebutuhan individu untuk berinteraksi dengan individu lain sangat kecil. -Metode formasi ini pada praktiknya, interaksi antar individu dilakukan untuk menangani masalah disturbance, - saturasi akselerasi, dan lain-lain. -Karena metode ini membutuhkan kemampuan untuk mengetahui koordinat global, -dibutuhkan biaya yang lebih dibanding metode lain dalam perangkat sensor yang \textit{advance}, seperti sensor GPS; - -Pada formasi kendali berdasarkan perpindahan, secara individu agent tidak mengetahui koordinatnya berdasarkan koordinat global. -Akan tetapi, individu agent memiliki koordinatnya sendiri terhadap individu agent tetangganya dan -harus dilakukan penyearahan terhadap koordinat setiap robot dengan koordinat global. -Koordinat relatif itulah yang menjadi variable yang dikendalikan oleh agent. -Oleh karena itu agent diharuskan memiliki kemampuan untuk mengetahui perpindahan dari -individu lain berdasarkan koordinat agent itu sendiri, -dan semua agent harus menyearahkan koordinatnya berdasarkan koordinat global, -serta dibutuhkan interaksi antara individu lain untuk mencapai formasi yang dinginkan. -Permasalahan pada metode ini ditujukan pada kendali formasi pada agent yang bersifat heterogent, -pemeliharaan dalam komunikasi, dan kemampuan dalam menghindari rintangan; - +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. @@ -51,15 +36,11 @@ Pentingnya dilakukan investigasi pada penerapan model yang lebih nyata. Pemeliharaan komunikasi juga menyumbang dalam permasalahan secara praktik, dan kemampuan untuk menghindari rintangan juga dibutuhkan. -Dari ketiga metode tersebut, formasi berdasarkan jarak merupakan metode yang dimungkinkan untuk diterapkan sensor yang lebih sedikit dari metode lainnya. -Teknologi komunikasi sekarang pun juga sudah bisa dikatakan bisa untuk diterapkan pada metode tersebut secara praktiknya. -Pemaparan dengan menggunakan model yang lebih nyata sangat dibutuhkan sebagai kontribusi dalam bidang kendali multi-robot. - -Penerapan kendali formasi berdasarkan jarak yang dikembangkan oleh \kutip{Rozenheck2015}, menunjukkan bahwa dengan teori graph dan kendali \textit{Proportional-Integral} dapat mempertahankan formasi sekelompok robot apabila salah satu robot diberikan kecepatan referensi. +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. -Akan tetapi, kendali yang dikambangkan peneliti hanya menerima refrensi koordianat. Dari penerapan penelitian tersebut terdapat kesenjangan terhadap analisis kendali dengan praktiknya. Maka akan dikembangkan algoritma untuk mengestimasi koordinat menggunakan variable jarak saja. diff --git a/BAB3/bab3.tex b/BAB3/bab3.tex index af2e1d4..e062d1a 100644 --- a/BAB3/bab3.tex +++ b/BAB3/bab3.tex @@ -12,6 +12,36 @@ dimana didalam literatur tersebut, peneliti menguraikan berbagai metode yang dig \label{fig:kerangka_pen} \end{figure} +Kendali formasi dikategorikan menjadi 3 bagian, +yaitu berdasarkan posisi, perpindahan, dan jarak. + +Pada formasi berdasarkan posisi, +dimana agent diharuskan memiliki kemampuan untuk mengetahui koordinatnya sendiri berdasarkan koordinat global. +Sehingga, koordinat tujuan didistribusikan kepada setiap agent dan agent bekerja untuk mencapai koordinat tersebut. +Karena itu, kebutuhan individu untuk berinteraksi dengan individu lain sangat kecil. +Metode formasi ini pada praktiknya, interaksi antar individu dilakukan untuk menangani masalah disturbance, + saturasi akselerasi, dan lain-lain. +Karena metode ini membutuhkan kemampuan untuk mengetahui koordinat global, +dibutuhkan biaya yang lebih dibanding metode lain dalam perangkat sensor yang \textit{advance}, seperti sensor GPS; + +Pada formasi kendali berdasarkan perpindahan, secara individu agent tidak mengetahui koordinatnya berdasarkan koordinat global. +Akan tetapi, individu agent memiliki koordinatnya sendiri terhadap individu agent tetangganya dan +harus dilakukan penyearahan terhadap koordinat setiap robot dengan koordinat global. +Koordinat relatif itulah yang menjadi variable yang dikendalikan oleh agent. +Oleh karena itu agent diharuskan memiliki kemampuan untuk mengetahui perpindahan dari +individu lain berdasarkan koordinat agent itu sendiri, +dan semua agent harus menyearahkan koordinatnya berdasarkan koordinat global, +serta dibutuhkan interaksi antara individu lain untuk mencapai formasi yang dinginkan. +Permasalahan pada metode ini ditujukan pada kendali formasi pada agent yang bersifat heterogent, +pemeliharaan dalam komunikasi, dan kemampuan dalam menghindari rintangan; + +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. \section{Definisi Permasalahan Kendali Formasi} @@ -23,17 +53,19 @@ Yaitu berbasis posisi, pergerakan, dan jarak. Pembagian tersebut berdasarkan kemampuan sensor yang digunakan dan penggunaan komunikasi dalam metodenya. Dari ketiga kategori tersebut, kendali formasi berbasis jarak sangat dibutuhkan pembahasan -mengenai penerapan metode tersebut pada agent yang nyata. -\textit{Simple model, Model real,} dan \textit{Real} dapat dikatakan sebuah tahap pengembangan. +mengenai penerapan metode tersebut pada model yang nyata. +Pembagian antara model yang simple, model yang nyata, dan secara praktik berdasarkan tingkat analisisnya. +Pada model yang simple, analisis dilakukan untuk mengembangkan strategi kendali formasi saja. +Dalam kenyataannya model yang digunakan memiliki kekurangan, seperti batas kerja kecepatan, batasan sensor, komunikasi dan batasan lain-lain yang mempengaruhi kendali formasi tersebut. \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 agent \textit{simple model} 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-agent berdasarkan jarak. -Dengan bertambahnya kepraktisan diharapkan dapat diterapkan dalam agent secara \textit{Real}. +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 menggunakan kendali PI dan menghasilkan pergerakan yang baik. -Dapat diperhatikan pada persamaan~\eqref{eq:modelorde2} bahwa peneliti menggunakan \textit{Simple model} untuk mengembangkan kendali multi-robotnya. +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 nyata. +kendali PI yang telah dilakukan sebelumnya dengan menggunakan model yang nyata. \section{Permasalah dan Solusi} diff --git a/BAB3/img/estimate_coordinate.png b/BAB3/img/estimate_coordinate.png index 523e764..02bd42f 100644 Binary files a/BAB3/img/estimate_coordinate.png and b/BAB3/img/estimate_coordinate.png differ diff --git a/BAB3/img/estimate_coordinate.svg b/BAB3/img/estimate_coordinate.svg index b85634d..a9d6110 100644 --- a/BAB3/img/estimate_coordinate.svg +++ b/BAB3/img/estimate_coordinate.svg @@ -265,9 +265,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="0.64" - inkscape:cx="352.68774" - inkscape:cy="634.80157" + inkscape:zoom="0.45254834" + inkscape:cx="-40.666924" + inkscape:cy="666.7574" inkscape:document-units="mm" inkscape:current-layer="layer1" showgrid="false" @@ -293,14 +293,12 @@ inkscape:groupmode="layer" id="layer1"> + d="M 52.303872,151.82788 122.87012,60.782886" + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.15684474;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + d="M 134.59301,172.11065 122.87012,60.782886" + style="fill:none;stroke:#ff0000;stroke-width:1.15684474;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.62737856, 1.15684464;stroke-dashoffset:0;stroke-opacity:1" /> + d="M 134.59301,172.11065 55.920308,152.48542" + style="fill:#ff6600;stroke:#ff6600;stroke-width:1.15684474;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.62737856, 1.15684464;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker5595)" /> + style="fill:none;stroke:#ff0000;stroke-width:1.15684474;stroke-miterlimit:4;stroke-dasharray:4.62737856, 1.15684464;stroke-dashoffset:0" /> d_a[k] \\ - 180-\alpha[k+1] & ,d_a[k+1] < d_a[k] - \end{cases}.\label{eq:init_relatif_koordinat} + \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$, @@ -333,16 +339,16 @@ Dengan menggunakan persamaan~\eqref{eq:kinematika_robot} untuk menyelesaikan koo 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] + \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} + 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$. @@ -352,10 +358,11 @@ Yaitu semua agent tidak berada pada kondisi sejajar secara koordinat global. \begin{algorithm} \DontPrintSemicolon \KwInput{ - Integer $l_a>0$, - $\tetangga_i=getConnectionRobot()$, } + 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()$\; @@ -363,7 +370,7 @@ Yaitu semua agent tidak berada pada kondisi sejajar secara koordinat global. $r = \begin{bmatrix} l_a \cos(dir) \\ l_a \sin(dir) - \end{bmatrix}$\; + \end{bmatrix}$\; \tcc{Menjalankan robot hingga mencapai setpoint} \While{isSetpointReached()}{ @@ -375,17 +382,27 @@ Yaitu semua agent tidak berada pada kondisi sejajar secara koordinat global. \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}