Tambah sub bab kendali robot
							parent
							
								
									9132195dae
								
							
						
					
					
						commit
						62f9819a66
					
				
							
								
								
									
										324
									
								
								BAB4/bab4.tex
								
								
								
								
							
							
						
						
									
										324
									
								
								BAB4/bab4.tex
								
								
								
								
							| 
						 | 
				
			
			@ -1,70 +1,280 @@
 | 
			
		|||
%-----------------------------------------------------------------------------%
 | 
			
		||||
\chapter{\babEmpat}
 | 
			
		||||
%-----------------------------------------------------------------------------%
 | 
			
		||||
\todo{tambahkan kata-kata pengantar bab 1 disini}
 | 
			
		||||
 | 
			
		||||
%-----------------------------------------------------------------------------%
 | 
			
		||||
\section{thesis.tex}
 | 
			
		||||
%-----------------------------------------------------------------------------%
 | 
			
		||||
Berkas ini berisi seluruh berkas Latex yang dibaca, jadi bisa dikatakan sebagai 
 | 
			
		||||
berkas utama. Dari berkas ini kita dapat mengatur bab apa saja yang ingin 
 | 
			
		||||
kita tampilkan dalam dokumen.
 | 
			
		||||
\section{Strategi Kendali Multi Robot}
 | 
			
		||||
 | 
			
		||||
Analisa akan dilakukan dalam beberapa bagian agar mudah dipahami dan diterapkan.
 | 
			
		||||
Analisa tersebut adalah mengenai kendali dari model dinamika robot dan kendali formasi,
 | 
			
		||||
dan mengenai metode percobaan akan dibahas secara matematis, simulasi, dan HIL.\
 | 
			
		||||
 | 
			
		||||
\subsection{Kendali Robot}
 | 
			
		||||
Pada kendali robot akan dibahas mengenai analisis kendali robot menggunakan
 | 
			
		||||
state-space feedback. Kendali robot ini adalah kendali tahap akhir dari kendali ke-
 | 
			
		||||
seluruhan. Dapat diperhatikan pada persamaan~\eqref{eq:ss-formasi}, sebagai kendali tahap awal,
 | 
			
		||||
bahwa state yang digunakan adalah koordinat. Maka koordinat tersebut akan men-
 | 
			
		||||
jadi set point bagi robot. Variable yang dikendalikan pada kendali robot adalah
 | 
			
		||||
koordinat robot dari kondisi inisial. Koordinat disini adalah koordinat state pada
 | 
			
		||||
persamaan~\eqref{eq:ss1}. Pada sub bab ini akan didefinisi mengenai kriteria pencapaian
 | 
			
		||||
set point dan membahas parameter kendali state-space feedback agar mencapai kri-
 | 
			
		||||
teria yang diinginkan.
 | 
			
		||||
 | 
			
		||||
\subsubsection{State Feedback}
 | 
			
		||||
\todo{Gambar grafik state space feedback}
 | 
			
		||||
Pada persamaan~\eqref{eq:ss1} diketahui bahwa state memiliki dimensi $6 \times 1$. Dimensi
 | 
			
		||||
tersebut tidak menunjukan sistem memiliki orde 6. Apabila diperhatikan orde
 | 
			
		||||
dari sistem adalah orde 2. Dengan membaginya kedalam 3 persamaan state-space
 | 
			
		||||
akan lebih mudah dalam analisis parameter kendalinya. Berikut adalah persamaan
 | 
			
		||||
 | 
			
		||||
\begin{align}
 | 
			
		||||
    \begin{bmatrix}\dot{x}_p \\ \ddot{x}_r \end{bmatrix} &=
 | 
			
		||||
    \begin{bmatrix}0 & A_{14} \\ 0 & A_{44}  \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}u_1 \\ u_2 \\ u_3 \end{bmatrix} + K_{44}sgn(\dot{x}_r) \\
 | 
			
		||||
    \begin{bmatrix}\dot{y}_p \\ \ddot{y}_r \end{bmatrix} &=
 | 
			
		||||
    \begin{bmatrix}0 & A_{25} \\ 0 & A_{55}  \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}u_1 \\ u_2 \\ u_3 \end{bmatrix} + K_{55}sgn(\dot{y}_r) \\
 | 
			
		||||
    \begin{bmatrix}\dot{\theta}_p \\ \ddot{\theta}_r\end{bmatrix} &=
 | 
			
		||||
    \begin{bmatrix}0 & A_{34} \\ 0 & A_{66}  \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}u_1 \\ u_2 \\ u_3 \end{bmatrix} + K_{66}sgn(\dot{\theta}_r)
 | 
			
		||||
\end{align}
 | 
			
		||||
 | 
			
		||||
State feedback membutuhkan kembalian nilai state dari sistem dan mengka-
 | 
			
		||||
likanya dengan besaran tertentu agar nilai karakteristik sistem tetap dalam keadaan
 | 
			
		||||
stabil atau sesuai ketentuan. Secara umum, state tidak dapat diperoleh langsung dari
 | 
			
		||||
sistem. Kemampuan untuk memperoleh state dari sistem langsung disebut dengan
 | 
			
		||||
