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} \section{Latar Belakang}
%-----------------------------------------------------------------------------% %-----------------------------------------------------------------------------%
Berdasarkan literatur oleh \kutip{Parker2003}, Kendali formasi adalah topik penelitian kendali multi-robot untuk memecahkan permasalahan koordinasi pergerakan (\kutip{Parker2003}).
kendali formasi adalah topik penelitian kendali multi-robot untuk memecahkan permasalahan koordinasi pergerakan.
Kendali formasi bertujuan untuk mengendalikan sekelompok robot dalam mencapai formasi tertentu Kendali formasi bertujuan untuk mengendalikan sekelompok robot dalam mencapai formasi tertentu
dan dapat mempertahankan formasi tersebut ketika bermanuver menuju arah yang diinginkan. 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 (\kutip{Guanghua2013}).
pengembangan kendali formasi dilakukan dari sisi algoritma strategi. Seperti pengembangan yang dilakukan oleh \kutip{6889491} menggunakan strategi \textit{leader-follower}.
Strategi yang dipaparkan adalah \textit{leader-follower}, struktur virtual, Strateginya adalah ditentukan salah satu dari sekolompok robot untuk dijadikan pemimpin.
berdasarkan tingkahlaku, menggunakan teori graph, dan memanfaatkan medan potensial buatan. 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. yaitu berdasarkan posisi, perpindahan, dan jarak.
Ketiga bagian tersebut tertuju pada jawaban dari pertanyaan, "variable apa yang digunakan 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 sebagai sensor" dan "variable apa yang aktif dikendalikan oleh sistem multi-robot untuk
mencapai formasi yang diinginkan". mencapai formasi yang diinginkan".
Menetapkan variable sebagai sensor dapat dilakukan berdasarkan kemampuan robot. 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 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. 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, Variable yang dikendalikan pada meteode ini adalah variabel jarak antar agent yang terhubung,
sehingga dibutuhkan kemampuan untuk agent saling berkomunikasi antar agent lain. 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 Pemeliharaan komunikasi juga menyumbang dalam permasalahan secara praktik, dan
kemampuan untuk menghindari rintangan juga dibutuhkan. 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. Penerapan kendali formasi berdasarkan jarak yang dikembangkan oleh \kutip{Rozenheck2015},
Teknologi komunikasi sekarang pun juga sudah bisa dikatakan bisa untuk diterapkan pada metode tersebut secara praktiknya. menunjukkan bahwa dengan memberikan kecepatan refrensi pada salh satu robot dapat mempertahankan formasi sekelompok robot menggunakan teori \textit{graph} dan kendali \textit{Proportional-Integral}.
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.
Faktanya, analisis yang dilakukan oleh peneliti menggunakan model sederhana dan Faktanya, analisis yang dilakukan oleh peneliti menggunakan model sederhana dan
pengukuran jarak antar tetangga diperoleh dari selisih koordinat global robot dan tetangganya. 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. 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. Dari penerapan penelitian tersebut terdapat kesenjangan terhadap analisis kendali dengan praktiknya.
Maka akan dikembangkan algoritma untuk mengestimasi koordinat menggunakan variable jarak saja. 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} \label{fig:kerangka_pen}
\end{figure} \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} \section{Definisi Permasalahan Kendali Formasi}
@ -23,17 +53,19 @@ Yaitu berbasis posisi, pergerakan, dan jarak.
Pembagian tersebut berdasarkan kemampuan sensor yang digunakan dan Pembagian tersebut berdasarkan kemampuan sensor yang digunakan dan
penggunaan komunikasi dalam metodenya. penggunaan komunikasi dalam metodenya.
Dari ketiga kategori tersebut, kendali formasi berbasis jarak sangat dibutuhkan pembahasan Dari ketiga kategori tersebut, kendali formasi berbasis jarak sangat dibutuhkan pembahasan
mengenai penerapan metode tersebut pada agent yang nyata. mengenai penerapan metode tersebut pada model yang nyata.
\textit{Simple model, Model real,} dan \textit{Real} dapat dikatakan sebuah tahap pengembangan. 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. \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. 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 agent secara \textit{Real}. Dengan bertambahnya kepraktisan diharapkan dapat diterapkan dalam model yang real.
Pada penelitian oleh \kutip{Rozenheck2015}, kendali formasi berdasarkan jarak dikendalikan Pada penelitian oleh \kutip{Rozenheck2015}, kendali formasi berdasarkan jarak dikendalikan
menggunakan kendali PI dan menghasilkan pergerakan yang baik. 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 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} \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" borderopacity="1.0"
inkscape:pageopacity="0.0" inkscape:pageopacity="0.0"
inkscape:pageshadow="2" inkscape:pageshadow="2"
inkscape:zoom="0.64" inkscape:zoom="0.45254834"
inkscape:cx="352.68774" inkscape:cx="-40.666924"
inkscape:cy="634.80157" inkscape:cy="666.7574"
inkscape:document-units="mm" inkscape:document-units="mm"
inkscape:current-layer="layer1" inkscape:current-layer="layer1"
showgrid="false" showgrid="false"
@ -293,14 +293,12 @@
inkscape:groupmode="layer" inkscape:groupmode="layer"
id="layer1"> id="layer1">
<g <g
id="g6491" id="g1357"
transform="matrix(1.739616,0,0,1.739616,-105.62849,-140.12641)"
inkscape:export-filename="./estimate_coordinate.png"
inkscape:export-xdpi="96" inkscape:export-xdpi="96"
inkscape:export-ydpi="96"> inkscape:export-ydpi="96">
<g <g
id="g4727" 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-x="2.156018"
inkscape:transform-center-y="-0.93939487"> inkscape:transform-center-y="-0.93939487">
<g <g
@ -330,7 +328,7 @@
<g <g
inkscape:transform-center-y="0.23723209" inkscape:transform-center-y="0.23723209"
inkscape:transform-center-x="-2.1736952" 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"> id="g3239">
<g <g
id="g2849" id="g2849"
@ -359,11 +357,11 @@
<path <path
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
id="path3323" id="path3323"
d="M 90.785761,167.82686 131.35003,115.4906" d="M 52.303872,151.82788 122.87012,60.782886"
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" /> 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 <g
id="g3475" 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-x="-2.1736952"
inkscape:transform-center-y="0.23723209"> inkscape:transform-center-y="0.23723209">
<g <g
@ -391,30 +389,31 @@
</g> </g>
</g> </g>
<path <path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
id="path3623" id="path3623"
d="m 125.48577,175.62126 5.86426,-60.13066" d="M 134.59301,172.11065 122.87012,60.782886"
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" /> 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 <path
sodipodi:nodetypes="cc" sodipodi:nodetypes="cc"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
id="path3625" id="path3625"
d="M 125.48577,175.62126 92.864631,168.20484" d="M 134.59301,172.11065 55.920308,152.48542"
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)" /> 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 <path
sodipodi:open="true" sodipodi:open="true"
d="m 102.68757,152.43783 a 19.516459,19.516459 0 0 1 7.16752,19.37387" d="m 65.589677,134.64025 a 21.831779,21.831779 0 0 1 8.058093,21.4723"
sodipodi:end="0.20334376" sodipodi:end="0.19400066"
sodipodi:start="5.3711551" sodipodi:start="5.3711551"
sodipodi:ry="19.516459" sodipodi:ry="21.831779"
sodipodi:rx="19.516459" sodipodi:rx="21.831779"
sodipodi:cy="167.87044" sodipodi:cy="151.90369"
sodipodi:cx="90.74073" sodipodi:cx="52.225536"
sodipodi:type="arc" sodipodi:type="arc"
id="path3859" 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 <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:version="0.11.0"
ns1:texconverter="pdflatex" ns1:texconverter="pdflatex"
ns1:pdfconverter="pdf2svg" ns1:pdfconverter="pdf2svg"
@ -480,7 +479,7 @@
</g> </g>
</g> </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:version="0.11.0"
ns1:texconverter="pdflatex" ns1:texconverter="pdflatex"
ns1:pdfconverter="pdf2svg" ns1:pdfconverter="pdf2svg"
@ -562,7 +561,7 @@
</g> </g>
</g> </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:version="0.11.0"
ns1:texconverter="pdflatex" ns1:texconverter="pdflatex"
ns1:pdfconverter="pdf2svg" ns1:pdfconverter="pdf2svg"
@ -634,7 +633,7 @@
</g> </g>
</g> </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:version="0.11.0"
ns1:texconverter="pdflatex" ns1:texconverter="pdflatex"
ns1:pdfconverter="pdf2svg" ns1:pdfconverter="pdf2svg"
@ -660,7 +659,7 @@
</g> </g>
</g> </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:version="0.11.0"
ns1:texconverter="pdflatex" ns1:texconverter="pdflatex"
ns1:pdfconverter="pdf2svg" ns1:pdfconverter="pdf2svg"
@ -696,7 +695,7 @@
</g> </g>
</g> </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:version="0.11.0"
ns1:texconverter="pdflatex" ns1:texconverter="pdflatex"
ns1:pdfconverter="pdf2svg" ns1:pdfconverter="pdf2svg"
@ -722,7 +721,7 @@
</g> </g>
</g> </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:version="0.11.0"
ns1:texconverter="pdflatex" ns1:texconverter="pdflatex"
ns1:pdfconverter="pdf2svg" 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 % setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} \definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor} \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} \definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
\pgfsetfillcolor{dialinecolor} \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; \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 % setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} \definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor} \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} \definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
\pgfsetfillcolor{dialinecolor} \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; \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 % setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} \definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor} \pgfsetstrokecolor{dialinecolor}
\node at (27.825000\du,13.567500\du){Displacement}; \node at (27.825000\du,13.567500\du){Perpindahan};
\pgfsetlinewidth{0.100000\du} \pgfsetlinewidth{0.100000\du}
\pgfsetdash{}{0pt} \pgfsetdash{}{0pt}
\pgfsetdash{}{0pt} \pgfsetdash{}{0pt}
@ -142,7 +142,7 @@
% setfont left to latex % setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} \definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor} \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} \definecolor{dialinecolor}{rgb}{1.000000, 0.976471, 0.494118}
\pgfsetfillcolor{dialinecolor} \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; \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 % setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} \definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor} \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} \definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
\pgfsetfillcolor{dialinecolor} \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; \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 % setfont left to latex
\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} \definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
\pgfsetstrokecolor{dialinecolor} \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} \pgfsetlinewidth{0.100000\du}
\pgfsetdash{}{0pt} \pgfsetdash{}{0pt}
\pgfsetdash{}{0pt} \pgfsetdash{}{0pt}

View File

@ -4,7 +4,7 @@
Sub bab ini akan dibahas mengenai prangkat penunjang sebagai pembatu dalam menyelesaikan penelitian. 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}. Sebagai langkah awal pengembangan, metode yang digunakan adalah \textit{Hardware-In Loop}.
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[scale=.5]{BAB3/img/hil_graph.png} \includegraphics[scale=.5]{BAB3/img/hil_graph.png}
\caption{Hardware-in-the-loop (\kutip{Jim1999}). } \caption{Hardware-in-the-loop (\kutip{Jim1999}). }
\label{fig:hil_graph} \label{fig:hil_graph}
@ -26,7 +26,7 @@ Pada prangkat PC akan dikembangkan program berbasis \textit{Python} yang akan
menjalankan simulasi model dan berkomunikasi dengan MCU secara \textit{real-time}. 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} 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}. 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}). 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. 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. Komunikasi antar prangkat pengendali akan digunakan untuk pertukaran informasi.
Sedangkan komunikasi dengan PC akan mempresentasikan aktuator dan sensor untuk setiap prangkat Sedangkan komunikasi dengan PC akan mempresentasikan aktuator dan sensor untuk setiap prangkat
@ -34,7 +34,7 @@ kendali. PC akan merekam setiap keluaran dari model dan masukan dari setiap pran
sebagai tampilan pergerakan robotnya. sebagai tampilan pergerakan robotnya.
\begin{figure} \begin{figure}
\centering \centering
\input{BAB4/img/Diagram_hil_controller.tex} \input{BAB4/img/Diagram_hil_controller.tex}
\caption{HIL Kendali Multi-Robot.} \caption{HIL Kendali Multi-Robot.}
\label{fig:hil_graph_1} \label{fig:hil_graph_1}
@ -68,10 +68,10 @@ teria yang diinginkan.
\subsubsection{State Feedback} \subsubsection{State Feedback}
\begin{figure} \begin{figure}
\centering \centering
\input{BAB4/img/statefeedback.tex} \input{BAB4/img/statefeedback.tex}
\caption{State-feedback Sistem} \caption{State-feedback Sistem}
\label{fig:state-feedback} \label{fig:state-feedback}
\end{figure} \end{figure}
Pada persamaan~\eqref{eq:ss1} diketahui bahwa state memiliki dimensi $6 \times 1$. Dimensi Pada persamaan~\eqref{eq:ss1} diketahui bahwa state memiliki dimensi $6 \times 1$. Dimensi
tersebut tidak menunjukan sistem memiliki orde 6. Apabila diperhatikan orde tersebut tidak menunjukan sistem memiliki orde 6. Apabila diperhatikan orde
@ -79,21 +79,21 @@ dari sistem adalah orde 2. Dengan membaginya kedalam 3 persamaan state-space
akan lebih mudah dalam analisis parameter kendalinya. Berikut adalah persamaan akan lebih mudah dalam analisis parameter kendalinya. Berikut adalah persamaan
\begin{align} \begin{align}
\begin{bmatrix}\dot{x}_p \\ \ddot{x}_r \end{bmatrix} & = \begin{bmatrix}\dot{x}_p \\ \ddot{x}_r \end{bmatrix} & =
\begin{bmatrix}0 & A_{14} \\ 0 & A_{44} \end{bmatrix} \begin{bmatrix}0 & A_{14} \\ 0 & A_{44} \end{bmatrix}
\begin{bmatrix}{x}_p \\ \dot{x}_r\end{bmatrix} + \begin{bmatrix}{x}_p \\ \dot{x}_r\end{bmatrix} +
\begin{bmatrix}0 & 0& 0 \\ B_{11} & B_{12} & B_{13} \end{bmatrix} \begin{bmatrix}0 & 0& 0 \\ B_{11} & B_{12} & B_{13} \end{bmatrix}
\begin{bmatrix}u_1 \\ u_2 \\ u_3 \end{bmatrix} + k_{44}sgn(\dot{x}_r) \label{eq:ssx} \\ \begin{bmatrix}u_1 \\ u_2 \\ u_3 \end{bmatrix} + k_{44}sgn(\dot{x}_r) \label{eq:ssx} \\
\begin{bmatrix}\dot{y}_p \\ \ddot{y}_r \end{bmatrix} & = \begin{bmatrix}\dot{y}_p \\ \ddot{y}_r \end{bmatrix} & =
\begin{bmatrix}0 & A_{25} \\ 0 & A_{55} \end{bmatrix} \begin{bmatrix}0 & A_{25} \\ 0 & A_{55} \end{bmatrix}
\begin{bmatrix}{y}_p \\ \dot{y}_r\end{bmatrix} + \begin{bmatrix}{y}_p \\ \dot{y}_r\end{bmatrix} +
\begin{bmatrix}0 & 0& 0 \\ B_{21} & B_{22} & B_{23} \end{bmatrix} \begin{bmatrix}0 & 0& 0 \\ B_{21} & B_{22} & B_{23} \end{bmatrix}
\begin{bmatrix}u_1 \\ u_2 \\ u_3 \end{bmatrix} + k_{55}sgn(\dot{y}_r)\label{eq:ssy} \\ \begin{bmatrix}u_1 \\ u_2 \\ u_3 \end{bmatrix} + k_{55}sgn(\dot{y}_r)\label{eq:ssy} \\
\begin{bmatrix}\dot{\theta}_p \\ \ddot{\theta}_r\end{bmatrix} & = \begin{bmatrix}\dot{\theta}_p \\ \ddot{\theta}_r\end{bmatrix} & =
\begin{bmatrix}0 & A_{34} \\ 0 & A_{66} \end{bmatrix} \begin{bmatrix}0 & A_{34} \\ 0 & A_{66} \end{bmatrix}
\begin{bmatrix}{\theta}_p \\ \dot{\theta}_r\end{bmatrix} + \begin{bmatrix}{\theta}_p \\ \dot{\theta}_r\end{bmatrix} +
\begin{bmatrix}0 & 0& 0 \\ B_{31} & B_{32} & B_{33} \end{bmatrix} \begin{bmatrix}0 & 0& 0 \\ B_{31} & B_{32} & B_{33} \end{bmatrix}
\begin{bmatrix}u_1 \\ u_2 \\ u_3 \end{bmatrix} + k_{66}sgn(\dot{\theta}_r) \label{eq:ssthe} \begin{bmatrix}u_1 \\ u_2 \\ u_3 \end{bmatrix} + k_{66}sgn(\dot{\theta}_r) \label{eq:ssthe}
\end{align} \end{align}
State feedback membutuhkan kembalian nilai state dari sistem dan mengka- State feedback membutuhkan kembalian nilai state dari sistem dan mengka-
@ -122,24 +122,24 @@ maka \textit{observer} tidak dibutuhkan dalam desain kendali robot.
\label{table:parameter_model} \label{table:parameter_model}
\begin{center} \begin{center}
\begin{tabular}{| c | c | c |} \begin{tabular}{| c | c | c |}
\hline \hline
Simbol & Deskripsi & Nilai\\ \hline Simbol & Deskripsi & Nilai \\ \hline
$B_v (N/m/s)$ & viscous friction coefficient related to v & 0.94 \\ $B_v (N/m/s)$ & viscous friction coefficient related to v & 0.94 \\
$B_{vn} (N/m/s)$ & viscous friction coefficient related to vn & 0.96 \\ $B_{vn} (N/m/s)$ & viscous friction coefficient related to vn & 0.96 \\
$B_\omega (N/rad/s)$ &viscous friction coefficient related to $\omega$ & 0.01 \\ $B_\omega (N/rad/s)$ & viscous friction coefficient related to $\omega$ & 0.01 \\
$C_v (N )$ & coulomb friction coefficient related to v & 2.2 \\ $C_v (N )$ & coulomb friction coefficient related to v & 2.2 \\
$C_{vn} (N )$ & coulomb friction coefficient related to vn & 1.5 \\ $C_{vn} (N )$ & coulomb friction coefficient related to vn & 1.5 \\
$C_\omega (N.m)$ & coulomb friction coefficient related to $\omega$ & 0.099 \\ $C_\omega (N.m)$ & coulomb friction coefficient related to $\omega$ & 0.099 \\
$b(m)$ & radius of the robot & 0.1 \\ $b(m)$ & radius of the robot & 0.1 \\
$M (kg)$ & mass of the robot & 1.5 \\ $M (kg)$ & mass of the robot & 1.5 \\
$In(kg.m^2 )$ & inertia moment of the robot & 0.025 \\ $In(kg.m^2 )$ & inertia moment of the robot & 0.025 \\
$\delta$ & angle & $30^\circ$ \\ $\delta$ & angle & $30^\circ$ \\
$r_1 , r_2 , r_3 (m)$ &radius of the wheels & 0.035 \\ $r_1 , r_2 , r_3 (m)$ & radius of the wheels & 0.035 \\
$l_1, l_2, l_3$ & reduction of the motors & 19:1 \\ $l_1, l_2, l_3$ & reduction of the motors & 19:1 \\
$L_{a1...3} (H)$ & motors armature inductance & 0.00011 \\ $L_{a1...3} (H)$ & motors armature inductance & 0.00011 \\
$R_{a1...3} (\Omega)$ & motors armature resistance & 1.69 \\ $R_{a1...3} (\Omega)$ & motors armature resistance & 1.69 \\
$K_v (V olts/rad/$s) & motors emf constant & 0.0059 \\ $K_v (V olts/rad/$s) & motors emf constant & 0.0059 \\
$K_{t1...3}$ (N.m/A) & motors torque constant & 0.0059\\ $K_{t1...3}$ (N.m/A) & motors torque constant & 0.0059 \\
\hline \hline
\end{tabular} \end{tabular}
\end{center} \end{center}
@ -151,21 +151,21 @@ Berdasarkan \kutip{Richard2010}, bahwa kendali optimal berdasarkan indeks kinerj
Kendali optimal dilakukan oleh komputer untuk mengkalkulasi minimal indeks tersebut. Kendali optimal dilakukan oleh komputer untuk mengkalkulasi minimal indeks tersebut.
Apabila sebuah sistem \textit{state space} Apabila sebuah sistem \textit{state space}
\begin{align*} \begin{align*}
\dot{x} & = Ax + Bu \\ \dot{x} & = Ax + Bu \\
u & = -K_sx u & = -K_sx
\end{align*} \end{align*}
maka indeks kinerja maka indeks kinerja
\begin{align} \begin{align}
J & = \int_0^{\infty} (x^T Q x + u^TRu ) dt J & = \int_0^{\infty} (x^T Q x + u^TRu ) dt
\end{align} \end{align}
dimana $Q$ adalah matriks diagonal $n \times n$, $R$ adalah matriks diagonal $m \times m$ dan keduanya adalah matriks pembobot terhadap state sistem dan input. dimana $Q$ adalah matriks diagonal $n \times n$, $R$ adalah matriks diagonal $m \times m$ dan keduanya adalah matriks pembobot terhadap state sistem dan input.
Ketika indeks terminimalisasi, maka Ketika indeks terminimalisasi, maka
\begin{align} \begin{align}
K_s = R^{-1}B^TP K_s = R^{-1}B^TP
\end{align} \end{align}
dengan matriks P $n \times n$ ditentukan dari solusi persamaan \textit{Riccati}. dengan matriks P $n \times n$ ditentukan dari solusi persamaan \textit{Riccati}.
\begin{align} \begin{align}
A^TP+PA-PBR^{-1}B^TP+Q=0 A^TP+PA-PBR^{-1}B^TP+Q=0
\end{align} \end{align}
% here is it KST from octave % here is it KST from octave
% 0.00000 -21.08185 3.33333 0.00000 -3.74993 0.99738 % 0.00000 -21.08185 3.33333 0.00000 -3.74993 0.99738
@ -189,14 +189,14 @@ Berikut adalah hasil kalkulasi.
3.33333 & 0.99738 \\ 3.33333 & 0.99738 \\
3.33333 & 0.99738 \\ 3.33333 & 0.99738 \\
3.33333 & 0.99738 \\ 3.33333 & 0.99738 \\
\end{bmatrix} = \begin{bmatrix} K_{s}^{\theta 1} & K_{s}^{\theta 2} \end{bmatrix} \end{bmatrix} = \begin{bmatrix} K_{s}^{\theta 1} & K_{s}^{\theta 2} \end{bmatrix}
\end{align*} \end{align*}
Apabila diintegrasi terhadap persamaan~\eqref{eq:ss1} terhadap diagram~\ref{fig:state-feedback} Apabila diintegrasi terhadap persamaan~\eqref{eq:ss1} terhadap diagram~\ref{fig:state-feedback}
\begin{align} \begin{align}
K_s = \begin{bmatrix} K_s = \begin{bmatrix}
K_{s}^{x1} & K_{s}^{y1} & K_{s}^{\theta 1} & K_{s}^{x1} & K_{s}^{y1} & K_{s}^{\theta 1} &
K_{s}^{x2} & K_{s}^{y2} & K_{s}^{\theta 2} K_{s}^{x2} & K_{s}^{y2} & K_{s}^{\theta 2}
\end{bmatrix} \end{bmatrix}
\end{align} \end{align}
Setelah mendapatkan konstanta $K_s$, sistem sudah dalam keadaan stabil. Setelah mendapatkan konstanta $K_s$, sistem sudah dalam keadaan stabil.
@ -205,7 +205,7 @@ Maka permasalahan tersebut dapat diselesaikan dengan \textit{input refrence}.
Dimana refrence tersebut akan dikalikan dengan konstanta $N$. Dimana refrence tersebut akan dikalikan dengan konstanta $N$.
Berikut adalah persamaan \textit{input refrence} sebagai penambah dari \textit{state feedback}. Berikut adalah persamaan \textit{input refrence} sebagai penambah dari \textit{state feedback}.
\begin{align} \begin{align}
u(t) = -Kx(t)+Nr u(t) = -Kx(t)+Nr
\end{align} \end{align}
Sehingga persamaan \textit{state space} menjadi berikut. Sehingga persamaan \textit{state space} menjadi berikut.
\begin{align} \begin{align}
@ -217,12 +217,12 @@ Sehingga persamaan \textit{state space} menjadi berikut.
\end{align} \end{align}
Untuk mendapatkan nilai $N$ maka dapat diasumsikan bahwa sistem dalam keadaan \textit{steady state}, yaitu $\dot{x} = 0$, sehingga persamaan state space menjadi berikut. Untuk mendapatkan nilai $N$ maka dapat diasumsikan bahwa sistem dalam keadaan \textit{steady state}, yaitu $\dot{x} = 0$, sehingga persamaan state space menjadi berikut.
\begin{align} \begin{align}
x & = -(A-BK_s)^{-1}BNr x & = -(A-BK_s)^{-1}BNr
\end{align} \end{align}
Dalam keadaan \textit{steady state}, harapannya adalah nilai refrence sama dengan nilai keluaran, $y=r$. Dalam keadaan \textit{steady state}, harapannya adalah nilai refrence sama dengan nilai keluaran, $y=r$.
Sehingga dapat diperoleh persamaan $N$. Sehingga dapat diperoleh persamaan $N$.
\begin{align} \begin{align}
N & = -[C(A-BK_s)^{-1}B]^{-1} N & = -[C(A-BK_s)^{-1}B]^{-1}
\end{align} \end{align}
Berikut adalah hasil kalkulasi dari rumus $N$ menggunakan matriks pada persamaan~\eqref{eq:ssx},\eqref{eq:ssy}, dan \eqref{eq:ssthe}. Berikut adalah hasil kalkulasi dari rumus $N$ menggunakan matriks pada persamaan~\eqref{eq:ssx},\eqref{eq:ssy}, dan \eqref{eq:ssthe}.
@ -231,52 +231,52 @@ Berikut adalah hasil kalkulasi dari rumus $N$ menggunakan matriks pada persamaan
% -18.25742 10.54093 3.33333 0.00000 0.00000 0.00000 % -18.25742 10.54093 3.33333 0.00000 0.00000 0.00000
\begin{align*} \begin{align*}
N^x & = \begin{bmatrix} N^x & = \begin{bmatrix}
0.00000 & 0.00000 \\ 0.00000 & 0.00000 \\
18.25742 & 0.00000 \\ 18.25742 & 0.00000 \\
-18.25742 & 0.00000 -18.25742 & 0.00000
\end{bmatrix} = \begin{bmatrix}N^{x1} & N^{x2}\end{bmatrix}\\ \end{bmatrix} = \begin{bmatrix}N^{x1} & N^{x2}\end{bmatrix} \\
N^y & = \begin{bmatrix} N^y & = \begin{bmatrix}
-21.08185& 0.00000 \\ -21.08185 & 0.00000 \\
10.54093 & 0.00000 \\ 10.54093 & 0.00000 \\
10.54093 & 0.00000 10.54093 & 0.00000
\end{bmatrix} = \begin{bmatrix}N^{y1} & N^{y2}\end{bmatrix}\\ \end{bmatrix} = \begin{bmatrix}N^{y1} & N^{y2}\end{bmatrix} \\
N^\theta & = \begin{bmatrix} N^\theta & = \begin{bmatrix}
3.33333 & 0.00000 \\ 3.33333 & 0.00000 \\
3.33333 & 0.00000 \\ 3.33333 & 0.00000 \\
3.33333 & 0.00000 3.33333 & 0.00000
\end{bmatrix} = \begin{bmatrix}N^{\theta 1} & N^{\theta 2}\end{bmatrix}\\ \end{bmatrix} = \begin{bmatrix}N^{\theta 1} & N^{\theta 2}\end{bmatrix} \\
\end{align*} \end{align*}
Apabila diintegrasi terhadap persamaan~\eqref{eq:ss1} terhadap diagram~\ref{fig:state-feedback} Apabila diintegrasi terhadap persamaan~\eqref{eq:ss1} terhadap diagram~\ref{fig:state-feedback}
\begin{align} \begin{align}
N = \begin{bmatrix} N = \begin{bmatrix}
N^{x1} & N^{y1} & N^{\theta 1} & N^{x1} & N^{y1} & N^{\theta 1} &
N^{x2} & N^{y2} & N^{\theta 2} N^{x2} & N^{y2} & N^{\theta 2}
\end{bmatrix} \end{bmatrix}
\end{align} \end{align}
\begin{figure} \begin{figure}
\begin{center} \begin{center}
\begin{subfigure}[t]{.3\linewidth} \begin{subfigure}[t]{.3\linewidth}
\dataGraph{t}{x}{t}{x}{BAB4/data_response.csv} \dataGraph{t}{x}{t}{x}{BAB4/data_response.csv}
\end{subfigure} \end{subfigure}
\begin{subfigure}[t]{.3\linewidth} \begin{subfigure}[t]{.3\linewidth}
\dataGraph{t}{y}{t}{y}{BAB4/data_response.csv} \dataGraph{t}{y}{t}{y}{BAB4/data_response.csv}
\end{subfigure} \end{subfigure}
\begin{subfigure}[t]{.3\linewidth} \begin{subfigure}[t]{.3\linewidth}
\dataGraph{t}{theta}{t}{$\theta$}{BAB4/data_response.csv} \dataGraph{t}{theta}{t}{$\theta$}{BAB4/data_response.csv}
\end{subfigure} \end{subfigure}
\begin{subfigure}[t]{.3\linewidth} \begin{subfigure}[t]{.3\linewidth}
\dataGraph{t}{dx}{t}{$\dot{x}$}{BAB4/data_response.csv} \dataGraph{t}{dx}{t}{$\dot{x}$}{BAB4/data_response.csv}
\end{subfigure} \end{subfigure}
\begin{subfigure}[t]{.3\linewidth} \begin{subfigure}[t]{.3\linewidth}
\dataGraph{t}{dy}{t}{$\dot{y}$}{BAB4/data_response.csv} \dataGraph{t}{dy}{t}{$\dot{y}$}{BAB4/data_response.csv}
\end{subfigure} \end{subfigure}
\begin{subfigure}[t]{.3\linewidth} \begin{subfigure}[t]{.3\linewidth}
\dataGraph{t}{dtheta}{t}{$\dot{\theta}$}{BAB4/data_response.csv} \dataGraph{t}{dtheta}{t}{$\dot{\theta}$}{BAB4/data_response.csv}
\end{subfigure} \end{subfigure}
\captionsetup{singlelinecheck=off} \captionsetup{singlelinecheck=off}
\caption[.]{\centering Grafik state terhadap t dengan state refrensi $ r = \begin{bmatrix}6 & -3 & -90 &0 &0 &0\end{bmatrix} $ } \caption[.]{\centering Grafik state terhadap t dengan state refrensi $ r = \begin{bmatrix}6 & -3 & -90 &0 &0 &0\end{bmatrix} $ }
\end{center} \end{center}
\end{figure} \end{figure}
\subsection{Kendali Formasi Multi Robot} \subsection{Kendali Formasi Multi Robot}
@ -293,6 +293,11 @@ harusnya robot itu bergerak untuk meminimalisasi error jaraknya.
\subsubsection{Strategi Penentuan Koordinat Tetangga} \subsubsection{Strategi Penentuan Koordinat Tetangga}
\label{bab:empat:Strategi_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. Penentuan koordinat tentangga dapat ditemukan dengang mengubah koordinat polar menjadi koordinat kartesian.
Koordinat polar membutuhkan panjang $d_a$, dan sudut $\alpha$. 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$, Panjang $d_a$ adalah variable yang didapat dari sensor yang memberikan nilai jarak dari robot $A$ ke robot $B$,
@ -300,10 +305,10 @@ akan tetapi untuk mendapatkan koordinat polar, pengukuran sudu $\alpha$ tidak te
Algoritama yang ditawarkan memanfaatkan hukum \textit{cosinus} pada segitiga untuk mendapatkan sudut tersebut. Algoritama yang ditawarkan memanfaatkan hukum \textit{cosinus} pada segitiga untuk mendapatkan sudut tersebut.
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[scale=.5]{BAB3/img/estimate_coordinate.png} \includegraphics[scale=.5]{BAB3/img/estimate_coordinate.png}
\caption{Strategi Penentuan Koordinat} \caption{Strategi Penentuan Koordinat}
\label{fig:strategiPenentuanKoordinat} \label{fig:strategiPenentuanKoordinat}
\end{figure} \end{figure}
Dapat diperhatikan pada gambar~\ref{fig:strategiPenentuanKoordinat} untuk gambaran strateginya. Dapat diperhatikan pada gambar~\ref{fig:strategiPenentuanKoordinat} untuk gambaran strateginya.
@ -314,17 +319,18 @@ 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]$. Disimpan kembali nilai jara $d_a$, atau dinotasikan dengan $d_a[k+1]$.
Setalah itu dapat ditentukan sudut $\alpha[k+1]$ Setalah itu dapat ditentukan sudut $\alpha[k+1]$
\begin{align} \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])} \\
\label{eq:algo_getAngle} \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} \end{align}
Sebelum $\alpha[k+1]$ digunakan, jarak $d_a[k+1]$ dan $d_a[k]$ berpengaruh dalam penentuan koordinat. Sebelum $\alpha[k+1]$ digunakan, jarak $d_a[k+1]$ dan $d_a[k]$ berpengaruh dalam penentuan koordinat.
Sehingga diperlukan sedikit algoritma Sehingga diperlukan sedikit algoritma
\begin{align} \begin{align}
\alpha_i= \alpha_i=
\begin{cases} \begin{cases}
\alpha[k+1] & ,d_a[k+1] > d_a[k] \\ \alpha[k+1] & ,d_a[k+1] > d_a[k] \\
180-\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{cases}.\label{eq:init_relatif_koordinat}
\end{align} \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$, 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 keadaan robot $B$ bergerak, yaitu mengirimkan informasi kecepatan koordinatnya
ke robot $A$. Lalu robot $A$ dapat mengkalkulasi koordinat relatif dengan persamaan berikut ke robot $A$. Lalu robot $A$ dapat mengkalkulasi koordinat relatif dengan persamaan berikut
\begin{align} \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} \end{align}
dimana kondisi inisial adalah $\alpha[k] = \alpha_i$ diperoleh dari hasil strategi pada persamaan~\eqref{eq:init_relatif_koordinat}. 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 Dengan memanfaatkan kedua strategi tersebut dapat digunakan untuk
mengkalkulasi koordinat robot $B$ relatif terhadap robot $A$ mengkalkulasi koordinat robot $B$ relatif terhadap robot $A$
\begin{align} \begin{align}
x_B^A = \begin{bmatrix} x_B^A = \begin{bmatrix}
x_B = d_a[k]\cos \alpha[k] \\ x_B = d_a[k]\cos \alpha[k] \\
y_B = d_a[k]\sin \alpha[k] y_B = d_a[k]\sin \alpha[k]
\end{bmatrix} \end{bmatrix}
\end{align} \end{align}
Dalam strategi ini akan terjadi ketidak akuratan dalam pengukuran apabila target ukur Dalam strategi ini akan terjadi ketidak akuratan dalam pengukuran apabila target ukur
berada pada sudut $90^\circ$. berada pada sudut $90^\circ$.
@ -352,10 +358,11 @@ Yaitu semua agent tidak berada pada kondisi sejajar secara koordinat global.
\begin{algorithm} \begin{algorithm}
\DontPrintSemicolon \DontPrintSemicolon
\KwInput{ \KwInput{
Integer $l_a>0$, Integer $l_a>0$,
$\tetangga_i=getConnectionRobot()$, } $\tetangga_i=getConnectionRobot()$, }
\KwOutput{$x_i^j$} \KwOutput{$x_i^j$}
\If{isInisilised() == false}{
\tcc{inisialisasi} \tcc{inisialisasi}
\tcc{getRandomDirection() akan mengembalikan sudur random antara 0 - 360} \tcc{getRandomDirection() akan mengembalikan sudur random antara 0 - 360}
$dir = getRandomDirection()$\; $dir = getRandomDirection()$\;
@ -363,7 +370,7 @@ Yaitu semua agent tidak berada pada kondisi sejajar secara koordinat global.
$r = \begin{bmatrix} $r = \begin{bmatrix}
l_a \cos(dir) \\ l_a \cos(dir) \\
l_a \sin(dir) l_a \sin(dir)
\end{bmatrix}$\; \end{bmatrix}$\;
\tcc{Menjalankan robot hingga mencapai setpoint} \tcc{Menjalankan robot hingga mencapai setpoint}
\While{isSetpointReached()}{ \While{isSetpointReached()}{
@ -375,17 +382,27 @@ Yaitu semua agent tidak berada pada kondisi sejajar secara koordinat global.
\tcc{Mengkalkulasi sudut} \tcc{Mengkalkulasi sudut}
$ang = cos^{-1}\Bigg[ \frac{l_a^2 + d_{after}^2 -d_{before}^2}{2d_{before}l_a} \Bigg]$\; $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}$} \If{$d_{before}<d_{after}$}
{ {
$ang = 180-ang$\; $ang = 180-ang$\;
} }
\tcc{Menjadikan koordinat kartesian} \tcc{Menjadikan koordinat kartesian}
$x_i^j = \begin{bmatrix} \Return $x_i^j = \begin{bmatrix}
d_{after} \cos(ang) \\ d_{after} \cos(ang) \\
d_{after} \sin(ang) d_{after} \sin(ang)
\end{bmatrix}$\; \end{bmatrix}$\;
\caption{\textit{Algoritma inisialisasi}}
\label{algo:solution_initialitation} \caption{\textit{Algoritma Cosinus}}
\label{algo:algoritma_cosinus}
\end{algorithm} \end{algorithm}
\subsubsection{Implementasi Kendali Formasi Dengan Kendali Robot} \subsubsection{Implementasi Kendali Formasi Dengan Kendali Robot}
@ -403,31 +420,31 @@ Dengan menulis ulang persamaan~\eqref{eq:ss-control-robot} dengan notasi baru ak
\end{align} \end{align}
Apabila diasumsikan state pada persamaan~\eqref{eq:ss-formasi} sebagai berikut Apabila diasumsikan state pada persamaan~\eqref{eq:ss-formasi} sebagai berikut
\begin{align*} \begin{align*}
x(t) &= \begin{bmatrix} x(t) & = \begin{bmatrix}
y_r^T & y_{rj1}^T & y_{rj2}^T & \dots & y_{rjn}^T y_r^T & y_{rj1}^T & y_{rj2}^T & \dots & y_{rjn}^T
\end{bmatrix}^T , \quad (i,jn) \in \sisi \end{bmatrix}^T , \quad (i,jn) \in \sisi
\end{align*} \end{align*}
maka $y_{rjn}$ adalah koordinat yang didapat dari algoritma atau hasil pengiriman data dari robot tetangga. 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} 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} \section{Strategi Uji Coba}
Strategi ujicoba akan diawali dengan menghitung kesetabilan menggunakan teori Euler pada Bab \ref{bab:dua:solusi_ODE}. 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. Percobaan tersebut bermaksut untuk menguji apakah algoritma berjalan dengan benar.
Langkah terakhir adalah percobaan keseluruhan robot menggunakan Algoritma yang dikembangkan Langkah terakhir adalah percobaan keseluruhan robot menggunakan Algoritma yang dikembangkan
dengan skenario percobaan yang sama dengan penelitian sebelumnya oleh \kutip{Rozenheck2015}. dengan skenario percobaan yang sama dengan penelitian sebelumnya oleh \kutip{Rozenheck2015}.
\begin{figure} \begin{figure}
\centering \centering
\input{BAB4/img/implement-control.tex} \input{BAB4/img/implement-control.tex}
\caption{Kendali keseluruhan} \caption{Kendali keseluruhan}
\label{fig:all-control} \label{fig:all-control}
\end{figure} \end{figure}
\subsection{Analisa Kesetabilan Model} \subsection{Analisa Kesetabilan Model}
Perhitungan kesetabilan akan menggunakan parameter model dari penelitian sebelumnya, dapat diperhatikan di Tabel \ref{tab:param_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}. 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}. 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. 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}. Dari hasil analisa ini akan menghasilkan parameter waktu sampling ($h$) untuk menjalankan Algoritma~\ref{algo:eEuler}.
@ -435,16 +452,16 @@ Pembuktian secara grafik sangat dibutuhkan untuk mengetahui respon model.
\subsection{Analisa Algoritama Dengan Tetangga Statis} \subsection{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. 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. 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. 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: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. 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. Dengan hipotesis, keseluruhan robot akan menjaga jarak formasi dengan baik.
\subsection{Jadwal Penelitian} \subsection{Jadwal Penelitian}
@ -455,25 +472,25 @@ Dengan hipotesis, keseluruhan robot akan menjaga jarak formasi dengan baik.
% } % }
% } % }
\begin{enumerate} \begin{enumerate}
\item Analisa kestabilan model \item Analisa kestabilan model
\begin{enumerate} \begin{enumerate}
\item Pengembangan dan test Individu Model(1) \item Pengembangan dan test Individu Model(1)
\end{enumerate} \end{enumerate}
\item Analisa algoritma dengan tetangga statis \item Analisa algoritma dengan tetangga statis
\begin{enumerate} \begin{enumerate}
\item Pengembangan dan test Kendali (1) \item Pengembangan dan test Kendali (1)
\item Pengembangan dan test Koneksi antara Individu Model dan Kendali (2) \item Pengembangan dan test Koneksi antara Individu Model dan Kendali (2)
\item Pengembangan dan test Algoritma dengan tetangga yang statis (2) \item Pengembangan dan test Algoritma dengan tetangga yang statis (2)
\end{enumerate} \end{enumerate}
\item Analisa algoritma keseluruhan \item Analisa algoritma keseluruhan
\begin{enumerate} \begin{enumerate}
\item Pengembangan dan test Algoritma komunikasi antar kendali (3) \item Pengembangan dan test Algoritma komunikasi antar kendali (3)
\item Pengembangan dan test Algoritma keseluruhan (3) \item Pengembangan dan test Algoritma keseluruhan (3)
\end{enumerate} \end{enumerate}
\end{enumerate} \end{enumerate}
\begin{gantt}{7}{12} \begin{gantt}{7}{12}
\begin{ganttitle} \begin{ganttitle}
\numtitle{1}{1}{12}{1} \numtitle{1}{1}{12}{1}
\end{ganttitle} \end{ganttitle}
\ganttbar{1.a}{0}{1} \ganttbar{1.a}{0}{1}
\ganttbarcon{2.a}{1}{1} \ganttbarcon{2.a}{1}{1}

View File

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