|
|
|
@ -25,21 +25,21 @@ 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)
|
|
|
|
|
\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) \label{eq:ssx} \\
|
|
|
|
|
\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)\label{eq:ssy} \\
|
|
|
|
|
\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) \label{eq:ssthe}
|
|
|
|
|
\end{align}
|
|
|
|
|
|
|
|
|
|
State feedback membutuhkan kembalian nilai state dari sistem dan mengka-
|
|
|
|
@ -58,7 +58,7 @@ untuk menguji apakah sistem bersifat controlable atau tidak (Dorf, dkk (2010)).
|
|
|
|
|
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*} 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.
|
|
|
|
@ -70,22 +70,170 @@ sistem robot juga observable. Karena sistem robot observable, maka dalam desain
|
|
|
|
|
kendali tidak diperlukan observer.
|
|
|
|
|
|
|
|
|
|
\subsubsection{Desain Kendali}
|
|
|
|
|
Kriteria didefinisi menggunakan analisis sistem orde dua pada domain waktu.
|
|
|
|
|
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)
|
|
|
|
|
Y(s) = \frac{\omega_n^2}{s^2+2\zeta\omega_n+\omega_n^2} R(s)
|
|
|
|
|
\label{eq:Gref}
|
|
|
|
|
\end{align}
|
|
|
|
|
Dengan input $R(s) = 1/s$ sebagai unit impulse, maka didapat persamaan keluaran sistem dalam domain waktu.
|
|
|
|
|
Dengan input $R(s) = 1/s$ sebagai unit step, maka didapat persamaan keluaran sistem dalam domain waktu.
|
|
|
|
|
\begin{align}
|
|
|
|
|
y(t) = 1 - \frac{1}{\beta}e^{-\zeta\omega_n t}sin(\omega_n\beta t + \theta)
|
|
|
|
|
y(t) = 1 - \frac{1}{\beta}e^{-\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$),
|
|
|
|
|
yaitu \textit{satling time} ($T_s$), Prosentase \textit{overshoot} ($P.O$),
|
|
|
|
|
\textit{peek time} ($T_p$), dan \textit{Transient Time} ($T_{r1}$).
|
|
|
|
|
Dari keempat kriteria tersebut, merupakan fungsi dari $\zeta$ dan $\omega_n$.
|
|
|
|
|
Berikut adalah rumus dari keempat kriteria tersebut.
|
|
|
|
|
\begin{itemize}
|
|
|
|
|
\item $T_s$ adalah rumus pendekatan untuk mengetahui waktu respon sistem
|
|
|
|
|
mulai dari kondisi inisial sampai sistem mencapai 2\% dari set poin yang terakhir.
|
|
|
|
|
\begin{align}
|
|
|
|
|
T_s = \frac{4}{\zeta \omega_n}
|
|
|
|
|
\end{align}
|
|
|
|
|
\item $P.O$ adalah prosentase \textit{overshoot} dari sistem.
|
|
|
|
|
Arti dari \textit{overshoot} pada sistem adalah respon sistem yang melebihi dari nilai set poin.
|
|
|
|
|
\begin{align}
|
|
|
|
|
P.O. = 100e^{-\zeta \pi/\sqrt{1-\zeta^2}}
|
|
|
|
|
\end{align}
|
|
|
|
|
\item $T_p$ adalah waktu dimana respon sistem mengalami \textit{overshoot} dimulai dari kondisi inisial.
|
|
|
|
|
\begin{align}
|
|
|
|
|
T_p = \frac{\pi}{\omega_n \sqrt{1-\zeta^2}}
|
|
|
|
|
\end{align}
|
|
|
|
|
\item $T_{r1}$ adalah pendekatan nilai waktu respon sistem dimulai dari respon 10\% menuju ke 90\% set poin.
|
|
|
|
|
Akurasi dari rumus ini adalah $0.3 \leq \zeta \leq 0.8$.
|
|
|
|
|
\begin{align}
|
|
|
|
|
T_{r1} = \frac{2.16\zeta + 0.6}{\omega_n}
|
|
|
|
|
\end{align}
|
|
|
|
|
\end{itemize}
|
|
|
|
|
Apabila menggunakan $\zeta = 0.9$ dan $\omega_n = 9.1$, akan diperoleh kriteria $T_s= 0.48$, $T_p=14.75$, $P.O.=0.15$, dan $T_{r1}=0.27$. Grafik step response dapat diperhatiakn pada gamabar~\ref{fig:stepResGref}.
|
|
|
|
|
\begin{figure}
|
|
|
|
|
\begin{center}
|
|
|
|
|
\begin{subfigure}[t]{.4\textwidth}
|
|
|
|
|
\begin{tikzpicture}
|
|
|
|
|
%%https://www.latex-tutorial.com/tutorials/pgfplots/
|
|
|
|
|
\begin{axis}[
|
|
|
|
|
width=\linewidth, % Scale the plot to \linewidth
|
|
|
|
|
grid=major, % Display a grid
|
|
|
|
|
grid style={dashed,gray!30}, % Set the style
|
|
|
|
|
xlabel=$s$, % Set the labels
|
|
|
|
|
ylabel=Response,
|
|
|
|
|
no marks
|
|
|
|
|
]
|
|
|
|
|
\addplot
|
|
|
|
|
table[x=column 2,y=column 1,col sep=comma] {BAB4/Gref.csv};
|
|
|
|
|
\end{axis}
|
|
|
|
|
\end{tikzpicture}
|
|
|
|
|
\caption{}
|
|
|
|
|
\label{fig:stepResGref}
|
|
|
|
|
\end{subfigure}
|
|
|
|
|
\begin{subfigure}[t]{.4\textwidth}
|
|
|
|
|
\begin{tikzpicture}
|
|
|
|
|
\begin{axis}[
|
|
|
|
|
width=\linewidth, % Scale the plot to \linewidth
|
|
|
|
|
grid=major, % Display a grid
|
|
|
|
|
grid style={dashed,gray!30}, % Set the style
|
|
|
|
|
xlabel=Re, % Set the labels
|
|
|
|
|
ylabel=Im,
|
|
|
|
|
legend pos=south east,
|
|
|
|
|
only marks
|
|
|
|
|
]
|
|
|
|
|
\addplot
|
|
|
|
|
table[x=real,y=imag,col sep=comma] {BAB4/poleGref.csv};
|
|
|
|
|
\end{axis}
|
|
|
|
|
\end{tikzpicture}
|
|
|
|
|
\caption{}
|
|
|
|
|
\label{fig:poleSystem}
|
|
|
|
|
\end{subfigure}
|
|
|
|
|
\caption{(a) Step Respon dari persamaan~\eqref{eq:Gref} dengan parameter $\zeta = 0.9$ dan $\omega_n = 9.1$ \\
|
|
|
|
|
(b) Pole sistem adalah -8.19+3.96j dan -8.19+3.96j }
|
|
|
|
|
\end{center}
|
|
|
|
|
\end{figure}
|
|
|
|
|
|
|
|
|
|
\todo{Parameter K}
|
|
|
|
|
\todo{Parameter N}
|
|
|
|
|
|
|
|
|
|
Untuk mendesain parameter K pada \textit{state feedback},
|
|
|
|
|
diasumsikan bahwa \textit{state} pada sistem dapat diperoleh dari sensor, $x(t)$ untuk semua $t$.
|
|
|
|
|
Persamaan rumus masukan ke sistem menjadi
|
|
|
|
|
\begin{align}
|
|
|
|
|
u(t) = -K_sx(t)
|
|
|
|
|
\end{align}
|
|
|
|
|
sehingga persamaan \textit{state space} menjadi berikut.
|
|
|
|
|
\begin{align}
|
|
|
|
|
\dot{x}(t) = (A-BK_s)x(t)
|
|
|
|
|
\end{align}
|
|
|
|
|
Dapat diperhatikan bahwa $(A-BK_s)$ merupakan matriks karakteristik dari sistem.
|
|
|
|
|
Sehingga dengan mengatur besaran $K_s$ dapat menjadikan sistem sesuai dengan kriterianya.
|
|
|
|
|
\begin{align}
|
|
|
|
|
\det[\lambda I-(A-BK_s)]=0
|
|
|
|
|
\end{align}
|
|
|
|
|
Untuk mendapatkan konstanta $K_s$, digunakan aplikasi Matlab/Octave dengan fungsi yang bernama
|
|
|
|
|
$place()$.
|
|
|
|
|
Fungsi tersebut akan mengatur nilai $K_s$ dengan kriteria pole(perhatikan pada gambar \ref{fig:poleSystem}) yang diinginkan.
|
|
|
|
|
Berikut adalah hasil kalkulasi dari fungsi $place()$ menggunakan matriks pada persamaan~\eqref{eq:ssx},\eqref{eq:ssy}, dan \eqref{eq:ssthe}.
|
|
|
|
|
\begin{align}
|
|
|
|
|
K_s^{x} &=
|
|
|
|
|
\begin{bmatrix}
|
|
|
|
|
-0.00000& -0.00000 \\
|
|
|
|
|
71.71556& 8.38602 \\
|
|
|
|
|
-71.71556& -8.38602
|
|
|
|
|
\end{bmatrix};
|
|
|
|
|
K_s^{y}=
|
|
|
|
|
\begin{bmatrix}
|
|
|
|
|
-82.81000& -9.67000& \\
|
|
|
|
|
41.40500& 4.83500& \\
|
|
|
|
|
41.40500& 4.83500&
|
|
|
|
|
\end{bmatrix}; \nonumber\\
|
|
|
|
|
K_s^{\theta} &=
|
|
|
|
|
\begin{bmatrix}
|
|
|
|
|
6.90083& 1.02817\\
|
|
|
|
|
6.90083& 1.02817\\
|
|
|
|
|
6.90083& 1.02817
|
|
|
|
|
\end{bmatrix}
|
|
|
|
|
\end{align}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Setelah mendapatkan konstanta $K_s$, sistem sudah dalam keadaan stabil.
|
|
|
|
|
Akan tetapi sistem tidak mencapai set poin yang diinginkan.
|
|
|
|
|
Maka permasalahan tersebut dapat diselesaikan dengan \textit{input refrence}.
|
|
|
|
|
Dimana refrence tersebut akan dikalikan dengan konstanta $N$.
|
|
|
|
|
Berikut adalah persamaan \textit{input refrence} sebagai penambah dari \textit{state feedback}.
|
|
|
|
|
\begin{align}
|
|
|
|
|
u(t) = -Kx(t)+Nr
|
|
|
|
|
\end{align}
|
|
|
|
|
Sehingga persamaan \textit{state space} menjadi berikut.
|
|
|
|
|
\begin{align}
|
|
|
|
|
\dot{x} &= (A-BK_s)x + BNr\\
|
|
|
|
|
y &= Cx
|
|
|
|
|
\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.
|
|
|
|
|
\begin{align}
|
|
|
|
|
x &= -(A-BK_s)^{-1}BNr
|
|
|
|
|
\end{align}
|
|
|
|
|
Dalam keadaan \textit{steady state}, harapannya adalah nilai refrence sama dengan nilai keluaran, $y=r$.
|
|
|
|
|
Sehingga dapat diperoleh persamaan $N$.
|
|
|
|
|
\begin{align}
|
|
|
|
|
N &= -[C(A-BK_s)^{-1}B]^{-1}
|
|
|
|
|
\end{align}
|
|
|
|
|
Berikut adalah hasil kalkulasi dari rumus $N$ menggunakan matriks pada persamaan~\eqref{eq:ssx},\eqref{eq:ssy}, dan \eqref{eq:ssthe}.
|
|
|
|
|
|
|
|
|
|
\begin{align}
|
|
|
|
|
N^x &= \begin{bmatrix}
|
|
|
|
|
-0.00000 & -0.00000 \\
|
|
|
|
|
71.71556 & -0.00000 \\
|
|
|
|
|
-71.71556 & -0.00000
|
|
|
|
|
\end{bmatrix};
|
|
|
|
|
N^y = \begin{bmatrix}
|
|
|
|
|
-82.81000 & -0.00000 \\
|
|
|
|
|
41.40500 & -0.00000 \\
|
|
|
|
|
41.40500 & -0.00000
|
|
|
|
|
\end{bmatrix} \nonumber \\
|
|
|
|
|
N^\theta &= \begin{bmatrix}
|
|
|
|
|
6.90083& -0.00000 \\
|
|
|
|
|
6.90083& -0.00000 \\
|
|
|
|
|
6.90083& -0.00000
|
|
|
|
|
\end{bmatrix}
|
|
|
|
|
\end{align}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsection{Kendali Formasi Multi Robot}
|
|
|
|
@ -208,12 +356,12 @@ Dengan menggunakan parameter dari penelitian oleh \kutip{CORREIA20127}, maka aka
|
|
|
|
|
-6.69666 & 0.00000 & 0.00000 \\
|
|
|
|
|
0.00000 & -6.71000 & 0.00000 \\
|
|
|
|
|
0.00000 & 0.00000 & -4.04200 \\
|
|
|
|
|
\end{bmatrix} ; \quad
|
|
|
|
|
\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} ; \\
|
|
|
|
|
\end{bmatrix} ; \\
|
|
|
|
|
K & = \begin{bmatrix}
|
|
|
|
|
-1.46667 & 0.00000 & 0.00000 \\
|
|
|
|
|
0.00000 & -1.00000 & 0.00000 \\
|
|
|
|
|