kemampuan Observablity. Apabila sebuh sistem tidak Observable, maka dalam
 | 
			
		||||
kendalinya dibutuhkan Observer. Dimana tugasnya adalah mengestimasi state pada
 | 
			
		||||
sistem dengan membandingkan keluaran dan masukan. Syarat untuk dapat diterap-
 | 
			
		||||
kan state feedback, sistem harus observable dan controlable. Berikut adalah rumus
 | 
			
		||||
untuk menguji apakah sistem bersifat controlable atau tidak (Dorf, dkk (2010)).
 | 
			
		||||
 | 
			
		||||
\begin{align*} P_c = \begin{bmatrix} B & AB & A^2B & \dots & A^{n-1}B \end{bmatrix}\end{align*}
 | 
			
		||||
\begin{align} rank[P_c] = n \end{align}
 | 
			
		||||
 | 
			
		||||
Apabila hasil dari $rank(P_c ) \neq n$ maka sistem tidak controlable. Sedangkan untuk
 | 
			
		||||
menguji observable dapat menggunakan rumus berikut.
 | 
			
		||||
 | 
			
		||||
\begin{align*} P_o = \begin{bmatrix} C \\ CA & CA^2 & \vdots & CA^{n-1} \end{bmatrix}\end{align*}
 | 
			
		||||
\begin{align} rank[P_o] = n \end{align}
 | 
			
		||||
 | 
			
		||||
Apabila sistem observable determinan dari matriks Observablity $P_o$ tidak nol.
 | 
			
		||||
 | 
			
		||||
Menggunakan parameter robot oleh~\kutip{CORREIA20127} yang diterapkan pada per-
 | 
			
		||||
samaan~\eqref{eq:ss1}-\eqref{eq:ss2}, hasil pengujian controlable $rank[P_c] = 6$, maka dapat disim-
 | 
			
		||||
pulkan sistem robot controlable. Hasil pengujian observable $rank[P o] = 6$, maka
 | 
			
		||||
sistem robot juga observable. Karena sistem robot observable, maka dalam desain
 | 
			
		||||
kendali tidak diperlukan observer.
 | 
			
		||||
 | 
			
		||||
\subsubsection{Desain Kendali}
 | 
			
		||||
\todo{Kriteria}
 | 
			
		||||
Kriteria didefinisi menggunakan analisis sistem orde dua pada domain waktu. 
 | 
			
		||||
Berikut adalah transfer fungsi tertutup dari sistem orde dua (\kutip{Richard2010}).
 | 
			
		||||
\begin{align}
 | 
			
		||||
     Y(s) = \frac{\omega_n^2}{s^2+2\zeta\omega_n+\omega_n^2} R(s) 
 | 
			
		||||
\end{align}
 | 
			
		||||
Dengan input $R(s) = 1/s$ sebagai unit impulse, maka didapat persamaan keluaran sistem dalam domain waktu.
 | 
			
		||||
\begin{align}
 | 
			
		||||
  y(t) = 1 - \frac{1}{\beta}\exp^{-\zeta\omega_n t}sin(\omega_n\beta t + \theta)
 | 
			
		||||
\end{align}
 | 
			
		||||
dimana $\beta = \sqrt{1-\zeta^2}$, $\theta = \cos^{-1}\zeta$, dan $0<\zeta<1$.
 | 
			
		||||
Dari persamaan domain waktu tersebut didapat 4 kriteria dalam sistem,
 | 
			
		||||
yaitu \textit{satling time} ($T_s$), Prosentase \textit{overshoot} ($P.O$), 
 | 
			
		||||
\textit{peek time} ($T_p$), dan \textit{Transient Time} ($T_{r1}$).
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%-----------------------------------------------------------------------------%
 | 
			
		||||
\section{laporan\_setting.tex}
 | 
			
		||||
%-----------------------------------------------------------------------------%
 | 
			
		||||
Berkas ini berguna untuk mempermudah pembuatan beberapa template standar. 
 | 
			
		||||
Anda diminta untuk menuliskan judul laporan, nama, npm, dan hal-hal lain yang 
 | 
			
		||||
dibutuhkan untuk pembuatan template. 
 | 
			
		||||
 | 
			
		||||
\todo{Parameter K}
 | 
			
		||||
\todo{Parameter N}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%-----------------------------------------------------------------------------%
 | 
			
		||||
\section{istilah.tex}
 | 
			
		||||
%-----------------------------------------------------------------------------%
 | 
			
		||||
Berkas istilah digunakan untuk mencatat istilah-istilah yang digunakan. 
 | 
			
		||||
Fungsinya hanya untuk memudahkan penulisan.
 | 
			
		||||
Pada beberapa kasus, ada kata-kata yang harus selalu muncul dengan tercetak 
 | 
			
		||||
miring atau tercetak tebal. 
 | 
			
		||||
Dengan menjadikan kata-kata tersebut sebagai sebuah perintah \latex~tentu akan 
 | 
			
		||||
mempercepat dan mempermudah pengerjaan laporan. 
 | 
			
		||||
\subsection{Kendali Formasi Multi Robot}
 | 
			
		||||
Pada sub bab~\ref{subbab:KendaliFormasi} dijabarkan bagaimana kendali formasi menggunakan
 | 
			
		||||
