PENGATURAN POSISI MOTOR DC MENGGUNAKAN KONTROLER PID BERBASIS GENETIK ALGORITMA (GA) Nama mahasiswa NRP Pembimbing
: Bambang Siswanto : 2208202004 : Dr. Ir. Mochammad Rameli ABSTRAK
Kontroler Proportional-Integral-Diferensial (PID) adalah kontroler yang paling popular abad ini karena keefektifannya, sederhana dalam implementasi dan luas penggunaannya. Konfigurasi standar kontroler PID memiliki parameter-parameter Kp, Ki dan Kd yang dipilih atau ditentukan agar karakteristik plant sesuai dengan kriteria desain yang diharapkan. Metode ini diimplementasikan secara langsung karena menyediakan aturan tuning yang sederhana untuk menentukan parameter-parameter PID. Metode ini menggunakan asumsi bahwa proses yang dikontrol memiliki dinamika minimum, linear, tidak ada noise, dan sebagainya. Pada kenyataanya, banyak proses kontrol yang nonlinear, time-variant dan sangat kompleks. Algoritma genetika merupakan metode yang banyak dipergunakan oleh para ilmuwan untuk meyelesaikan permasalahan-permasalahan tak linier. Algoritma ini mengadopsi mekanisme seleksi alam dan evolusi genetik sebagai dasar pemikirannya. Di dalam tesis ini, diusulkan untuk kontroler disetel menggunakan teknik Genetic Algorithm (Algoritma Genetika). Genetic algorithm telah ditunjukkan untuk mampu ditempatkan pada area capaian tinggi pada daerah kompleks tanpa mengalami berbagai kesulitan dihubungkan dengan dimensi tinggi atau optima dengan teknik kepantasan gradien. Dengan demikian pencapaian hasil penelitian ini lebih baik dari tuning kontroler PID konvensional pada pengaturan posisi motor DC dengan nilai rise-time, settling-time, maximum overshot dan mean square error yang lebih kecil. Kata kunci : Motor DC, Kontroler PID, Algoritma Genetika. PENDAHULUAN Motor DC (Direct Current) atau motor arus searah termasuk dalam kategori jenis motor yang paling banyak digunakan baik dalam lingkungan industri, peralatan rumah tangga hingga ke mainan anak-anak ataupun sebagai piranti pendukung sistem instrumen elektronik. Motor DC memiliki jenis yang beragam mulai dari tipe magnet permanen, seri, shunt ataupun jenis magnet kompon. Tipe motor DC diimplementasikan berdasarkan jenis magnet yang digunakan. Kelebihan motor DC memiliki torsi yang tinggi, tidak memiliki kerugian daya reaktif dan tidak menimbulkan harmonisa pada sistem tenaga listrik yang mensuplainya. Selain torsi motor DC juga memiliki akurasi kontrol yang tinggi sehingga motor DC sering digunakan untuk aplikasi servo seperti pengendali kecepatan pemintal benang atau pengendali posisi antena penerima satelit. Kemampuan mengetahui kondisi sistem yang sebenarnya akan memberikan hasil perencanaan yang baik dan optimal. Proses interpretasi atau menafsirkan perilaku sistem bukan merupakan pekerjaan yang mudah karena akan berkaitan dengan perilaku statik dan dinamik sistem. Permodelan dan simulasi harus dilakukan secara iteratif dan trial-error. Penggunaan perangkat lunak komputer juga akan menentukan akurasi model yang diambil. Kontroler Proportional-Integral-Derivative (PID) adalah kontroler yang paling popular abad ini karena keefektifannya, sederhana dalam implementasi dan luas penggunaannya. Konfigurasi standar kontroler PID memiliki parameter-parameter Kp, Ki dan Kd yang dipilih atau ditentukan agar karakteristik plant sesuai dengan kriteria desain yang diharapkan. Spesifikasi umum dalam desain adalah rise-time, settling-time,
maximum overshoot dan mean square error terhadap masukan yang diberikan. Seperti halnya pada kontroler PID untuk mengatur posisi motor DC shunt dengan kemampuan motor DC yang mudah dikendalikan. Karenanya bagaimana cara mengoptimalkan kontroler PID? Apakah masih perlu menyetel parameter PID sebagai contoh menggunakan teknik yang klasik yang telah diajar yaitu metoda Ziegler-Nichols? Atau digunakan perhitungan komputasi untuk penyetelan PID secara stokastik? Genetic algorithm (GA) adalah suatu stokastik metoda pencarian global yang meniru proses dari evolusi alami. Genetic algorithm telah ditunjukkan untuk mampu ditempatkan pada area capaian tinggi pada daerah kompleks tanpa mengalami berbagai kesulitan dihubungkan dengan dimensi tinggi atau optima dengan teknik kepantasan gradien. Penggunaan Genetic algorithm untuk melakukan penyetelan parameter-parameter kontroler yang mengakibatkan jumlah maksimum kontroler yang dievaluasi untuk sistem setiap kali. Model Plan Motor DC yang dipergunakan adalah motor DC shunt, dengan spesifikasi yang telah ditentukan. Model motor DC yang digunakan adalah model motor DC standar, model ini akan dituning parameter gain kontrolnya dengan menggunakan algoritma genetika untuk memperoleh nilai parameter rise-time, settlingtime, maximum overshot dan mean square error yang lebih kecil dibandingkan dengan model plan yang dituning menggunakan ZN. Sebelum menerapkan metoda algoritma genetika, akan dibuat terlebih dahulu dengan metode perhitungan ZN secara manual dari model plan yang ada dan dibandingkan dengan
Maksimum overshoot = ± 59.6 % Settling time = 0.342 sec Dengan menggunakan hasil perhitungan yang sudah ditentukan yaitu untuk nilai kontroller PID Kp = 18, Ki = 0.045 dan Kd = 0.0182, maka didapat hasil respon sbb : Step Response 1.4 System: sys Peak amplitude: 1.09 Overshoot (%): 9.09 At time (sec): 0.176
1.2
System: sys Final Value: 1
1 System: sys Settling Time (sec): 0.247
Amplitude
motode ZN dari perhitungan orang lain dengan nilai yang sudah tersedia. Model dinamik motor DC dapat dilihat seperti pada gambar 2.2. Rangkaian motor terdiri dari kumparan jangkar disuplai dengan tegangan terminal Vt, sedangkan kumparan medan disuplai dengan tegangan tetap Vf untuk mendapatkan fluktasi tetap. Model plant yang digunakan memiliki spesifikasi dan parameter sebagai berikut : Spesifikasi : 2 HP, 230 volt, 8.5 ampere, 1500 rpm Parameter : Ra = 2.45 ohm, La = 0.035 H, Kb = 1.2 volt/(rad/sec), J = 0.022 Kg-m2/rad, B = 0.5*10^3N-m/(rad/sec). Maka :
System: sys Rise Time (sec): 0.0811
0.8
0.6
0.4
0.2
Terdapat beberapa penyelesaian untuk desain kontroler berdasarkan nilai gain margin dan phase margin yaitu analisa kestabilan routh. Tujuan dari analisis kestabilan routh adalah untuk mencari nilai range Kp sedemikian hingga pada batas nilai Kp tersebut pada kondisi stabil. Kontruksi blok diagram sistem loop tertutup digambarkan pada gambar 3.1
Gambar 3.1 Blok Diagram Sistem Loop Tertutup Batas minimal nilai Kp sedemikian hingga sistem dapat dikatakan stabil, maka nilai range ke Kp yang harus dipenuhi adalah : 0 < Kp < 83.225 Maka persamaan karakteristis yang diperoleh adalah : 0.0539s2 + 100.87 = 0
Tipe
Kp
Ti
Td
P
41.6125
0
0
PI
37.45125
0.122
0
PID
49.94
0.073
0.01825
Step Response 1.6 System: sys Peak amplitude: 1.6 Overshoot (%): 59.6 At time (sec): 0.064
1.4
sys
1.2
System: sys Settling Time (sec): 0.342
Amplitude
1 System: sys Final Value: 1
System: sys Rise Time (sec): 0.0246
0.8
0.6
0.4
0.2
0
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
Time (sec)
Rise time waktu yang ditempuh antara 10 s/d 90 % nilai akhir = 0.0246 sec Peak time ditempuh pada waktu 0.064 sec dengan peak amplitudonya = 1.6
0
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
Time (sec)
Gambar 3.7 Respon Step untuk Nilai = 18, Ki = 0.045 dan Kd = 0.0182 Rise time waktu yang ditempuh antara 10 s/d 90 % nilai akhir = 0.0811 sec Peak time ditempuh pada waktu 0.176sec dengan peak amplitudonya = 1.09 Maksimum overshoot = ± 9.09 % Settling time = 0.247 sec Model Penyelesaian Algoritma Genetika Sebelum memasuki pokok penelitian ada baiknya untuk mengetahui perbedaan antara metoda Algoritma genetika dengan metoda Ziegle-Nichols. Mengapa demikian karena akan membantu memahami mengapa GA jadi lebih efisien dibanding metoda ZN. Algoritma genetika pada hakekatnya berbeda pada teknik optimisasi dan pencarian. Ada lima perbedaan utama adalah: 1. Algoritma Genetika mencari suatu populasi poinpoin secara paralel, bukan dari poin tunggal. 2. Algoritma Genetika tidak memerlukan informasi derivative atau alat bantu pengetahuan lain, hanya objective function dan tingkatan fitness mempengaruhi arah pencarian. 3. Algoritma Genetika menggunakan aturan transisi probabilistik, bukan aturan deterministik. 4. Algoritma Genetika bekerja pada suatu pengkodean dari suatu parameter tidak menetapkan parameternya sendiri ( kecuali jika individu realvalued digunakan). 5. Algoritma Genetika boleh menyediakan sejumlah solusi potensi ke masalah ditentukan dan pilihan dari akhir diserahkan ke pemakai. Model penyelesian permasalahan modeling motor DC menggunakan algoritma genetika adalah dengan mentuning gain Kp, Ki dan Kd untuk menghasilkan nilai system requirment untuk maximum overshot, rise-time, setling-time dan mean square error dengan menggunakan spesifikasi sebagai berikut :
Tabel 4.1 Spesifikasi sistem yang akan dicari Maximum RiseSettlingovershoot System time(sec) time(sec) (%) specification 10 < 0.08 < 0.25 Dengan ditentukan spesifikasi sistem yang dicari harus lebih baik dari hasil perhitungan ZN, maka perlu adanya perhitungan baru yang dapat menghasilkan nilai tuning parameter yang lebih baik lagi. Diagram proses GA untuk mentuning parameter PID pada plan motor DC terlihat pada gambar 4.1 dan gambar 4.2 untuk desain kontrol GA-PID. Inisialisasi Populasi
Dekodekan Kromosom
Evaluasi Individu
Linier Fitness Ranking
Roulette Wheel
Pindah Silang
Mutasi
berukuran UkPop x JumGen yang bernilai biner (0 dan 1) Dekodekan Kromosom : Fungsi ini bertujuan mendekodekan sebuah kromosom yang berisi bilangan biner menjadi individu x yang bernilai real dalam interval yang diinginkan. Proses pendekodean dilakukan berdasarkan persamaan : dimana N adalah jumlah gen dalam kromosom (panjang kromosom). Pada fungsi ini istilah kromosom mengacu pada vektor baris yang berisi bilangan biner, sedangkan individu mengacu pada variabel x yang berisi bilangan real. Kedua istilah ini akan terus dipakai secara konsisten. sebuah matrik berukuran 1 x JumGen atau biasa dikenal sebagai vektor baris. Nvar adalah jumlah variabel yang terdapat pada fungsi yang dioptimalkan. Sedangkan Nbit adalah jumlah bit yang digunakan untuk mengkodekan satu variabel. Ra adalah batasan atas interval, sedangkan Rb adalah batas bawah interval. Keluaran dari fungsi ini adalah x, yaitu sebuah individu yang bernilai real dalam interval [Ra,Rb]. Jika Nvar sama dengan 3 dan Nbit sama dengan 10, maka individu x terdiri dari tiga kolom, x(1), x(2) dan x(3). Dengan skema ini, x(1) adalah hasil dekode dari kromosom(1) sampai kromosom(10). x(2) adalah hasil dekode dari kromosom (11) sampai kromosom(20), sedangkan x(3) adalah hasil dekode dari kromosom(21) sampai kromosom(30).
Non Optimum Solusi
Optimum Solusi
Gambar 4.1 Proses Algoritma Genetika Kontrol PID Kp input
t
error
+ -
Genetik Algorti ma
output
Ki
Motor DC
Kd
Gambar 4.2 Desain sistem kontrol GA-PID pada motor DC Inisialisasi Populasi : Tujuan dari fungsi ini adalah membangkitkan sebuah populasi yang berisi sejumlah kromosom. Setiap kromosom berisi sejumlah gen. Masukan untuk fungsi ini adalah sejumlah kromosom dan jumlah gen.Pada kode program, nama fungsi dinyatakan oleh InisialisasiPopulasi. Masukan untuk fungsi tersebut adalah UkPop yang menyatakan ukuran populasi (jumlah kromosom dalam populasi), dan JumGen yang menyatakan jumlah gen dalam suatu kromosom. Sedangkan keluaran dari fungsi tersebut adalah variabel populasi, berupa matrik dua dimensi
Evaluasi Individu : Fungsi ini bertujuan untuk menghitung nilai fitness dari suatu individu x. Fungsi ini sangat bergantung pada masalah yang akan diselesaikan. Kode program berikut ini digunakan khusus untuk menyelesaikan masalah minimasi untuk fungsi h dalam hal ini yang dicari pada fungsi fitness adalah mean square error. Karena tujuannya adalah minimasi, maka nilai fitness yang digunakan adalah f = 1 / ((h + a) dimana h adalah fungsi yang diminimasi, dan a adalah sebuah bilangan yang dianggap cukup kecil untuk menghindari pembagian dengan 0. Pada fungsi fitness tersebut, a direpresentasikan oleh bilangan kecil (BilKecil). Untuk menjaga agar individu bernilai fitness tidak hilang selama evolusi, maka perlu dilakukan posedur elitisme, dengan cara membuat satu atau dua kopi dari individu bernilai fitness tertinggi tersebut. Pada kode program elitisme ini dilakukan suatu prosedur pencarian individu bernilai fitness tertinggi dan terendah yang disimpan sebagai variabel MaxF dan MinF. Sedangkan indeks dari individu berniali tertinggi disimpan dalam variabel IndeksIndividuTerbaik. Agar tidak tertimpa, populasi baru tersimpan di dalam variabel TemPopulasi. Elitisme dilakukan dengan mengkopi satu atau dua individu terbaik dari populasi dan disimpan dalam TemPopulasi.
Linier Fitness Rangking : Untuk menghindari kecenderungan konvergen pada optimum lokal, maka digunakan penskalaan nilai fitness seperti pada persamaan :
Sehingga diperoleh nilai fitness baru yang lebih baik, yaitu memiliki variasi tinggi. Penentuan nilai fitness sangat berpengaruh pada performansi AG secara keseluruhan. Fungsi sort sudah tersedia di Matlab, digunakan untuk mengurutkan nilai fitness dari kecil ke besar (ascending). Variabel SF berisi nilai-nilai fitness hasil pengurutan, sedangkan IndF berisi indeks dari nilai-nilai fitness tersebut. Roulette-Wheel : Fungsi roulette-wheel secara sederhana diimplementasikan. Sebuah perintah yang sudah tersedia dalam Matlab, sum digunakan untuk menjumlahkan semua nilai pada vektor linear fitness. Perintah break digunakan untuk keluar dari suatu pengulangan for atau while. Keluaran dari fungsi ini adalah Pindex yaitu indeks dari individu yang terpilih sebagai orang tua.
Gambar 4.3 Respon PID dengan Populasi 20 Dari gambar diatas, analisa respon sistem secara detail diperoleh sebagai berikut : Peak amplitudo = 1.11 Overshot = 10.6% Settling-time = 6.97 Rise-time = 0.666 sec Untuk ukuran populasi 40 respon yang diperoleh seperti pada gambar 4.4 :
Pindah Silang : Sebuah bilangan antara 1 sampai JumGen dibangkitkan secara random dan disimpan dalam variabel TP. Variabel Anak(1,:) menyatakan anak baris ke-1 semua kolom. Baris 1 menunjukan kromosom anak pertama hasil pindah silang. Sedangkan semua kolom menunjukan bahwa kromosom anak tersebut berisi gen-gen gabungan dari bagian depan kromosom bapak dan bagian belakang kromosom ibu. Mutasi : Mutasi bisa terjadi secara random pada setiap gen dalam kromosom. Jika suatu bilangan random [0,1] yang dibangkitkan oleh perintah rand kurang dari probabilitas mutasi, maka gen yang bersesuaian akan diganti dengan nilai kebalikannya (nilai 0 dirubah 1 dan 1 dirubah 0). Dengan probabilitas sebesar Pmutasi (0.1), gen-gen yang terpilih dirubah nilainya 0 menjadi 1 dan 1 menjadi 0. Keluaran adalah mutasi kromosom. Hasil Kontroler Algoritma Genetika - PID Di bagian ini, hasil dari Algoritma Genetika diterapkan kontrol PID akan dianalisa. GA merancang kontrol PID pada awal inisialisasi dengan ukuran populasi 20 dan tanggapan menganalisa. Kemudian inisialisasi dengan ukuran populasi 40, dan 50. Tanggapan dari rancangan GA-PID akan dianalisa untuk nilai paling kecil melampaui, rise-time paling cepat, settling-time yang paling cepat, maximum overshor yang paling kecil yang akan dipilih. Dari respon berikut , rancangan GA-PID akan dibandingkan kepada metode ZN. Keunggulan GA terhadap metoda ZN metoda akan ditunjukkan. Berikut adalah plot rancangan GA-PID dengan ukuran populasi 20. Dari gambar 4.3, respon GA-PID akan dianalisa.
Gambar 4.4 Respon PID dengan Populasi 40 Nilai respon yang diperoleh sebagai berikut : Peak amplitudo = 1.07 Overshot = 6.98% Settling-time = 2.2 Rise-time = 0.64 sec Pada saat ukuran populasi sama dengan 50, maka respon sistem dapat terlihat pada gambar 4.5 Nilai respon yang diperoleh sebagai berikut : Peak amplitudo = 1.06 Overshot = 5.74% Settling-time = 1.91 sec Rise-time = 0.618 sec Dari rancangan dengan berbagai ukuran populasi tersebut dapat diambil kesimpulan bahwa dengan ukuran populasi yang lebih banyak akan dihasilkan nilai respon sisten yang lebih baik dari pada ukuran populasi yang nilainya kecil. Sehingga pada perancangan globalnya untuk algoritma genetik digunakan ukuran populasi 50.
Gambar 4.5 Respon PID dengan Populasi 50 Dengan demikian dihasilkan nilai tuning parameter kontrol PID yang optimal dengan hasil nilai rise-time, settling-time dan maximum overshot yang kecil dan bisa dibandingkan dengan hasil perhitungan/ respon sistem metode ZN. Performansi yang dibentuk dalam metoda Algoritma Genetika ini sebagai berikut : Tabel 4.1 Parameter Algoritma Genetika Proferti Algoritma Genetika Populasi Jumlah Generasi Indeks Performansi/Fitness Metode Seleksi
Nilai 60 30 Mean Square Error RouletteWheel 0.05 Uniform Crossover Mutasi Uniform 0.1
Probabilitas Seleksi Pindah Silang Metode Mutasi Probabilitas Mutasi
Tabel 4.2 Tabel Perbandingan Metode Tuning Metode ZN Metode GAPID 1 Metode GAPID 2
Kp
Ki
Kd
Maximum Overshoot
RiseTime
Settlingtime
Mean Square Error
18
0.045
0.0182
1.08504
0.08504
0.246479
0.05945
19.88
0.1376
0.5578
1
0.1
0.1
0.0033
17.5293
1.29734
231.955
1.02975
0.03960 4
0.09901
0.0167
Dengan melakukan beberapa percobaan pada program GA ini didapat nilai optimum dari parameter kontroler GA-PID2 dengan nilai tertera pada tabel 4.2 diperoleh nilai parameter yang lebih kecil bila dibandingkan dengan nilai parametr ZN dan GAPID1. Dengan demikian penggunaan metode GAPID2 menghasilkan nilai optimum. Sedangkan proses dari program dapat dilihat pada gambar 4.6 Kesimpulan Respon yang dihasilkan pada rancangan kontroler PID dengan menggunakan ZN menghasilkan respon yang kurang optimal bila dibandingkan dengan metode GA-PID. Ini terlihat dengan perbandingan respon yang menggunakan rancangan GA-PID. Respon yang dibandingan antara rise-time,settlingtime,maximum overshot dan mean square error menunjukan perbandingan yang lebih baik antara metode ZN dan GA-PID1. Dan bila dibandingkan
dengan metode GA-PID2, maka metode ZN dan GAPID1 nilai parameternya lebih besar dibandingkan dengan metode GA-PID2. Hal ini akibat adanya perubahan parameter setingan pada program GA. Penunjukan besarnya populasi juga akan mempengaruhi performansi dari pada hasil perhitungan. Dengan besarnya nilai populasi akan menghasilkan parameter yang lebih baik lagi terbukti dengan mencoba memasukan ukuran populasi mulai dari nilai 20 sampai dengan nilai 50 terlihat perbaikan performansi pada nilai parameter rise-time, settlingtime, maximum overshoot, dan mean square error lebih bagus. Penggunaan seting parameter GA dengan menggunakan beberapa metode parameter juga mempengaruhi hasil performa respon keluaran seperti contohnya penggunaan probabilitas seleksi, metode seleksi atau juga probabilitas mutasi akan mempengaruhi hasilnya. Saran Perlu adanya penelitian lagi tentang penggunaan seting algoritma genetika pada penggunaan plan lainnya dan percobaan penggunan setingan dari berbagai metode. Dan perlu juga penggunaan metode ini dibandingkan dengan metode lain untuk membandingkan performansi apakah metode GA lebih baik dibanding metode lainnya dengan penggunaan plan yang sama. Perlu mencoba ukuran populasi yang lebih banyak dan merubah seting algoritma genetik agar proses runing tidak terlalu lama. Sehingga diharapkan menghasilkan performa yang lebih baik lagi dengan nilai rise-time, settling-time, maximum overshot dan mean square error lebih kecil lagi. Dan diharapkan penggunaan metode algortima genetika akan lebih sempurna. DAFTAR PUSTAKA David E. Goldberg, “Genetic Algorithms in Search, Optimization and Machine Learning.” The University of Alabama, Addison-Wesley Publishing Company Inc, 1989 K Ogata, Modern Control Systems, University of Minnesota, Prentice Hall, 1987 T. O..Mahony, C J Downing and K Fatla, “Genetic Algorithm for PID Parameter Optimization: Minimizing Error Criteria”, Process Control and Instrumentation 2000 26-28 July 2000, University of Stracthclyde, pg 148- 153. Chipperfield, A. J., Fleming, P. J., Pohlheim, H. and Fonseca, C. M., A Genetic Algorithm Toolbox for MATLAB, Proc. “International Conference on Systems Engineering, Coventry, UK”, 6-8 September, 1994. Q.Wang, P Spronck and R Tracht, An Overview Of Genetic Algorithms Applied To Control Engineering Problems, Proceedings of the Second International Conference on Machine Learning And Cybernetics, 2003.