siap bimbingan

release
a2nr 2020-03-09 19:46:05 +07:00
parent 43719f21b0
commit 0f07ded936
7 changed files with 283 additions and 213 deletions

View File

@ -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.

View File

@ -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}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

@ -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">
<g
id="g6491"
transform="matrix(1.739616,0,0,1.739616,-105.62849,-140.12641)"
inkscape:export-filename="./estimate_coordinate.png"
id="g1357"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<g
id="g4727"
transform="rotate(-25.881998,18.907135,-511.11318)"
transform="matrix(1.5651238,-0.75937566,0.75937566,1.5651238,285.79757,-214.95407)"
inkscape:transform-center-x="2.156018"
inkscape:transform-center-y="-0.93939487">
<g
@ -330,7 +328,7 @@
<g
inkscape:transform-center-y="0.23723209"
inkscape:transform-center-x="-2.1736952"
transform="rotate(13.358057,-313.83753,1177.2032)"
transform="matrix(1.6925512,0.40191345,-0.40191345,1.6925512,352.73459,41.414001)"
id="g3239">
<g
id="g2849"
@ -359,11 +357,11 @@
<path
inkscape:connector-curvature="0"
id="path3323"
d="M 90.785761,167.82686 131.35003,115.4906"
style="fill:#ff0000;stroke:#ff0000;stroke-width:0.66500002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
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" />
<g
id="g3475"
transform="rotate(13.358057,-329.55932,1329.4324)"
transform="matrix(1.6925512,0.40191345,-0.40191345,1.6925512,435.10206,61.620943)"
inkscape:transform-center-x="-2.1736952"
inkscape:transform-center-y="0.23723209">
<g
@ -391,30 +389,31 @@
</g>
</g>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3623"
d="m 125.48577,175.62126 5.86426,-60.13066"
style="fill:none;stroke:#ff0000;stroke-width:0.66500002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.66, 0.665;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" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3625"
d="M 125.48577,175.62126 92.864631,168.20484"
style="fill:#ff6600;stroke:#ff6600;stroke-width:0.66500002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.66, 0.665;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker5595)" />
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)" />
<path
sodipodi:open="true"
d="m 102.68757,152.43783 a 19.516459,19.516459 0 0 1 7.16752,19.37387"
sodipodi:end="0.20334376"
d="m 65.589677,134.64025 a 21.831779,21.831779 0 0 1 8.058093,21.4723"
sodipodi:end="0.19400066"
sodipodi:start="5.3711551"
sodipodi:ry="19.516459"
sodipodi:rx="19.516459"
sodipodi:cy="167.87044"
sodipodi:cx="90.74073"
sodipodi:ry="21.831779"
sodipodi:rx="21.831779"
sodipodi:cy="151.90369"
sodipodi:cx="52.225536"
sodipodi:type="arc"
id="path3859"
style="fill:none;stroke:#ff0000;stroke-width:0.66500002;stroke-miterlimit:4;stroke-dasharray:2.66, 0.665;stroke-dashoffset:0" />
style="fill:none;stroke:#ff0000;stroke-width:1.15684474;stroke-miterlimit:4;stroke-dasharray:4.62737856, 1.15684464;stroke-dashoffset:0" />
<g
transform="matrix(0.352778,0,0,0.352778,79.556948,101.21694)"
transform="matrix(1.0196049,0,0,1.0196049,-18.111273,-27.404892)"
ns1:version="0.11.0"
ns1:texconverter="pdflatex"
ns1:pdfconverter="pdf2svg"
@ -480,7 +479,7 @@
</g>
</g>
<g
transform="matrix(0.352778,0,0,0.352778,56.170321,101.01024)"
transform="matrix(1.0050553,0,0,1.0050553,-98.135722,-35.85168)"
ns1:version="0.11.0"
ns1:texconverter="pdflatex"
ns1:pdfconverter="pdf2svg"
@ -562,7 +561,7 @@
</g>
</g>
<g
transform="matrix(0.352778,0,0,0.352778,43.988683,119.09699)"
transform="matrix(1.0565389,0,0,1.0565389,-86.462428,-5.8455544)"
ns1:version="0.11.0"
ns1:texconverter="pdflatex"
ns1:pdfconverter="pdf2svg"
@ -634,7 +633,7 @@
</g>
</g>
<g
transform="matrix(0.352778,0,0,0.352778,73.533467,131.67297)"
transform="matrix(1.047916,0,0,1.047916,-22.893714,44.040967)"
ns1:version="0.11.0"
ns1:texconverter="pdflatex"
ns1:pdfconverter="pdf2svg"
@ -660,7 +659,7 @@
</g>
</g>
<g
transform="matrix(0.352778,0,0,0.352778,37.666693,125.32966)"
transform="matrix(1.1076523,0,0,1.1076523,-118.27712,15.039285)"
ns1:version="0.11.0"
ns1:texconverter="pdflatex"
ns1:pdfconverter="pdf2svg"
@ -696,7 +695,7 @@
</g>
</g>
<g
transform="matrix(0.352778,0,0,0.352778,80.176989,71.050311)"
transform="matrix(0.61369825,0,0,0.61369825,33.848683,-16.526152)"
ns1:version="0.11.0"
ns1:texconverter="pdflatex"
ns1:pdfconverter="pdf2svg"
@ -722,7 +721,7 @@
</g>
</g>
<g
transform="matrix(0.352778,0,0,0.352778,56.91771,128.77601)"
transform="matrix(1.2343206,0,0,1.2343206,-94.501824,6.3060556)"
ns1:version="0.11.0"
ns1:texconverter="pdflatex"
ns1:pdfconverter="pdf2svg"

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File