kendali-PI dan menghasilkan persamaan~\eqref{eq:ss-formasi}.
 | 
			
		||||
Persamaan tersebut adalah persamaan \textit{state-space} kendali formasi.
 | 
			
		||||
Apabila diperhatikan \textit{state} yang digunakan adalah koordinat relatif dari robot.
 | 
			
		||||
Akan tetapi dalam batasanya, robot hanya bisa mengetahui nilai jarak dari robot lain.
 | 
			
		||||
Dengan kata lain, yang dibutuhkan dalam metode kendali formasi adalah jarak dalam bentuk koordinat,
 | 
			
		||||
$x \in \mathbb{R}^2$. Sedangkan dalam kenyataanya yang diketahui adalah jarak, $r \in \mathbb{R}$.
 | 
			
		||||
Apabila hanya variable jarak tersebut sebagai acuan kendali, maka robot tidak mengerti kearah mana
 | 
			
		||||
harusnya robot itu bergerak untuk meminimalisasi error jaraknya.
 | 
			
		||||
 | 
			
		||||
\subsubsection{Strategi Penentuan Koordinat Tetangga}
 | 
			
		||||
Penentuan koordinat tentangga dapat ditemukan dengang mengubah koordinat polar menjadi koordinat kartesian.
 | 
			
		||||
Koordinat polar membutuhkan panjang, $d_a$, dan sudut, $\alpha$.
 | 
			
		||||
Variable $d_a$ dapat diperoleh dari sensor, akan tetapi sudu $\alpha$ tidak bisa dideteksi secara langsung oleh sensor.
 | 
			
		||||
Dengan menggunakan \textit{cosinus}  pada segitiga dimungkinkan untuk mendapatkan sudut tersebut.
 | 
			
		||||
 | 
			
		||||
%-----------------------------------------------------------------------------%
 | 
			
		||||
\section{hype.indonesia.tex}
 | 
			
		||||
%-----------------------------------------------------------------------------%
 | 
			
		||||
Berkas ini berisi cara pemenggalan beberapa kata dalam bahasa Indonesia. 
 | 
			
		||||
\latex~memiliki algoritma untuk memenggal kata-kata sendiri, namun untuk 
 | 
			
		||||
beberapa kasus algoritma ini memenggal dengan cara yang salah. 
 | 
			
		||||
Untuk memperbaiki pemenggalan yang salah inilah cara pemenggalan yang benar 
 | 
			
		||||
ditulis dalam berkas hype.indonesia.tex.
 | 
			
		||||
\begin{figure}
 | 
			
		||||
   \centering
 | 
			
		||||
   \includegraphics[scale=.5]{BAB3/img/estimate_coordinate.png}
 | 
			
		||||
   \caption{Strategi Penentuan Koordinat}
 | 
			
		||||
   \label{fig:strategiPenentuanKoordinat}
 | 
			
		||||
\end{figure}
 | 
			
		||||
 | 
			
		||||
Dapat diperhatikan pada gambar~\ref{fig:strategiPenentuanKoordinat} untuk gambaran strateginya.
 | 
			
		||||
Robot $B \in \tetangga_A$, adalah tetangga dari robot $A$.
 | 
			
		||||
Pertama-tama, sebelum robot $A$ bergerak, disimpan terlebih dahulu nilai $d_a$,
 | 
			
		||||
atau dinotasikan dengan $d_a[k]$ sebagai jarak sebelum bergerak.
 | 
			
		||||
Lalu robot $A$ berjalan secara random kesegala arah dengan jarak $l_a$.
 | 
			
		||||
Disimpan kembali nilai jara $d_a$, atau dinotasikan dengan $d_a[k+1]$.
 | 
			
		||||
Setalah itu dapat ditentukan sudut $\alpha[k+1]$
 | 
			
		||||
\begin{align}
 | 
			
		||||
   \alpha[k+1] = cos^{-1}\Bigg[ \frac{l_a^2 + d[k+1]^2 -d_a[k]^2}{2d_a[k+1]l_a} \Bigg].
 | 
			
		||||
\end{align}
 | 
			
		||||
Sebelum $\alpha[k+1]$ digunakan, jarak $d_a[k+1]$ dan $d_a[k]$ berpengaruh dalam penentuan koordinat.
 | 
			
		||||
Sehingga diperlukan sedikit algoritma
 | 
			
		||||
\begin{align}
 | 
			
		||||
   \alpha_i=
 | 
			
		||||
   \begin{cases}
 | 
			
		||||
      \alpha[k+1]     & ,d_a[k+1] > d_a[k] \\
 | 
			
		||||
      180-\alpha[k+1] & ,d_a[k+1] < d_a[k]
 | 
			
		||||
   \end{cases}.\label{eq:init_relatif_koordinat}
 | 
			
		||||
\end{align}
 | 
			
		||||
 | 
			
		||||
%-----------------------------------------------------------------------------%
 | 
			
		||||
\section{pustaka.tex}
 | 
			
		||||
%-----------------------------------------------------------------------------%
 | 
			
		||||
Berkas pustaka.tex berisi seluruh daftar referensi yang digunakan dalam 
 | 
			
		||||
laporan. 
 | 
			
		||||
