ARTIKEL MATA KULIAH SISTEM KONTROL PENDULUM TERBALIK
(INVERTED PENDULUM)
Dosen Pengampu :
Artono Dwijo Sutomo, S.Si., M.Si.
Disusun Oleh :
Nur Ahman Fauzan (M0218063) Weni Antari Putri (M0218083)
PROGRAM STUDI FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SEBELAS MARET
2021
1. PENDAHULUAN
Langkah pertama dalam proses desain kontrol adalah mengembangkan model matematis yang sesuai dari sistem yang akan dilakukan proses pengontrolan. Model-model ini dapat ditentukan baik dari hukum fisika atau data eksperimen. Terdapat beberapa representasi state- space dan fungsi transfer dari sistem dinamis. Representasi ini kemudian akan ditinjau beberapa pendekatan dasar untuk pemodelan sistem mekanik dan listrik serta menunjukkan bagaimana model ini dihasilkan di MATLAB untuk analisis lebih lanjut. Setelah model matematis yang sesuai dari suatu sistem telah diperoleh, baik dalam bentuk state-space atau fungsi transfer, kemudian dapat dilakukan analisis model-model ini untuk memprediksi bagaimana sistem akan merespons dalam domain waktu dan frekuensi. Agar model sesuai, sistem kontrol sering dirancang untuk meningkatkan stabilitas, kecepatan respon, kesalahan
2. MODEL PENDULUM SEDERHANA 2.1. Peralatan yang Diperlukan
Gambar.2.1. Rangkaian alat pendulum sederhana
1. Papan Arduino (contoh : Uno, Mega 2560, dsb.)
2. pendulum sederhana (batang logam ramping dengan berat ujung) dengan penjepit atau penyangga
3. potensiometer putar (misalnya potensiometer lancip linier 10K-Ohm)
Perputaran bandul sederhana akan diukur menggunakan potensiometer putar. Papan Arduino hanya digunakan untuk akuisisi data (dan untuk memasok eksitasi untuk potensiometer). Secara khusus, Input Analog pada papan Arduino digunakan untuk membaca output potensiometer yang kemudian diumpankan ke Simulink untuk visualisasi dan untuk membandingkan dengan hasil simulasi yang sudah dilakukan.
2.2. Pemodelan dan Prinsip Pertama Variabel yang digunakan :
(m) massa batang pendulum (M) massa berat ujung pendulum
(l) panjang berat ujung pendulum ke pusat massa (thetha) sudut pendulum dari sumbu vertikal (bawah)
Pertama-tama menggambar free-body diagram di mana gaya yang bekerja pada bandul adalah gaya beratnya dan reaksi pada sambungan rotasi. Sertakan juga momen akibat gesekan pada
sambungan (dan potensiometer putar). Pendekatan paling sederhana untuk pemodelan mengasumsikan massa batang diabaikan dan seluruh massa pendulum terkonsentrasi di pusat berat ujung.
Persamaan gerak bandul kemudian dapat diturunkan dengan menjumlahkan momen. Momen dijumlahkan mengacu pada titik lampiran O karena titik itu adalah titik yang diputar dan karena gaya reaksi tidak memberikan momen tentang titik itu.
∑ 𝑀 = (𝑀 + 𝑚)𝑔𝑙 sin 𝜃 − 𝑇
𝑓𝑟𝑖𝑐= 𝐼
𝑜𝜃̈ (2.1)
Dengan asumsi bahwa massa pendulum terpusat pada massa ujungnya, momen inersia massa adalah 𝐼0 ≈ (𝑀 + 𝑚)𝑙2 . Pendekatan yang lebih akurat adalah dengan mempertimbangkan batang dan massa ujung secara eksplisit. Dalam hal ini, berat sistem dapat dianggap terletak di pusat massa sistem 𝐿𝐺 = (𝑀𝑙 + 0.5𝑚𝑙)/(𝑀 + 𝑚). Dalam hal ini, momen inersia massa adalah 𝐼0 = 𝑚𝑙2⁄ +3 𝑀𝑙2.
3. SISTEM PENDULUM TERBALIK 3.1. Pemodelan Sistem Pendulum Terbalik
Dalam pemodelan sistem pendulum terbalik terdapat tiga langkah yaitu penyiapan masalah dan persyaratan desai, analisis gaya dan persamaan sistem, serta representasu pada MATLAB.
3.1.1. Penyiapan Masalah dan Persyaratan Desain
Sistem dalam contoh ini terdiri dari pendulum terbalik yang dipasang pada gerobak bermotor.
Sistem pendulum terbalik adalah contoh yang biasa ditemukan di buku teks sistem kontrol dan literatur penelitian. Sistem ini tidak stabil tanpa sistem pengontrol, sehingga, pendulum akan jatuh begitu saja jika kereta tidak digerakkan untuk menyeimbangkannya. Selain itu, dinamika sistem tidak linier. Tujuan dari sistem kendali adalah untuk menyetarakan bandul terbalik dengan menerapkan gaya pada kereta yang diikatkan bandul. Contoh secara nyata yang berhubungan langsung dengan sistem pendulum terbalik ini adalah kontrol sikap roket pendorong saat lepas ls.
Dalam hal ini akan mempertimbangkan masalah dua dimensi di mana pendulum dibatasi untuk bergerak dalam bidang vertikal yang ditunjukkan pada gambar di atas. Untuk sistem ini, input kontrol adalah gaya F yang menggerakkan gerobak secara horizontal dan outputnya adalah posisi sudut pendulum θ dan posisi horizontal gerobak x.
Untuk contoh ini, mari asumsikan besaran berikut:
(M) massa kereta 0,5 kg (m) massa bandul 0,2 kg
(b) koefisien gesekan kereta 0,1 N/m/s (l) panjang ke pusat bandul bermassa 0,3 m (I) momen inersia massa bandul 0,006 kg.m2 (F) gaya yang diterapkan pada gerobak (x) koordinat posisi gerobak
(theta) sudut pendulum dari vertikal (bawah)
Untuk bagian PID, root locus, dan respons frekuensi dari masalah ini, hanya akan dibahaas pada kontrol posisi pendulum. Ini karena teknik yang digunakan di bagian ini paling cocok untuk sistem Single Input Single Output (SISO). Oleh karena itu, tidak ada kriteria desain yang berhubungan dengan posisi kereta. Namun, akan diselidiki efek pengontrol pada posisi kereta setelah pengontrol dirancang. Untuk bagian ini, pengontrol dirancang untuk mengembalikan pendulum ke posisi vertikal ke atas setelah mengalami "benturan" impulsif ke gerobak. Secara khusus, kriteria desainnya adalah pendulum kembali ke posisi tegaknya dalam waktu 5 detik dan pendulum tidak pernah bergerak lebih dari 0.05 radian menjauh dari vertikal setelah terganggu oleh impuls besarnya 1 Nsec. Pendulum awalnya akan dimulai dalam keseimbangan vertikal ke atas, θ = π.
Singkatnya, persyaratan desain untuk sistem ini adalah:
● Waktu penyelesaian θ kurang dari 5 detik
● Sudut bandul θ tidak pernah lebih dari 0,05 radian dari vertikal
Dengan menggunakan teknik desain state-space, lebih siap untuk menangani sistem multi- output. Dalam kasus , sistem pendulum terbalik adalah Single Input, Multi-Output (SIMO). Oleh karena itu, untuk bagian keadaan-ruang dari contoh Pendulum Terbalik, akan mencoba mengontrol sudut pendulum dan posisi kereta. Untuk membuat desain lebih menantang di bagian ini, digunakan langkah 0,2 meter sebagai posisi kereta yang diinginkan. Di bawah kondisi ini, diinginkan agar kereta mencapai posisi yang diperintahkan dalam 5 detik dan memiliki waktu naik di bawah 0,5 detik. Juga diinginkan agar pendulum menetap pada posisi vertikalnya dalam waktu kurang dari 5 detik, dan selanjutnya, sudut pendulum tidak bergerak lebih dari 20 derajat.
Singkatnya, persyaratan desain untuk contoh ruang keadaan bandul terbalik adalah:
4. Waktu penyelesaian untuk x dan θ kurang dari 5 detik 5. Waktu naik θ kurang dari 0,5 detik
6. Sudut bandul θ tidak pernah lebih dari 20 derajat (0,35 radian) dari vertikal 7. Kesalahan kondisi-mapan kurang dari 2% untuk x dan θ
3.1.2. Analisis Gaya dan Persamaan Sistem
Di atas adalah free-body diagram dari dua elemen sistem bandul terbalik. Menjumlahkan gaya- gaya dalam diagram benda bebas kereta dalam arah horizontal, didapatkan persamaan gerak berikut.
𝑀𝑥̈ + 𝑏𝑥̇ + 𝑁 = 𝐹 (3.1)
Dapat dilakukan juga penjumlahkan gaya dalam arah vertikal untuk kereta, tetapi hasilnya tidak digunakan dalam perhitungan. Menjumlahkan gaya-gaya dalam diagram benda bebas pendulum dalam arah horizontal, mendapatkan ekspresi berikut untuk gaya reaksi N.
𝑁 = 𝑚𝑥̈ + 𝑚𝑙𝜃̈ cos 𝜃 − 𝑚𝑙𝜃̇2sin 𝜃 (3.2)
Persamaan (3.2) disubtitusi ke dalam persamaan (3.1), akan didapatkan salah satu dari dua persamaan yang mengatur sistem ini.
(𝑀 + 𝑚)𝑥̈ + 𝑏𝑥̇ + 𝑚𝑙𝜃̈ cos 𝜃 − 𝑚𝑙𝜃̇2sin 𝜃 = 𝐹 (3.3)
Untuk mendapatkan persamaan gerak kedua untuk sistem ini, jumlahkan gaya-gaya yang tegak lurus terhadap bandul. Sehingga didapatkan persamaan berikut
𝑃 sin 𝜃 + 𝑁 cos 𝜃 − 𝑚𝑔 sin 𝜃 = 𝑚𝑙𝜃̈ + 𝑚𝑥̈ cos 𝜃 (3.4)
Untuk menghilangkan P dan suku N dalam persamaan di atas, jumlahkan momen di ser pusat massa bandul untuk mendapatkan persamaan berikut.
−𝑃𝑙 sin 𝜃 − 𝑁𝑙 cos 𝜃 = 𝐼𝜃̈ (3.5)
Menggabungkan persamaan (3.4) dan persamaan (3.5), akan mendapatkan persamaan pengatur kedua.
(𝐼 + 𝑚𝑙2)𝜃̈ + 𝑚𝑔𝑙 sin 𝜃 = −𝑚𝑙𝑥̈ cos 𝜃 (3.6)
Karena teknik analisis dan desain kontrol yang akan gunakan dalam contoh ini hanya berlaku untuk sistem linier, rangkaian persamaan ini perlu dilinierkan. Secara khusus, persamaan akan dilinierisasi di ser posisi kesetimbangan vertikal ke atas, θ = π, dan akan menganggap bahwa sistem tetap berada dalam lingkungan kecil kesetimbangan ini. Asumsi ini harus cukup valid karena di bawah kendali diinginkan pendulum tidak menyimpang lebih dari 20 derajat dari posisi vertikal ke atas. Membiarkan ϕ mewakili penyimpangan posisi pedulum dari keseimbangan, yaitu θ = π+ ϕ, Sekali lagi menganggap penyimpangan kecil (ϕ) dari kesetimbangan, dapat menggunakan pendekatan sudut kecil berikut dari fungsi nonlinier dalam persamaan sistem :
cos 𝜃 = cos 𝜃 (𝜋 + 𝜙) ≈ −1 (3.7) sin 𝜃 = sin 𝜃 (𝜋 + 𝜙) ≈ −𝜙 (3.8)
𝜃̇2 = 𝜙̇2 ≈ 0 (3.9)
Setelah memasukkan pendekatan di atas ke dalam persamaan pengaturan nonlinier, sampai pada dua persamaan gerak yang dilinierkan. Catatan u telah diganti untuk input F.
(𝐼 + 𝑚𝑙2) − 𝑚𝑔𝑙𝜙 = −𝑚𝑙𝑥̈ (3.10) (𝑀 + 𝑚)𝑥̈ + 𝑏𝑥̇ − 𝑚𝑙𝜙̈ = 𝑢 (3.11) 1. Fungsi Transfer
Untuk mendapatkan fungsi alih dari persamaan sistem yang dilinierkan, pertama-tama harus mengambil transformasi Laplace dari persamaan sistem dengan asumsi kondisi awal nol.
Transformasi Laplace yang dihasilkan ditunjukkan pada Persamaan (3.12)
(3.12) (3.13)
Ingat bahwa fungsi transfer mewakili hubungan antara input tunggal dan output tunggal pada suatu waktu. Untuk menemukan fungsi transfer pertama untuk output ϕ(s) dan input U(s) perlu menghilangkan X(s) dari persamaan (3.12) dan (3.13). Selesaikan persamaan pertama untuk X(s).
(3.14) Kemudian substitusikan persamaan (3.14) ke persamaan (3.13).
(3.15) Menata ulang, fungsi transfernya adalah sebagai berikut:
(3.16) di mana,
(3.17)
Dari fungsi alih (3.17) dapat dilihat bahwa ada kutub dan nol di titik asal. Ini dapat dibatalkan dan fungsi transfer menjadi sebagai berikut.
(3.18) Kedua, fungsi transfer dengan posisi troli X(s) sebagai output dapat diturunkan dengan cara yang sama untuk sampai pada berikut ini.
(3.19)
2. Space-State
Persamaan gerak yang dilinierkan dari atas juga dapat direpresentasikan dalam bentuk ruang keadaan jika disusun kembali menjadi serangkaian persamaan diferensial orde pertama. Karena persamaan tersebut linier, maka persamaan tersebut dapat dimasukkan ke dalam bentuk matriks str yang ditunjukkan di bawah ini.
(3.20)
(3.21)
The C matrix memiliki 2 baris karena kedua posisi gerobak dan posisi pendulum adalah bagian dari output. Secara khusus, posisi gerobak adalah elemen pertama dari output y dan deviasi pendulum dari posisi keseimbangannya adalah elemen kedua dari y.
3.1.3. Representasi MATLAB 1. Fungsi Transfer
dapat mewakili fungsi transfer yang diturunkan di atas untuk sistem pendulum terbalik dalam MATLAB menggunakan perintah berikut. Perhatikan bahwa dapat memberi nama pada keluaran (dan masukan) untuk membedakan antara posisi kereta dan posisi pendulum. Menjalankan kode ini di command window menghasilkan output yang ditunjukkan di bawah ini.
2. State-space
juga dapat merepresentasikan sistem menggunakan persamaan keadaan-ruang. Perintah MATLAB tambahan berikut membuat model state-space dari pendulum terbalik dan menghasilkan output yang ditunjukkan di bawah ini ketika dijalankan di jendela perintah MATLAB. Sekali lagi perhatikan bahwa nama input, output, dan status dapat ditentukan untuk membuat model lebih mudah dipahami.
Model state-space di atas juga dapat diubah menjadi bentuk fungsi transfer menggunakan perintah tf seperti yang ditunjukkan di bawah ini. Sebaliknya, model fungsi transfer dapat diubah menjadi bentuk state-space menggunakan perintah ss .
Memeriksa di atas, perhatikan keberadaan beberapa istilah dengan koefisien yang sangat kecil.
Istilah-istilah ini sebenarnya harus nol dan muncul karena kesalahan pembulatan numerik yang terakumulasi dalam algoritme konversi yang digunakan MATLAB. Jika menetapkan koefisien ini ke nol, maka model fungsi transfer di atas akan cocok dengan yang dihasilkan sebelumnya di bagian Fungsi Transfer dari contoh.
3.2. ANALISIS SISTEM PENDULUM TERBALIK
Dari masalah utama, menurunkan fungsi alih loop terbuka dari sistem pendulum terbalik sebagai berikut.
(3.22)
(2.23) di mana
(3.24)
Ingatlah bahwa dua fungsi alih di atas hanya berlaku untuk nilai sudut yang kecil ϕ, yang merupakan perpindahan sudut pendulum dari posisi vertikal ke atas. Juga, sudut bandul mutlak θ sama dengan π+ϕ.
Mempertimbangkan respons pendulum terhadap impuls 1 Nsec yang diterapkan pada gerobak, persyaratan desain untuk pendulum adalah:
▪ Waktu penyelesaian θ kurang dari 5 detik
▪ Sudut bandul θ tidak pernah lebih dari 0,05 radian dari vertikal
Selain itu, persyaratan untuk respons sistem terhadap perintah langkah 0,2 meter di posisi troli adalah:
▪ Waktu penyelesaian untuk x dan θ kurang dari 5 detik
▪ Waktu naik x kurang dari 0,5 detik
▪ Sudut bandul θ tidak pernah lebih dari 20 derajat (0,35 radian) dari vertikal 3.2.1. Respon Impuls Loop Terbuka
akan mulai dengan melihat respon loop terbuka dari sistem pendulum terbalik. Buat m-file baru dan ketik perintah berikut untuk membuat model sistem
Dapat dilakukan pemeriksaan respon impuls loop terbuka dari sistem. Secara khusus, akan memeriksa bagaimana sistem merespons gaya impulsif yang diterapkan pada gerobak yang menggunakan impuls perintah MATLAB . Tambahkan perintah berikut ke akhir m-file dan jalankan di jendela perintah MATLAB untuk mendapatkan plot terkait yang ditunjukkan di bawah ini.
Seperti yang terlihat dari plot, respons sistem sama sekali tidak memuaskan. Faktanya, respon tidak stabil dalam loop terbuka. Meskipun posisi pendulum terbukti meningkat melewati 100 radian (15 putaran), model ini hanya berlaku untuk ϕ. Juga dapat dilihat bahwa posisi gerobak bergerak sangat jauh ke kanan, meskipun tidak ada persyaratan pada posisi gerobak untuk input gaya impulsif.
Kutub sistem juga dapat memberi informasi tentang respons waktunya. Karena sistem memiliki dua keluaran dan satu masukan, hal itu dijelaskan oleh dua fungsi transfer. Secara umum, semua fungsi transfer dari setiap input ke setiap output dari sistem multi-input, multi-output (MIMO) akan memiliki kutub yang sama (tetapi nol berbeda) kecuali ada pembatalan kutub-nol. secara khusus akan memeriksa kutub dan nol dari sistem menggunakan fungsi MATLAB zpkdata . Parameter 'v' yang ditunjukkan di bawah ini mengembalikan kutub dan nol sebagai vektor kolom daripada sebagai array sel.
Nol dan kutub dari sistem di mana posisi pendulum adalah output ditemukan seperti yang ditunjukkan di bawah ini:
Demikian juga, nol dan kutub dari sistem di mana posisi gerobak adalah output ditemukan sebagai berikut:
Seperti yang diperkirakan, kutub untuk kedua fungsi transfer identik. Kutub pada 5.5651 menunjukkan bahwa sistem tidak stabil karena kutub memiliki bagian real positif. Dengan kata lain, kutub berada di bagian kanan bidang s kompleks. Ini sesuai dengan apa yang amati di atas.
3.2.2. Respon Langkah Loop Terbuka
Karena sistem memiliki kutub dengan bagian real positif, responsnya terhadap input langkah juga akan bertambah tak terbatas. Verifikasi ini menggunakan perintah lsim yang dapat digunakan untuk mensimulasikan respons model LTI terhadap input arbitrer. Dalam hal ini, input langkah 1- Newton akan digunakan. Menambahkan kode berikut ke m-file dan menjalankannya di jendela perintah MATLAB akan menghasilkan plot yang ditunjukkan di bawah ini.
juga dapat mengidentifikasi beberapa karakteristik penting dari respons menggunakan perintah lsiminfo seperti yang ditunjukkan.
Hasil di atas menunjukan bahwa perkiraan respons sistem terhadap input langkah tidak stabil.
Jelas dari analisis di atas bahwa beberapa jenis kontrol perlu dirancang untuk meningkatkan respons sistem. Empat contoh pengontrol disertakan dengan tutorial ini: PID, root locus, respons frekuensi, dan ruang keadaan.
Catatan : Solusi yang ditunjukkan dalam contoh PID, root locus, dan respons frekuensi mungkin tidak menghasilkan pengontrol yang dapat diterapkan untuk masalah pendulum terbalik. Seperti yang dinyatakan sebelumnya, ketika memperlakukan pendulum terbalik sebagai sistem masukan tunggal, keluaran tunggal, mengabaikan posisi gerobak, x. Jika memungkinkan, dalam contoh ini, akan menunjukkan apa yang terjadi pada posisi gerobak saat pengontrol diterapkan pada sistem.
4. KONTROL PENDULUM TERBALIK
Struktur pengontrol untuk masalah ini sedikit berbeda dari masalah kontrol str yang sering digunakan. Karena pengontrol ini untuk mengontrol posisi pendulum, yang seharusnya kembali ke vertikal setelah gangguan awal, sinyal referensi yang lacak harus nol. Jenis situasi ini sering disebut sebagai masalah Regulator. Gaya eksternal yang diterapkan pada kereta dapat dianggap sebagai gangguan impulsif. Skema untuk masalah ini digambarkan di bawah ini.
mungkin merasa lebih mudah untuk menganalisis dan merancang sistem ini jika pertama-tama mengatur ulang skema sebagai berikut.
Fungsi alih yang dihasilkan T(s) untuk sistem loop tertutup dari input gaya F ke output sudut pendulum ϕ kemudian ditentukan sebagai berikut.
(4.3)
4.1. Desain Pengontrol PID
Dalam Subab ini dibahas mengenai perancangan pengontrol PID untuk sistem pendulum terbalik. Dalam proses desain, akan mengasumsikan pembangkit dengan input tunggal, output tunggal seperti yang dijelaskan oleh fungsi transfer berikut. Mengontrol sudut pendulum tanpa memperhatikan posisi kereta.
(4.1) di mana,
(4.2)
Lebih khusus lagi, pengontrol akan berusaha mempertahankan pendulum secara vertikal ke atas ketika gerobak dikenai impuls 1 Nsec. Dalam kondisi ini, kriteria desain adalah:
▪ Waktu penyelesaian kurang dari 5 detik
▪ Pendulum tidak boleh bergerak lebih dari 0,05 radian dari vertical
4.1.1. Struktur Sistem
Sebelum mulai mendesain pengontrol PID, pertama-tama perlu mendefinisikan plant di dalam MATLAB.
4.1.2. Kontrol PID
Fungsi transfer loop tertutup ini dapat dimodelkan dalam MATLAB. Secara khusus, pengontrol didefinisikan menggunakan objek pid di dalam MATLAB. kemudian menggunakan perintah feedback untuk menghasilkan fungsi transfer loop tertutup T(s) seperti yang digambarkan
pada gambar di atas di mana gaya gangguan F adalah input dan deviasi sudut pendulum dari vertikal ϕ adalah output.
Langkah untuk mengatur pengontrol dapat mulai dilakukan. Pertama periksa respons sistem loop tertutup terhadap gangguan impuls untuk rangkaian penguatan kontrol awal ini. Masukkan kode berikut ke akhir m-file dan jalankan di command window MATLAB.
Respon yang dihasilkan belum stabil sehingga perlu memodifikasi respons dengan meningkatkan gain proporsional. Tingkatkan Kp variabel untuk melihat apa pengaruhnya terhadap respons. Jika Script m-file dimodifikasi menjadi Kp = 100 dan dijalankan di command window, didapatkan plot respon sebagai berikut.
Mengidentifikasi karakteristik dapat dilakukan dengan klik-kanan kemudian pilih menu Karakteristik. Secara khusus, waktu penyelesaian respons ditentukan menjadi 1,64 detik, yang kurang dari persyaratan 5 detik. Karena kesalahan keadaan tunak mendekati nol dalam waktu cukup singkat, tidak diperlukan integral tambahan. Respon puncak, bagaimanapun, lebih besar
dari kebutuhan 0,05 radian. Ingat bahwa overshoot sering kali dapat dikurangi dengan meningkatkan jumlah kontrol derivatif. Setelah beberapa percobaan dan kesalahan ditemukan bahwa keuntungan turunan dari Kd = 20 memberikan respon yang memuaskan. Dilakukan kembali running pada MATLAB sehingga didapatkan hasil sebagai berikut,
Seperti yang terlihat, overshoot telah dikurangi sehingga pendulum tidak bergerak lebih dari 0,05 radian dari sumbu vertikal. Karena semua persyaratan desain yang diberikan telah dipenuhi, maka tidak diperlukan iterasi lebih lanjut.
4.1.3. Posisi Gerobak
Diagram blok diawal tidak sepenuhnya lengkap. Blok yang mewakili respons posisi gerobak x tidak disertakan karena variabel tersebut tidak dikontrol. Sangat menarik, untuk melihat apa yang terjadi pada posisi gerobak ketika pengontrol sudut pendulum ϕ berada di tempatnya. Untuk melihat ini perlu mempertimbangkan diagram blok sistem lengkap seperti yang ditunjukkan pada gambar berikut.
Menata ulang, mendapatkan diagram blok berikut.
Di atas, blok C(s) adalah pengontrol yang dirancang untuk mempertahankan pendulum vertikal. Fungsi alih loop T2(s) tertutup dari gaya input yang diterapkan pada gerobak ke output posisi gerobak diberikan oleh berikut ini.
(4.2) Fungsi transfer untuk Pcart(s) didefinisikan sebagai berikut.
(4.3) di mana,
(4.4)
Menambahkan perintah (dengan asumsi Pcart(s) dan C(s) masih didefinisikan) akan menghasilkan respons posisi gerobak terhadap gangguan impulsif yang sama yang telah pertimbangkan.
Seperti yang lihat, kereta bergerak ke arah negatif dengan kecepatan yang mendekati konstan. Oleh karena itu, meskipun pengontrol PID menstabilkan sudut pendulum, desain ini tidak akan layak untuk diterapkan pada sistem fisik yang sebenarnya.
4.2. Desain Pengontrol Root Locus
Pada subbab ini akan dirancang sebuah pengontrol untuk sistem pendulum terbalik menggunakan metode desain root locus. Dalam proses desain, akan mengasumsikan pembangkit dengan input tunggal, output tunggal seperti yang dijelaskan oleh fungsi transfer berikut. Mengontrol sudut pendulum tanpa memperhatikan posisi kereta.
(4.5) di mana,
(4.6)
Lebih khusus lagi, pengontrol akan berusaha mempertahankan pendulum secara vertikal ke atas ketika kereta dikenai impuls 1 Nsec. Dalam kondisi ini, kriteria desain adalah:
▪ Waktu penyelesaian kurang dari 5 detik
▪ Pendulum tidak boleh bergerak lebih dari 0,05 radian dari vertical 4.2.1. Struktur Sistem
Sebelum mulai merancang pengontrol , pertama-tama harus mendefinisikan plant di dalam MATLAB.
4.2.2. Desain Root Locus
Merancang pengontrol untuk sistem menggunakan metode desain root locus. dapat menggunakan perintah MATLAB rlocus untuk menghasilkan plot root locus. Plot ini menampilkan semua kemungkinan lokasi kutub loop tertutup sebagai gain kontrol proporsional sederhana K yang bervariasi dari 0 hingga tak terhingga. Untuk metode desain root locus apakah keuntungan perkalian K berada di jalur maju atau umpan balik dari sistem loop tertutup.
Seperti yang terlihat, salah satu cabang dari lokus akar seluruhnya berada di setengah kanan bidang s kompleks . Ini berarti bahwa apa pun pilihan penguatannya K, akan selalu ada kutub loop tertutup di bidang setengah kanan yang membuat respons impuls sistem tidak stabil.
Untuk mengatasi masalah ini, perlu menambahkan tiang di titik asal (integrator) melalui pengontrol untuk membatalkan pembangkit nol di titik asal. Penambahan ini akan menghasilkan dua kutub loop tertutup pada bidang setengah kanan. Dalam desain selanjutnya, dilakukan
modifikasi pengontrol untuk menarik kutub ini ke bidang setengah kiri, sehingga menstabilkan sistem loop tertutup.
Pemeriksaan lokasi kutub dan nol sistem loop terbuka sehingga memberi gambaran tentang cara menggambar cabang lokus akar ke dalam bidang setengah kiri. Memasukkan perintah berikut ke dalam jendela perintah MATLAB akan menghasilkan output berikut.
Terlihat jika ada empat kutub dan hanya satu nol. Ini berarti bahwa lokus akar akan memiliki tiga asimtot: satu di sepanjang sumbu nyata dalam arah negatif, dan dua lainnya pada sudut 120 derajat terhadap yang satu ini.
Konfigurasi ini juga tidak memuaskan karena masih memiliki cabang-cabang dari lokus akar yang seluruhnya berada di bidang kompleks setengah kanan. Secara umum, dapat menarik cabang- cabang lokus akar ke kiri di bidang kompleks dengan cara menambahkan nol ke sistem. Menambahkan nol ke pengontrol akan mengurangi jumlah asimtot dari tiga menjadi dua. Kedua asimtot ini akan sejajar dengan sumbu imajiner dan akan memotong sumbu nyata di lokasi s dihitung dari ekspresi berikut.
(4.7)
Oleh karena itu, untuk sistem seperti yang dijelaskan sejauh ini, memiliki asumsi berikut dengan fase minimum nol (negatif).
(4.8) Berdasarkan hal di atas, dapat menarik asimtot terjauh ke kiri di bidang kompleks kira-kira -0,1 untuk nol kecil yang dapat diabaikan. Ingat bahwa waktu pengendapan 2% dapat diperkirakan dari persamaan berikut.
(4.9)
Oleh karena itu, kutub loop tertutup dominan dengan bagian nyata yang mendekati -0,1 tidak akan cukup untuk memenuhi waktu penyelesaian 5 detik yang butuhkan.
4.2.3. Kontrol PID
Dalam diskusi di atas menunjukkan bahwa menambahkan nol ke pengontrol integral dapat menarik cabang-cabang lokus akar ke kiri di bidang kompleks, tetapi tidak dapat menarik cabang- cabang dominan cukup jauh ke kiri. Solusi yang mungkin adalah menambahkan nol lagi. Jika menempatkan kedua nol pada sumbu real negatif antara dua kutub tanaman, maka dua cabang di bidang setengah kanan akan ditarik ke bidang setengah kiri dan akan berakhir di dua nol ini. Secara khusus mengevaluasi lokus akar untuk pengontrol dengan integrator dan nol pada -3 dan - 4. Perhatikan bahwa pengontrol ini sebenarnya adalah pengontrol PID. Dapat membuat pengontrol ini di dalam MATLAB menggunakan zpkperintah yang membuat model dengan menentukan nol, kutub, dan penguatan sistem.
Memeriksa lokus akar di atas membantu untuk menentukan apakah persyaratan yang diberikan dapat dipenuhi atau tidak. Khususnya, karena diinginkan bahwa waktu pengendapan sistem kurang dari 5 detik, bagian nyata dari kutub loop tertutup dominan harus kurang dari kira-kira - 4/5 = -0,8. Dengan kata lain, kutub loop tertutup yang dominan harus ditempatkan di kompleks s - pesawat di sebelah kiri garis vertikal pada s = -0,8. Pemeriksaan di atas menunjukkan bahwa ini mungkin. Karena pendulum juga diharapkan tidak bergerak lebih dari 0,05 radian dari vertikal, juga ingin memastikan bahwa sistem loop tertutup memiliki redaman yang cukup. Menempatkan kutub loop tertutup dominan di dekat sumbu nyata akan meningkatkan redaman sistem (kecilβ).
Untuk menemukan gain yang sesuai dengan titik tertentu pada root locus, dapat menggunakan perintah rlocfind . Secara khusus, masukkan perintah [k,poles] = rlocfind(C*P_pend) di jendela perintah MATLAB.
Kemudian klik plot dan pilih titik pada root locus di sisi kiri loop, dekat dengan sumbu nyata seperti yang ditunjukkan di bawah ini dengan t + kecil . Memilih kutub-kutub ini akan memastikan bahwa sistem mengendap dengan cepat dan, mudah-mudahan, memiliki redaman yang cukup.
Setelah melakukan ini, akan terlihat output seperti berikut di jendela perintah MATLAB.
Pilih titik di jendela grafik
Perhatikan bahwa nilai yang dikembalikan di jendela perintah MATLAB mungkin tidak sama persis, tetapi nilai tersebut setidaknya harus memiliki urutan besarnya yang sama.
Kemudian dapat memeriksa respons impuls dari sistem loop tertutup untuk melihat apakah persyaratan benar-benar terpenuhi untuk keuntungan K ser 20. Tambahkan perintah berikut ke m-
file dan jalankan kembali untuk menghasilkan respons impuls loop tertutup seperti yang ditunjukkan di bawah ini.
Pemeriksaan di atas menunjukkan bahwa semua persyaratan yang diberikan terpenuhi.
4.2.4. Posisi Gerobak
Seperti yang terlihat, posisi kereta menjadi tidak stabil untuk gangguan impuls ini. Oleh karena itu, meskipun pengontrol PID menstabilkan sudut pendulum, desain ini tidak akan layak untuk diterapkan pada sistem fisik yang sebenarnya.
4.3. Metode Domain Frekuensi untuk Desain Pengontrol
Menerapkan pendekatan desain respons frekuensi relatif menantang dalam kasus contoh ini karena sistem loop terbuka tidak stabil. Artinya, fungsi alih loop terbuka memiliki kutub di bidang kompleks setengah kanan. Untuk alasan ini, mencoba contoh ini tidak disarankan jika hanya mencoba mempelajari dasar-dasar penerapan teknik respons frekuensi. Masalah ini lebih cocok untuk siswa tingkat lanjut yang ingin belajar tentang beberapa nuansa pendekatan desain respons frekuensi.
4.3.1. Struktur Sistem
Sebelum mulai merancang pengontrol , pertama-tama perlu mendefinisikan pabrik di dalam MATLAB. Buat m-file baru dan ketik perintah berikut untuk membuat model pabrik (lihat masalah utama untuk detail mendapatkan perintah ini).
Seperti disebutkan di atas, sistem ini akan tidak stabil apabtanpa kendali. Dapat dibuktikan dengan menggunakan perintah MATLAB zpkdata . Dalam hal ini, zpkdata mengembalikan nol dan kutub untuk fungsi transfer. Parameter yang ditambahkan 'v' mengembalikan output dalam bentuk vektor bukan array sel dan hanya dapat digunakan dengan model input tunggal, output tunggal. Memasukkan kode berikut di jendela perintah MATLAB menghasilkan output yang ditunjukkan di bawah ini.
4.3.2. Respon Loop Tertutup Tanpa Kompensasi
Dalam pembahasan ini akan dilakukan pemeriksaan respons sistem loop tertutup tanpa kompensasi sebelum mulai merancang pengontrol . Dalam contoh ini, akan menggunakan Perancang Sistem Kontrol untuk memeriksa berbagai plot analisis daripada menggunakan perintah individual seperti bode , nyquist , dan impulse . The Control System Designer adalah alat interaktif
dengan graphical user interface (GUI) yang dapat diluncurkan dengan perintah MATLAB controlSystemDesigner seperti yang ditunjukkan di bawah ini
Parameter tambahan'bode'membuka jendela Perancang Sistem Kontrol dengan plot Bode dan respons langkah loop tertutup dari sistem Ppend(s) (yang diteruskan ke fungsi) seperti yang ditunjukkan di bawah ini.
Kemudian dapat memodifikasi arsitektur sistem yang digunakan untuk mencerminkan fakta bahwa pengontrol C(s) berada di jalur umpan balik sistem seperti yang dibahas di atas. Ini dilakukan dari dalam jendela Perancang Sistem Kontrol dengan mengklik ikon berlabel Edit Arsitektur.
Kemudian di jendela baru, ubah konfigurasi default dengan mengklik arsitektur kedua di bawah Select Control Architecture agar sesuai dengan formulir yang ditunjukkan di bawah ini.
Selanjutnya akan mulai memeriksa beberapa plot analisis untuk sistem . Ingatlah bahwa dapat menilai stabilitas loop tertutup dari sistem berdasarkan respons frekuensi loop terbuka. Dalam kasus contoh ini, fungsi transfer loop terbuka L(s) dari sistem diberikan sebagai berikut.
(4.10)
Dengan catatan, ini benar meskipun pengontrol berada di jalur umpan balik sistem.
Dalam contoh lain, secara khusus menggunakan representasi plot Bode dari respons frekuensi loop terbuka. Untuk sistem tanpa kompensasi, dapat menggunakan kode kode MATLAB (P_Pend) untuk menghasilkan plot Bode ini. Sebagai gantinya, akan menggunakan Perancang Sistem Kontrol yang gunakan saat ini. Plot Bode loop terbuka dari sistem sudah terbuka, tetapi jika tidak, atau jika ingin mengubah jenis plot yang gunakan untuk desain, dapat membuka plot baru dari bawah tab Plot Baru pada Jendela Perancang Sistem Kontrol seperti yang ditunjukkan di bawah ini.
Pemeriksaan plot Bode di atas menunjukkan bahwa besarnya kurang dari 0 dB dan fase lebih besar dari -180 derajat untuk semua frekuensi. Untuk sistem fase minimum, ini akan menunjukkan bahwa sistem loop tertutup stabil dengan margin gain tak terbatas dan margin fase tak terbatas. Namun, karena sistem, memiliki kutub di bidang kompleks setengah kanan, sistem adalah fase nonminimum dan sistem loop tertutup sebenarnya tidak stabil. akan membuktikannya sendiri dengan memeriksa beberapa plot analisis lainnya.
Secara umum, ketika berhadapan dengan sistem fase nonminimum lebih disukai untuk menganalisis stabilitas relatif menggunakan plot Nyquist dari fungsi transfer loop terbuka. Plot Nyquist juga lebih disukai ketika menganalisis sistem tingkat tinggi. Ini karena plot Bode menunjukkan frekuensi yang terpisah 360 derajat sebagai berbeda padahal sebenarnya sama. Karena plot Nyquist adalah plot tipe kutub, ambiguitas ini dihilangkan.
Untuk menghasilkan plot tambahan untuk lebih memahami kinerja loop tertutup sistem, klik menu Plot Baru di bilah alat dari jendela Perancang Sistem Kontrol . The Control System Designer memungkinkan pengguna untuk melihat hingga delapan plot pada saat yang sama untuk
analisis. Plot ini dapat dilihat untuk sejumlah opsi, seperti sistem loop terbuka dan loop tertutup. akan melihat plot Nyquist untuk sistem loop terbuka dan respons impuls dari sistem loop tertutup dengan mengikuti langkah-langkah yang diberikan di bawah ini.
1. Di bawah menu Plot Baru , pilih Nyquist Baru di bawah Buat Plot Baru . Jendela baru bernama Nyquist Baru untuk diplot akan muncul. Di menu tarik-turun Select Response to Plot , pilih New Open-Loop Response . Dalam kotak Tentukan respons loop terbuka di lokasi berikut dan Tentukan respons loop terbuka dengan loop berikut terbuka , pilih u. Kemudian klik Plot . juga dapat memilih LoopTransfer_C di dropdown Select Response to Plot untuk mendapatkan plot Nyquist yang sama.
2. Di bawah menu Plot Baru , pilih Impuls Baru di bawah Buat Plot Baru . Sebuah jendela baru bernama New Impulse to plot akan muncul. Di menu tarik-turun Pilih Respons terhadap Plot , pilih IOTransfer_r2y . Kemudian klik Plot .
Gambar yang dihasilkan kemudian akan muncul sebagai berikut.
Pemeriksaan plot respon impuls di atas menunjukkan bahwa sistem loop tertutup tidak stabil. Ini juga dapat diverifikasi dari plot Nyquist loop terbuka dengan menerapkan kriteria stabilitas Nyquist yang dinyatakan di bawah ini.
(4.11)
Di mana Z jumlah kutub loop tertutup pada bidang setengah kanan, P adalah jumlah kutub loop terbuka pada setengah bidang kanan, dan N adalah jumlah lingkaran searah jarum jam dari titik -1 oleh plot Nyquist loop terbuka .
Dari pembahasan sebelumnya mengetahui bahwa sistem memiliki satu kutub loop terbuka pada bidang setengah kanan ( P = 1) dan dari pemeriksaan plot Nyquist loop terbuka di atas dapat melihat bahwa tidak ada pengepungan titik -1 ( N = 0). Oleh karena itu, Z= 0 + 1 = 1 dan sistem loop tertutup memiliki 1 kutub di bidang setengah kanan yang menunjukkan bahwa itu memang tidak stabil.
4.3.3. Respon Loop Tertutup Dengan Kompensasi
Karena sistem loop tertutup tidak stabil tanpa kompensasi, perlu menggunakan pengontrol untuk menstabilkan sistem dan memenuhi persyaratan yang diberikan. Langkah pertama adalah menambahkan integrator untuk membatalkan nol di titik asal. Untuk menambahkan integrator, dapat mengklik kanan pada plot Bode yang sudah terbuka dan memilih Add Pole/Zero > Integrator dari menu yang dihasilkan. Plot Bode yang dihasilkan ditunjukkan di bawah ini dan mencerminkan perilaku frekuensi rendah yang harapkan.
Jika melihat fungsi transfer dengan cermat, akan melihat bahwa ada pembatalan kutub-nol di titik asal. Namun, pembatalan kutub-nol tidak secara otomatis dikenali oleh Perancang Sistem Kontrol yang dapat menyebabkan kesalahan numerik pada plot berikutnya. Oleh karena itu, perlu keluar dari alat Perancang Sistem Kontrol dan membuka kembali alat dengan integrator yang sudah ditambahkan ke pabrik seperti yang ditunjukkan di bawah ini.
Karena integrator dibundel dengan plant yang berada di jalur maju, sedangkan pengontrol sebenarnya berada di jalur umpan balik, tidak akan menganalisis respons loop tertutup sistem ini dari dalam Perancang Sistem Kontrol. Namun, fungsi transfer loop terbuka tidak berubah oleh apakah pengontrol berada di jalur maju atau umpan balik, oleh karena itu, kita masih dapat menggunakan plot sistem loop terbuka untuk analisis dan desain. Plot Bode yang dihasilkan yang dihasilkan ditunjukkan di bawah ini.
Bahkan dengan penambahan integrator ini, sistem loop tertutup masih tidak stabil. Dapat mencoba untuk lebih memahami ketidakstabilan (dan bagaimana mengatasinya) dengan melihat lebih dekat pada plot Nyquist. Dapat menghasilkan plot analisis ini dengan cara yang sama seperti yang dilakukan sebelumnya. Mengikuti langkah-langkah ini menghasilkan gambar seperti yang diberikan di bawah ini.
Perhatikan bahwa plot Nyquist loop terbuka sekarang mengelilingi titik -1 searah jarum jam. Ini berarti bahwa sistem loop tertutup sekarang memiliki dua kutub pada bidang setengah kanan (Z = P + N = 1 + 1 = 2). Oleh karena itu, sistem loop tertutup masih tidak stabil. Perlu menambahkan fase untuk mendapatkan pengepungan berlawanan arah jarum jam. Akan melakukan ini dengan menambahkan nol ke controller. Sebagai permulaan, akan menempatkan nol ini pada -1 dan melihat plot yang dihasilkan. Tindakan ini dapat dicapai secara grafis dengan mengklik kanan pada plot seperti yang dilakukan sebelumnya. Sebagai gantinya, akan menambahkan nol dari jendela Compensator Editor dari Control System Designer, yang dapat dibuka dengan mengklik kanan plot Nyquist dan kemudian memilih Edit Compensator. Kemudian, klik kanan di bagian Dynamics dari jendela Compensator Editor dan pilih Add Pole/Zero > Real Zero dari menu yang dihasilkan.
Secara default, lokasi nol yang dihasilkan adalah -1. Jendela yang dihasilkan akan muncul seperti yang ditunjukkan pada gambar di bawah ini.
Nol tambahan ini secara otomatis akan mengubah plot Bode dan Nyquist yang sudah terbuka. Plot Nyquist yang dihasilkan akan muncul seperti yang ditunjukkan di bawah ini.
Seperti yang dilihat, perubahan ini tidak memberikan fase yang cukup. Pengepungan di sekitar -1 masih searah jarum jam. Akan mencoba menambahkan nol kedua pada -1 dengan cara yang sama seperti yang dijelaskan di atas. Diagram Nyquist yang dihasilkan ditunjukkan di bawah ini.
Memiliki satu lingkaran searah jarum jam dari -1 titik. Namun, jika menambahkan beberapa keuntungan, dapat meningkatkan besarnya setiap titik plot Nyquist, sehingga meningkatkan jari- jari lingkaran berlawanan arah jarum jam sehingga mengelilingi titik -1. Ini menghasilkan N = -1 di mana N negatif karena pengepungan berlawanan arah jarum jam. Untuk mencapai ini, dapat memasukkan nilai gain baru secara manual di jendela Compensator Editor dari jendela Control System Designer. Atau, dapat memodifikasi gain secara grafis dari plot Bode. Secara khusus, pergi ke jendela plot Bode, klik pada plot besarnya, dan seret kurva ke atas sampai telah menggeser plot Nyquist cukup jauh ke kiri sehingga lingkaran berlawanan arah jarum jam mencakup titik -1.
Perhatikan bahwa ini dicapai untuk nilai gain sekitar 3,8. Akan terus meningkatkan penguatan hingga kira-kira 10 seperti yang ditunjukkan di bagian Pratinjau dari jendela Perancang Sistem Kontrol. Plot Bode yang dihasilkan akan muncul seperti yang ditunjukkan pada gambar di bawah ini.
Plot Nyquist yang sesuai akan muncul sebagai berikut.
Dari diskusi sebelumnya, diketahui bahwa P = 1, sekarang N = -1, memiliki Z = -1 + 1 = 0 kutub loop tertutup pada bidang setengah kanan yang menunjukkan bahwa loop tertutup sistem stabil.
Dapat memverifikasi stabilitas sistem kami dan menentukan apakah persyaratan lain terpenuhi atau tidak dengan memeriksa respons sistem terhadap gangguan gaya impuls unit. Karena integrator pengontrol kami saat ini dibundel dengan pabrik, akan keluar dari Perancang Sistem Kontrol dan menghasilkan respons impuls loop tertutup dari baris perintah MATLAB. Sejauh ini, pengontrol yang kami rancang memiliki bentuk yang diberikan di bawah ini.
(4.12)
Menambahkan kode berikut ke m-file akan membangun fungsi transfer loop tertutup dari input F(s) ke output ɸ(s). Menjalankan m-file di baris perintah kemudian akan menghasilkan plot respons impuls seperti yang ditunjukkan di bawah ini.
Dari pemeriksaan gambar di atas, terlihat bahwa respon sistem sekarang stabil. Namun, posisi pendulum melampaui batas yang dipersyaratkan yaitu 0,05 radian dan waktu penyelesaian hampir melebihi persyaratan 5 detik. Oleh karena itu, akan berkonsentrasi pada peningkatan respons.
Dapat menggunakan Perancang Sistem Kontrol untuk melihat bagaimana mengubah penguatan pengontrol dan lokasi nol memengaruhi plot respons frekuensi sistem. Dalam hal ini, meningkatkan penguatan pengontrol meningkatkan margin fase sistem yang seharusnya membantu mengurangi overshoot respons. Selanjutnya, trial and error menunjukkan bahwa memindahkan salah satu dari nol lebih jauh ke kiri di bidang kompleks (lebih negatif) membuat respon lebih cepat. Perubahan ini juga meningkatkan overshoot, tetapi ini diimbangi dengan peningkatan gain. Eksperimen menunjukkan bahwa pengontrol berikut memenuhi persyaratan yang diberikan.
(4.13)
Ubah m-file seperti yang ditunjukkan dan jalankan kembali di baris perintah untuk menghasilkan plot respons impuls yang diberikan di bawah ini.
4.3.4. Apa Yang Terjadi Pada Posisi Cart?
Pada awal halaman ini, diagram blok untuk sistem pendulum terbalik diberikan. Diagram itu tidak sepenuhnya lengkap. Blok yang mewakili respons posisi gerobak x tidak disertakan karena variabel tersebut tidak dikontrol. Akan tetapi, menarik untuk melihat apa yang terjadi pada posisi cart saat pengontrol sudut pendulum θ ditempatkan. Untuk melihat ini kita perlu mempertimbangkan diagram blok sistem lengkap seperti yang ditunjukkan pada gambar berikut.
Dapat disederhanakan lagi, mendapatkan diagram blok berikut.
Di atas, blok C(s) adalah pengontrol yang dirancang untuk mempertahankan pendulum vertikal.
Oleh karena itu, fungsi alih loop tertutup T2(s) dari gaya input yang diterapkan ke cart ke output posisi cart diberikan sebagai berikut.
(4.14)
Mengacu pada halaman Inverted Pendulum: Pemodelan Sistem, fungsi transfer untuk Pcart(s) didefinisikan sebagai berikut.
(4.15) dimana
(4.16)
Perintah minreal secara efektif membatalkan semua kutub dan nol umum dalam fungsi transfer loop tertutup. Ini memberikan fungsi impuls sifat numerik yang lebih baik. Seperti yang dilihat, kereta bergerak ke arah negatif dan stabil di sekitar -0,14 meter. Desain ini mungkin bekerja cukup baik untuk pengontrol yang sebenarnya, dengan asumsi bahwa kereta memiliki banyak ruang untuk bergerak. Ingatlah bahwa ini murni keberuntungan. Tidak merancang pengontrol untuk menstabilkan posisi kereta, fakta yang dimiliki adalah efek samping yang menguntungkan.
4.4. State-Space
Dari masalah utama, persamaan dinamis sistem inverted pendulum dalam state-space adalah sebagai berikut:
(4.17)
(4.18) Untuk melihat bagaimana masalah ini awalnya diatur dan persamaan sistem diturunkan, lihat pada bagian Inverted Pendulum: Pemodelan Sistem. Untuk kasus ini, keluarannya adalah perpindahan cart (x dalam meter) dan sudut bandul (Φ dalam radian) di mana Φ mewakili penyimpangan posisi pedulum dari kesetimbangan, yaitu, θ = π + Φ.
Kriteria desain untuk sistem ini untuk langkah 0,2 m di posisi cart x yang diinginkan adalah sebagai berikut:
- Waktu penyelesaian untuk x dan θ kurang dari 5 detik - Waktu naik untuk x kurang dari 0,5 detik
- Sudut bandul θ tidak pernah lebih dari 20 derajat (0,35 radian) dari vertikal - Steady-state error kurang dari 2% untuk x dan θ
Jika melihat beberapa contoh inverted pendulum lainnya, kriteria desain untuk contoh ini berbeda.
Dalam contoh lain mencoba untuk menjaga pendulum tetap vertikal sebagai respons terhadap gaya gangguan impulsif yang diterapkan pada cart. Tidak berusaha untuk mengontrol posisi cart. Dalam contoh ini, dicoba untuk menjaga pendulum tetap vertikal sambil mengontrol posisi cart untuk bergerak 0,2meter ke kanan. Pendekatan desain state-space sangat cocok untuk mengontrol beberapa keluaran seperti yang dimiliki di sini.
Masalah ini dapat diselesaikan dengan menggunakan full-state feedback. Skema sistem kontrol jenis ini ditunjukkan di bawah ini, di mana K adalah matriks keuntungan kontrol. Perhatikan bahwa di sini memberi umpan balik semua status sistem, daripada menggunakan keluaran sistem untuk umpan balik.
4.4.1. Pole Loop Terbuka
Dalam masalah ini, r mewakili perintah langkah dari posisi cart. Empat keadaan menyatakan posisi dan kecepatan cart serta sudut dan kecepatan sudut bandul. Keluaran y berisi posisi cart dan sudut bandul. Merancang pengontrol sehingga ketika referensi langkah diberikan ke sistem, pendulum harus dipindahkan, tetapi akhirnya kembali ke nol (yaitu vertikal) dan cart harus pindah ke posisi baru yang diperintahkan. Untuk melihat respons sistem loop terbuka, silakan merujuk ke Inverted Pendulum: Analisis Sistem.
Langkah pertama dalam merancang pengontrol full-state feedback adalah menentukan kutub sistem loop terbuka. Masukkan baris kode berikut ke dalam m-file. Setelah diRUN di jendela perintah MATLAB, output akan mencantumkan kutub loop terbuka (nilai eigen A) seperti yang ditunjukkan di bawah ini.
Hasil yang diperoleh ada satu kutub bidang setengah kanan di 5.5651. Ini akan mengkonfirmasi bahwa sistem tidak stabil dalam loop terbuka.
4.4.2. Linear Quadratic Requlation (LQR)
Langkah selanjutnya dalam proses desain adalah untuk menemukan vektor state-feedback control gain K dengan asumsi bahwa memiliki akses (yaitu dapat mengukur) keempat variabel state. Hal ini dapat dicapai dengan beberapa cara. Jika mengetahui lokasi pole loop tertutup yang diinginkan, dapat menggunakan perintah MATLAB place atau acker. Pilihan lain adalah menggunakan perintah lqr yang mengembalikan gain pengontrol optimal dengan asumsi linier plant, quadratic cost function, dan referensi sama dengan nol.
Sebelum merancang pengontrol, pertama-tama kami akan memverifikasi bahwa sistem dapat dikontrol. Ini berarti bahwa dapat mengarahkan keadaan sistem di mana saja yang disuka dalam waktu yang terbatas (di bawah kendala fisik sistem). Agar sistem benar-benar dapat dikontrol, matriks keterkontrolan harus memiliki peringkat n di mana peringkat suatu matriks adalah jumlah baris (atau kolom) yang bebas linier. Matriks pengendalian sistem mengambil bentuk yang ditunjukkan di bawah ini. Angka n sesuai dengan jumlah variabel keadaan sistem. Menambahkan suku tambahan ke matriks keterkontrolan dengan pangkat lebih tinggi dari matriks A tidak akan meningkatkan peringkat matriks keterkontrolan karena suku tambahan ini hanya akan menjadi kombinasi linier dari suku-suku sebelumnya.
(4.19)
Karena matriks keterkendalian adalah 4x4, pangkat matriks harus 4. Maka akan menggunakan perintah MATLAB ctrb untuk menghasilkan matriks keterkendalian dan pangkat perintah MATLAB untuk menguji pangkat matriks. Menambahkan perintah tambahan berikut ke m-file dan diRUN di jendela perintah MATLAB akan menghasilkan output berikut.
Oleh karena itu, telah memverifikasi bahwa sistem dapat dikontrol dan dengan demikian harus dapat merancang pengontrol yang memenuhi persyaratan yang diberikan. Secara khusus, akan menggunakan metode regulasi kuadratik linier untuk menentukan matriks penguatan kendali umpan balik keadaan K. Fungsi MATLAB lqr memungkinkan untuk memilih dua parameter, R dan Q, yang akan menyeimbangkan kepentingan relatif dari upaya kontrol (u) dan kesalahan (deviasi dari 0), masing-masing, dalam fungsi cost yang sedang coba untuk mengoptimalkan.
Kasus paling sederhana adalah dengan mengasumsikan R = 1, dan Q = C’C. Fungsi cost yang sesuai dengan R dan Q ini sama pentingnya pada kontrol dan variabel keadaan yang merupakan output (sudut pendulum dan posisi cart). Pada dasarnya, metode lqr memungkinkan untuk mengontrol kedua output. Dalam hal ini, cukup mudah dilakukan. Kontroler dapat disetel dengan mengubah elemen bukan nol dalam matriks Q untuk mencapai respons yang diinginkan. Untuk mengamati struktur Q, masukkan berikut ini ke dalam jendela perintah MATLAB untuk melihat output yang diberikan di bawah ini.
Elemen pada posisi (1,1) dari Q menunjukkan berat dan posisi cart dan elemen pada posisi (3,3) menunjukkan berat pada sudut pendulum. Pemberat input R akan tetap pada 1. Pada akhirnya yang penting adalah nilai relatif dari Q dan R, bukan nilai absolutnya. Sekarang setelah mengetahui cara menginterpretasikan matriks Q, maka dapat bereksperimen untuk menemukan matriks K yang akan memberi pengontrol yang "baik". Akan melanjutkan dan menemukan matriks K dan memplot respons semuanya dalam satu langkah sehingga perubahan dapat dilakukan di kontrol dan terlihat secara otomatis di respons. Tambahkan perintah berikut ke akhir m-file dan RUN di jendela perintah MATLAB untuk mendapatkan nilai berikut untuk K dan plot respons yang ditunjukkan di bawah ini.
Kurva berwarna merah adalah sudut bandul dalam radian, dan kurva berwarna biru adalah posisi cart dalam meter. Seperti yang dilihat, plot ini kurang baik. Overshoot pendulum dan cart tampak baik-baik saja, tetapi waktu penyelesaiannya perlu ditingkatkan dan waktu naik cart perlu dikurangi. Posisi akhir kart juga tidak dekat dengan lokasi yang diinginkan tetapi sebenarnya telah bergerak ke arah yang berlawanan. Kembali ke m-file dan ubah matriks Q untuk melihat apakah
bisa mendapatkan respons yang lebih baik. Qkan menemukan bahwa meningkatkan elemen (1,1) dan (3,3) membuat waktu turun dan waktu naik, dan sudut gerakan pendulum menjadi lebih rendah. Dengan kata lain, memberikan bobot lebih pada kesalahan dengan mengorbankan upaya pengendalian yang meningkat u. Memodifikasi m-file sehingga elemen (1,1) dari Q adalah 5000 dan elemen (3,3) adalah 100, akan menghasilkan nilai K berikut dan respons langkah yang ditunjukkan di bawah ini.
Jika meningkatkan nilai elemen Qlebih tinggi lagi, dapat meningkatkan respons lebih banyak lagi.
Alasan pemberatan ini dipilih karena hanya memenuhi persyaratan desain transien. Meningkatkan besarnya Q lebih akan membuat kesalahan pelacakan lebih kecil, tetapi akan membutuhkan kekuatan kontrol yang lebih besar u. Upaya kontrol yang lebih besar umumnya sesuai dengan cost yang lebih besar (lebih banyak energi, aktuator yang lebih besar, dll.).
4.4.3. Menambahkan Prakompensasi
Kontroler yang telah dirancang sejauh ini memenuhi persyaratan transien, tetapi sekarang harus mengatasi kesalahan kondisi tunak. Berbeda dengan metode desain lainnya, di mana memberi umpan balik pada output dan membandingkannya dengan input referensi untuk menghitung kesalahan, dengan pengontrol umpan balik status penuh, memberi umpan balik pada semua status.
Perlu menghitung berapa nilai keadaan tunak yang seharusnya, mengalikannya dengan keuntungan yang dipilih K, dan menggunakan nilai baru sebagai "referensi" untuk menghitung input. Ini dapat dilakukan dengan menambahkan gain konstan etelah referensi. Skema di bawah ini menunjukkan hubungan ini:
Dapat menemukan faktor ini dengan menggunakan fungsi rscale.m yang ditentukan sebelumnya seperti yang ditunjukkan di bawah ini. Matriks C dimodifikasi untuk mencerminkan fakta bahwa referensi adalah perintah hanya pada posisi cart.
Perhatikan bahwa fungsi rscale.m bukan fungsi standar di MATLAB. Maka harus meletakkannya di direktori saat ini. Ekstra: rscale.m. Sekarang dapat memplot respons langkah dengan menambahkan baris kode di atas dan berikut ke m-file Anda dan menjalankannya kembali di baris perintah.
Sekarang, kesalahan kondisi tunak berada dalam batas, waktu naik dan turun terpenuhi, dan overshoot pendulum berada dalam kisaran kriteria desain.
Perhatikan bahwa precompensator yang digunakan di atas dihitung berdasarkan model pabrik dan selanjutnya precompensator terletak di luar loop umpan balik. Oleh karena itu, jika ada kesalahan dalam model (atau gangguan yang tidak diketahui), prekompensator tidak akan memperbaikinya dan akan ada kesalahan kondisi tunak. Bahwa penambahan kontrol integral juga dapat digunakan untuk menghilangkan kesalahan kondisi tunak, bahkan dengan adanya ketidakpastian model dan gangguan langkah. Untuk contoh bagaimana menerapkan kontrol integral dalam pengaturan ruang keadaan, lihat contoh Posisi Motor: Metode Ruang Keadaan.
Tradeoff dengan menggunakan kontrol integral adalah bahwa kesalahan harus terlebih dahulu berkembang sebelum dapat dikoreksi, oleh karena itu, sistem mungkin lambat merespons.
Precompensator di sisi lain mampu mengantisipasi offset kondisi mapan menggunakan pengetahuan model pabrik. Teknik yang berguna adalah menggabungkan precompensator dengan kontrol integral untuk meningkatkan keuntungan dari setiap pendekatan.
4.4.4. Kontrol Berbasis Pengamat
Respon yang dicapai di atas baik, tetapi didasarkan pada asumsi full-state feedback, yang belum tentu valid. Untuk mengatasi situasi di mana tidak semua variabel keadaan diukur, estimator keadaan harus dirancang. Skema kontrol umpan balik keadaan dengan estimator keadaan penuh ditunjukkan di bawah ini, tanpa prakompensator.
Sebelum merancang estimator, pertama-tama akan memverifikasi bahwa sistem dapat diamati.
Sifat observabilitas menentukan apakah berdasarkan keluaran terukur dari sistem dapat memperkirakan keadaan sistem atau tidak. Mirip dengan proses untuk memverifikasi keterkendalian, suatu sistem dapat diamati jika matriks observabilitasnya adalah peringkat penuh.
Matriks observabilitas didefinisikan sebagai berikut.
(4.20)
Menggunakan perintah MATLAB obsv untuk membuat matriks observabilitas dan perintah rank untuk memeriksa peringkatnya seperti yang ditunjukkan di bawah ini.
Karena matriks observabilitas adalah 8x4 dan memiliki rank 4, matriks tersebut memiliki rank penuh dan sistem dapat diamati. Matriks observabilitas dalam hal ini tidak berbentuk persegi karena sistem memiliki dua keluaran. Perhatikan bahwa jika hanya dapat mengukur keluaran sudut
pendulum, tidak akan dapat memperkirakan keadaan sistem secara penuh. Hal ini dapat dibuktikan dengan fakta bahwa obsv(A,C(2,:)) menghasilkan matriks observabilitas yang tidak rank penuh.
Karena tahu bahwa dapat memperkirakan keadaan sistem, akan menjelaskan proses untuk merancang penaksir keadaan. Berdasarkan diagram di atas, dinamika estimasi keadaan digambarkan oleh persamaan berikut.
(4.21)
Persamaan ini mirip dengan kontrol loop tertutup dalam istilah terakhir adalah koreksi berdasarkan umpan balik. Secara khusus, suku terakhir mengoreksi perkiraan keadaan berdasarkan perbedaan antara keluaran aktual y dan keluaran yang diperkirakan ẏ. Sekarang lihat dinamika kesalahan dalam perkiraan keadaan.
(4.22) Oleh karena itu, dinamika kesalahan estimasi keadaan dijelaskan oleh persamaan berikut.
(4.23)
dan kesalahan akan mendekati nol (ẋ akan mendekati x) jika matriks A-LC stabil (memiliki nilai eigen negatif). Seperti halnya untuk kontrol, kecepatan konvergensi tergantung pada kutub estimator (nilai eigen A-LC). Karena berencana untuk menggunakan perkiraan keadaan sebagai input ke pengontrol, ingin perkiraan keadaan menyatu lebih cepat daripada yang diinginkan dari keseluruhan sistem loop tertutup. Artinya, ingin kutub pengamat lebih cepat daripada kutub pengontrol. Pedoman umum adalah membuat tiang penduga 4-10 kali lebih cepat dari tiang pengontrol paling lambat. Membuat tiang estimator terlalu cepat dapat menjadi masalah jika pengukuran terganggu oleh noise atau ada kesalahan dalam pengukuran sensor secara umum.
Berdasarkan logika, pertama-tama harus menemukan kutub pengontrol. Untuk melakukan ini, salin kode berikut ke akhir m-file Anda. Jika Anda menggunakan matriks Q yang diperbarui, Maka akan melihat pole berikut di jendela perintah MATLAB.
Kutub paling lambat memiliki bagian nyata sebesar -4,7592, oleh karena itu, akan menempatkan kutub penduga di -40. Karena dinamika penduga loop tertutup ditentukan oleh matriks (A-LS) yang memiliki bentuk yang mirip dengan matriks yang menentukan dinamika sistem umpan balik keadaan (A-BK), dapat menggunakan yang sama perintah untuk menemukan gain estimator L sebanyak yang bisa untuk menemukan state-feedback gain K. Khususnya, karena mengambil transpos A-LC membuat nilai eigen tidak berubah dan menghasilkan hasil A'-C'L' yang sama persis dengan bentuk $A-BK$, kita dapat menggunakan perintah acker atau place. Mengingat bahwa perintah tempat tidak dapat menempatkan kutub multiplisitas lebih besar dari satu, akan menempatkan kutub pengamat sebagai berikut. Tambahkan perintah berikut ke m-file Anda untuk menghitung matriks L dan menghasilkan output yang ditunjukkan di bawah ini.
Menggunakan kedua keluaran (sudut pendulum dan posisi cart) untuk merancang pengamat.
Sekarang akan menggabungkan pengontrol umpan balik keadaan dari sebelumnya dengan penaksir keadaan untuk mendapatkan kompensator penuh. Sistem loop tertutup yang dihasilkan dijelaskan oleh persamaan matriks berikut.
(4.24) (4.25)
Sistem loop tertutup yang dijelaskan di atas dapat diimplementasikan di MATLAB dengan menambahkan perintah berikut di akhir m-file Anda. Setelah menjalankan m-file, respons langkah yang ditampilkan akan dihasilkan.
Respons ini hampir identik dengan respons yang dicapai ketika diasumsikan memiliki akses penuh ke variabel status. Ini karena kutub pengamat cepat, dan karena model yang diasumsikan untuk pengamat identik dengan model pabrik sebenarnya (termasuk kondisi awal yang sama). Oleh karena itu, semua persyaratan desain telah dipenuhi dengan upaya pengendalian minimal yang dikeluarkan. Tidak diperlukan iterasi lebih lanjut.
Contoh ini menunjukkan bahwa jauh lebih mudah untuk mengontrol sistem multi-input, multi- output dengan metode state-space dibandingkan dengan metode lain yang telah sajikan.
4.5. Digital
Dalam kasus inverted pendulum versi kontrol digital ini, akan menggunakan metode state-space untuk merancang pengontrol digital. Jika merujuk ke halaman Inverted Pendulum: Pemodelan Sistem, persamaan ruang keadaan linier diturunkan sebagai:
(4.26)
(4.27) (M) Massa cart = 0,5 kg
(m) Massa pendulum = 0,2 kg
(b) Koefisien Gesekan cart = 0,1 N/m/sec
(l) Panjang ke pusat massa pendulum dari = 0,3 m (I) Inersia pendulum = 0,006 kg.m2
(F) Gaya cart = N
(x) Koordinat posisi cart = m
(θ) Sudut pendulum dari vertikal (ke bawah)
Untuk kasus ini, keluarannya adalah perpindahan cart (x dalam meter) dan sudut bandul (ɸ dalam radian) di mana ɸ menyatakan penyimpangan posisi pedulum dari keseimbangan, yaitu, θ = π + ɸ.
Kriteria desain sistem ini untuk langkah 0.2 m pada posisi cart yang diinginkan x adalah sebagai berikut:
- Waktu penyelesaian untuk x dan θ kurang dari 5 detik - Waktu naik untuk x kurang dari 0,5 detik
- Sudut pendulum θ tidak pernah lebih dari 20 derajat (0,35 radian) dari vertikal - Steady-state error kurang dari 2% untuk x dan θ
4.5.1. State-Space Diskrit
Langkah pertama dalam merancang pengontrol digital adalah mengubah persamaan ruang keadaan kontinu di atas menjadi bentuk diskrit. Akan menyelesaikan ini menggunakan fungsi MATLAB
c2d. Fungsi ini mengharuskan menetapkan tiga argumen: model sistem kontinu, waktu pengambilan sampel (Ts dalam detik/sampel), dan 'metode'.
Dalam memilih waktu sampel, perhatikan bahwa frekuensi sampling yang diinginkan lebih cepat dibandingkan dengan dinamika sistem. Salah satu ukuran "kecepatan" sistem adalah bandwidth loop tertutupnya. Aturan yang baik adalah bahwa frekuensi pengambilan sampel setidaknya 30 kali lebih besar dari frekuensi bandwidth loop tertutup yang dapat ditentukan dari plot Bode loop tertutup.
Asumsikan bahwa frekuensi bandwith loop tertutup adalah sekitar 1 rad/s untuk kedua cart dan bandul, biarkan waktu sampling menjadi 1/100 detik/sampel. Metode diskritisasi yang akan gunakan adalah zero-order hold ('zoh'). Untuk detail lebih lanjut, lihat halaman Pendahuluan:
Desain Pengontrol Digital. Sekarang siap untuk menggunakan fungsi c2d. Masukkan perintah berikut ke dalam m-file. Menjalankan m-file ini di jendela perintah MATLAB memberie mpat matriks berikut yang mewakili model ruang-waktu diskrit.
Model state-space seperti berikut.
(4.28)
(4.29) 4.5.2. Keterkendalian Dan Observabilitas
Langkah selanjutnya adalah memeriksa controllability dan observability dari sistem. Agar sistem benar-benar dapat dikontrol, matriks keterkontrolan
(4.30)
harus memiliki rank n. Rank dari matriks adalah jumlah baris (atau kolom) yang bebas linier.
Dengan cara yang sama, agar sistem benar-benar menyatakan dapat diamati, matriks observabilitas
(4.31)
juga harus memiliki rank n. Tes untuk keterkontrolan dan observabilitas ini identik dengan situasi kontrol kontinu kecuali bahwa sekarang model state-space diskrit.
Karena jumlah variabel keadaan dalam sistem kami adalah 4, peringkat kedua matriks harus 4.
Peringkat fungsi dapat memberi rank setiap matriks. Menambahkan perintah berikut ke m-file dan menjalankannya di jendela perintah MATLAB akan menghasilkan hasil yang ditunjukkan di bawah ini.
Ini membuktikan bahwa sistem diskrit sepenuhnya dapat dikontrol dan sepenuhnya dapat diamati.
4.5.3. Desain Kontrol Melalui Penempatan Pole Skema sistem kontrol full-state feedback seperti ini.
Langkah selanjutnya adalah mengasumsikan bahwa keempat state dapat diukur dan merancang matriks kendali gain K. Jika merujuk ke halaman Inverted Pendulum: State-Space Methods for Controller Design terus menerus, metode Linear Quadratic Regulator (LQR) digunakan untuk menemukan matriks penguatan kontrol K. Dalam versi digital ini, akan menggunakan metode LQR yang sama. Metode ini memungkinkan menemukan penguatan kontrol yang menghasilkan keseimbangan optimal antara kesalahan sistem dan upaya kontrol. Untuk menggunakan metode LQR ini, kita perlu menentukan dua parameter, matriks indeks kinerja R dan matriks biaya negara Q. Untuk mempermudah, awalnya akan memilih matriks indeks kinerja R sama dengan 1, dan matriks biaya keadaan Q sama dengan C”C. Bobot relatif dari kedua matriks ini kemudian akan disetel dengan coba-coba. Matriks biaya negara bagian Q memiliki struktur sebagai berikut.
(4.32)
Elemen pada posisi (1,1) dari Q menunjukkan berat pada posisi kart dan elemen pada posisi (3,3) menunjukkan berat pada sudut pendulum.
Sekarang menemukan matriks gain kontrol K dan mengamati respon loop tertutup yang dihasilkan dari sistem. Karena merancang pengontrol digital, secara khusus akan menggunakan fungsi MATLAB dlqr. Tambahkan perintah berikut ke m-file Anda dan jalankan di jendela perintah MATLAB. Perhatikan bahwa berikut ini kita menimpa nilai-nilai matriks ruang-negara A, B, C, dan D dengan ekuivalen waktu-diskritnya menggunakan model yang diturunkan dengan perintah c2d di atas.
Kurva berwarna merah menunjukkan sudut bandul dalam radian, dan kurva berwarna biru menunjukkan posisi cart dalam meter. Seperti yang dilihat, plot ini kurang baik. Overshoot
pendulum dan cart tampak baik-baik saja, tetapi waktu penyelesaiannya perlu ditingkatkan dan waktu naik cart perlu dikurangi. Posisi akhir cart juga tidak dekat dengan lokasi yang diinginkan tetapi sebenarnya telah bergerak ke arah yang berlawanan. Kembali ke m-file dan ubah matriks Q untuk melihat apakah bisa mendapatkan respons yang lebih baik. Akan menemukan bahwa meningkatkan elemen (1,1) dan (3,3) membuat waktu turun dan waktu naik, dan sudut gerakan pendulum menjadi lebih rendah. Dengan kata lain, diberi bobot lebih pada kesalahan dengan mengorbankan upaya pengendalian yang meningkat u. Memodifikasi m-file sehingga elemen (1,1) dari Q adalah 5000 dan elemen (3,3) adalah 100, akan menghasilkan nilai K berikut dan respons langkah yang ditunjukkan di bawah ini.