Selesai pembahasan kendali low lavel.

release
a2nr 2019-11-20 14:04:59 +07:00
parent 0ad391ac9c
commit db8565e0db
6 changed files with 247 additions and 27 deletions

52
BAB4/Gref.csv Normal file
View File

@ -0,0 +1,52 @@
column 1,column 2
0,0
0.007519014058975133,0.014
0.02787288907893497,0.028
0.05813661124868522,0.04200000000000001
0.09584103764508942,0.05600000000000001
0.1389152410439689,0.07000000000000001
0.1856349017744423,0.08400000000000002
0.2345762549446597,0.09800000000000002
0.2845751216558404,0.112
0.334690575780543,0.126
0.3841728226304695,0.14
0.4324348916534503,0.154
0.4790277715864288,0.168
0.5236186427736041,0.182
0.5659718872567027,0.196
0.6059325824613133,0.21
0.6434122086135965,0.224
0.6783763232591336,0.238
0.7108339783034885,0.2520000000000001
0.7408286757766605,0.266
0.7684306779992418,0.28
0.7937305059825104,0.294
0.8168334767356632,0.3080000000000001
0.8378551457061627,0.3220000000000001
0.8569175348824327,0.3360000000000001
0.8741460401907847,0.35
0.8896669237767264,0.364
0.9036053076360092,0.3780000000000001
0.9160835949173277,0.3920000000000001
0.9272202541224777,0.4060000000000001
0.937128909447261,0.42
0.9459176877030213,0.4340000000000001
0.9536887786983711,0.4480000000000001
0.9605381717052835,0.4620000000000001
0.966555535742483,0.4760000000000001
0.9718242159382878,0.49
0.9764213222379007,0.5040000000000001
0.980417890246481,0.5180000000000001
0.9838790970957602,0.532
0.9868645179317038,0.546
0.9894284109837901,0.5600000000000001
0.9916200212296733,0.5740000000000001
0.9934838944460908,0.5880000000000001
0.9950601949686966,0.6020000000000001
0.9963850217981394,0.6160000000000001
0.9974907188126078,0.6300000000000001
0.9984061758012728,0.6440000000000001
0.9991571178393106,0.6580000000000001
0.9997663812021337,0.6720000000000002
1.000254174580784,0.6860000000000001
1.000638324827062,0.7000000000000001
1 column 1 column 2
2 0 0
3 0.007519014058975133 0.014
4 0.02787288907893497 0.028
5 0.05813661124868522 0.04200000000000001
6 0.09584103764508942 0.05600000000000001
7 0.1389152410439689 0.07000000000000001
8 0.1856349017744423 0.08400000000000002
9 0.2345762549446597 0.09800000000000002
10 0.2845751216558404 0.112
11 0.334690575780543 0.126
12 0.3841728226304695 0.14
13 0.4324348916534503 0.154
14 0.4790277715864288 0.168
15 0.5236186427736041 0.182
16 0.5659718872567027 0.196
17 0.6059325824613133 0.21
18 0.6434122086135965 0.224
19 0.6783763232591336 0.238
20 0.7108339783034885 0.2520000000000001
21 0.7408286757766605 0.266
22 0.7684306779992418 0.28
23 0.7937305059825104 0.294
24 0.8168334767356632 0.3080000000000001
25 0.8378551457061627 0.3220000000000001
26 0.8569175348824327 0.3360000000000001
27 0.8741460401907847 0.35
28 0.8896669237767264 0.364
29 0.9036053076360092 0.3780000000000001
30 0.9160835949173277 0.3920000000000001
31 0.9272202541224777 0.4060000000000001
32 0.937128909447261 0.42
33 0.9459176877030213 0.4340000000000001
34 0.9536887786983711 0.4480000000000001
35 0.9605381717052835 0.4620000000000001
36 0.966555535742483 0.4760000000000001
37 0.9718242159382878 0.49
38 0.9764213222379007 0.5040000000000001
39 0.980417890246481 0.5180000000000001
40 0.9838790970957602 0.532
41 0.9868645179317038 0.546
42 0.9894284109837901 0.5600000000000001
43 0.9916200212296733 0.5740000000000001
44 0.9934838944460908 0.5880000000000001
45 0.9950601949686966 0.6020000000000001
46 0.9963850217981394 0.6160000000000001
47 0.9974907188126078 0.6300000000000001
48 0.9984061758012728 0.6440000000000001
49 0.9991571178393106 0.6580000000000001
50 0.9997663812021337 0.6720000000000002
51 1.000254174580784 0.6860000000000001
52 1.000638324827062 0.7000000000000001

4
BAB4/Kst.matrix Normal file
View File

@ -0,0 +1,4 @@
k1,k2,k3,k4,k5,k6
-0,-82.81000000000003,6.900833333333332,-0,-9.670003622750881,1.028166847804211
71.71556368738935,41.40500000000003,6.900833333333331,8.386015797373604,4.835001811375442,1.02816684780421
-71.71556368738936,41.40500000000002,6.900833333333334,-8.386015797373604,4.835001811375441,1.028166847804211

3
BAB4/Nst.matrix Normal file
View File

@ -0,0 +1,3 @@
-0,-82.81000000000003,6.900833333333335,-0,-0,-0
71.71556368738936,41.40500000000002,6.900833333333334,-0,-0,-0
-71.71556368738936,41.40500000000002,6.900833333333334,-0,-0,-0

View File

@ -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 \\

3
BAB4/poleGref.csv Normal file
View File

@ -0,0 +1,3 @@
real,imag
-8.190000000000001,3.966598038622012
-8.190000000000001,-3.966598038622012
1 real imag
2 -8.190000000000001 3.966598038622012
3 -8.190000000000001 -3.966598038622012

View File

@ -163,9 +163,19 @@
%
% Digunakan untuk membuat mind map
%
\usepackage{tikz}
\usepackage{siunitx}
\usepackage{tikz} % To generate the plot from csv
\usetikzlibrary{mindmap}
%
% Digunakan untuk plot data
%
\usepackage{pgfplots}
\pgfplotsset{compat=newest} % Allows to place the legend below plot
\usepgfplotslibrary{units} % Allows to enter the units nicely
\sisetup{
round-mode = places,
round-precision = 2,
}
%-----------------------------------------------------------------------------%
% Konfigurasi