Anda bisa membuat model daftar referensi lain dengan menggunakan bibtex.
 | 
			
		||||
Untuk mempelajari bibtex lebih lanjut, silahkan buka 
 | 
			
		||||
\url{http://www.bibtex.org/Format}. 
 | 
			
		||||
Untuk merujuk pada salah satu referensi yang ada, gunakan perintah \bslash 
 | 
			
		||||
cite, e.g. \bslash cite\{latex.intro\} yang akan akan memunculkan 
 | 
			
		||||
\cite{latex.intro}
 | 
			
		||||
Strategi pada gambar~\ref{fig:strategiPenentuanKoordinat} hanya berlaku apabila target ukur berhenti. Apabila dinotasikan koordinat $x_B^A$ adalah koordinat relatif robot $B$ terhadap $A$,
 | 
			
		||||
maka $\dot{x}_B^A$ adalah notasi kecepatan koordinat dari robot B.
 | 
			
		||||
Dengan menggunakan persamaan~\eqref{eq:kinematika_robot} untuk menyelesaikan koordinat dalam
 | 
			
		||||
keadaan robot $B$ bergerak, yaitu mengirimkan informasi kecepatan koordinatnya
 | 
			
		||||
ke robot $A$. Lalu robot $A$ dapat mengkalkulasi koordinat relatif dengan persamaan berikut
 | 
			
		||||
\begin{align}
 | 
			
		||||
   \alpha[k+1] & = \alpha[k]+tan^{-1} \Big[ \frac{\dot{x}_B^A}{\dot{y}_B^A} \Big]
 | 
			
		||||
\end{align}
 | 
			
		||||
dimana kondisi inisial adalah $\alpha[k] = \alpha_i$ diperoleh dari hasil strategi pada persamaan~\eqref{eq:init_relatif_koordinat}.
 | 
			
		||||
Dengan memanfaatkan kedua strategi tersebut dapat digunakan untuk
 | 
			
		||||
mengkalkulasi koordinat robot $B$ relatif terhadap robot $A$
 | 
			
		||||
\begin{align}
 | 
			
		||||
   x_B^A = \begin{bmatrix}
 | 
			
		||||
      x_B = d_a[k].\cos \alpha[k] \\
 | 
			
		||||
      y_B = d_a[k].\sin \alpha[k]
 | 
			
		||||
   \end{bmatrix}
 | 
			
		||||
\end{align}
 | 
			
		||||
Dalam strategi ini akan terjadi ketidak akuratan dalam pengukuran apabila target ukur
 | 
			
		||||
berada pada sudut $90^\circ$.
 | 
			
		||||
Akan tetapi, \kutip{Cao2007} sudah menjelaskan mengenai kriteria posisi agent ketika dalam kondisi inisial.
 | 
			
		||||
Yaitu semua agent tidak berada pada kondisi sejajar secara koordinat global pada kondisi inisial.
 | 
			
		||||
 | 
			
		||||
\section{Kestabilan Perangkat Percobaan}
 | 
			
		||||
Sub bab ini akan dibahas mengenai prangkat penunjang sebagai pembatu dalam menyelesaikan penelitian.
 | 
			
		||||
Sebagai langkah awal pengembangan, metode yang digunakan adalah \textit{Hardware-In Loop}.
 | 
			
		||||
\begin{figure}
 | 
			
		||||
   \centering
 | 
			
		||||
   \begin{subfigure}[t]{.4\textwidth}
 | 
			
		||||
      \includegraphics[scale=.5]{BAB3/img/hil_graph.png}
 | 
			
		||||
      \caption{}
 | 
			
		||||
      \label{fig:hil_graph}
 | 
			
		||||
   \end{subfigure}
 | 
			
		||||
   \begin{subfigure}[t]{.4\textwidth}
 | 
			
		||||
      \includegraphics[scale=.5]{BAB3/img/hil_graph_1.png}
 | 
			
		||||
      \caption{}
 | 
			
		||||
      \label{fig:hil_graph_1}
 | 
			
		||||
   \end{subfigure}
 | 
			
		||||
   \caption{(a)Grafik Hardware-in-the-loop (\kutip{Jim1999}). (b) HIL Kendali Multi-Robot. }
 | 
			
		||||
\end{figure}
 | 
			
		||||
\textit{Hardware-in-the-loop} (HIL) adalah metode untuk pengembangan prangkat kendali dengan memanfaatkan model sebagai objek kendalinya. Seperti pada gambar~\ref{fig:hil_graph},
 | 
			
		||||
bahwa HIL terdiri dari dua prangkat, yaitu prangkat untuk menjalankan objek kendali atau dapat
 | 
			
		||||
disebut sebagai model/plant dan prangkat sistem kontrolnya, dalam kasus ini sistem kontrol menggunakan sistem tertanam (\textit{embedded system}).
 | 
			
		||||
Metode HIL, banyak digunakan oleh peneliti dalam proses pengembangan dengan pertimbangan efisiensi terhadap berbagai hal.
 | 
			
		||||
Seperti yang digunakan oleh~\kutip{Irwanto2018}, mengembangkan kendali UAV menggunakan HIL;
 | 
			
		||||
dan \kutip{QUESADA2019275}, mengembangkan prangkat pankreas buatan yang digunakan untuk mengendalikan kadar gula pada pengidap diabetes.
 | 
			
		||||
 | 
			
		||||
%-----------------------------------------------------------------------------%
 | 
			
		||||
\section{bab[1 - 6].tex}
 | 
			
		||||
%-----------------------------------------------------------------------------%
 | 
			
		||||
Berkas ini berisi isi laporan yang Anda tulis. 
 | 
			
		||||
Setiap nama berkas e.g. bab1.tex merepresentasikan bab dimana tulisan tersebut 
 | 
			
		||||
akan muncul. 
 | 
			
		||||
Sebagai contoh, kode dimana tulisan ini dibaut berada dalam berkas dengan nama 
 | 
			
		||||
bab4.tex. 
 | 
			
		||||
Ada enam buah berkas yang telah disiapkan untuk mengakomodir enam bab dari 
 | 
			
		||||
laporan Anda, diluar bab kesimpulan dan saran. 
 | 
			
		||||
Jika Anda tidak membutuhkan sebanyak itu, silahkan hapus kode dalam berkas 
 | 
			
		||||
thesis.tex yang memasukan berkas \latex~yang tidak dibutuhkan;  contohnya 
 | 
			
		||||
perintah \bslash include\{bab6.tex\} merupakan kode untuk memasukan berkas 
 | 
			
		||||
bab6.tex kedalam laporan.
 | 
			
		||||
Pada penelitian ini akan digunakan \textit{microcontroller}(MCU) STM32F466 sebagai prangkat kendalinya.
 | 
			
		||||
MCU tersebut ber-arsitektur ARM Cortex-M4 dengan clock 180MHz, menampung ukuran program sampai 256K didalam memori Flash, serta fitur komunikasi standart MCU dengan lengkap.
 | 
			
		||||
\textit{Platform Library} yang digunakan dalam pembuatan aplikasi didalamnya adalah \textit{Mbed},
 | 
			
		||||
yang menyediakan berbagai banyak fungsi yang lengkap dan mudah untuk berinteraksi dengan fitur-fitur MCU. \textit{Mbed} juga menyediakan fungsi untuk mengaplikasikan RTOS (Real-time Operating System) dengan mudah dan terdokumentasi secara jelas didalam lamannya.
 | 
			
		||||
Pada prangkat PC akan dikembangkan program berbasis \textit{Python} yang akan
 | 
			
		||||
menjalankan simulasi model dan berkomunikasi dengan MCU secara \textit{real-time}.
 | 
			
		||||
Program \textit{Python} akan menjalankan model pada persamaan~\eqref{eq:ss1}-\eqref{eq:ss2}
 | 
			
		||||
dengan metode yang dijabarkan pada sub bab~\ref{bab:solusi_ODE}.
 | 
			
		||||
Dapat diperhatikan pada gambar~\ref{fig:hil_graph_1}, pada HIL untuk kendali multi robot akan
 | 
			
		||||
menggunakan tiga kendali untuk mempresentasikan tiga robot.
 | 
			
		||||
Setiap prangkat pengendali akan saling terhubung satu sama lain dan semua prangkat pengendali terhubung dengan prangkat PC.
 | 
			
		||||
Komunikasi antar prangkat pengendali akan digunakan untuk pertukaran informasi.
 | 
			
		||||
Sedangkan komunikasi dengan PC akan mempresentasikan aktuator dan sensor untuk setiap prangkat
 | 
			
		||||
kendali. PC akan merekam setiap keluaran dari model dan masukan dari setiap prangkat kendali
 | 
			
		||||
sebagai tampilan pergerakan robotnya.
 | 
			
		||||
 | 
			
		||||
\subsection{Kestabilan Model}
 | 
			
		||||
Pada persamaan~\eqref{eq:disstab} apabila model dikalkulasi akan bergantung dengan besarnya \textit{step size}, $h$.
 | 
			
		||||
Oleh karena itu, setelah persamaan~\eqref{eq:ss1}-\eqref{eq:ss2} dilakukan parameterisasi harus dilakukan penentuan \textit{step size} agar model tersebut stabil dalam mensimulasikan modelnya.
 | 
			
		||||
Penentuan \textit{step size} harus berdasarkan kriteria kestabilan pada gamabar~\ref{fig:explicit_euler}.
 | 
			
		||||
 | 
			
		||||
Apabila didefinisi ulang \textit{state} pada persamaan~\eqref{eq:ss1}-\eqref{eq:ss2} dengan
 | 
			
		||||
$x(t) = \begin{bmatrix}\dot{x}_r & \dot{y}_r & \dot{\theta}_r \end{bmatrix}^T$,
 | 
			
		||||
maka akan lebih mudah untuk menghitung kestabilan dari matriks $A \in \mathbb{R}^{3 \times 3}$.
 | 
			
		||||
Dengan menggunakan parameter dari penelitian oleh \kutip{CORREIA20127}, maka akan diperoleh matriks $A, B, K,$ dan $C$.
 | 
			
		||||
\begin{align*}
 | 
			
		||||
   A & = \begin{bmatrix}
 | 
			
		||||
      -6.69666 & 0.00000  & 0.00000  \\
 | 
			
		||||
      0.00000  & -6.71000 & 0.00000  \\
 | 
			
		||||
      0.00000  & 0.00000  & -4.04200 \\
 | 
			
		||||
   \end{bmatrix} ; \quad     
 | 
			
		||||
   B = \begin{bmatrix}
 | 
			
		||||
      0.00000  & 0.57735 & -0.57735 \\
 | 
			
		||||
      -0.66667 & 0.33333 & 0.33333  \\
 | 
			
		||||
      4.00000  & 4.00000 & 4.00000  \\
 | 
			
		||||
   \end{bmatrix} ;     \\
 | 
			
		||||
   K & = \begin{bmatrix}
 | 
			
		||||
      -1.46667 & 0.00000  & 0.00000  \\
 | 
			
		||||
      0.00000  & -1.00000 & 0.00000  \\
 | 
			
		||||
      0.00000  & 0.00000  & -0.06600 \\
 | 
			
		||||
   \end{bmatrix}; \quad
 | 
			
		||||
   C = \begin{bmatrix}
 | 
			
		||||
      1 & 0 & 0 \\
 | 
			
		||||
      0 & 1 & 0 \\
 | 
			
		||||
      0 & 0 & 1
 | 
			
		||||
   \end{bmatrix}.
 | 
			
		||||
\end{align*}
 | 
			
		||||
 | 
			
		||||
Dengan menggunakan pendekatan pada persamaan~\eqref{eq:desdotode1} untuk persamaan~\eqref{eq:ss1} maka diperoleh bentuk diskretnya
 | 
			
		||||
\begin{align}
 | 
			
		||||
   x[k+1] & = (I + A.h).x[k] + B.h.u[k] + K.h.sgn(x[k]). \\
 | 
			
		||||
\end{align}
 | 
			
		||||
Pengali $sgn(.)$ bersifat penambah dari sistem, maka dalam penentuan kestabilan ini akan dianggap penambah dari matriks sistem.
 | 
			
		||||
\begin{align}
 | 
			
		||||
   x[k+1] & = (I + (A+K).h).x[k] + B.h.u[k]. \\
 | 
			
		||||
\end{align}
 | 
			
		||||
Kriteria kestabilan akan bergantung dari hasil penentuan $h$ pada $I+(A+K)h~=~\Lambda$.
 | 
			
		||||
Untuk semua nilai $\lambda$ pada matriks $\Lambda$ harus memenuhi kriteris $\lambda \leq 1$.
 | 
			
		||||
Dimungkinkan akan mengalami kebingungan ketika menentukan besar $h$,
 | 
			
		||||
akan tetapi nantinya persamaan ini akan diterapkan dan diselesaikan oleh komputer.
 | 
			
		||||
Alangkah baiknya apabila diidentifikasi terlebih dahulu konsumsi waktu yang dibutuhkan untuk menyelesaikan
 | 
			
		||||
satu iterasi dari persamaan tersebut.
 | 
			
		||||
Setelah dilakukan identifikasi, waktu yang dibutuhkan untuk satu kali iterasi berkisar $0.001$ ms (Pembulatan).
 | 
			
		||||
Sehingga penentuan \textit{step size} sebesar $0.1$ ms sangat dimungkinkan, dengan pertimbangan
 | 
			
		||||
sisa dari waktu yang digunakan kalkulasi dapat digunakan untuk waktu \textit{idle} dan menjalankan program yang lain. Berikut adalah matriks $\Lambda$ setelah dikalkulasi menggunakan $h=0.1$
 | 
			
		||||
\begin{align*}
 | 
			
		||||
   \Lambda = \begin{bmatrix}
 | 
			
		||||
      0.18367 & 0.00000 & 0.00000 \\
 | 
			
		||||
      0.00000 & 0.22900 & 0.00000 \\
 | 
			
		||||
      0.00000 & 0.00000 & 0.58920 \\
 | 
			
		||||
   \end{bmatrix}.
 | 
			
		||||
\end{align*}
 | 
			
		||||
Terbukti bahwa semua nilai item didalam matriks kurang dari sama dengan satu.
 | 
			
		||||
Sehingga menggunakan algoritma \textit{Expilicit Euler} sudah cukup untuk menjalankan model robot \textit{omni 3-wheel} sebagai model \textit{holonomic} yang akan digunakan untuk percobaan kendali multi robot.
 | 
			
		||||
Hasil plot dari simulasi model dapat dilihat pada gambar~\ref{fig:sim_model}.
 | 
			
		||||
\begin{figure}
 | 
			
		||||
   \centering
 | 
			
		||||
   \begin{subfigure}[t]{.6\textwidth}
 | 
			
		||||
      \includegraphics[scale=.4]{BAB3/img/speedRobot_-6_3_3.png}
 | 
			
		||||
      \caption{}
 | 
			
		||||
   \end{subfigure}
 | 
			
		||||
   \begin{subfigure}[t]{.6\textwidth}
 | 
			
		||||
      \includegraphics[scale=.4]{BAB3/img/speedRobot_0_6_-6.png}
 | 
			
		||||
      \caption{}
 | 
			
		||||
   \end{subfigure}
 | 
			
		||||
   \begin{subfigure}[t]{.6\textwidth}
 | 
			
		||||
      \includegraphics[scale=.4]{BAB3/img/speedRobot_6_6_6.png}
 | 
			
		||||
      \caption{}
 | 
			
		||||
   \end{subfigure}
 | 
			
		||||
   \caption{(a)$w_1=-6; w_2=3; w_3=3$. (b) $w_1=0; w_2=6; w_3=-6$ (c)  $w_1=6; w_2=6; w_3=6$}
 | 
			
		||||
   \label{fig:sim_model}
 | 
			
		||||
\end{figure}
 | 
			
		||||
\subsection{Rencana Hardware-in-Loop}
 | 
			
		||||
\todo{kutip hasil HIL yang sudah ada lalu gabungkan model dan kendali jadi satu secara sederhana}
 | 
			
		||||
 | 
			
		||||
\subsection{Rencana Uji Lapangan}
 | 
			
		||||
\todo{Membahas mengenai cara pengambilan data penerapan pada robot aslinya}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										29
									
								
								thesis.bbl
								
								
								
								
							
							
						
						
									
										29
									
								
								thesis.bbl
								
								
								
								
							| 
						 | 
				
			
			@ -144,6 +144,35 @@
 | 
			
		|||
    \field{year}{2012}
 | 
			
		||||
  \endentry
 | 
			
		||||
 | 
			
		||||
  \entry{Richard2010}{book}{}
 | 
			
		||||
    \name{author}{2}{}{%
 | 
			
		||||
      {{hash=DR}{%
 | 
			
		||||
         family={Dorf},
 | 
			
		||||
         familyi={D\bibinitperiod},
 | 
			
		||||
         given={Richard},
 | 
			
		||||
         giveni={R\bibinitperiod},
 | 
			
		||||
      }}%
 | 
			
		||||
      {{hash=BR}{%
 | 
			
		||||
         family={Bishop},
 | 
			
		||||
         familyi={B\bibinitperiod},
 | 
			
		||||
         given={Robert},
 | 
			
		||||
         giveni={R\bibinitperiod},
 | 
			
		||||
      }}%
 | 
			
		||||
    }
 | 
			
		||||
    \strng{namehash}{DRBR1}
 | 
			
		||||
    \strng{fullhash}{DRBR1}
 | 
			
		||||
    \field{labelnamesource}{author}
 | 
			
		||||
    \field{labeltitlesource}{title}
 | 
			
		||||
    \field{labelyear}{2010}
 | 
			
		||||
    \field{labeldatesource}{year}
 | 
			
		||||
    \field{sortinit}{D}
 | 
			
		||||
    \field{sortinithash}{D}
 | 
			
		||||
    \field{isbn}{ISBN-10: 0136024580; ISBN-13: 978-0136024583}
 | 
			
		||||
    \field{title}{Modern Control Systems, 12th Edition}
 | 
			
		||||
    \field{month}{07}
 | 
			
		||||
    \field{year}{2010}
 | 
			
		||||
  \endentry
 | 
			
		||||
 | 
			
		||||
  \entry{Fabien2009}{inbook}{}
 | 
			
		||||
    \name{author}{1}{}{%
 | 
			
		||||
      {{hash=FB}{%
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										68
									
								
								thesis.blg
								
								
								
								
							
							
						
						
									
										68
									
								
								thesis.blg
								
								
								
								
							| 
						 | 
				
			
			@ -2,7 +2,7 @@ This is BibTeX, Version 0.99d (TeX Live 2018)
 | 
			
		|||
Capacity: max_strings=100000, hash_size=100000, hash_prime=85009
 | 
			
		||||
The top-level auxiliary file: thesis.aux
 | 
			
		||||
The style file: biblatex.bst
 | 
			
		||||
A level-1 auxiliary file: OTHER/sampul.aux
 | 
			
		||||
A level-1 auxiliary file: OTHER/sampul_Unibraw.aux
 | 
			
		||||
A level-1 auxiliary file: OTHER/judul_dalam.aux
 | 
			
		||||
A level-1 auxiliary file: OTHER/pengesahan.aux
 | 
			
		||||
A level-1 auxiliary file: OTHER/orisinal.aux
 | 
			
		||||
| 
						 | 
				
			
			@ -18,7 +18,6 @@ A level-1 auxiliary file: BAB4/bab4.aux
 | 
			
		|||
A level-1 auxiliary file: BAB5/bab5.aux
 | 
			
		||||
A level-1 auxiliary file: BAB6/bab6.aux
 | 
			
		||||
A level-1 auxiliary file: OTHER/kesimpulan.aux
 | 
			
		||||
A level-1 auxiliary file: OTHER/pustaka.aux
 | 
			
		||||
A level-1 auxiliary file: OTHER/markLampiran.aux
 | 
			
		||||
A level-1 auxiliary file: OTHER/lampiran.aux
 | 
			
		||||
Reallocated glb_str_ptr (elt_size=4) to 20 items from 10.
 | 
			
		||||
| 
						 | 
				
			
			@ -39,49 +38,48 @@ Database file #1: thesis-blx.bib
 | 
			
		|||
Database file #2: OTHER/references.bib
 | 
			
		||||
Warning--entry type for "Irwanto2018" isn't style-file defined
 | 
			
		||||
--line 10 of file OTHER/references.bib
 | 
			
		||||
Warning--I didn't find a database entry for "latex.intro"
 | 
			
		||||
Biblatex version: 3.8
 | 
			
		||||
Reallocated wiz_functions (elt_size=4) to 9000 items from 6000.
 | 
			
		||||
Reallocated singl_function (elt_size=4) to 100 items from 50.
 | 
			
		||||
You've used 12 entries,
 | 
			
		||||
You've used 13 entries,
 | 
			
		||||
            6268 wiz_defined-function locations,
 | 
			
		||||
            1313 strings with 15522 characters,
 | 
			
		||||
and the built_in function-call counts, 64703 in all, are:
 | 
			
		||||
= -- 4148
 | 
			
		||||
> -- 1274
 | 
			
		||||
< -- 334
 | 
			
		||||
+ -- 1521
 | 
			
		||||
- -- 503
 | 
			
		||||
* -- 5250
 | 
			
		||||
:= -- 6490
 | 
			
		||||
            1317 strings with 15640 characters,
 | 
			
		||||
and the built_in function-call counts, 69429 in all, are:
 | 
			
		||||
= -- 4412
 | 
			
		||||
> -- 1394
 | 
			
		||||
< -- 367
 | 
			
		||||
+ -- 1634
 | 
			
		||||
- -- 548
 | 
			
		||||
* -- 5614
 | 
			
		||||
:= -- 6933
 | 
			
		||||
add.period$ -- 0
 | 
			
		||||
call.type$ -- 12
 | 
			
		||||
change.case$ -- 138
 | 
			
		||||
chr.to.int$ -- 52
 | 
			
		||||
cite$ -- 22
 | 
			
		||||
duplicate$ -- 6990
 | 
			
		||||
empty$ -- 6179
 | 
			
		||||
format.name$ -- 769
 | 
			
		||||
if$ -- 13239
 | 
			
		||||
call.type$ -- 13
 | 
			
		||||
change.case$ -- 148
 | 
			
		||||
chr.to.int$ -- 58
 | 
			
		||||
cite$ -- 24
 | 
			
		||||
duplicate$ -- 7545
 | 
			
		||||
empty$ -- 6627
 | 
			
		||||
format.name$ -- 836
 | 
			
		||||
if$ -- 14218
 | 
			
		||||
int.to.chr$ -- 0
 | 
			
		||||
int.to.str$ -- 24
 | 
			
		||||
int.to.str$ -- 26
 | 
			
		||||
missing$ -- 0
 | 
			
		||||
newline$ -- 466
 | 
			
		||||
num.names$ -- 477
 | 
			
		||||
pop$ -- 3797
 | 
			
		||||
newline$ -- 495
 | 
			
		||||
num.names$ -- 518
 | 
			
		||||
pop$ -- 4138
 | 
			
		||||
preamble$ -- 1
 | 
			
		||||
purify$ -- 201
 | 
			
		||||
purify$ -- 216
 | 
			
		||||
quote$ -- 0
 | 
			
		||||
skip$ -- 1908
 | 
			
		||||
skip$ -- 2079
 | 
			
		||||
stack$ -- 0
 | 
			
		||||
substring$ -- 6887
 | 
			
		||||
swap$ -- 1991
 | 
			
		||||
text.length$ -- 334
 | 
			
		||||
text.prefix$ -- 11
 | 
			
		||||
substring$ -- 7256
 | 
			
		||||
swap$ -- 2143
 | 
			
		||||
text.length$ -- 366
 | 
			
		||||
text.prefix$ -- 12
 | 
			
		||||
top$ -- 1
 | 
			
		||||
type$ -- 395
 | 
			
		||||
type$ -- 429
 | 
			
		||||
warning$ -- 0
 | 
			
		||||
while$ -- 834
 | 
			
		||||
while$ -- 895
 | 
			
		||||
width$ -- 0
 | 
			
		||||
write$ -- 455
 | 
			
		||||
(There were 2 warnings)
 | 
			
		||||
write$ -- 483
 | 
			
		||||
(There was 1 warning)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,7 +41,7 @@
 | 
			
		|||
  >
 | 
			
		||||
]>
 | 
			
		||||
<requests version="1.0">
 | 
			
		||||
  <internal package="biblatex" priority="9" active="1">
 | 
			
		||||
  <internal package="biblatex" priority="9" active="0">
 | 
			
		||||
    <generic>latex</generic>
 | 
			
		||||
    <provides type="dynamic">
 | 
			
		||||
      <file>thesis.aux</file>
 | 
			
		||||
| 
						 | 
				
			
			@ -63,7 +63,7 @@
 | 
			
		|||
      <file>english.lbx</file>
 | 
			
		||||
    </requires>
 | 
			
		||||
  </internal>
 | 
			
		||||
  <external package="biblatex" priority="5" active="1">
 | 
			
		||||
  <external package="biblatex" priority="5" active="0">
 | 
			
		||||
    <generic>bibtex</generic>
 | 
			
		||||
    <cmdline>
 | 
			
		||||
      <binary>bibtex</binary>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue