%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Lachaise Assignment % LaTeX Template % Version 1.0 (26/6/2018) % % This template originates from: % http://www.LaTeXTemplates.com % % Authors: % Marion Lachaise & François Févotte % Vel (vel@LaTeXTemplates.com) % % License: % CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %---------------------------------------------------------------------------------------- % PACKAGES AND OTHER DOCUMENT CONFIGURATIONS %---------------------------------------------------------------------------------------- \documentclass{article} \input{structure.tex} % Include the file specifying the document structure and custom commands %% \usepackage[backend=biber]{biblatex}} %% \addbibresource{ref.bib} %---------------------------------------------------------------------------------------- % ASSIGNMENT INFORMATION %---------------------------------------------------------------------------------------- \title{Kendali Proposional-Integral Pada Pelacakan Formasi Berdasarkan Jarak} % Title of the assignment \author{Anggoro Dwi Nur Rohman\\ \texttt{anggoro\_dwi@student.ub.ac.id}} % Author name and email address \date{Universitas Brawijaya--- \today} % University, school and/or department name(s) and a date %---------------------------------------------------------------------------------------- \begin{document} \maketitle % Print the title \section*{Pendahuluan} Rangkuman ini ditujukan untuk memahami dan review jurnal. Judul dalam bahasa inggris \textit{A Proportional-Integral Controller for Distance-Based Formation Tacking} yang diteliti oleh Oshri Rozenheck dari Israel Institute of Technology, Haifa, Israel. Peneliti menerangkan pada jurnal ini tentang permasalahan kendali formasi pada multi-agent apabila pada salah satu agent nya diberikan kecepatan tambahan sebagai refrensi. %% \begin{table} \section{Notasi-Notasi} %% \caption{Notasi-notasi} \begin{tabular}{| l | l |} \hline Notasi & Keterangan \\ \hline $n \triangleq |V|$ & ... \\ \hline $m \triangleq |\varepsilon| $ & .. \\ \hline $A_1, \dots, A_n \in \mathbb{R}^{p\times q}$ & ... \\ \hline $x = \begin{bmatrix} x_1^T \\ \dots\\ x_n^T \end{bmatrix} \in \mathbb{R}^{2n}$ & Konfigurasi titik \\ $x_i \in \mathbb{R}^n$ & \\ $ x_i \neq x_j ; \forall i \neq j$ & \\ \hline $e_k \triangleq x_j - x_i$ & Relative position vector \\ \hline $e = \begin{bmatrix} e_1^T \\ \vdots \\ e_m^T \end{bmatrix} \in \mathbb{R}^{2m}$ & Edge Vector \\ $E \in R^{n\times m}$ & Incidence matrix dimana isinya adalah $\{0, \pm 1\}$ \\ & barisnya menandakan vertices dan kolom nya menandakan edge \\ \hline $A_1, \dots, A_i \in \mathbb{R}^{p \times q}$ & \\ $diag(A_i) \triangleq blkdiag\{A_1, \dots, A_n\} \in \mathbb{R}^{np \times nq}$ & https://www.mathworks.com/help/matlab/ref/blkdiag.html \\ \hline \end{tabular} %% \end{table} \section{ Edge Function} Diketahui framework $G(x)$ dengan vector edge ${e}_{k=1}^m$, $F : \mathbb{R}^{2n} \times G \rightarrow \mathbb{R}^m$, maka dapat didefinisi \begin{equation} F(x,G) \triangleq = \begin{bmatrix}|e_1||^2 \\ \vdots \\ ||e_m||^2 \end{bmatrix} \end{equation} Peneliti mendefinisi \textit{rigidity matrix R(x)} sebagai fungsi jacobian dari Edge function, \begin{equation*} R(x) = \frac{\partial F(x,G)}{\partial x} \in \mathbb{R}^{m \times 2n} \end{equation*} dan menyingkat perhitungannya dan menghasilkan persamaan \begin{equation} R(x) = diag(e_i^T)(E^T \otimes I_2) \end{equation} \section{Kendali} \subsection{Orde Satu} Error jarak dinotasikan dengan $\delta \in \mathbb{R}^m$ dimana \begin{equation} \delta_k = || e_k ||^2 - d_k^2, k \in \{1, \dots, m\} \end{equation} Peneliti menggunakan fungsi potensial \begin{equation} \Phi(e) = \frac{1}{2} \sum_{k-1}^{m} \Big( || e_k ||^2 - d_k^2 \Big)^2 = \frac{1}{2} \sum_{k=1}^{m} \delta_k^2 \end{equation} digunakan untuk kendali pada setiap robot dengan cara negative gradient dari fungsi potensial. \begin{equation} u_i(t) = - \Big(\frac{\partial \Phi(e)}{\partial x_i} \Big) = - \sum_{j ~ o} \Big( || e_k ||^2 - d_k^2 \Big) e_k \end{equation} Apabila ditulis ulang dalam bentuk state-space \begin{equation} \dot{x}(t) = - R(x)^T R(x) x(t) + R(x)^Td \end{equation} \begin{figure} \centering \includegraphics[scale=.7]{./IMG/fig2.png} \caption{Skema General} \label{f1} \end{figure} Menggunakan skema seperti pada gambar.\ref{f1} maka dapat diperoleh \begin{eqnarray} \dot{x} &=& u(t) + B.v_{ref} \\ u(t) &=& -R(x)^T.C.\Big(R(x).x(t) - d \Big) \label{controller} \end{eqnarray} dan cikal bakal $C$ sebagai controller. dengan menerapkan Proportional-integrator pada persamaan \eqref{controller} maka diperoleh \begin{equation} u(t) = -R(x)^T k_p ( R(x).x(T) - d ) - R(x)^T.K_i \int_0^T (R(x).x(\tau) - d) d \tau \end{equation} dimana $kp_p$ dan $k_i$ adalah konstanta. Pada bagian integrator menghasilkan state baru \begin{equation} \dot{\xi} = k_i(R(x).x(t) -d) \end{equation} lalu kombinasi persamaan tersebut diperoleh state- space close loop \begin{equation} \begin{bmatrix} \dot{x}(t) \\ \dot{\xi(t)} \end{bmatrix} = \begin{bmatrix} -k_p.R(x)^T.R(x) & -R(x)^T \\ k_i.R(x) & 0 \end{bmatrix} \begin{bmatrix} x(t) \\ \xi(t) \end{bmatrix} + \begin{bmatrix} k_p.R(x)^T \\ -k_i.I \end{bmatrix}.d + \begin{bmatrix} B \\ 0 \end{bmatrix}.v_{ref} \end{equation} \subsection{Orde Dua} Definisi persamaan orde dua \begin{align} \begin{cases} \dot{x}_1 = x_2\\ \dot{x}_2 = u \end{cases} \end{align} Dengan fungsi potensial \begin{equation} \Phi(e) = \frac{1}{2}\sum_{i\in V} || x_{2i} ||^2 + \frac{1}{2} \sum_{k=1}^{m} \delta_k^2 \end{equation} Maka persamaan state space nya \begin{align} \begin{cases} \dot{x}_1 &= \triangledown_{x_2} \Phi = x_{2}\\ \dot{x}_2 &= c(-\triangledown_{x_2}\phi -\triangledown_{x_1}\phi)\\ &= c(-x_2(t) - R(x_1)^T(R(x_1)x_1(t) - d )) \end{cases} \end{align} Dengan menerapkan kendali PI \begin{align} \dot{x}_2 =& C(-x_2(t) - R(x_1)^T(R(x_1)x_1(t) - d )) \\ =& -K_{p1}x_2(t) -R(x_1)^T K_{p2}(R(x_1)x_1(t) - d )) \\ & -K_{i1} \int_0^\tau x_2(\tau) d\tau -R(x_1)^T K_{i2} \int_0^{\tau} (R(x_1)x_1(\tau) - d )) d\tau \\ \end{align} Menghasilkan state baru dan Ditulis ulang \begin{align} \dot{x}_1 =& x_{2}(t)\\ \dot{x}_2 =& -k_{p1}x_2(t) -R(x_1)^T k_{p2}(R(x_1)x_1(t) - d )) - \xi_1 - R(x_1)^T \xi_2 \\ \dot{\xi}_1 =& k_{i1} x_2(t)\\ \dot{\xi}_2 =& k_{i2} (R(x_1)x_1(t) - d) \end{align} Dalam bentuk matrix \begin{align} \begin{bmatrix} \dot{x}_1 \\ \dot{x}_2 \\ \dot{\xi}_1 \\ \dot{\xi}_2 \end{bmatrix} = \begin{bmatrix} 0 & 1 & 0 & 0\\ -k_{p2}R(x_1)^T R(x_1) & -k_{p1} & -1 & -R(x_1)^T \\ 0 & k_{i1} & 0 & 0 \\ k_{i2}R(x_1) & 0 & 0 & 0 \\ \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ \xi_1 \\ \xi_2 \end{bmatrix} + \begin{bmatrix} 0 \\ k_{p2}R(x_1)^T \\ 0 \\ -k_{i2} \end{bmatrix} d \label{orde_dua_ss} \end{align} \subsection{Implementasi} Pada seksi implementasi ini akan dibahas mengenai code yang digunakan untuk menyimulasi persamaan yang diciptakan oleh peneliti. \begin{figure} \centering \includegraphics[scale=.3]{./IMG/SIM_FIG1.png} \includegraphics[scale=.3]{./IMG/SIM_FIG2.png} \includegraphics[scale=.3]{./IMG/circle_form.png} \includegraphics[scale=.3]{./IMG/sin_form.png} \caption{Hasil Membuat Ulang Simulasi} \label{sim_fig1} \end{figure} Dapat diperhatikan hasil simulasi yang dibuat ulang oleh penulis pada gambar(\ref{sim_fig1}). Pada gambar tersebut $vref$ diberikan pada robot 1 dengan kecepatan vector $[-5;\ 5]$. Akan tetapi ada sebuah error apabila $vref$ dengan kecepatan vector $[5;\, 5]$. Ini diakibatkan ada masalah pada rigiditas graph. \subsubsection{ time varian bentuk diskrit } Sederhana dari persamaan-()\ref{orde_dua_ss}) \begin{align} \dot{x} &= A(x)x + B(x) d \\ \frac{x[k+1]-x[k]}{h} &= A(x[k])x[k] + B(x[k])d \\ x[k+1] &= I + hA(x[k])x[k] + hB(x[k])d\\ x]k+1] &= A_d[k] x[k] + B_d[k]d \\ A_d[k] &= I +hA(x[k]) \\ B_d[k] &= hB(x[k]) \end{align} \section{Kesimpulan} Implementasi berhasil. Penelitian mengalami kekurangan apabila vref diberikan pada robot yang berpotensi menghasilkan lipatan pada graph. \end{document}