• Tidak ada hasil yang ditemukan

KONTROL MOTOR PID DENGAN KOEFISIEN ADAPTIF MENGGUNAKAN ALGORITMA SIMULTANEOUS PERTURBATION

N/A
N/A
Protected

Academic year: 2021

Membagikan "KONTROL MOTOR PID DENGAN KOEFISIEN ADAPTIF MENGGUNAKAN ALGORITMA SIMULTANEOUS PERTURBATION"

Copied!
6
0
0

Teks penuh

(1)

This research aims to investigate an adaptive controller using the simultaneous perturbation algorithm and the proportional-integral-differential controller. The research is conducted by determining the strengths, and weaknesses of the proposed adaptive control for its ability to adapt its coefficient for a better dc motor rotor position response. The PID controller is implemented in a FPGA chip, and connected with the simultaneous perturbation algorithm implemented in a PC via a serial interface. Evaluations of this adaptive controller show its ability to change the coefficient of the PID controller to achieve better position response.

Keywords: Adaptive Controller, PID Controller, Simultaneous Perturbation, FPGA

1. Pendahuluan

Kontrol automatik telah memegang peranan yang sangat penting dalam perkembangan ilmu dan teknologi, dan merupakan bagian yang penting dan terpadu dari proses-proses dalam pabrik dan industri modern[1]. Metode kontrol Proportional-Integral-Derivative (PID) merupakan salah satu metode kontrol automatik yang telah lama digunakan untuk mengendalikan sistem dalam berbagai bidang. Salah satunya adalah bidang robotika yang banyak menggunakan metode kontrol PID untuk mengendalikan pergerakan robot. Suatu Robot yang telah dikendalikan dengan metode kontrol automatik akan dapat berfungsi dengan baik apabila diberikan parameter (koefisien) kontrol yang sesuai. Akan tetapi sejalan dengan waktu, dapat terjadi perubahan pada karakteristik robot maupun lingkungan tempat robot tersebut berkerja sehingga dibutuhkan penyesuaian kembali koefisien kontrol agar robot dapat tetap bekerja dengan baik. Akan lebih baik lagi apabila penyesuaian parameter terhadap perubahan robot dan lingkungannya tersebut dapat dilakukan secara automatik (adaptif) oleh pengendali.

Penelitian ini ingin menyelidiki suatu metode kontrol adaptif menggunakan algoritma optimasi yang disebut Simultanous Perturbation (SP) untuk melakukan penyesuaian koefisien kontrol PID dalam mengendalikan posisi rotor dari suatu motor arus searah (dc). Kontrol PID beserta dengan interface ke/dari motor dc diimplementasikan menggunakan sebuah chip Field Programmable Gate Array (FPGA), sedangkan algoritma simultaneous perturbation diimplementasikan dalam sebuah Personal Computer (PC).

Tujuan dari penelitian ini adalah untuk mengevaluasi kemampuan algoritma SP dan kontrol PID sebagai suatu kontrol adaptif yang dapat menyesuaikan koefisien kontrol secara otomatik dalam mengendalikan posisi rotor motor dc. Hasil penelitian ini akan bermanfaat dalam perancangan kontrol adaptif untuk berbagai aplikasi, khususnya dalam bidang robotika, agar robot dapat beradaptasi dengan perubahan beban atau lingkungannya.

2. Landasan Teori

Kontrol adaptif bukanlah topik penelitian yang baru, topik ini telah dibahas dalam berbagai penelitian di bidang kontrol. Berbagai metode baik secara teoritis maupun aplikatif telah dibahas, seperti pada[2] dan[3] yang memberikan wawasan mengenai berbagai penelitian di bidang kontrol adaptif. Umumnya metode kontrol adaptif dapat dikelompokkan menjadi tiga jenis, yaitu Gain Scheduling, Model Reference, dan Self Tuning[3]. Pada metode gain scheduling umumnya digunakan look-up table untuk menentukan parameter kontrol yang sesuai dengan berbagai kondisi sistem yang dikendalikan (plant). Keuntungan metode ini adalah kemudahan implementasi dan kecepatan operasinya. Akan tetapi metode gain scheduling membutuhkan informasi yang banyak mengenai sistem yang dikendalikan untuk mendapatkan -look-up table. Metode model reference menggunakan model respon ideal dari sistem yang ingin dikendalikan untuk dibandingkan dengan respon sistem yang aktual dalam melakukan penyesuaian parameter kontrol. Dengan metode ini, kontrol dasar yang digunakan sebelumnya (controller) dapat bekerja secara independen, sehingga bila terjadi kegagalan pada sistem adaptif, kontrol dasar masih tetap bekerja walaupun mungkin tidak secara optimal. Akan tetapi metode ini membutuhkan model respon yang realistis sehingga dapat berkerja dengan optimal. Metode self-tuning menggunakan model sistem dengan parameter yang terus menerus diperbaharui untuk meniru sistem yang dikendalikan. Model sistem tiruan ini kemudian digunakan untuk menghitung penyesuaian parameter kontrol terhadap sistem yang dikendalikan agar didapatkan respon yang optimal. Untuk dapat menghasilkan parameter kontrol yang optimal dibutuhkan model tiruan yang semirip mungkin dengan sistem yang dikendalikan dan perhitungan yang kompleks.