@ -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){Distance};
\node at (20.825000\du,13.567500\du){Jarak};
\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;
@ -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){Position};
\node at (13.825000\du,13.567500\du){Posisi};
\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){Displacement};
\node at (27.825000\du,13.567500\du){Perpindahan};
\pgfsetlinewidth{0.100000\du}
\pgfsetdash{}{0pt}
\pgfsetdash{}{0pt}
@ -142,7 +142,7 @@
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (13.825000\du,18.067500\du){Simple Model};
\node at (13.825000\du,18.067500\du){Model yang simpel};
\definecolor{dialinecolor}{rgb}{1.000000, 0.976471, 0.494118}
\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;
@ -156,7 +156,7 @@
% setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor}
\node at (20.825000\du,18.067500\du){Model Real};
\node at (20.825000\du,18.067500\du){Model yang nyata};
\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){Real};
\node at (27.825000\du,18.067500\du){Secara Praktik};
\pgfsetlinewidth{0.100000\du}
\pgfsetdash{}{0pt}
\pgfsetdash{}{0pt}

View File

@ -293,6 +293,11 @@ harusnya robot itu bergerak untuk meminimalisasi error jaraknya.
\subsubsection{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.
Penentuan koordinat tentangga dapat ditemukan dengang mengubah koordinat polar menjadi koordinat kartesian.
Koordinat polar membutuhkan panjang $d_a$, dan sudut $\alpha$.
Panjang $d_a$ adalah variable yang didapat dari sensor yang memberikan nilai jarak dari robot $A$ ke robot $B$,
@ -314,7 +319,8 @@ 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}
\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]
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.
@ -356,6 +362,7 @@ Yaitu semua agent tidak berada pada kondisi sejajar secara koordinat global.
$\tetangga_i=getConnectionRobot()$, }
\KwOutput{$x_i^j$}
\If{isInisilised() == false}{
\tcc{inisialisasi}
\tcc{getRandomDirection() akan mengembalikan sudur random antara 0 - 360}
$dir = getRandomDirection()$\;
@ -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}<d_{after}$}
{
$ang = 180-ang$\;
}
\tcc{Menjadikan koordinat kartesian}
$x_i^j = \begin{bmatrix}
\Return $x_i^j = \begin{bmatrix}
d_{after} \cos(ang) \\
d_{after} \sin(ang)
\end{bmatrix}$\;
\caption{\textit{Algoritma inisialisasi}}
\label{algo:solution_initialitation}
\caption{\textit{Algoritma Cosinus}}
\label{algo:algoritma_cosinus}
\end{algorithm}
\subsubsection{Implementasi Kendali Formasi Dengan Kendali Robot}
@ -412,7 +429,7 @@ Sedangkan $r$ pada persamaan~\eqref{eq:ss-control-robot-implement} adalah koordi
\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:solution_initialitation} dengan kondisi robot tetangga dalam keadaan statis.
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}.
@ -442,7 +459,7 @@ Dari hasil analisa ini akan menghasilkan jarak terbaik untuk algoritma menentuka
\subsection{Analisa Percobaan Keseluruhan}
Percobaan keseluruhan akan menjalankan Algoritma \ref{algo:solution_initialitation} 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.

View File

@ -201,3 +201,44 @@ abstract = {SUMMARYWe study the local asymptotic stability of undirected formati
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."
}
@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."
}
@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},}