PENGATURAN POSISI MOTOR DC MENGGUNAKAN KONTROLER PID BERBASIS GENETIK ALGORITMA (GA) Nama mahasiswa : Bambang Siswanto NRP : 2208202004 Pembimbing : 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 K p, K i dan K d yang dipilih atau ditentukan agar karakteristik plant sesuai dengan kriteria desain yang diharapkan. ini diimplementasikan secara langsung karena menyediakan aturan tuning yang sederhana untuk menentukan parameter-parameter PID. 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 K p, K i dan K d 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
Amplitude 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 V t, sedangkan kumparan medan disuplai dengan tegangan tetap V f 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-m 2 /rad, B = 0.5*10^- 3N-m/(rad/sec). Maka : 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 : 1.4 1.2 1 0.8 0.6 Step Response Peak amplitude: 1.09 Overshoot (%): 9.09 At time (sec): 0.176 Settling Time (sec): 0.247 Rise Time (sec): 0.0811 Final Value: 1 0.4 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.0539s 2 + 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 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 Peak amplitude: 1.6 Overshoot (%): 59.6 At time (sec): 0.064 Rise Time (sec): 0.0246 Step Response 0 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 Time (sec) Settling Time (sec): 0.342 Final Value: 1 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 sys 0.2 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 :
System specification Tabel 4.1 Spesifikasi sistem yang akan dicari Maximum Risetime(sec) overshoot (%) Settlingtime(sec) 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. input t + - error Inisialisasi Populasi Dekodekan Kromosom Gambar 4.1 Proses Algoritma Genetika Genetik Algorti ma Evaluasi Individu Linier Fitness Ranking Roulette Wheel Pindah Silang Mutasi Optimum Solusi Kontrol PID Non Optimum Solusi Gambar 4.2 Desain sistem kontrol GA-PID pada motor DC output 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 Kp Ki Kd Motor DC 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). 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 Nilai Genetika Populasi 60 Jumlah Generasi 30 Indeks Mean Tuning ZN GA- PID 1 GA- PID 2 Performansi/Fitness Seleksi Square Error Roulette- Wheel Probabilitas Seleksi 0.05 Pindah Silang Uniform Crossover Mutasi Mutasi Uniform Probabilitas Mutasi 0.1 Tabel 4.2 Tabel Perbandingan Kp Ki Kd Maximum Overshoot Rise- Time 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 GA- PID1. Dengan demikian penggunaan metode GA- PID2 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 GA- PID1 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.