FormationControlSimulation/SOURCE/RP_2015_Rozenheck.tex

244 lines
8.1 KiB
TeX
Raw Normal View History

2019-06-17 13:13:49 +07:00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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
2019-06-17 13:13:49 +07:00
\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}
2019-12-18 14:23:12 +07:00
\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}
2019-12-18 14:23:12 +07:00
\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 \\
2019-12-18 14:23:12 +07:00
\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 \\
2019-12-18 14:23:12 +07:00
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}
2019-12-18 14:23:12 +07:00
\end{align}
\subsection{Implementasi}
Pada seksi implementasi ini akan dibahas mengenai code yang digunakan
2019-06-20 14:36:48 +07:00
untuk menyimulasi persamaan yang diciptakan oleh peneliti.
\begin{figure}
\centering
2019-12-18 14:23:12 +07:00
\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}
2019-06-20 14:36:48 +07:00
\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}
2019-06-20 14:36:48 +07:00
\section{Kesimpulan}
Implementasi berhasil. Penelitian mengalami kekurangan apabila vref diberikan
pada robot yang berpotensi menghasilkan lipatan pada graph.
2019-06-17 13:13:49 +07:00
\end{document}