diff --git a/BAB1/bab1.tex b/BAB1/bab1.tex index 148d9f6..3a7e72f 100644 --- a/BAB1/bab1.tex +++ b/BAB1/bab1.tex @@ -29,7 +29,7 @@ kendali formasi ditujukan pada pengembangan arsitektur. Pengembangan dilakukan karena untuk memecahkan permasalahan dalam hal mendistribusikan tugas pada setiap robot yang terbatas dan juga berdasarkan keterbatasannya pada robot itu sendiri. Selain itu juga dilakukan pengembangan dalam algoritma strategi, contoh strategi tersebut adalah \textit{leader-follower}, struktur virtual, -berdasarkan tingkahlaku, menggunkana teori graph, dan memanfaatkan medan potensial buatan. +berdasarkan tingkahlaku, menggunakan teori graph, dan memanfaatkan medan potensial buatan. Dalam literatur oleh \kutip{OH2015424}, kendali formasi dikategorikan menjadi 3 bagian, yaitu berdasarkan posisi, perpindahan, dan jarak. @@ -37,8 +37,9 @@ Ketiga bagian tersebut tertuju pada jawaban dari pertanyaan, "variable apa yang sebagai sensor" dan "variable apa yang aktif dikendalikan oleh sistem multi-agent untuk mencapai formasi yang diinginkan". Untuk menetapkan variable sebagai sensor dapat dilakukan berdasarkan ketentuan kemampuan -individu agent. Berikut adalah penjelasan singkat dari ketiga bagian tersebut: -Pada formasi berdasarkan posisi, +individu agent. + +Pada formasi berdasarkan posisi, dimana agent diharuskan memiliki kemampuan untuk mengetahui koordinatnya sendiri berdasarkan koordinat global. Sehingga, koordinat tujuan didistribusikan kepada setiap agent dan agent bekerja untuk mencapai koordinat tersebut. Karena itu, kebutuhan individu untuk berinteraksi dengan individu lain sangat kecil. @@ -46,6 +47,7 @@ Metode formasi ini pada praktiknya, interaksi antar individu dilakukan untuk men saturasi akselerasi, dan lain-lain. Karena metode ini membutuhkan kemampuan untuk mengetahui koordinat global, dibutuhkan biaya yang lebih dibanding metode lain dalam perangkat sensor yang \textit{advance}, seperti sensor GPS; + Pada formasi kendali berdasarkan perpindahan, secara individu agent tidak mengetahui koordinatnya berdasarkan koordinat global. Akan tetapi, individu agent memiliki koordinatnya sendiri terhadap individu agent tetangganya dan harus dilakukan penyearahan terhadap koordinat setiap robot dengan koordinat global. @@ -56,6 +58,7 @@ dan semua agent harus menyearahkan koordinatnya berdasarkan koordinat global, serta dibutuhkan interaksi antara individu lain untuk mencapai formasi yang dinginkan. Permasalahan pada metode ini ditujukan pada kendali formasi pada agent yang bersifat heterogent, pemeliharaan dalam komunikasi, dan kemampuan dalam menghindari rintangan; + Pada formasi berdasarkan jarak, dimana setiap individu agent memiliki koordinatnya masing-masing dan tidak perlu disearahkan dengan koordinat global. Variable yang dikendalikan pada meteode ini adalah variabel jarak antar agent yang terhubung, @@ -73,7 +76,7 @@ Dengan harapan penerapan real model tersebut dapat bermanfaat terhadap masyaraka %% Penelitian oleh \kutip{Khaledyan2018} juga memaparkan formasi berdasarkan jarak, tapi %% ditujukan penerapan terhadap mobile-robot nonholonomic dengan memberikan kecepatan -%% refrensi nya terhadap semua robot. +%% referensi nya terhadap semua robot. %-----------------------------------------------------------------------------% @@ -81,9 +84,9 @@ Dengan harapan penerapan real model tersebut dapat bermanfaat terhadap masyaraka %-----------------------------------------------------------------------------% Tiga kategori metode formasi yaitu berdasarkan posisi, perpindahan, dan jarak hampir diperlukan analisa terhadap model yang nyata. Pada penelitian oleh \kutip{Rozenheck2015}, yang memaparkan permasalahan kendali formasi berdasarkan jarak menggunakan kendali \textit{Proportional-Integral}(PI). -Peneliti memberikan kecepatan refrensi secara konstan terhadap salah satu dari agent. +Peneliti memberikan kecepatan referensi secara konstan terhadap salah satu dari agent. Lalu agent lainya memberikan respon untuk tetap menjaga formasi yang diinginkan. -Tidak dejalaskan alasan oleh peneliti kenapa salah satu agent diberi kecepatan refrensi, +Tidak dejalaskan alasan oleh peneliti kenapa salah satu agent diberi kecepatan referensi, akan tetapi metode tersebut hampir sama dengan strategi \textit{leader-follower}. \textit{Leader-follower} mengharuskan agent tetangga untuk beradaptasi terhadap perubahan tetangga lainnya secara spesifik. Akan tetapi ada perbedaan antara \textit{leader-follower} dengan metode berdasarkan jarak, @@ -127,6 +130,6 @@ Tujuan dari penelitian ini adalah Manfaat dari penelitian ini adalah \begin{enumerate} -\item Memberikan refrensi untuk permasalahan kendali multi-robot, kususnya pada permasalhaan kendali formasi, terhadap model yang lebih nyata. +\item Memberikan referensi untuk permasalahan kendali multi-robot, kususnya pada permasalhaan kendali formasi, terhadap model yang lebih nyata. \item Membuka peluang penelitian dibidang kendali mengenai kendali formasi pada kendali multi-robot dilingkungan Fakultas Teknik Elektro, Universitas Brawijaya. \end{enumerate} diff --git a/BAB2/bab2.tex b/BAB2/bab2.tex index 88d3b6c..3f37b12 100644 --- a/BAB2/bab2.tex +++ b/BAB2/bab2.tex @@ -30,7 +30,7 @@ Agar robot bergerak kesegala arah, ketiga aktuator harus dikendalikan untuk meng Kinematika robot dapat dirumuskan menjadi \begin{align} - \dot{\textbf{x}}_p & = R^T(\theta).\dot{\textbf{x}}_r, \label{eq:kinematika_robot} + \dot{\textbf{x}}_p & = R^T(\theta)\dot{\textbf{x}}_r \label{eq:kinematika_robot} \end{align} dimana $R(\theta)$ adalah matrik rotasi ortogonal \begin{align*} @@ -39,7 +39,7 @@ dimana $R(\theta)$ adalah matrik rotasi ortogonal \cos(\theta) & \sin(\theta) & 0 \\ -\sin(\theta) & \cos(\theta) & 0 \\ 0 & 0 & 1 \\ - \end{bmatrix}. + \end{bmatrix} \end{align*} Koordinat robot dideskripsikan menggunakan vector $\textbf{x}_p = \begin{bmatrix} x_p & y_p & \theta \end{bmatrix}^T$, dimana $x_p$ dan $y_p$ adalah titik pusat, $P$, pada frame robot dan $\theta_p$ adalah selisih sudut antara \textit{angular} frame global dengan robot. @@ -49,8 +49,8 @@ kecepatan pada titik pusat adalah sebuah fungsi dengan kecepatan roda sebagai pa Untuk mendapatkan persamaan tersebut, maka dapat dianalisis dengan hukum \textit{Power}. Apabila didefinisi hubungan antara gaya resultan robot dengan gaya yang dihasilkan roda \begin{align*} - F_{\dot{x}_r} & = \cos{90^\circ}.F_{w1}(t) + \cos{30^\circ}.F_{w2}(t) + (-\cos{30^\circ}).F_{w3}(t) \\ - F_{\dot{y}_r} & = (-1).F_{w1}(t) + \cos{60^\circ}.F_{w2}(t) + \cos{60^{\circ}}.F_{w3}(t) \\ + F_{\dot{x}_r} & = F_{w1}(t)\cos({90^\circ})+ F_{w2}(t) \cos({30^\circ})+ -F_{w3}(t) \cos({30^\circ}) \\ + F_{\dot{y}_r} & = -F_{w1}(t) + F_{w2}(t) \cos({60^\circ})+ F_{w3}(t) \cos({60^{\circ}}) \\ \Gamma & = d.F_{w1}(t) + d.F_{w2}(t) + d.F_{w3}(t) \end{align*} dimana $d$ adalah jarak dari titik $P$ ke lokasi roda, maka akan didapat matriks geometri @@ -61,29 +61,29 @@ $F_w = \begin{bmatrix} F_{w1} & F_{w2} & F_{w3} \end{bmatrix}^T$ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \\ -1 & \frac{1}{2} & \frac{1}{2} \\ l & l & l - \end{bmatrix}.F_W \nonumber \\ - F_R & = A.F_w. \label{eq:gaya_robot} + \end{bmatrix}F_W \nonumber \\ + F_R & = AF_w \label{eq:gaya_robot} \end{align} Dalam kasus robot, \textit{power} yang dihasilkan oleh setiap roda sama dengan \textit{power} dari robot itu sendiri (\kutip{Hacene2019}). Dengan menggunakan persamaan~\eqref{eq:gaya_robot} akan menghasilkan persamaan kinematika robot menggunakan 3 roda \textit{omniwheel} \begin{align} - P_{w} & = P_{R} \nonumber \\ - F_w^T.\dot{x}_w & = F_R^T.\dot{\textbf{x}}_r \nonumber \\ - F_w^T.\dot{x}_w & = {(A.F_w)}^T.\dot{\textbf{x}}_r \nonumber \\ - \dot{x}_w & = A^T.\dot{\textbf{x}}_r \nonumber \\ - \dot{\textbf{x}}_r & = {(A^T)}^{-1}.\dot{x}_w.\label{eq:kecepatan_robot} + P_{w} & = P_{R} \nonumber \\ + F_w^T\dot{x}_w & = F_R^T\dot{\textbf{x}}_r \nonumber \\ + F_w^T\dot{x}_w & = {(A.F_w)}^T\dot{\textbf{x}}_r \nonumber \\ + \dot{x}_w & = A^T\dot{\textbf{x}}_r \nonumber \\ + \dot{\textbf{x}}_r & = {(A^T)}^{-1}\dot{x}_w\label{eq:kecepatan_robot} \end{align} dengan mensubtitusi persamaan~\eqref{eq:kecepatan_robot} pada~\eqref{eq:kinematika_robot} \begin{align} - \dot{\textbf{x}}_p & = R^T{(\theta)}.{(A^T)}^{-1}.\dot{x}_w + \dot{\textbf{x}}_p & = R^T{(\theta)}{(A^T)}^{-1}\dot{x}_w \end{align} Pergerakan robot juga dideskripsikan secara dinamika menggunakan hukum pergerakan dari \textit{Newton}. \begin{align} - F_{\dot{x}_r}(t) - B_{\dot{x}_r}.\dot{x}_r(t) - C_{\dot{x}_r}.sgn(\dot{x}_r(t)) & = M.\ddot{x}_r(t) \\ - F_{\dot{y}_r}(t) - B_{\dot{y}_r}.\dot{y}_r(t) - C_{\dot{y}_r}.sgn(\dot{y}_r(t)) & = M.\ddot{y}_r(t) \\ - \Gamma(t) - B_{\dot{\theta}}.\dot{\theta}(t) - C_{\dot{\theta} }.sgn(\dot{\theta}(t) ) & = I.\ddot{\theta}(t) + F_{\dot{x}_r}(t) - B_{\dot{x}_r}\dot{x}_r(t) - C_{\dot{x}_r}sgn(\dot{x}_r(t)) & = M\ddot{x}_r(t) \\ + F_{\dot{y}_r}(t) - B_{\dot{y}_r}\dot{y}_r(t) - C_{\dot{y}_r}sgn(\dot{y}_r(t)) & = M\ddot{y}_r(t) \\ + \Gamma(t) - B_{\dot{\theta}}\dot{\theta}(t) - C_{\dot{\theta} }sgn(\dot{\theta}(t) ) & = I\ddot{\theta}(t) \end{align} Dimana $B_i$ adalah \textit{viscous firctions} yang mempresentasikan perbandingan terbalik dari gaya yang bersifat linier terhadap gaya dorong dan kecepatan robot. $C_i.sgn(\dot{i})$ adalah \textit{coulumb frictions} @@ -91,9 +91,9 @@ yang mempresentasikan perbandingan terbalik terhadap perubahan kecepatan, dimana dari kecepatannya. \begin{align*} sgn(\alpha) = \begin{cases} - 1, & \alpha >0 \\ - 0, & \alpha = 0 \\ - -1, & \alpha < 0. + 1, & \alpha >0 \\ + 0, & \alpha = 0 \\ + -1, & \alpha < 0 \end{cases} \end{align*} seperti pada persamaan~\eqref{eq:gaya_robot}, resultan gaya robot berhubungan dengan gaya roda. @@ -103,11 +103,11 @@ Maka gaya roda dapat dideskripsikan dengan menghubungkan antara gaya yang dihasi \end{align} dimana $\tau_i(t)$ adalah torsi dari motor \begin{align} - \tau_i(t) = l_i.K_{ti}.i_{ai}(t). + \tau_i(t) = l_iK_{ti}i_{ai}(t) \end{align} Untuk mendapatkan persamaan $i_{ai}(t)$, dapat digunakan deskripsi persamaan dinamika motor \begin{align} - u_i(t) = L_{ai}.\frac{di_{ai}(t)}{dt} + R_{ai}.i_{ai}(t) + K_{vi}.w_{mi} \label{eq:dyn_motor} + u_i(t) = L_{ai}\frac{di_{ai}(t)}{dt} + R_{ai}i_{ai}(t) + K_{vi}w_{mi} \label{eq:dyn_motor} \end{align} dimana $L_{ai}$ dan $R_{ai}$ adalah Induktasi dan resistansi armature motornya. $K_{vi}$ adalah konstanta torsi motor dimana dalam satuan SI yang sama dengan $K_v$. @@ -116,8 +116,8 @@ bernilai kecil, dan dalam persamaan~\eqref{eq:dyn_motor} nilai induktansi dapat Penjabaran dinamika robot bisa diubah dalam bentuk \textit{state-space} \begin{align} - \dot{x}(t) & = A_r.x(t) + B_r.u(t) + K.sgn(x(t)) \label{eq:ss1} \\ - y(t) & = C.x(t) \label{eq:ss2} + \dot{x}(t) & = A_rx(t) + B_ru(t) + Ksgn(x(t)) \label{eq:ss1} \\ + y(t) & = Cx(t) \label{eq:ss2} \end{align} dimana vektor \textit{state} adalah $x(t) = \begin{bmatrix} x_p & y_p & \theta & \dot{x}_r & \dot{y}_r & \dot{\theta}_r \end{bmatrix}^T$, dan vektor output $y(t) = \begin{bmatrix} x_p & y_p & \theta \end{bmatrix}^T$ . @@ -230,12 +230,12 @@ setiap robot $i$ dan $j$ untuk sisi $(i,j)\in \sisi$. Lalu didefinisi persamaan potensial yang memiliki hubungan antara jarak robot yang diinginkan dengan jarak yang sekarang \begin{align} - \Phi(e) & = \frac{1}{2} \sum_{k=1}^{m} \big( ||e_k||^2 - d_k^2 \big)^2. + \Phi(e) & = \frac{1}{2} \sum_{k=1}^{m} \big( ||e_k||^2 - d_k^2 \big)^2 \end{align} Pengamatan dilakukan agar $\Phi(e) =0$ jika dan hanya jika $||e_k||^2 = d_k^2,$ $\forall k = 1, \dots, m$. Kendali dari setiap robot menggunakan gradien negatif dari fungsi potensial \begin{align} - u_i(t) & = - \Big( \frac{\partial \Phi(e)}{\partial x_i} \Big)= -\sum_{j \sim i} \Big( ||e_k||^2 - d_k^2 \Big).e_k. + u_i(t) & = - \Big( \frac{\partial \Phi(e)}{\partial x_i} \Big)= -\sum_{j \sim i} \Big( ||e_k||^2 - d_k^2 \Big)e_k \end{align} Dengan itu, dapat disubtitusi kedalam persamaan dinamika pada persamaan~\eqref{eq:modelorde1} \begin{align} @@ -244,22 +244,22 @@ Dengan itu, dapat disubtitusi kedalam persamaan dinamika pada persamaan~\eqref{e Penambahan refresni kecepatan pada salah satu robot dapat menjadikan formasi bermanuver. Skema kendali secara general dapat didefinisi dengan \begin{align} - \dot{x}(t) & = u(t) + B.v_{ref} \\ + \dot{x}(t) & = u(t) + Bv_{ref} \\ u(t) & = -R(x)^TC\Big(R(x)x(t)- d\Big) \label{eq:kontrolinput} \end{align} -dimana $B \in \mathbb{R}^{2n \times 2}$ digunakan untuk indikasi robot ke $i$ sebagai leader atau penerima kecepatan refrensinya -, $v_{ref} \in \mathbb{R}^2$ sebagai kecepatan refrensi, +dimana $B \in \mathbb{R}^{2n \times 2}$ digunakan untuk indikasi robot ke $i$ sebagai leader atau penerima kecepatan referensinya +, $v_{ref} \in \mathbb{R}^2$ sebagai kecepatan referensi, dan $C$ adalah konstanta pengendali yang akan digantikan dengan algoritma kendali. Dengan menerapkan kendali Proportional-Integral, konstanta $C$ pada persamaan~\eqref{eq:kontrolinput} dapat diubah dengan \begin{align} - u(t) & = u_{k_p}(t) + u_{k_i}(t) \\ - u_{k_p}(t) & = -R(x)^Tk_p\Big(R(x)x(t)- d\Big) \\ - u_{k_i}(t) & = -R(x)^Tk_i\int_0^T\Big(R(x)x(\tau)- d\Big)d\tau. + u(t) & = u_{k_p}(t) + u_{k_i}(t) \\ + u_{k_p}(t) & = -R(x)^Tk_p\Big(R(x)x(t)- d\Big) \\ + u_{k_i}(t) & = -R(x)^Tk_i\int_0^T\Big(R(x)x(\tau)- d\Big)d\tau \end{align} Lalu pada bagian integrator( $k_i$ ), menghasilkan \textit{state} baru \begin{align} - \dot{\xi}(t) & = k_i\Big(R(x)x(t)- d\Big). + \dot{\xi}(t) & = k_i\Big(R(x)x(t)- d\Big) \end{align} Dengan itu dapat digabungkan menjadi persamaan \textit{state-space} menggunakan persamaan~\eqref{eq:dynmState} \begin{align} @@ -294,7 +294,7 @@ dapat dicari solusi pendekatannya menggunakan cara numerik. Persamaan orde satu dengan persamaan \begin{align} \dot{x}(t) & = f(x,t), t_0 \leq t \leq t_f \label{eq:ode1.a} \\ - y(t_0) & = x(t_0).\label{eq:ode1.b} + y(t_0) & = x(t_0)\label{eq:ode1.b} \end{align} Dimana $x(t) \in \mathbb{R}^n$, adalah vector yang setiap iterasi waktu berubah, $f(x,t)\in \mathbb{R}^n$ adalah fungsi sistem, $t_0$ dan $t_f$ adalah waktu inisial dan waktu akhir. @@ -308,12 +308,12 @@ Apabila $y(t[k])$ adalah nilai inisial ketika waktu $t[k]$, maka menggunakan der pendekatan solusi untuk $y(t[k+1])$. Menggunakan orde pertama deret \textit{taylor} saja maka didapat persamaan diskret solusi pendekatan $y(t[k])~\approx y[k]$ \begin{align} - y[k+1] = y[k]+f(y[k])h. \label{eq:desode1} + y[k+1] = y[k]+f(y[k])h \label{eq:desode1} \end{align} Pendekatan lain dari persamaan~\eqref{eq:desode1} dengan mendefinisikan turunan $y(t[k])$ sebagai \begin{align} - \dot{y}(t[k]) & = \frac{y[k+1] - y[k]}{h}. \label{eq:desdotode1} + \dot{y}(t[k]) & = \frac{y[k+1] - y[k]}{h} \label{eq:desdotode1} \end{align} Persamaan~\eqref{eq:desode1} dan~\eqref{eq:desdotode1} dinamakan dengan persamaan \textit{explicite Euler method} dan \textit{forward Euler formula}. Apabila persamaan~\eqref{eq:desdotode1} disubtitusikan pada~\eqref{eq:ode1.a} @@ -326,7 +326,7 @@ Untuk diterapkan dalam komputer, dapat mengikuti algoritme~\ref{algo:eEuler}. \KwOutput{$y[k]$, $k=1,2,\dots,N$.} \For{ $k=0,1,\dots,N-1$} { - $y[k+1] = y[k]+h.f(y[k])$\; + $y[k+1] = y[k]+hf(y[k])$\; $t[k+1] = t[k] + h$ } \caption{\textit{Explicite Euler Method}} @@ -337,14 +337,14 @@ Untuk diterapkan dalam komputer, dapat mengikuti algoritme~\ref{algo:eEuler}. \begin{figure} \centering \includegraphics[scale=.5]{BAB2/img/equler_explicit.png} - \caption[]{Area stabilitas metode explicit euler. (\kutip{Fabien2009})} + \caption[]{Area stabilitas metode explicit euler(\kutip{Fabien2009}).} \label{fig:explicit_euler} \end{figure} Properti dari stabilitas metode Euler dapat diperoleh dengan mendefinisikan persamaan differensial secara general $\dot{x}=\alpha x$,dimana $\alpha$ adalah bilangan complex dari parameter sistem. Dengan menggunakan pendekatan sebelumnya maka persamaan masalah dapat didefinisikan \begin{align} - y[k+1] = (1+h\lambda)y[k] = (1 + z)y[k]= R(z)y[k]. \label{eq:disstab} + y[k+1] = (1+h\lambda)y[k] = (1 + z)y[k]= R(z)y[k] \label{eq:disstab} \end{align} Dari persamaan~\eqref{eq:disstab}, sistem akan stabil apabila $|R(z)|\leq 1$. Jika digambarkan dalam grafik complex stabilitas maka dapat dilihat pada gambar~\ref{fig:explicit_euler} diff --git a/BAB3/bab3.tex b/BAB3/bab3.tex index f86d139..ac985a4 100644 --- a/BAB3/bab3.tex +++ b/BAB3/bab3.tex @@ -7,7 +7,8 @@ bidan kendali multi-robot, khususnya dalam kendali formasi. \begin{figure} \centering - \includegraphics[scale=.8]{BAB3/img/kerangka_pen.png} + % \includegraphics[scale=.8]{BAB3/img/kerangka_pen.png} + \input{BAB3/img/structur.tex} \caption{Kerangka Penelitian} \label{fig:krangka_pen} \end{figure} @@ -17,19 +18,21 @@ bidan kendali multi-robot, khususnya dalam kendali formasi. Kendali formasi adalah kendali multi-agent untuk mencapai suatu formasi yang diinginkan. Banyak metode yang telah digunakan berdasarkan berbagai macam kategori. Dapat diperhatikan dalam gambar~\ref{fig:krangka_pen}, dari berbagai metode teresebut -dapat disimpulkan dalam 3 kategori secara general. +dapat disimpulkan dalam 3 kategori secara general. Yaitu berbasis posisi, pergerakan, dan jarak. Pembagian kategori tersebut berdasarkan kemampuan sensor yang digunakan dan -penggunaan komunikasi dalam metodenya. +penggunaan komunikasi dalam metodenya. Dari ketiga kategori tersebut, kendali formati berbasis jarak sangat dibutuhkan pembahasan mengenai penerapan metode tersebut pada agent yang nyata. -Pada penelitian oleh \kutip{Rozenheck2015}, kendali formasi berdasarkan jarak menggunakan -kendali PI untuk mengendalikan multi-robot dan menghasilkan pergerakan yang baik. -Maka dari itu sebagai langkah awal, kerangka kendali-PI dapat terapkan menggunakan agent nyata. +Pada penelitian oleh \kutip{Rozenheck2015}, kendali formasi berdasarkan jarak dikendalikan +menggunakan kendali PI dan menghasilkan pergerakan yang baik. +Dalam penelitian ini akan difokuskan pada kendali formasi berbasis jarak +dengan mengembangkan kendali PI yang telah dilakukan sebelumnya beserta menggunakan +model nyata. \section{Permasalah dan Solusi} -Pada krangka kendali-PI pada persamaan~\eqref{eq:ss-formasi}, state yang digunakan membutuhkan +Pada krangka kendali-PI pada persamaan~\eqref{eq:ss-formasi}, state yang digunakan membutuhkan koordinat relatif dari tetangganya. Akan tetapi pada batasan penelitian ini, sensor yang digunakan hanya memberikan jarak terhadap tetangganya. Secara pendekatan, digunakan koordinat polar dan diubah ke koordinat kartesian. Akan tetapi koordinat polar membutuhkan sudut antara agent dan tetangganya. @@ -39,6 +42,6 @@ untuk menentukan sudutnya. Algoritma \textit{cosinus} tersebut hanya berlaku apabila tetangga tidak melakukan pergerakan dan akan dijalankan algoritma tersebut ketika inisialisasi. Ketika tetangga melakukan pergerakan, tetangga mengirimkan informasi percepatan koordinatnya pada agent. -Kegunaannya adalah sebagai refrensi perubahan koordinat terhadap tetangga. +Kegunaannya adalah sebagai referensi perubahan koordinat terhadap tetangga. Sehingga harapanya adalah kerangka kendali-PI dapat digunakan menggunakan sensor yang hanya mendeteksi jarak saja. diff --git a/BAB3/img/Structur_pen.dia b/BAB3/img/Structur_pen.dia new file mode 100644 index 0000000..8dbc126 Binary files /dev/null and b/BAB3/img/Structur_pen.dia differ diff --git a/BAB3/img/kerangka_pen.png b/BAB3/img/kerangka_pen.png deleted file mode 100644 index 34557d2..0000000 Binary files a/BAB3/img/kerangka_pen.png and /dev/null differ diff --git a/BAB3/img/structur.tex b/BAB3/img/structur.tex new file mode 100644 index 0000000..fac4934 --- /dev/null +++ b/BAB3/img/structur.tex @@ -0,0 +1,201 @@ +% Graphic for TeX using PGF +% Title: /home/adnr/Disk/Opo/PASCASARJANA/RESEARCH/[T01][FormationControl]/[DOC]/-p-formation-control/BAB3/img/Structur_pen.dia +% Creator: Dia v0.97.3 +% CreationDate: Wed Nov 20 18:30:16 2019 +% For: adnr +% \usepackage{tikz} +% The following commands are not supported in PSTricks at present +% We define them conditionally, so when they are implemented, +% this pgf file will use them. +\ifx\du\undefined + \newlength{\du} +\fi +\setlength{\du}{15\unitlength} +\begin{tikzpicture} +\pgftransformxscale{1.000000} +\pgftransformyscale{-1.000000} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\fill (18.000000\du,12.500000\du)--(18.000000\du,14.400000\du)--(23.650000\du,14.400000\du)--(23.650000\du,12.500000\du)--cycle; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (18.000000\du,12.500000\du)--(18.000000\du,14.400000\du)--(23.650000\du,14.400000\du)--(23.650000\du,12.500000\du)--cycle; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node at (20.825000\du,13.567500\du){Distance}; +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\fill (17.500000\du,8.500000\du)--(17.500000\du,10.400000\du)--(23.940000\du,10.400000\du)--(23.940000\du,8.500000\du)--cycle; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (17.500000\du,8.500000\du)--(17.500000\du,10.400000\du)--(23.940000\du,10.400000\du)--(23.940000\du,8.500000\du)--cycle; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node at (20.720000\du,9.567500\du){Formatio Control}; +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\fill (11.000000\du,12.500000\du)--(11.000000\du,14.400000\du)--(16.650000\du,14.400000\du)--(16.650000\du,12.500000\du)--cycle; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (11.000000\du,12.500000\du)--(11.000000\du,14.400000\du)--(16.650000\du,14.400000\du)--(16.650000\du,12.500000\du)--cycle; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node at (13.825000\du,13.567500\du){Position}; +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\fill (25.000000\du,12.500000\du)--(25.000000\du,14.400000\du)--(30.650000\du,14.400000\du)--(30.650000\du,12.500000\du)--cycle; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (25.000000\du,12.500000\du)--(25.000000\du,14.400000\du)--(30.650000\du,14.400000\du)--(30.650000\du,12.500000\du)--cycle; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node at (27.825000\du,13.567500\du){Displacement}; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +{\pgfsetcornersarced{\pgfpoint{0.000000\du}{0.000000\du}}\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (17.500000\du,9.450000\du)--(13.825000\du,9.450000\du)--(13.825000\du,12.449512\du); +}} +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +{\pgfsetcornersarced{\pgfpoint{0.000000\du}{0.000000\du}}\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (23.940000\du,9.450000\du)--(27.825000\du,9.450000\du)--(27.825000\du,12.449512\du); +}} +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (20.720000\du,10.400000\du)--(20.791367\du,12.473047\du); +} +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\fill (11.000000\du,17.000000\du)--(11.000000\du,18.900000\du)--(16.650000\du,18.900000\du)--(16.650000\du,17.000000\du)--cycle; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (11.000000\du,17.000000\du)--(11.000000\du,18.900000\du)--(16.650000\du,18.900000\du)--(16.650000\du,17.000000\du)--cycle; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node at (13.825000\du,18.067500\du){Simple Model}; +\definecolor{dialinecolor}{rgb}{1.000000, 0.976471, 0.494118} +\pgfsetfillcolor{dialinecolor} +\fill (18.000000\du,17.000000\du)--(18.000000\du,18.900000\du)--(23.650000\du,18.900000\du)--(23.650000\du,17.000000\du)--cycle; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\definecolor{dialinecolor}{rgb}{1.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (18.000000\du,17.000000\du)--(18.000000\du,18.900000\du)--(23.650000\du,18.900000\du)--(23.650000\du,17.000000\du)--cycle; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node at (20.825000\du,18.067500\du){Model Real}; +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\fill (25.000000\du,17.000000\du)--(25.000000\du,18.900000\du)--(30.650000\du,18.900000\du)--(30.650000\du,17.000000\du)--cycle; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (25.000000\du,17.000000\du)--(25.000000\du,18.900000\du)--(30.650000\du,18.900000\du)--(30.650000\du,17.000000\du)--cycle; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node at (27.825000\du,18.067500\du){Real}; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (20.825000\du,14.450305\du)--(20.825000\du,16.949695\du); +} +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +{\pgfsetcornersarced{\pgfpoint{0.000000\du}{0.000000\du}}\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (20.825000\du,14.450488\du)--(20.825000\du,15.700000\du)--(13.825000\du,15.700000\du)--(13.825000\du,16.949512\du); +}} +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +{\pgfsetcornersarced{\pgfpoint{0.000000\du}{0.000000\du}}\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (20.825000\du,14.450488\du)--(20.825000\du,15.700000\du)--(27.825000\du,15.700000\du)--(27.825000\du,16.949512\du); +}} +\end{tikzpicture} diff --git a/BAB4/bab4.tex b/BAB4/bab4.tex index 773498a..40fad99 100644 --- a/BAB4/bab4.tex +++ b/BAB4/bab4.tex @@ -18,7 +18,12 @@ set point dan membahas parameter kendali state-space feedback agar mencapai kri- teria yang diinginkan. \subsubsection{State Feedback} -\todo{Gambar grafik state space feedback} +\begin{figure} + \centering + \input{BAB4/img/statefeedback.tex} + \caption{State-feedback Sistem} + \label{fig:state-feedback} +\end{figure} Pada persamaan~\eqref{eq:ss1} diketahui bahwa state memiliki dimensi $6 \times 1$. Dimensi tersebut tidak menunjukan sistem memiliki orde 6. Apabila diperhatikan orde dari sistem adalah orde 2. Dengan membaginya kedalam 3 persamaan state-space @@ -156,7 +161,7 @@ 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) + u(t) = -K_s x(t) \end{align} sehingga persamaan \textit{state space} menjadi berikut. \begin{align} @@ -268,7 +273,7 @@ Lalu robot $A$ berjalan secara random kesegala arah dengan jarak $l_a$. Disimpan kembali nilai jara $d_a$, atau dinotasikan dengan $d_a[k+1]$. Setalah itu dapat ditentukan sudut $\alpha[k+1]$ \begin{align} - \alpha[k+1] = cos^{-1}\Bigg[ \frac{l_a^2 + d[k+1]^2 -d_a[k]^2}{2d_a[k+1]l_a} \Bigg]. + \alpha[k+1] = cos^{-1}\Bigg[ \frac{l_a^2 + d[k+1]^2 -d_a[k]^2}{2d_a[k+1]l_a} \Bigg] \end{align} Sebelum $\alpha[k+1]$ digunakan, jarak $d_a[k+1]$ dan $d_a[k]$ berpengaruh dalam penentuan koordinat. Sehingga diperlukan sedikit algoritma @@ -293,8 +298,8 @@ Dengan memanfaatkan kedua strategi tersebut dapat digunakan untuk mengkalkulasi koordinat robot $B$ relatif terhadap robot $A$ \begin{align} x_B^A = \begin{bmatrix} - x_B = d_a[k].\cos \alpha[k] \\ - y_B = d_a[k].\sin \alpha[k] + x_B = d_a[k]\cos \alpha[k] \\ + y_B = d_a[k]\sin \alpha[k] \end{bmatrix} \end{align} Dalam strategi ini akan terjadi ketidak akuratan dalam pengukuran apabila target ukur @@ -376,11 +381,11 @@ Dengan menggunakan parameter dari penelitian oleh \kutip{CORREIA20127}, maka aka Dengan menggunakan pendekatan pada persamaan~\eqref{eq:desdotode1} untuk persamaan~\eqref{eq:ss1} maka diperoleh bentuk diskretnya \begin{align} - x[k+1] & = (I + A.h).x[k] + B.h.u[k] + K.h.sgn(x[k]). \\ + x[k+1] & = (I + Ah)x[k] + Bhu[k] + Khsgn(x[k]) \\ \end{align} Pengali $sgn(.)$ bersifat penambah dari sistem, maka dalam penentuan kestabilan ini akan dianggap penambah dari matriks sistem. \begin{align} - x[k+1] & = (I + (A+K).h).x[k] + B.h.u[k]. \\ + x[k+1] & = (I + (A+K)h)x[k] + Bhu[k] \\ \end{align} Kriteria kestabilan akan bergantung dari hasil penentuan $h$ pada $I+(A+K)h~=~\Lambda$. Untuk semua nilai $\lambda$ pada matriks $\Lambda$ harus memenuhi kriteris $\lambda \leq 1$. diff --git a/BAB4/img/statefeedback.dia b/BAB4/img/statefeedback.dia new file mode 100644 index 0000000..bd4480e Binary files /dev/null and b/BAB4/img/statefeedback.dia differ diff --git a/BAB4/img/statefeedback.tex b/BAB4/img/statefeedback.tex new file mode 100644 index 0000000..19aaae8 --- /dev/null +++ b/BAB4/img/statefeedback.tex @@ -0,0 +1,428 @@ +% Graphic for TeX using PGF +% Title: /home/adnr/Disk/Opo/PASCASARJANA/RESEARCH/[T01][FormationControl]/[DOC]/-p-formation-control/BAB4/img/statefeedback.dia +% Creator: Dia v0.97.3 +% CreationDate: Wed Nov 20 19:18:20 2019 +% For: adnr +% \usepackage{tikz} +% The following commands are not supported in PSTricks at present +% We define them conditionally, so when they are implemented, +% this pgf file will use them. +\ifx\du\undefined + \newlength{\du} +\fi +\setlength{\du}{15\unitlength} +\begin{tikzpicture} +\pgftransformxscale{1.000000} +\pgftransformyscale{-1.000000} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\fill (25.933938\du,13.079601\du)--(25.933938\du,14.979601\du)--(27.933938\du,14.979601\du)--(27.933938\du,13.079601\du)--cycle; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (25.933938\du,13.079601\du)--(25.933938\du,14.979601\du)--(27.933938\du,14.979601\du)--(27.933938\du,13.079601\du)--cycle; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node at (26.933938\du,14.147101\du){B}; +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\fill (32.307505\du,15.980854\du)--(32.307505\du,17.880854\du)--(34.307505\du,17.880854\du)--(34.307505\du,15.980854\du)--cycle; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (32.307505\du,15.980854\du)--(32.307505\du,17.880854\du)--(34.307505\du,17.880854\du)--(34.307505\du,15.980854\du)--cycle; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node at (33.307505\du,17.048354\du){A}; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node[anchor=west] at (33.684415\du,14.049135\du){}; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node[anchor=west] at (33.684415\du,14.049135\du){}; +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\fill (25.861280\du,18.033522\du)--(25.861280\du,19.933522\du)--(28.136280\du,19.933522\du)--(28.136280\du,18.033522\du)--cycle; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (25.861280\du,18.033522\du)--(25.861280\du,19.933522\du)--(28.136280\du,19.933522\du)--(28.136280\du,18.033522\du)--cycle; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node at (26.998780\du,19.101022\du){$-K_s$}; +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\fill (19.855010\du,13.092569\du)--(19.855010\du,14.992569\du)--(21.855010\du,14.992569\du)--(21.855010\du,13.092569\du)--cycle; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (19.855010\du,13.092569\du)--(19.855010\du,14.992569\du)--(21.855010\du,14.992569\du)--(21.855010\du,13.092569\du)--cycle; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node at (20.855010\du,14.160069\du){N}; +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\fill (39.243408\du,13.117161\du)--(39.243408\du,15.017161\du)--(41.243408\du,15.017161\du)--(41.243408\du,13.117161\du)--cycle; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (39.243408\du,13.117161\du)--(39.243408\du,15.017161\du)--(41.243408\du,15.017161\du)--(41.243408\du,13.117161\du)--cycle; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node at (40.243408\du,14.184661\du){C}; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (36.095981\du,14.035578\du)--(39.195771\du,14.059183\du); +} +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetbuttcap +\pgfsetmiterjoin +\pgfsetlinewidth{0.100000\du} +\pgfsetbuttcap +\pgfsetmiterjoin +\pgfsetdash{}{0pt} +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\pgfpathellipse{\pgfpoint{30.746893\du}{14.018707\du}}{\pgfpoint{0.481715\du}{0\du}}{\pgfpoint{0\du}{0.481715\du}} +\pgfusepath{fill} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\pgfpathellipse{\pgfpoint{30.746893\du}{14.018707\du}}{\pgfpoint{0.481715\du}{0\du}}{\pgfpoint{0\du}{0.481715\du}} +\pgfusepath{stroke} +\pgfsetbuttcap +\pgfsetmiterjoin +\pgfsetdash{}{0pt} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (30.406269\du,13.678083\du)--(30.746893\du,14.018707\du)--(30.406269\du,14.359333\du); +\pgfsetlinewidth{0.000100\du} +\pgfsetbuttcap +\pgfsetmiterjoin +\pgfsetdash{}{0pt} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +\pgfpathmoveto{\pgfpoint{31.087519\du}{13.678083\du}} +\pgfpathcurveto{\pgfpoint{31.087519\du}{13.678083\du}}{\pgfpoint{31.228608\du}{13.802888\du}}{\pgfpoint{31.228608\du}{14.018707\du}} +\pgfpathcurveto{\pgfpoint{31.228608\du}{14.234525\du}}{\pgfpoint{31.087519\du}{14.359333\du}}{\pgfpoint{31.087519\du}{14.359333\du}} +\pgfpathlineto{\pgfpoint{30.746893\du}{14.018707\du}} +\pgfpathlineto{\pgfpoint{31.087519\du}{13.678083\du}} +\pgfusepath{fill} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\pgfpathmoveto{\pgfpoint{31.087519\du}{13.678083\du}} +\pgfpathcurveto{\pgfpoint{31.087519\du}{13.678083\du}}{\pgfpoint{31.228608\du}{13.802888\du}}{\pgfpoint{31.228608\du}{14.018707\du}} +\pgfpathcurveto{\pgfpoint{31.228608\du}{14.234525\du}}{\pgfpoint{31.087519\du}{14.359333\du}}{\pgfpoint{31.087519\du}{14.359333\du}} +\pgfpathlineto{\pgfpoint{30.746893\du}{14.018707\du}} +\pgfpathlineto{\pgfpoint{31.087519\du}{13.678083\du}} +\pgfusepath{stroke} +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +{\pgfsetcornersarced{\pgfpoint{0.000000\du}{0.000000\du}}\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (32.257320\du,16.930952\du)--(30.742474\du,16.931095\du)--(30.746088\du,14.549137\du); +}} +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (27.980266\du,14.026612\du)--(30.216282\du,14.020223\du); +} +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (30.789204\du,11.923480\du)--(30.757143\du,13.511139\du); +} +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (31.278799\du,14.019807\du)--(34.002385\du,14.025438\du); +} +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\fill (35.530923\du,9.989037\du)--(35.530923\du,11.889037\du)--(38.145923\du,11.889037\du)--(38.145923\du,9.989037\du)--cycle; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (35.530923\du,9.989037\du)--(35.530923\du,11.889037\du)--(38.145923\du,11.889037\du)--(38.145923\du,9.989037\du)--cycle; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node at (36.838423\du,11.056537\du){sgn}; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +{\pgfsetcornersarced{\pgfpoint{0.000000\du}{0.000000\du}}\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (37.129244\du,14.043446\du)--(37.124094\du,16.913417\du)--(34.357160\du,16.926058\du); +}} +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetbuttcap +\pgfsetmiterjoin +\pgfsetlinewidth{0.100000\du} +\pgfsetbuttcap +\pgfsetmiterjoin +\pgfsetdash{}{0pt} +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\pgfpathellipse{\pgfpoint{23.937528\du}{14.059213\du}}{\pgfpoint{0.481715\du}{0\du}}{\pgfpoint{0\du}{0.481715\du}} +\pgfusepath{fill} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\pgfpathellipse{\pgfpoint{23.937528\du}{14.059213\du}}{\pgfpoint{0.481715\du}{0\du}}{\pgfpoint{0\du}{0.481715\du}} +\pgfusepath{stroke} +\pgfsetbuttcap +\pgfsetmiterjoin +\pgfsetdash{}{0pt} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (23.596904\du,13.718589\du)--(23.937528\du,14.059213\du)--(23.596904\du,14.399839\du); +\pgfsetlinewidth{0.000100\du} +\pgfsetbuttcap +\pgfsetmiterjoin +\pgfsetdash{}{0pt} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +\pgfpathmoveto{\pgfpoint{24.278153\du}{13.718589\du}} +\pgfpathcurveto{\pgfpoint{24.278153\du}{13.718589\du}}{\pgfpoint{24.419243\du}{13.843394\du}}{\pgfpoint{24.419243\du}{14.059213\du}} +\pgfpathcurveto{\pgfpoint{24.419243\du}{14.275031\du}}{\pgfpoint{24.278153\du}{14.399839\du}}{\pgfpoint{24.278153\du}{14.399839\du}} +\pgfpathlineto{\pgfpoint{23.937528\du}{14.059213\du}} +\pgfpathlineto{\pgfpoint{24.278153\du}{13.718589\du}} +\pgfusepath{fill} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\pgfpathmoveto{\pgfpoint{24.278153\du}{13.718589\du}} +\pgfpathcurveto{\pgfpoint{24.278153\du}{13.718589\du}}{\pgfpoint{24.419243\du}{13.843394\du}}{\pgfpoint{24.419243\du}{14.059213\du}} +\pgfpathcurveto{\pgfpoint{24.419243\du}{14.275031\du}}{\pgfpoint{24.278153\du}{14.399839\du}}{\pgfpoint{24.278153\du}{14.399839\du}} +\pgfpathlineto{\pgfpoint{23.937528\du}{14.059213\du}} +\pgfpathlineto{\pgfpoint{24.278153\du}{13.718589\du}} +\pgfusepath{stroke} +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (24.419243\du,14.059213\du)--(25.883795\du,14.041967\du); +} +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (21.904601\du,14.049286\du)--(23.455813\du,14.059213\du); +} +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +{\pgfsetcornersarced{\pgfpoint{0.000000\du}{0.000000\du}}\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (25.811887\du,18.975969\du)--(23.916019\du,18.963903\du)--(23.935195\du,14.591173\du); +}} +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +{\pgfsetcornersarced{\pgfpoint{0.000000\du}{0.000000\du}}\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (37.129244\du,14.043446\du)--(37.128188\du,18.934303\du)--(28.186438\du,18.977751\du); +}} +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\fill (29.809367\du,9.974961\du)--(29.809367\du,11.874961\du)--(31.809367\du,11.874961\du)--(31.809367\du,9.974961\du)--cycle; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (29.809367\du,9.974961\du)--(29.809367\du,11.874961\du)--(31.809367\du,11.874961\du)--(31.809367\du,9.974961\du)--cycle; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node at (30.809367\du,11.042461\du){K}; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (35.480929\du,10.935868\du)--(31.858859\du,10.927412\du); +} +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (18.222764\du,13.998829\du)--(19.805582\du,14.025131\du); +} +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node[anchor=west] at (17.372771\du,13.998829\du){r}; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node[anchor=west] at (24.698449\du,13.515596\du){u}; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node[anchor=west] at (29.042810\du,13.272441\du){}; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node[anchor=west] at (25.646752\du,13.975968\du){}; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node[anchor=west] at (36.896701\du,13.603131\du){x}; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetbuttcap +{ +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetfillcolor{dialinecolor} +% was here!!! +\pgfsetarrowsend{stealth} +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (41.281747\du,14.049635\du)--(43.230090\du,14.016749\du); +} +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node[anchor=west] at (43.530186\du,14.041749\du){y}; +\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000} +\pgfsetfillcolor{dialinecolor} +\fill (34.048344\du,13.077600\du)--(34.048344\du,14.977600\du)--(36.048344\du,14.977600\du)--(36.048344\du,13.077600\du)--cycle; +\pgfsetlinewidth{0.100000\du} +\pgfsetdash{}{0pt} +\pgfsetdash{}{0pt} +\pgfsetmiterjoin +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\draw (34.048344\du,13.077600\du)--(34.048344\du,14.977600\du)--(36.048344\du,14.977600\du)--(36.048344\du,13.077600\du)--cycle; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node at (35.048344\du,14.145100\du){$\int$}; +% setfont left to latex +\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000} +\pgfsetstrokecolor{dialinecolor} +\node[anchor=west] at (31.923591\du,13.615528\du){$\dot{x}$}; +\end{tikzpicture}