(2)

Gambar 1. Kontrol Adaptif Model Reference[3] Menggunakan Simultaneous Perturbation

Metode kontrol adaptif yang digunakan pada penelitian ini dapat dikategorikan sebagai metode kontrol adaptif model reference dengan blok diagram ditunjukkan pada Gambar 1, dimana blok controller adjustments diimplementasikan menggunakan algoritma SP, dan model yang digunakan adalah suatu step function. Aksi proportional APn, integral AIn,

dan differential ADn dideskripsikan secara sederhana pada persamaan (1-3) sebagai fungsi dari input diskrit dan koefisien

proporsional P, integral I, dan diferensial D, dengan mengabaikan pembulatan dan overflow dalam perhitungan 16-bit pada FPGA. ) ( n n n Pinput output AP = − (1)

= − = n i i i n input output AI 0 ) ( (2)

[

( ) ( )

]

64 − − −1− −1 = n n n n

n D input output input output

AD (3)

Masing-masing aksi tersebut dijumlahkan dan dibagi 256 untuk mendapatkan output Pulse Width Modulation (PWM) 8-bit ke motor dc.

Simultaneous Perturbation Stochastic Approximation (SPSA) atau disingkat Simultaneous Perturbation (SP) merupakan algoritma optimasi multivariate yang relatif baru. Algoritma ini menarik perhatian internasional di bidang-bidang seperti perkiraan parameter statistik, sistem kontrol umpan balik, optimasi berbasis simulasi, pengolahan sinyal dan gambar. Kekuatan dari SP terletak pada kemudahan implementasinya, dan jumlah pengukuran yang sedikit (hanya dua per iterasi), dan tidak tergantung pada dimensi masalah (jumlah parameter input). Selain itu metode optimasi SP tidak membutuhkan informasi kemiringan (gradient) dari fungsi error (loss function) L(·), melainkan menggunakan perkiraan kemiringan yang didapatkan dari pengukuran fungsi error (measurement of loss function) y(·). Hasil pengukuran fungsi error umumnya disertai dengan noise, yaitu perbedaan antara error yang terukur dengan error yang sebenarnya. Sehingga pengukuran fungsi error y(·) = (L(·) + noise)[5].

Pada penelitian ini algoritma SP digunakan untuk melakukan optimasi nilai koefisienθˆ , yang terdiri dari koefisien proportional P, integral I, dan differential D, berdasarkan perkiraan kemiringan dari dua kali pengukuran fungsi error. Pengukuran fungsi error dilakukan dengan mengakumulasi selisih antara respon motor dc dan respon dari model ideal (step function) untuk jumlah sampel tertentu, seperti ditunjukkan dengan daerah yang diarsir pada Gambar 2. Semakin kecil daerah yang diarsir, artinya respon sistem semakin baik (mendekati ideal).

Gambar 2. Contoh Pengukuran Fungsi Error

Pada SP terdapat dua jenis metode perkiraan kemiringan fungsi error, yaitu one-sided gradient approximation dan two-sided gradient approximation. Pada perhitungan yang pertama perkiraan kemiringan dilakukan dengan pengukuran terhadap y(θ dan ˆk) y(θˆk +perturbation), sedangkan pada perhitungan yang kedua perkiraan kemiringan dilakukan

(3)

k kI k k k k k k k kI c c y c y g ∆ ∆ − − ∆ + = 2 ) ˆ ˆ ( ) ˆ ˆ ( ) ˆ (θ θ θ (5)

k kD k k k k k k k kD c c y c y g ∆ ∆ − − ∆ + = 2 ) ˆ ˆ ( ) ˆ ˆ ( ) ˆ (θ θ θ (6) dimana k merupakan nomor iterasi yang dimulai dari 1, dan gain sequence ck merupakan suatu angka positif yang

semakin kecil nilainya ketika k bertambah. Sedangkan θˆ merupakan matriks koefisien PID yang ingin dioptimasi, dan ∆ˆ merupakan matriks angka random dengan kemungkinan nilai +1 atau –1.

          = ) ˆ ( ) ˆ ( ) ˆ ( ) ˆ ( ˆ k kD k kI k kP k k g g g g θ θ θ θ (7)           = k k k k D I P θˆ (8)           ∆ ∆ ∆ = ∆ kD kI kP k ˆ (9)

Setelah didapatkan nilai gˆ(θˆ), maka nilai θˆ dapat diperbaharui untuk iterasi berikutnya menggunakan persamaan: ) ˆ ( ˆ ˆ ˆk 1 θk akgk θk θ + = − (10)

Gain sequence ak dan ck dapat dihitung menggunakan persamaan berikut:

α ) (k A a ak + = (11) γ

k

c

c

k

=

(12)

Petunjuk untuk menentukan nilai konstanta a, c, A, α, dan γ dapat dilihat pada [6]. Pemilihan nilai gain sequence ak dan ck

sangat menentukan performa dari algoritma SP seperti halnya metode-metode optimasi lainnya.

3. Metode Penelitian

Penelitian ini diawali dengan studi pustaka mengenai kontrol PID dan perancangan kontrol PID secara digital, kontrol adaptif, algoritma SPSA dan metode implementasinya, PWM dan penguat arus motor dc, serta shaft encoder dan proses decodingnya. Dilanjutkan dengan perancangan hardware untuk motor dc, termasuk penguat arus motor dc, interface PWM, dan decoder sinyal shaft encoder. Perancangan modul kontrol PID 16-bit dimulai dengan simulasi fungsional dari kontrol PID yang diharapkan pada PC. Selanjutnya rancangan digital modul kontrol PID dikerjakan modul per modul, disimulasikan, dan diuji. Algoritma simultaneous perturbation dirancang pada PC, beserta dengan modul komunikasi serial dengan FPGA. Tahap terakhir adalah integrasi algoritma SPSA di PC dengan kontrol PID pada FPGA, pengujian komunikasi serial, pengumpulan dan analisa data evaluasi sistem, serta dokumentasi.

4. Hasil Evaluasi dan Diskusi

Media implementasi hasil penelitian ini dibagi menjadi dua, kontrol PID diimplementasikan secara hardware dalam chip FPGA Spartan XCS10PC84, dan algoritma SP diimplementasikan secara software dalam PC dengan pemrograman Visual Basic. Blok diagram pada Gambar 1, digambarkan kembali pada Gambar 3 untuk menunjukkan media implementasi yang digunakan oleh masing-masing komponen sistem. Tampilan antar muka Program Monitoring algoritma SP ditunjukkan pada Gambar 5.

(4)

Gambar 3. Media Implementasi Sistem Kontrol Adaptif

Komponen Kontrol PID, beserta dengan penghitung selisih input dan output diimplementasikan menggunakan sebuah chip FPGA, dengan harapan komponen ini dapat digunakan secara luas untuk berbagai aplikasi pengendalian posisi rotor motor dc, dengan maupun tanpa fungsi adaptif. Sedangkan seluruh fungsi adaptif (daerah yang diarsir tipis pada Gambar 3) diimplementasikan secara software pada PC. Seluruh komunikasi antara PC dan chip FPGA dilakukan secara serial pada baud rate 57600 bps dengan sebuah kabel standar RS-232. Selebihnya dari Gambar 3 (yang tidak diarsir) adalah motor dc yang akan dikendalikan beserta dengan rangkaian penguat arus untuk motor dc.

Data yang dikirim dari FPGA ke PC adalah data posisi dari rotor motor dc, berupa angka biner 16-bit yang dikirimkan di akhir dari setiap periode sample kontrol PID. Frekuensi sample kontrol PID pada evaluasi adalah 83 Hz. Sedangkan data yang dikirim dari PC ke FPGA adalah input posisi, koefisien P, I, dan D, yang kesemuanya berupa biner 16-bit. Kontrol PID dalam FPGA mengendalikan torka pada motor dc menggunakan teknik Pulse Width Modulation (PWM) 8-bit. Frekuensi PWM yang digunakan pada evaluasi adalah sekitar 3 kHz. Motor dc yang digunakan pada penelitian ini merupakan motor dc 12 volt. Beban yang akan digunakan pada evaluasi merupakan roda karet dengan diameter 9.8 cm dengan berat 200 g. Roda dipasang langsung pada rotor motor dc dengan kondisi yang tidak terpengaruh oleh gaya gravitasi. Agar mendapatkan respon yang konsisten, pada evaluasi ini, motor selalu direset ke kondisi awal sebelum nilai θplus atau θminus yang baru dikirimkan, dan input posisi (reference point) yang diberikan selalu sama, yaitu 16384. Beberapa parameter algoritma SP dan kontrol PID yang tidak berubah dalam evaluasi ini adalah sebagai berikut:

Parameter SP: Parameter PID:

α = 0.602 Input Posisi = 16384

γ = 0.101 Ki Awal = 0

A = 2 Kd Awal = 0

c = 327.68

Jumlah Iterasi = 20

Nilai-nilai parameter α, γ, dan A di atas disesuaikan dengan nilai optimal yang disarankan pada [6], sedangkan nilai c sebesar 327,68 merupakan 1% dari nilai maksimum koefisien P, I, atau D. Nilai c akan menentukan gain sequence ck

yang mempengaruhi seberapa jauh perturbasi terhadap θˆ pada θplus dan θminus. Semakin besar nilai c, maka semakin jauh pula beda antara θplus dan θminus. Dari percobaan yang dilakukan, ditemukan bahwa nilai c sebesar 327,68 tersebut telah cukup untuk menghitung perkiraan kemiringan gˆ(θˆ) tanpa banyak terpengaruh oleh noise pada pengukuran fungsi error. Jumlah interasi 20 ditemukan sudah cukup agar sistem stabil.

Seperti yang telah didiskusikan di atas, nilai input atau reference point selalu sama untuk konsistensi data evaluasi. Nilai koefisien I dan D awal bernilai nol untuk melihat kemampuan algoritma SP dalam menentukan nilai optimum bagi kedua koefisien ini. (Hal ini juga disesuaikan dengan tuning koefisien PID secara manual, yang umumnya selalu dimulai dengan koefisien P saja). Nilai koefisien P awal perlu diatur agar motor dc dapat berputar sejak iterasi yang pertama. Gambar 4 sampai dengan 8 menunjukkan perubahan respon posisi terhadap waktu dengan koefisien awal (sebelum disesuaikan oleh SP) dan koefisien akhir (setelah disesuaikan dengan SP). Secara keseluruhan didapatkan perbaikan respon sistem akhir dibandingkan awal, terutama dalam hal steady state error. Dari percobaan B dan C ditemukan perubahan koefisien P awal berpengaruh terhadap respon akhir. Hal ini menjelaskan bahwa kondisi awal sistem harus berada pada nilai fungsi error yang mendekati minimum, atau nilai minimum lainnya akan ditemukan pada iterasi (local

(5)

0 4096 8192 12288 16384 20480 24576 0 50 100 150 200 250 300 350 400 450

a=400; Kp Aw al=16384; Sampel=500

Awal Akhir

Gambar 4. Respon Awal & Akhir Perc. A

0 4096 8192 12288 16384 20480 24576 0 50 100 150 200 250 300 350 400 450

a=800; Kp Aw al=16384; Sampel=500

Awal Akhir

Gambar 5. Respon Awal & Akhir Perc. B Percobaan C (Tanpa Beban)

0 4096 8192 12288 16384 20480 24576 28672 32768 0 50 100 150 200 250 300 350 400 450

a=800; Kp Aw al=8192; Sampel=500

Awal Akhir

Gambar 6. Respon Awal & Akhir Perc. C

Percobaan D (Dengan Beban)

0 4096 8192 12288 16384 20480 24576 28672 32768 0 100 200 300 400 500 600 700 800 900

a=800; Kp Aw al=8192; Sampel=500

Awal Akhir

Gambar 7. Respon Awal & Akhir Perc. D Percobaan E (Dengan Beban)

0 4096 8192 12288 16384 20480 24576 28672 32768 0 100 200 300 400 500 600 700 800 900

a=800; Kp Aw al=8192; Sampel=1000

Awal Akhir

(6)

5. Kesimpulan

Dalam penelitian ini suatu sistem kontrol PID dengan koefisien adaptif berhasil dibangun dan dievaluasi. Kontrol adaptif model reference ini dibangun dengan menambahkan algoritma simultaneous perturbation untuk menyesuaikan koefisien P, I, dan D dari sebuah kontrol PID, agar mendapatkan respon yang lebih baik. Secara keseluruhan, evaluasi terhadap respon awal dan akhir dari posisi rotor motor dc menunjukkan bahwa kontrol adaptif ini berhasil mendapatkan respon yang lebih baik dari posisi rotor motor dc, terutama dalam mengatasi masalah steady state error. Akan tetapi kontrol adaptif ini masih terpengaruh oleh masalah local minima ketika parameter awal terlalu jauh dari optimum.

Penelitian ini menggunakan referensi model respon berupa step function, walaupun merupakan model yang terlalu ideal, namun evaluasi menunjukkan bahwa kontrol adaptif ini masih dapat menyesuaikan respon sistem ke arah yang lebih optimum. Penelitian lebih lanjut dengan menggunakan referensi model respon yang lebih realistis dapat dilakukan untuk menghasilkan kontrol adaptif yang lebih baik. Perhitungan perkiraan kemiringan dari loss function yang digunakan dalam penelitian ini adalah two-sided gradient approximation. Penelitian yang sama menggunakan perhitungan one-sided gradient approximation dapat dilakukan untuk mengevaluasi kemungkinan pengaruhnya untuk mengurangi jumlah pengukuran dan pengaruhnya pada kecepatan sistem mencapai kondisi stabil.

Penelitian lebih jauh untuk mengaplikasikan kontrol adaptif ini juga dapat dilakukan. Tidak seperti pada penelitian ini yang selalu mengembalikan motor ke kondisi awal dan input posisi yang konstan, pada aplikasinya nilai input posisi ini dapat dikendalikan sesuai dengan posisi-posisi yang ingin dicapai (pada aplikasi mobile robot misalnya). Evaluasi juga dapat dilakukan untuk menganalisa fungsi adaptif dalam mengatasi perubahan pada beban dan lingkungan dengan jumlah iterasi yang tidak terbatas. Pada aplikasi lebih disarankan untuk menggunakan koefisien PID awal yang mendekati optimal sehingga fungsi adaptif dapat dievaluasi untuk mengatasi perubahan beban dan lingkungan sistem.

Daftar Pustaka

[1] Ogata, K. (1981). Teknik Kontrol Automatik. Jilid 1 Edisi 2. Erlangga. ISBN 979-411-466-9 [2] M. M. Gupta. (1985). Adaptive Methods for Control Systems Design: An Overview. IEEE PRESS. [3] Warwick, K. (1990). Adaptive Control: An Insight. Computing & Control Engineering Journal.

[4] Tan, S. (2005). Sistem Kontrol PID 16-bit Menggunakan FPGA. Proc. Seminar Nasional: Soft Computing, Intelligent Systems and Information Technology.

[5] Spall, James C. (1998). An Overview of the Simultaneous Perturbation Method for Efficient Optimization. Johns Hopkins APL Technical Digest, Vol 19 No 4.

[6] Spall, James C. (1998). Implementation of the Simultaneous Perturbation Algorithm for Stochastic Optimization. IEEE Transactions on Aerospace and Electronic Systems, Vol 34 No 3.

Gambar

Gambar 1. Kontrol Adaptif Model Reference [3]  Menggunakan Simultaneous Perturbation
Gambar 3.  Media Implementasi Sistem Kontrol Adaptif
Gambar 8. Respon Awal & Akhir Perc. E

Referensi

Dokumen terkait

• Perubahan-perubahan data seperti perubahan NIP, perubahan gaji, perubahan premi, maupun perbaikan tanggal lahir dapat dilakukan oleh Pemberi Kerja dengan

Hasil uji laboratorium dan perhitungan analitis menunjukkan bahwa tinggi bukaan pintu air pada saat pasang dan surut dapat ditentukan berdasarkan sudut kemiringan awal dan berat

Tabel 5 menunjukkan bahwa nilai warna gel ikan layaran merupakan yang tertinggi yaitu 6,73 dibandingkan penelitian lain pada warna gel daging merah ikan tuna mata besar

yang diamati setiap dua minggu sekali menunjukan kenaikan pada bobot badan; Hasil penelitian, pada kelompok kontrol (A ), 0 nilai IKG belut betina rata-rata dari dua minggu

Untuk memasarkan x satuan ABC akan mempunyai biay total, C(x) ini biasanya beruapa  jumlah dari biaya tetap ditambah biaya tidak tetap, yang secara langsung

: Unit ini berkaitan dengan pengetahuan, keterampilan, dan sikap yang diperlukan oleh karyawan industri pariwisata dan perjalanan yang berhubungan dengan wisatawan dan kolega

Hal ini ditunjukkan dengan meningkatnya hasil belajar, pada Pre test dari 22 siswa belum ada yang mencapai Standar Ketuntasan Minimal (SKM) ≥75, siklus I meningkat menjadi 5 dari 22

MGAP yang memiliki nilai prediksi yang sama, tetapi memiliki kelemahan dari sisi penilaian mekanisme cedera, trauma tembus dianggap memiliki derajat lebih berat