BAB IV SIMULASI STABILISASI INVERTED PENDULUM DENGAN MENGGUNAKAN PENGONTROL FUZZY
Pada bab ini, pertama-tama akan dijelaskan mengenai pemodelan stabilisasi sistem inverted pendulum menggunakan perangkat lunak Fuzzy Logic Toolbox dari MATLAB. Hasil simulasi dengan menggunakan berbagai variasi dari jumlah parameter masukan, fungsi keanggotaan fuzzy, dan aturan-aturan fuzzy pun akan disampaikan pada bab ini.
4.1
Pemodelan Stabilisasi Inverted Pendulum Menggunakan Fuzzy Logic Toolbox dan SIMULINK
Pada eksperimen kali ini sistem yang akan dibuat adalah sistem fuzzy bertipe MISO (Multiple Input Single Output). Jumlah masukan yang akan dieksperimenkan adalah: 2 masukan (theta dan theta_dot) dan 4 masukan (theta, theta_dot, x, dan x_dot). Keluaran dari fuzzy adalah force (gaya) yang akan membuat pedati bergerak maju atau mundur di bidang horizontal. Semua model dibangun dengan menggunakan perangkat lunak SIMULINK dari MATLAB. Berikut ini akan dibahas masing-masing model dari 2 masukan dan 4 masukan. 1.
Model 2 Masukan (theta dan theta_dot)
Pada model ini, pengontrol fuzzy hanya akan melakukan proses kontrol terhadap 2 buah parameter yaitu theta (sudut bandul dihitung pada posisi terbalik vertikalnya) dan theta_dot (kecepatan sudut bandul). Diagram blok dari model ini dapat dilihat pada Gambar 4.1. Pada Gambar 4.1, satuan parameter fuzzy theta adalah dalam derajat dan parameter theta_dot dalam derajat/detik. Gain theta, gain theta_dot, dan gain force adalah penguatan yang harus diatur (di-tuning) untuk mendapatkan perfomansi terbaik dari
4-1
4-2 sistem. Blok Inverted Pendulum berisi model dinamika dari sistem inverted pendulum dan dapat dilihat pada Gambar 2-2. Blok scope theta, scope x dan scope force masing-masing adalah grafik antara theta, x, dan force terhadap t (waktu), yang dapat dilihat setelah simulasi berjalan. Blok rad_to_deg berfungsi untuk mengubah satuan dari radian ke derajat, hal ini disebabkan fungsi keanggotaan fuzzy yang didesain telah menggunakan satuan derajat. Blok Fuzzy Logic Controller diimplementasikan menggunakan Fuzzy Logic Toolbox dari MATLAB.
Gambar 4-1 Diagram blok sistem 2 masukan
Dalam Fuzzy Logic Toolbox telah disediakan GUI (Graphical User Interface) yang akan memudahkan pengguna untuk mendesain sistem fuzzy seperti yang diinginkannya. Gambar 4-2 menunjukkan salah satu antarmuka untuk melakukan penyesuaian fungsi keanggotaan pada perangkat lunak Fuzzy Logic Toolbox.
4-3
Gambar 4-2 Antar muka untuk menyesuaikan fungsi keanggotaan pada Fuzzy Logic Toolbox
Gambar 4-3 menunjukkan contoh antarmuka untuk memasukkan atau mengganti aturan-aturan pada perangkat lunak Fuzzy Logic Toolbox.
Gambar 4-3 Antar muka untuk rule editor pada Fuzzy Logic Toolbox
4-4 Semua hasil simulasi pada eksperimen kali ini menggunakan metode numerik RungeKutta orde 4, dengan step-size sebesar 0.01.
2. Model 4 Masukan (theta, theta_dot, x, dan x_dot)
Pada model ini, pengontrol fuzzy melakukan proses kontrol terhadap 4 buah parameter yaitu theta (sudut bandul dihitung pada posisi vertikal terbaliknya), theta_dot (kecepatan sudut bandul), x (posisi pedati), dan x_dot (kecepatan pedati). Diagram blok dari model ini dapat dilihat pada Gambar 4.4. Pada Gambar 4.4, satuan parameter fuzzy theta adalah dalam radian dan parameter theta_dot dalam radian/detik. Gain theta, gain theta_dot, gain x, gain x_dot, dan gain force adalah penguatan yang harus diatur (di-tuning) untuk mendapatkan perfomansi terbaik dari sistem. Blok Inverted Pendulum berisi model dinamika dari sistem inverted pendulum dan dapat dilihat pada Gambar 2-2. Blok scope theta, scope x dan scope force masing-masing adalah grafik antara theta, x, dan force terhadap t (waktu), yang dapat dilihat setelah simulasi berjalan. Blok Fuzzy Logic Controller diimplementasikan menggunakan Fuzzy Logic Toolbox dari MATLAB.
Gambar 4-4 Diagram blok sistem 4 masukan
4-5 4.2
Simulasi dengan Parameter yang Berbeda-beda
Eksperimen simulasi untuk menguji kestabilan sistem inverted pendulum dilakukan dengan cara memvariasikan jumlah parameter fuzzy, jumlah fungsi keanggotaan di tiaptiap parameternya, bentuk dan pengaturan (tuning) fungsi keanggotaan, dan pengaturan gain di masing-masing komponen yang akan diatur. 1. Parameter masukan theta dan theta_dot
Pada simulasi ini masukan yang akan dikontrol oleh pengontrol fuzzy hanyalah parameter theta dan theta_dot. Posisi dan kecepatan pedati tidak di kontrol, sehingga lintasan pedati dianggap tidak berhingga. Aturan fuzzy yang diterapkan di sini adalah aturan yang berbentuk seperti ”jika theta adalah x dan theta_dot adalah y maka force adalah z”. Beberapa contoh aturan itu adalah sebagai berikut: jika theta adalah neglarge dan theta_dot adalah neglarge maka force adalah neglarge, jika theta adalah negsmall dan theta_dot adalah neglarge maka force adalah neglarge, jika theta adalah nol dan theta_dot adalah neglarge maka force adalah neglarge, jika theta adalah nol dan theta_dot adalah nol maka force adalah nol, dan sebagainya. Theta dan theta_dot bernilai positif ketika berada di sebelah kanan posisi vertikal terbalik. Theta dan theta_dot bernilai negatif ketika berada di sebelah kiri posisi vertikal terbalik. Pada laporan kali ini tidak semua variasi parameter dibahas tetapi hanya beberapa saja yang dianggap cukup menjanjikan.
•
Model 1-1
Pada model ini fungsi keanggotaan untuk masing-masing parameter theta, theta_dot, dan force berjumlah 5 buah, yaitu: neglarge, negsmall, zero, possmall, dan poslarge. Satuan theta dan theta_dot adalah dalam derajat. Bentuk fungsi keanggotaan untuk parameter theta, theta_dot, dan force dapat dilihat pada Gambar 4-5 (a), (b), dan (c) secara berurutan.
4-6
(a)
(b)
(c) Gambar 4-5 Fungsi keanggotaan untuk Model 1-1 (a) theta, (b) theta_dot, dan (c) force
Pemilihan besar parameter-parameter yang terlibat dalam model kali ini dapat dilihat pada Tabel 4-1. Tabel 4-1 Parameter simulasi Model 1-1
Parameter M (masa pedati) m (masa bandul) l (panjang bandul) g (gravitasi) Gain theta Gain theta_dot Gain force θ0 (initial theta)
Besar 1 kg 0,5 kg 0,5 m 9,8 m/s2 2 0,8 1,5 17,18 derajat
4-7 Jumlah aturan fuzzy yang digunakan adalah sebanyak 25 buah, dan hasil simulasi menunjukkan bahwa bandul dapat distabilkan pada posisi vertikal terbaliknya dengan baik. Grafik hasil simulasi dapat dilihat pada Gambar 4-6 (a), (b), dan (c).
(a)
(b)
(c) Gambar 4-6 Grafik hasil simulasi Model 1-1 (a) grafik theta vs t, (b) grafik x vs t, (c) grafik force vs t
Pada Gambar 4-6, terlihat bahwa bandul dapat distabilkan dari posisi sudut awal 17,18 derajat ke posisi vertikal terbaliknya (0 derajat). Waktu yang diperlukan untuk menyeimbangkan posisi bandul adalah sekitar 1,5 detik. Walaupun bandul dapat stabil pada posisi terbaliknya tetapi tidak demikian dengan posisi pedati. Posisi pedati bergerak dari titik diam mula-mula menuju tak hingga (pedati terus bergerak ke arah kanan). Hal ini disebabkan karena pengontrol berbasis fuzzy hanya mengontrol
4-8 parameter theta dan theta_dot, sehingga mengabaikan parameter posisi pedati (posisi pedati tidak terkontrol).
•
Model 1-2
Pada model ini fungsi keanggotaan parameter theta berjumlah 7 buah (NB, NM, NS, Z, PS, PM, dan PB), theta_dot berjumlah 9 buah (NB, NM, NS, NZ, Z, PZ, PS, PM, dan PB), dan force berjumlah 9 buah (NB, NM, NS, NZ, Z, PZ, PS, PM, dan PB). Satuan theta dan theta_dot adalah dalam radian. Bentuk fungsi keanggotaan untuk parameter theta, theta_dot, dan force dapat dilihat pada Gambar 4-7 (a), (b), dan (c) secara berurutan.
(a)
(b)
(c) Gambar 4-7 Fungsi keanggotaan untuk Model 1-2 (a) theta, (b) theta_dot, dan (c) force
4-9 Pemilihan besar parameter yang terlibat dalam model kali ini dapat dilihat pada Tabel 4-2. Tabel 4-2 Parameter simulasi Model 1-2
Parameter M (masa pedati) m (masa bandul) l (panjang bandul) g (gravitasi) Gain theta Gain theta_dot Gain force θ0 (initial theta)
Besar 1 kg 0,5 kg 0,5 m 9,8 m/s2 2 1 20 0,3 rad
Jumlah aturan fuzzy yang digunakan adalah sebanyak 63 buah, dan hasil simulasi menunjukkan bahwa bandul dapat distabilkan pada posisi vertikal terbaliknya, tetapi masih terjadi osilasi yang relatif kecil di sekitar posisi kestabilannya. Grafik hasil simulasi dapat dilihat pada Gambar 4-8 (a), (b), dan (c).
(a)
(b)
4-10
(c) Gambar 4-8 Grafik hasil simulasi Model 1-2 (a) grafik theta vs t, (b) grafik x vs t, (c) grafik force vs t
Pada Gambar 4-8, terlihat bahwa bandul dapat distabilkan dari posisi sudut awal 0,3 radian ke posisi vertikal terbaliknya (0 derajat) dan osilasi sebesar ±0,05 radian masih terjadi di sekitar titik kestabilan bandul di posisi tersebut. Walaupun bandul dapat stabil pada posisi terbaliknya tetapi tidak demikian dengan posisi pedati. Posisi pedati bergerak dari titik diam mula-mula menuju tak hingga (pedati terus bergerak ke arah kanan). Jumlah aturan fuzzy dan fungsi keanggotaan pada model ini jauh lebih banyak dibandingkan pada Model 1-1, tetapi penambahan ini tidak menghasilkan perubahan secara signifikan pada perfomansi sistem secara keseluruhan.
•
Model 1-3
Pada model ini fungsi keanggotaan untuk parameter theta, theta_dot, dan force berjumlah 7 buah yaitu : NL, NM, NS, ZE, PS, PM, dan PL. Satuan theta dan theta_dot adalah dalam radian. Bentuk fungsi keanggotaan untuk parameter theta, theta_dot, dan force dapat dilihat pada Gambar 4-9 (a), (b), dan (c) secara berurutan.
4-11
(a)
(b)
(c) Gambar 4-9 Fungsi keanggotaan untuk Model 1-3 (a) theta, (b) theta_dot, dan (c) force
Pemilihan besar parameter yang terlibat dalam model kali ini dapat dilihat pada Tabel 4-3. Tabel 4-3 Parameter simulasi Model 1-3
Parameter M (masa pedati) m (masa bandul) l (panjang bandul) g (gravitasi) Gain theta Gain theta_dot Gain force θ0 (initial theta)
Besar 1 kg 0,5 kg 0,5 m 9,8 m/s2 2 0,5 2 1,04 rad
4-12
Jumlah aturan fuzzy yang digunakan adalah sebanyak 49 buah, dan hasil simulasi menunjukkan bahwa bandul dapat distabilkan pada posisi vertikal terbaliknya dengan sangat baik. Grafik hasil simulasi dapat dilihat pada Gambar 4-10 (a), (b), dan (c).
(a)
(b)
(c) Gambar 4-10 Grafik hasil simulasi Model 1-3 (a) grafik theta vs t, (b) grafik x vs t, (c) grafik force vs t
Pada Gambar 4-10, terlihat bahwa bandul masih dapat distabilkan dari posisi sudut awal yang cukup besar yaitu 1,04 radian (60 derajat) ke posisi vertikal terbaliknya (0 derajat). Waktu yang diperlukan untuk menyeimbangkan posisi bandul adalah sekitar 3 detik. Walaupun bandul dapat stabil pada posisi terbaliknya tetapi tidak demikian dengan posisi pedati. Posisi pedati bergerak dari titik diam mula-mula menuju tak
4-13 hingga (pedati terus bergerak ke arah kanan). Perfomansi model ini jauh melampaui kedua model sebelumnya (Model 1-1 dan Model 1-2).
•
Model 1-4
Pada model ini fungsi keanggotaan untuk parameter theta dan theta_dot berjumlah 5 buah yaitu : NL, NS, ZE, PS, dan PL. Satuan theta dan theta_dot adalah dalam radian. Fungsi keanggotaan untuk parameter force berjumlah 9 buah, yaitu NBL, NL, NM, NS, ZE, PS, PM, PL, dan PBL. Bentuk fungsi keanggotaan untuk parameter theta, theta_dot, dan force dapat dilihat pada Gambar 4-11 (a), (b), dan (c) secara berurutan.
(a)
(b)
(c) Gambar 4-11 Fungsi keanggotaan untuk Model 1-4 (a) theta, (b) theta_dot, dan (c) force
4-14
Pemilihan besar parameter yang terlibat dalam model kali ini dapat dilihat pada Tabel 4-4. Tabel 4-4 Parameter simulasi Model 1-4
Parameter M (masa pedati) m (masa bandul) l (panjang bandul) g (gravitasi) Gain theta Gain theta_dot Gain force θ0 (initial theta)
Besar 1 kg 0,5 kg 0,5 m 9,8 m/s2 2 1 20 0.1 rad
Jumlah aturan fuzzy yang digunakan adalah sebanyak 25 buah, dan hasil simulasi menunjukkan bahwa bandul tidak dapat distabilkan pada posisi vertikal terbaliknya. Grafik hasil simulasi dapat dilihat pada Gambar 4-12 (a), (b), dan (c).
(a)
(b)
4-15
(c) Gambar 4-12 Grafik hasil simulasi Model 1-4 (a) grafik theta vs t, (b) grafik x vs t, (c) grafik force vs t
2. Parameter masukan theta, theta_dot, x, dan x_dot
Pada simulasi ini masukan yang akan dikontrol oleh pengontrol fuzzy adalah parameter theta, theta_dot, x, dan x_dot. Sudut bandul dan posisi pedati dikontrol agar tetap berada pada posisi seimbang/semulanya. Aturan fuzzy yang diterapkan di sini adalah aturan yang berbentuk seperti ”jika theta adalah a dan theta_dot adalah b dan x adalah c dan x_dot adalah d maka force adalah e”. Beberapa contoh aturan itu adalah sebagai berikut: jika theta adalah negsmall dan theta_dot adalah possmall dan x adalah negatif dan x_dot adalah zero maka force adalah possmall, jika theta adalah poslarge dan theta_dot adalah poslarge dan x adalah negatif dan x_dot adalah negatif maka force adalah posmedium, dan sebagainya. Pada laporan kali ini tidak semua variasi parameter dibahas tetapi hanya beberapa saja yang dianggap cukup menjanjikan.
•
Model 2-1
Pada model ini fungsi keanggotaan untuk parameter theta, theta_dot, x, dan x_dot berjumlah 3 buah yaitu: NE, ZE, dan PO, sedangkan untuk parameter force berjumlah 9 buah yaitu: NBL, NL, NM, NS, ZE, PS, PM, PL, dan PBL. Satuan theta dan theta_dot adalah dalam radian. Bentuk fungsi keanggotaan untuk parameter theta,
4-16 theta_dot, x, x_dot, dan force dapat dilihat pada Gambar 4-13 (a), (b), (c), (d), dan (e) secara berurutan.
(a)
(b)
(c)
(d)
4-17
(e) Gambar 4-13 Fungsi keanggotaan untuk Model 2-1 (a) theta, (b) theta_dot, (c) x, (d) x_dot, dan (e) force
Pemilihan besar parameter-parameter yang terlibat dalam model kali ini dapat dilihat pada Tabel 4-5.
Tabel 4-5 Parameter simulasi Model 2-1
Parameter M (masa pedati) m (masa bandul) l (panjang bandul) g (gravitasi) Gain theta Gain theta_dot Gain x Gain x_dot Gain force θ0 (initial theta)
Besar 0,5 kg 0,25 kg 0,25 m 9,8 m/s2 2 2,5 1 0,5 150 0,05 rad
Jumlah aturan fuzzy yang digunakan adalah sebanyak 81 buah, dan hasil simulasi menunjukkan bahwa baik bandul maupun posisi pedati masih berosilasi pada rentang yang cukup besar di sekitar posisi mula-mulanya. Grafik hasil simulasi dapat dilihat pada Gambar 4-14 (a), (b), dan (c).
4-18
(a)
(b)
(c) Gambar 4-14 Grafik hasil simulasi Model 2-1 (a) grafik theta vs t, (b) grafik x vs t, (c) grafik force vs t
Pada Gambar 4-14, terlihat bahwa bandul masih berosilasi di sekitar ±0,05 radian selama 20 detik. Seperti pula pada bandul, posisi pedati pun masih mengalami osilasi di sekitar ±0,2m. Pada simulasi ini posisi pedati dan sudut bandul tidak benar-benar stabil, tetapi masih mengalami osilasi yang cukup besar. Hal ini dapat disebabkan karena beberapa hal, yaitu: jumlah fungsi keanggotaan dan aturan fuzzy yang relatif sedikit serta proses tuning parameter-parameter dan fungsi keanggotaan yang belum sempurna. Untuk diterapkan pada implementasi perangkat keras, model ini masih membutuhkan beberapa perbaikan yang signifikan.
4-19
•
Model 2-2
Pada model ini fungsi keanggotaan parameter theta berjumlah 5 buah (NL, NS, ZE, PS, dan PL), theta_dot berjumlah 5 buah (NL, NS, ZE, PS, dan PL), x berjumlah 3 buah (NE, ZE, dan PO), x_dot berjumlah 3 buah (NE, ZE, dan PO), dan force berjumlah 13 buah (N6, N5, N4, N3, N2, N1, ZE, P1, P2, P3, P4, P5, dan P6). Satuan theta dan theta_dot adalah dalam radian. Bentuk fungsi keanggotaan untuk parameter theta, theta_dot, x, x_dot, dan force dapat dilihat pada Gambar 4-15 (a), (b), (c), (d), dan (e) secara berurutan.
(a)
(b)
(c)
4-20
(d)
(e) Gambar 4-15 Fungsi keanggotaan untuk Model 2-2 (a) theta, (b) theta_dot, (c) x, (d) x_dot, dan (e) force
Pemilihan besar parameter-parameter yang terlibat dalam model kali ini dapat dilihat pada Tabel 4-6. Tabel 4-6 Parameter simulasi Model 2-2
Parameter M (masa pedati) m (masa bandul) l (panjang bandul) g (gravitasi) Gain theta Gain theta_dot Gain x Gain x_dot Gain force θ0 (initial theta)
Besar 1 kg 0,5 kg 0,5 m 9,8 m/s2 1 0,5 0,25 0,5 140 0,15 rad
Jumlah aturan fuzzy yang digunakan adalah sebanyak 225 buah, dan hasil simulasi menunjukkan bahwa baik bandul maupun posisi pedati dapat distabilkan pada posisi
4-21 mula-mulanya (rest position) dengan baik. Grafik hasil simulasi dapat dilihat pada Gambar 4-16 (a), (b), dan (c).
(a)
(b)
(c) Gambar 4-16 Grafik hasil simulasi Model 2-2 (a) grafik theta vs t, (b) grafik x vs t, (c) grafik force vs t
Pada Gambar 4-16, terlihat bahwa bandul dapat distabilkan ke posisi vertikal terbaliknya (0 derajat) dari posisi awal sekitar 0,15 radian. Selain letak bandul yang stabil di posisi vertikalnya, dapat dilihat pula posisi pedati yang stabil di titik tengah lintasan. Waktu yang diperlukan untuk menyeimbangkan posisi bandul adalah cukup lama sekitar 5 detik. Pada grafik x vs t, dapat dilihat nilai overshoot yang cukup besar. Model ini sangat mencerminkan keadaan nyata dari sistem karena pengontrol dapat mengontrol posisi pedati dan sudut bandul dengan baik.