stuck poleplacement

release
a2nr 2019-12-02 11:46:35 +07:00
parent 5697dc24e6
commit 1759a5d535
1 changed files with 95 additions and 59 deletions

View File

@ -20,9 +20,9 @@ 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}
\todo{ Ganti notasi K untuk friction ke $k$} \todo{ Ganti notasi K untuk friction ke $k$}
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
@ -60,15 +60,11 @@ 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*} 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} \begin{align} rank[P_c] = n \end{align}
Apabila hasil dari $rank(P_c ) \neq n$ maka sistem tidak \textit{fully controlable}. Sedangkan untuk Apabila hasil dari $rank(P_c ) \neq n$ maka sistem tidak \textit{fully controlable}. Sedangkan untuk
menguji observabilitas dapat menggunakan rumus berikut. menguji observabilitas 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} \begin{align} rank[P_o] = n \end{align}
Apabila sistem observable, rank dari matriks Observablity $P_o$ sama dengan besar orde sistem. Apabila sistem observable, rank dari matriks Observablity $P_o$ sama dengan besar orde sistem.
Menggunakan parameter robot oleh~\kutip{CORREIA20127} yang diterapkan pada per- 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- 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 pulkan sistem robot controlable. Hasil pengujian observable $rank[P o] = 6$, maka
@ -79,7 +75,7 @@ maka \textit{observer} tidak dibutuhkan dalam desain kendali robot.
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}). Berikut adalah transfer fungsi tertutup dari sistem orde dua (\kutip{Richard2010}).
\begin{align} \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 s+\omega_n^2} R(s)
\label{eq:Gref} \label{eq:Gref}
\end{align} \end{align}
Dengan input $R(s) = 1/s$ sebagai unit step, 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.
@ -118,7 +114,7 @@ Apabila menggunakan $\zeta = 0.9$ dan $\omega_n = 9.1$, akan diperoleh kriteria
\begin{center} \begin{center}
\begin{subfigure}[t]{.4\textwidth} \begin{subfigure}[t]{.4\textwidth}
\begin{tikzpicture} \begin{tikzpicture}
%%https://www.latex-tutorial.com/tutorials/pgfplots/ %%https://www.latex-tutorial.com/tutorials/pgfplots/
\begin{axis}[ \begin{axis}[
width=\linewidth, % Scale the plot to \linewidth width=\linewidth, % Scale the plot to \linewidth
grid=major, % Display a grid grid=major, % Display a grid
@ -153,7 +149,7 @@ Apabila menggunakan $\zeta = 0.9$ dan $\omega_n = 9.1$, akan diperoleh kriteria
\label{fig:poleSystem} \label{fig:poleSystem}
\end{subfigure} \end{subfigure}
\caption{(a) Step Respon dari persamaan~\eqref{eq:Gref} dengan parameter $\zeta = 0.9$ dan $\omega_n = 9.1$ \\ \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 } (b) Pole sistem adalah -8.19+3.96j dan -8.19+3.96j }
\end{center} \end{center}
\end{figure} \end{figure}
@ -162,43 +158,83 @@ Untuk mendesain parameter K pada \textit{state feedback},
diasumsikan bahwa \textit{state} pada sistem dapat diperoleh dari sensor, $x(t)$ untuk semua $t$. diasumsikan bahwa \textit{state} pada sistem dapat diperoleh dari sensor, $x(t)$ untuk semua $t$.
Persamaan rumus masukan ke sistem menjadi Persamaan rumus masukan ke sistem menjadi
\begin{align} \begin{align}
u(t) = -K_s x(t) u(t) = -K_s x(t)
\end{align} \end{align}
sehingga persamaan \textit{state space} menjadi berikut. sehingga persamaan \textit{state space} menjadi berikut.
\begin{align} \begin{align}
\dot{x}(t) = (A-BK_s)x(t) \dot{x}(t) = (A-BK_s)x(t)
\end{align} \end{align}
Dapat diperhatikan bahwa $(A-BK_s)$ merupakan matriks karakteristik dari sistem. Dapat diperhatikan bahwa $(A-BK_s)$ merupakan matriks karakteristik dari sistem.
Sehingga dengan mengatur besaran $K_s$ dapat menjadikan sistem sesuai dengan kriterianya. Sehingga dengan mengatur besaran $K_s$ dapat menjadikan sistem sesuai dengan kriterianya.
\begin{align} \begin{align}
\det[\lambda I-(A-BK_s)]=0 \det[\lambda I-(A-BK_s)]=0
\label{eq:eigen}
\end{align} \end{align}
Untuk mendapatkan konstanta $K_s$, digunakan aplikasi Matlab/Octave dengan fungsi yang bernama Perhatikan persamaan~\eqref{eq:ssx}, matriks pada persamaan tersebut akan diterapkan pada
$place()$. persamaan~\eqref{eq:eigen}.
Fungsi tersebut akan mengatur nilai $K_s$ dengan kriteria pole(perhatikan pada gambar \ref{fig:poleSystem}) yang diinginkan. \begin{align*}
\todo{ 0 & =\det \Big[
jabarkan perhitungan tangan mengenai pole placement, satu saja cukup dari ketiga state \begin{bmatrix}\lambda & 0\\ 0 & \lambda \end{bmatrix} -
} \Big(
Berikut adalah hasil kalkulasi dari fungsi $place()$ menggunakan matriks pada persamaan~\eqref{eq:ssx},\eqref{eq:ssy}, dan \eqref{eq:ssthe}. \begin{bmatrix}0 & A_{14} \\ 0 & A_{44} \end{bmatrix} -
\begin{bmatrix}0 & 0& 0 \\ B_{11} & B_{12} & B_{13} \end{bmatrix}
\begin{bmatrix}k_{11} & k_{12} \\ k_{21} & k_{22} \\ k_{31} & k_{32} \end{bmatrix}
\Big)
\Big] \\
0 & = \det \Big[
\begin{bmatrix}\lambda & 0\\ 0 & \lambda \end{bmatrix} -
\Big(
\begin{bmatrix}0 & A_{14} \\ -B_{11}k_{11}-B_{12}k_{21}-B_{13}k_{31} &
A_{44}- B_{11}k_{12}-B_{12}k_{22}-B_{13}k_{32}\end{bmatrix}
\Big)
\Big] \\
0 & = \det \Big[
\begin{bmatrix}\lambda & 0\\ 0 & \lambda \end{bmatrix} -
\begin{bmatrix}0 & A_{14} \\ Z_{21}& Z_{22}\end{bmatrix}
\Big]
= \det \Big[ \begin{bmatrix}\lambda & -A_{14}\\ -Z_{21} & \lambda-Z_{22} \end{bmatrix}\Big]
\end{align*}
Hasil dari diterminan sebagai berikut.
\begin{align} \begin{align}
K_s^{x} &= 0 & = \lambda^2 -Z_{22} \lambda + Z_{21}A_{14}
\begin{bmatrix} \end{align}
-0.00000& -0.00000 \\ Dimana
71.71556& 8.38602 \\ \begin{align*}
-71.71556& -8.38602 Z_{21} &= B_{11}k_{11} +B_{12}k_{21} +B_{13}k_{31} \\
\end{bmatrix}; Z_{22} &= A_{44}- B_{11}k_{12}-B_{12}k_{22}-B_{13}k_{32}
K_s^{y}= \end{align*}
\begin{bmatrix} Dengan asumsi persamaan orde dua mengunakan parameter $\zeta~=~0.9$ dan $\omega_n~=~9.1$
-82.81000& -9.67000& \\ (hasil analisa pada gambar~\ref{fig:stepResGref}) sebagai berikut.
41.40500& 4.83500& \\ \begin{align}
41.40500& 4.83500& \triangle \lambda &= \lambda^2+2\zeta\omega_n \lambda +\omega_n^2 \\
\end{bmatrix}; \nonumber\\ &= \lambda^2+16.38 \lambda + 82.81
K_s^{\theta} &= \end{align}
\begin{bmatrix} Sehingga akan diperoleh besaran $Z_{21}$ dan $Z_{22}$
6.90083& 1.02817\\
6.90083& 1.02817\\
6.90083& 1.02817 % Untuk mendapatkan konstanta $K_s$, digunakan aplikasi Matlab/Octave dengan fungsi yang bernama
\end{bmatrix} % $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} \end{align}
@ -208,40 +244,40 @@ 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}
\dot{x} &= (A-BK_s)x + BNr\\ \dot{x} & = (A-BK_s)x + BNr \\
y &= Cx y & = Cx
\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}.
\begin{align} \begin{align}
N^x &= \begin{bmatrix} N^x & = \begin{bmatrix}
-0.00000 & -0.00000 \\ -0.00000 & -0.00000 \\
71.71556 & -0.00000 \\ 71.71556 & -0.00000 \\
-71.71556 & -0.00000 -71.71556 & -0.00000
\end{bmatrix}; \end{bmatrix};
N^y = \begin{bmatrix} N^y = \begin{bmatrix}
-82.81000 & -0.00000 \\ -82.81000 & -0.00000 \\
41.40500 & -0.00000 \\ 41.40500 & -0.00000 \\
41.40500 & -0.00000 41.40500 & -0.00000
\end{bmatrix} \nonumber \\ \end{bmatrix} \nonumber \\
N^\theta &= \begin{bmatrix} N^\theta & = \begin{bmatrix}
6.90083& -0.00000 \\ 6.90083 & -0.00000 \\
6.90083& -0.00000 \\ 6.90083 & -0.00000 \\
6.90083& -0.00000 6.90083 & -0.00000
\end{bmatrix} \end{bmatrix}
\end{align} \end{align}