Jurnal Teknik Elektro dan Komputer, Vol.1, No.1, April 2013, 1-11
1
Kontrol Kesetimbangan pada Robot Beroda Dua Menggunakan Pengendali PID dan Complementary Filter Ade Putra Gunawan1, Heri Subagiyo2, Retno Tri Wahyuni3 1,2,3
Teknik Elektronika, Politeknik Caltex Riau Jl. Umban Sari No.1 Rumbai
[email protected],
[email protected],
[email protected]
Abstrak Sistem kendali PID telah digunakan secara luas sebagai salah satu sistem kendali yang handal dalam industri proses. Kesederhanaan struktur menjadikan sistem kendali PID sebagai sistem kendali kovensional yang populer hingga sekarang. Dalam penelitian ini, telah dirancang Pengendali PID untuk diaplikasikan pada Robot Kesetimbangan. Robot yang digunakan adalah robot LEGO Mindstorm NXT. Robot Kesetimbangan ini menerapkan model pendulum terbalik yang terletak diatas kereta yang beroda. Sensor yang digunakan untuk mendeteksi kemiringan robot adalah sensor Accelerometer, Gyroscope dan Rotary Encoder. Aktuator yang digunakan berupa dua motor servo yang menggerakkan roda Robot Kesetimbangan yang berada di sisi kiri dan kanan. Algoritma Complementary Filter dibangun untuk mendapat nilai sudut kemiringan robot yang lebih akurat dengan mengkombinasikan keluaran NXT Acceleration dan NXT Gyro. Penelitian ini menghasilkan sebuah robot yang dapat menjaga kesetimbangannya ketika diaktifkan. Konfigurasi PID yang digunakan untuk mencapai kesetimbangan robot adalah konfigurasi PI dan PD dengan masing-masing nilai konstanta: Kp_Speed = 1.5; Ki_Angle = 8; Kp_Rotation = 0.1; Kd_Speed = 0.2. Kata kunci: Robot Kesetimbangan, PID, Sudut Kemiringan, Complementary Filter
Abstract PID control system has been widely used as one of a reliable control system in the process industry. The simplicity of structure makes PID control system as the conventional control system which is popular until this period. In this research, has been designed PID controller to be applied on the Balancing Robot. The robot which is used is the LEGO Mindstorm NXT robot. This Balancing Robot applies the model of inverted pendulum which is on a wheeled cart. The Sensors which are used to detect the tilt of robot are Accelerometer, Gyroscope and Rotary Encoder. The actuators which are used are two servo motors which will drive the wheels of Balancing Robot which are in the left and right side. The Algorithm of Complementary Filter is designed to get the tilt angel’s value of the system which is more accurate by doing calculation combination between the output of NXT Gyro and NXT Acceleration. This research has been produced a robot which can keep its balance when it is activated. The Configuration of PID which is used to achieve the balance is configuration PI and PD with constants value: Kp_Speed = 1.5; Ki_Angle = 8; Kp_Rotation = 0.09; Kd_Speed = 0.2. Keyword : Balancing Robot, PID, Tilt Angle, Complementary Filter
1
Pendahuluan
Saat ini krisis energi menjadi salah satu permasalahan di dunia. Berbagai upaya dilakukan untuk mencegah terjadinya krisis energi yang berkelanjutan. Salah satu upaya yang dilakukan yaitu dengan melalukan efisiensi energi, termasuk dalam bidang transportasi. Alat transportasi kebanyakan menggunakan bahan bakar miyak Bahan bakar minyak memiliki nilai yang melambung cukup tinggi, sehingga diperlukan energi alternatif untuk menggantikan bahan bakar minyak yaitu dengan energi listrik. Apabila ditinjau dari perhitungan, penggunaan energi listrik masih lebih murah dibandingkan energi minyak bumi. Sehingga saat ini banyak dikembangkan alat transportasi dengan sumber energi listrik. Salah satu jenis transportasi berenergi listrik yang dikembangkan adalah Segway yang menggunakan prinsip robot kesetimbangan. Oleh karena itu dalam penelitian ini mengangkat topik pengendalian robot
2
Ade Putra Gunawan, Heri Subagiyo, Retno Tri Wahyuni
kesetimbangan (balancing robot) yang merupakan langkah awal alat transportasi berenergi listrik yang murah dari segi bahan bakar dan handal. Sistem balancing robot pertama dideklarasikan oleh Dean Kamen tahun 2001 dengan nama SEGWAY yang kemudian dikenal sebagai ”The first Self-balancing, electric powered transportation device”, kemudian diikuti oleh penelitian-penelitian sejenis di berbagai negara. Dean Kamen melalui situsnya juga mengatakan bahwa alat transportasi personal yang beroda dua membutuhkan energi listrik yang lebih hemat dibanding beroda lebih dari dua. Dalam bidang rekayasa kendali, balancing robot merupakan robot yang memiliki prinsip kerja yang hampir mirip dengan sistem pendulum terbalik [1]. Pendulum terbalik sendiri merupakan suatu sistem yang memiliki tingkat ketidaksetimbangan tinggi, non-linier dan multivariabel, sehingga banyak dipakai dalam pengujian metode kendali. Kedepan, hasil prototype balancing robot yang digunakan dalam penelitian ini juga dapat digunakan untuk pengujian beberapa metode kendali. Jenis robot keseimbangan dalam ukuran kecil dikembangkan oleh LEGO Mindstorm robotics kit yang sering digunakan untuk simulasi atau pengujian suatu algoritma pengendali. Dalam penelitian ini digunakan pengendali PID untuk mengontrol kesetimbangan Robot LEGO Mindstorm NXT 2.0. Sistem kendali PID telah digunakan secara luas sebagai salah satu sistem kendali yang handal dalam industri proses. Kesederhanaan struktur menjadikan sistem kendali PID sebagai sistem kendali kovensional yang populer hingga sekarang.Variabel yang dimonitoring berupa sudut kemiringan robot dengan menggunakan sensor gyroscope, accelerometer dan rotary encoder. Algoritma complementary filter diterapkan untuk memperoleh data sudut kemiringan yang lebih akurat. 2
Dasar Teori
2.1
Inverted Pendulum (Pendulu Terbalik)
Robot Kesetimbangan merupakan pengembangan dari model pendulum terbalik yang diletakkan diatas kereta beroda.
Gambar 1
Model Pendulum Terbalik di atas Kereta Beroda[2]
Pendulum terbalik merupakan model sistem yang tidak stabil dimana titik berat sistem pendulum ini berada diatas titik tumpunya. Kesetimbangan yang dapat dicapai merupakan kesetimbangan yang labil [1] Menyeimbangkan Robot Kesetimbangan memerlukan suatu metode kontrol yang baik dan handal untuk mempertahankan posisi robot dalam posisi tegak lurus terhadap permukaan bumi;. Saat Robot Kesetimbangan condong atau miring ke kanan maka respon sistem adalah membuat motor memutar roda searah jarum jam sehingga Robot Kesetimbangan bergerak ke arah kanan. Gaya yang dihasilkan untuk menyeimbangkan berasal dari putaran roda yang berasal dari torsi yang dihasilkan oleh motor. 2.2
Robot LEGO Mindstroms NXT 2.0 Robot LEGO Mindstorm NXT 2.0 merupakan robot yang dapat diprogram dan dibentuk sesuai keinginan, yang diproduksi oleh LEGO. Pada perangkat robot ini, terdapat satu prosesor 32-bit untuk menggerakkan motor berdasarkan input dari sensor-sensor.
Kontrol Kesetimbangan pada Robot Beroda Dua Menggunakan…
3
Pemrograman dapat dilakukan pada software LEGO Mindstorm NXT atau bisa pada compiler BricxCC(Command Centre). BricxCC adalah salah satu kompiler yang dapat digunakan untuk men-dowload-kan program ke NXT. Bahasa pemrograman yang digunakan adalah seperti bahasa C untuk sistem NXT yang dinamakan bahasa NXC (Not eXactly C). Program yang telah dibuat tersebut kemudian di-download ke NXT (robot processor) menggunakan kabel USB atau bisa menggunakan koneksi bluetooth. Berikut ini adalah spesifikasi satu set robot LEGO Mindstorm NXT 2.0. Memiliki 619 bagian atau keping untuk menjadikan kit robot dalam berbagai macam bentuk. Memiliki 1 buah kontroler 32-bit LEGO mikroprosesor yang bertindak sebagai otak robot yang dinamakan NXT. Memiliki beberapa macam sensor : 2 buah sensor sentuh, 1 buah sensor ultrasonik, 1 buah sensor warna. Memiliki 3 buah motor servo yang interaktif 2.2.1
NXT NXT merupakan otak dari robot Mindstorm yang merupakan jenis prosesor 32-bit. Perintah pada robot akan diproses pada NXT melalui program yang didownload. NXT menggunakan 6 buah baterai AA sebagai sumber tenaga.
Gambar 2
NXT
Gambar 2 menunjukkan bahwa NXT terdiri dari 4 port input yang merupakan port keluaran dari sensor dan 3 port ouput, port untuk motor servo motor. Pada buku pedoman robot, disebutkan bahwa untuk membuat robot bekerja dengan tepat, sensor dan motor sebaiknya dihubungkan pada port yang sesuai[3]. Berikut ini adalah pengaturan port-port yang standar: Port Input Port Output Port 1 : sensor sentuh Port A : Motor untuk ekstra fungsi Port 2 : sensor sentuh Port B : Motor untuk pergerakan Port 3 : sensor warna Port C : Motor untuk pergerakan - Port 4 : sensor ultrasonic 2.2.2
Sensor NXT Acceleration Sensor accelerometer adalah sensor yang dikenal sebagai sensor sensor percepatan. Percepatan juga bergantung pada arah/orientasi karena percepatan merupakan turunan dari kecepatan yang merupakan besaran vektor. Berubahnya arah pergerakan sensor accelerometer juga akan mempengaruhi nilai percepatan. Oleh karena itu, sensor accelerometer dapat juga digunakan untuk mendeteksi kemiringan suatu benda. Pada penelitian ini sensor accelerometer yang digunakan berupa Sensor NXT Acceleration. Sensor NXT Acceleration mengukur percepatan pada 3 sumbu, yaitu x, y dan z pada range -2g sampai 2g dengan penskalaan tiap sumbu adalah sekitar 200/g. Waktu cuplik dari NXT Acceleration adalah 0.01 detik. Berikut adalah gambar yang menunjukkan 3 sumbu pengukuran percepatan pada NXT Acceleration yang disimbolkan dengan x, y dan z.
4
Ade Putra Gunawan, Heri Subagiyo, Retno Tri Wahyuni
(a)
(b)
Tiga sumbu pengukuran percepatan oleh NXT Accelearation
Gambar 3
Ketika NXT Accelaration diam dan berada pada posisi horizontal (posisi seperti Gambar 3 (b)), nilai x dan y akan mendekati nilai nol sedangkan sumbu z akan mendekati nilai 200 yang mempresentasikan nilai 1 g. Dan ketika sensor dimiringkan, nilai percepatan ketiga sumbu akan berubah sebagai hasil pendeteksian terjadinya kemiringan pada sensor. 2.2.3 Sensor NXT Gyroscope Sensor Gyroscope adalah sensor yang digunakan untuk mengukur kecepatan angular (sudut) dari suatu benda. Pada penelitian ini digunakan sensor gyroscope berupa sensor NXT Gyro. Sensor NXT Gyro hanya memiliki satu sumbu pengukuran, tidak seperti sensor NXT Accelaration yang memiliki 3 sumbu pengukuran. Sensor NXT Gyro dapat mengukur hingga +/- 3600/detik dengan waktu sampling sekitar 0.003 detik. Sensor NXT Gyro menggunakan menggunakan IC tipe CRS03-02n jenis piezo electric gyro dan merupakan produksi Hi Technic. Ketika sensor NXT Gyro dalam keadaan diam, output nilai sensor adalah mendekati nol. Namun ketika digerakkan, sensor akan menghasilkan suatu nilai kecepatan sudut yang besarnya sebanding dengan kecepatan menggerakkan sensor. Output nilai kecepatan yang dihasilkan dapat berupa nilai positif maupun negatif bergantung dari arah menggerakkan sensor.
Gambar 4
Sensor NXT Gyro
2.2.4
Sensor Rotary Encoder Gambar 5 menunjukkan Interactive Servo Motor LEGO yang merupakan bagian dari Robot LEGO Mindstorm NXT 2.0. Dalam motor tersebut, terdapat Rotary Encoder yang telah terintegrasi ke NXT. Dengan Rotary Encoder tersebut memungkinkan untuk NXT membaca jumlah putaran dari motor. Putaran motor dapat diukur dalam satuan derajat atau juga dalam satuan putaran. Output nilai putaran motor dapat bertanda positif atau negatif, hal itu bergantung dari arah putaran motor. Rotary Encoder merupakan perangkat elektomekanik yang dapat mendeteksi jumlah putaran motor atau kecepatan putar suatu motor. Rotary Encoder umumnya menggunakan sensor optik untuk menghasilkan serial pulsa yang dapat diartikan menjadi
gerakan, posisi dan arah.
Gambar 5
2.3
LEGO’s Interactive Servo Motor
Algoritma Complementary Filter Algoritma Complementary Filter digunakan untuk menggabungkan pembacaan dari sensor Accelerometer dan sensor Gyroscope. Penggabungan tersebut dimaksudkan untuk mendapatkan hasil pengukuran sudut yang lebih akurat. Sensor Accelerometer dapat memberikan nilai sudut kemiringan yang akurat ketika sistem dalam keadaan diam (statis), namun keakurasian
Kontrol Kesetimbangan pada Robot Beroda Dua Menggunakan…
5
berkurang ketika sistem sedang dalam keadaan bergerak (dinamis). Hal ini dikarenakan sensor Accelerometer tidak mampu mengikuti pergerakan yang cepat karena memiliki respon yang lambat dan juga memiliki noise dalam melakukan pengukuran. Sedangkan sensor Gyroscope dapat memberikan nilai sudut kemiringan dalam keadaan bergerak (dinamis) namun menjadi tidak akurat dalam keadaan jangka panjang dikarenakan adanya efek bias (drift) yang dihasilkan oleh Gyroscope. Dibawah ini adalah bentuk skema dari algoritma Complementary Filter. Secara umum, persamaan yang berlaku pada algoritma Complementary Filter adalah: Angle=(0.98)*(Angle+Gyroscope’s value* dt) + (0.02)*(Calculation Angle of Accelerometer’s Value)[4]. (1) Nilai 0.98 pada pada persamaan diatas adalah nilai konstanta untuk High-Pass Filter yang terdapat dalam sensor Gyroscope, sedangkan nilai 0.02 adalah nilai konstanta dari Low-Pass Filter yang terdapat dalam sensor Accelerometer. Dan jika nilai 0.98 dan nilai 0.02 ditambahkan, maka akan berjumlah nilai 1, penjumlahan nilai ini merupakan ilustrasi dari algoritma Complementary Filter.
Gambar 6
Skema algoritma Complementary Filter [4]
2.4
SistemKontrol PID Pengendali PID merupakan pengendali yang terdiri atas pengendali Proporsional, Integral dan Turunan (Derivative). Dalam pengaplikasian, masing masing pengendali dapat berdiri sendiri atau dapat melakukan pengkombinasian. Dalam perancangan sistem kontrol PID yang perlu dilakukan adalah mengatur parameter P, I atau D agar tanggapan sinyal keluaran sistem terhadap masukan tertentu sebagaimana yang diinginkan[4]. Dalam waktu kontinyu, sinyal keluaran pengendali PID dapat dirumuskan sebagai berikut. u (t) = Kp.e(t) + Ki
e(t) dt + Kd de(t) (2) dt dimana, u(t) = sinyal keluaran pengendali Ki= konstanta integral PID Kd= konstanta turunan Kp= konstanta proporsional e(t)= sinyal kesalahan = referensi - output
Gambar 7
Sistem kendali closed loop PID
Gambar 7 menjelaskan mengenai suatu sistem kendali closed loop PID, SP adalah nilai set point, nilai referensi yang diinginkan. Error dihasilkan ketika nilai output sistem berbeda
6
Ade Putra Gunawan, Heri Subagiyo, Retno Tri Wahyuni
dengan nilai set point. Sinyal error ini kemudian nantinya apakah di proporsional, diintegral atau diturunkan, hingga sinyal ouput bernilai sama dengan nilai set point. 3
Perancangan Sistem Secara umum blok diagram sistem Robot Kesetimbangan dapat dilihat pada Gambar 8. Berdasarkan Gambar 8, pengendali PID dirancang sebagai sistem kendali untuk mencapai kesetimbangan robot. Konfigurasi PID yang digunakan adalah konfigurasi PI dan PD dimana terdapat dua macam nilai setpoint. Nilai setpoint yang pertama berupa nilai kecepatan sudut robot ketika robot diam dan nilai setpoint yang kedua berupa nilai posisi roda robot ketika diam. Sinyal error dari nilai setpoint yang pertama (e1) diolah untuk menghasilkan sinyal kendali u1 menggunakan konfigurasi PI. Dan sinyal error dari nilai setpoint yang kedua (e2) diolah menggunakan konfigurasi PD sehingga menghasilkan sinyal kendali u2. Kedua sinyal kendali tersebut dijumlahkan sehingga menghasilkan sinyal kendali total utotal (u1+u2). Sinyal kendali utotal yang akan mengatur besarnya kecepatan dari Interactive Servo Motor yang digunakan dimana motor tersebut dihubungkan dengan roda Robot Kesetimbangan. Proses seperti inilah yang akan menyebabkan robot dapat mencapai posisi setimbangnya. Oleh karena sistem kendali yang digunakan adalah sistem closed loop, sehingga perlu adanya sinyal feedback dari sistem untuk memeriksa apakah keadaan plant telah sesuai dengan nilai setpoint yang diinginkan. Sinyal feedback yang pertama adalah nilai kecepatan sudut robot hasil pengukuran sensor NXT Gyro dan NXT Acceleration. Sinyal feedback tersebut merupakan nilai sudut kemiringan robot hasil penggabungan pembacaan dari sensor NXT Gyro dan NXT Acceleration menggunakan algoritma Complementary Filter yang diintegrasikan dengan waktu. Sinyal feedback yang kedua adalah nilai jumlah putaran motor atau nilai posisi roda (Rout) hasil pembacaan dari sensor Rotary Encoder. Perlu dijelaskan bahwa untuk konfigurasi PI dari sistem kendali ini, nilai konstanta Kp-nya (Kp_Speed) dikalikan dengan nilai error kecepatan sudut hasil pembacaan sensor NXT Gyro dan nilai konstanta Ki-nya (Ki_Angle) dikalikan dengan nilai error sudut hasil penggabungan pembacaan sensor NXT Gyro dan NXT Acceleration menggunakan algoritma Complementary Filter (nilai error sudut tersebut merupakan proyeksi hasil pengintegralan sinyal error kecepatan sudut). Dan kemudian untuk konfigurasi PD dari sistem, nilai konstanta Kp-nya (Kp_Rotation) dikalikan dengan nilai error jumlah putaran motor, sedangkan konstanta Kd-nya (Kd_Speed) dikalikan dengan nilai error kecepatan putar motor (nilai error kecepatan putar motor merupakan proyeksi penurunan nilai error jumlah putaran motor). Nilai jumlah putaran motor dan kecepatan putar motor tersebut merupakan hasil pembacaan sensor Rotary Encoder
Gambar 8
4 4.1
Blok Diagram Robot Kesetimbangan
Pengujian dan Analisa Pengujian Sensor NXT Acceleration Sensor NXT Acceleration adalah salah satu sensor yang akan digunakan untuk mendeteksi kemiringan atau posisi robot. Untuk itu, hal yang pertama diuji adalah output dari sensor NXT Acceleration. Sensor NXT Acceleration mengukur kemiringan robot dalam 3 sumbu, yaitu x, y
Kontrol Kesetimbangan pada Robot Beroda Dua Menggunakan…
7
dan z. Pengujian dilakukan dengan cara memiringkan robot ke depan dan ke belakang secara kontinyu dalam selang waktu tertentu. Gambar 9 adalah gambar yang menunjukkan skema pengujian sensor NXT Accelaration. Pada gambar dapat dilihat letak dari sensor NXT Acceleration. Pada mulanya, robot dikondisikan dalam posisi tegak, kemudian program pembacaan dan dataloging sensor NXT Acceleration dijalankan. Pada saat program sedang running, robot dimiringkan ke depan dan ke belakang secara kontinyu dalam selang waktu tertentu. Setelah selang waktu tersebut, pembacaan dan dataloging output sensor dihentikan dan kemudian data output tersebut dilihat. Gambar 10 adalah gambar yang menunjukan data output dari sensor NXT Acceleration hasil dari pengujian. dimiringkan ke belakang
NXT Acceleration
dimiringkan ke depan
Gambar 9
Skema pengujian sensor NXT Acceleration
= kemiringan robot Gambar 10 Data hasil pengujian output NXT Acceleration, output x (biru), output y (merah), output z (hijau)
Berdasar Gambar 10 diatas, range nilai output NXT Acceleration adalah berkisar antara +250 hingga -250 dimana data terbagi atas 8 kemiringan robot. Ketika robot berada pada kemiringan awal, sedikit miring ke belakang, x bernilai sekitar 25, y bernilai sekitar 0, z bernilai sekitar 200. Kemudian robot lebih dimiringkan ke belakang, x berubah nilai menjadi sekitar 90, y masih bernilai sekitar 0, dan z bernilai sekitar 190. Pada kemiringan robot yang ketiga, yaitu robot dimiringkan ke depan, x bernilai sekitar -50, y masih bernilai sekitar 0 dan z bernilai sekitar 200. Nilai x yang bertanda negatif mengindikasikan bahwa arah kemiringan robot mempengaruhi tanda nilai dari x. Ketika robot berada posisi kemiringan yang keempat, robot berdiri tegak, x bernilai sekitar nol, y masih bernilai sekitar nol dan z masih bernilai sekitar 200. Dan pada kemiringan robot yang kelima, robot dimiringkan ke depan, x bernilai sekitar -60, y masih bernilai sekitar 0 dan z juga masih bernilai 200.
8
Ade Putra Gunawan, Heri Subagiyo, Retno Tri Wahyuni
Berdasarkan Gambar 10 dan penjabaran data pada paragraf di atas, nilai x dari hasil pengujian mempresentasikan nilai dari kemiringan robot. Hal itu dapat dilihat ketika robot berdiri tegak, nilai x mendekati nol, bernilai makin positif ketika semakin dimiringkan ke belakang dan bernilai makin negatif ketika robot semakin dimiringkan ke depan. Untuk nilai y dan z, kedua output tersebut tidak mempresentasikan nilai dari kemiringan robot. Nilai y selalu berada pada nilai sekitar nol, seperti tidak merespon terjadinya kemiringan robot. Begitu juga nilai dari z, tidak mempresentasikan nilai dari kemiringan robot. Nilai y berada pada nilai sekitar 200, dan nilai ini semakin kecil mendekati nol ketika terjadi nilai kemiringan robot yang cukup tinggi. Oleh karena itu, output sensor NXT Accelaration yang digunakan untuk mendeteksi kemiringan robot adalah nilai dari x. 4.2
Pengujian Sensor NXT Gyro Pengujian yang kedua yaitu pengujian sensor NXT Gyro yang merupakan sensor kecepatan sudut. Kecepatan sudut merupakan besaran vektor dimana nilainya juga bergantung pada arah pergerakan. Langkah-langkah pengujian yang dilakukan juga seperti pegujian sensor NXT Acceleration diatas. Dimana pengujian dilakukan dengan cara memiringkan robot ke depan dan ke belakang secara kontinyu dalam selang waktu tertentu. Skema pengujian sensor dapat dilihat pada Gambar 11 di bawah ini. Sama halnya pada pengujian sensor NXT Acceleration, pada mulanya robot dikondisikan dalam posisi tegak, kemudian program pembacaan dan dataloging sensor NXT Gyro dijalankan. Pada saat program sedang running, robot dimiringkan ke depan dan ke belakang secara kontinyu dalam selang waktu tertentu. Setelah selang waktu tersebut, pembacaan dan dataloging output sensor dihentikan dan kemudian data output tersebut dilihat. Dan Gambar 12 adalah gambar yang menunjukan data output dari sensor NXT Gyro hasil dari pengujian. NXT
Gambar 11 Skema pengujian sensor NXT Gyro
= arah pergerakan sensor Gambar 12 Data hasil pengujian output sensor NXT Gyro
Kontrol Kesetimbangan pada Robot Beroda Dua Menggunakan…
9
Berdasarkan data yang terdapat pada Gambar 12 di atas, dimana data terbagi atas 10 data, dapat dikatakan bahwa, ketika NXT Gyro diam, nilai output dari sensor adalah mendekati nol, artinya kecepatan sudut dari robot mendekati nilai nol. Ketika robot digerakkan dengan arah pergerakan yang pertama, robot digerak-miringkan ke depan, nilai output w adalah sekitar 1000/s. Nilai kecepatan sudut yang dihasilkan tersebut bernilai positif. Dan ketika robot digerakkan dengan arah pergerakan yang kedua, robot digerak-miringkan ke belakang, nilai output w adalah sekitar -400/s. Nilai kecepatan sudut yang dihasilkan adalah bernilai negatif. Berdasarkan Gambar 12 diatas dan penjabaran data pada paragraf di atas, output NXT Gyro mendeteksi kemiringan melalui arah pergerakan robot. Dimana, ketika robot digerakmiringkan ke depan, nilai output w bernilai positif dan bernilai negatif ketika digerak-miringkan ke belakang. Nilai ouput sensor NXT Gyro selalu mendekati nilai nol ketika robot dalam keadaan diam walaupun terjadi kemiringan pada robot. 4.3
Pengujian Algoritma Complementary Filter Algoritma Complementary filter bertujuan untuk meminimalisasi kekurangan dari masing-masing sensor, NXT Acceleration dan NXT Gyro. Sensor NXT Acceleration tidak memiliki respon yang begitu cepat dalam menanggapi perubahan posisi yang robot yang selalu bergerak dinamis namun memiliki kelebihan dalam hal ke presisian pengukuran. Sedangkan sensor NXT Gyro memiliki kelebihan dalam waktu respon menanggapi perubahan posisi robot yang bergerak dinamis namun tidak cukup presisi dalam hal pengukuran. Gambar 13 dibawah ini memaparkan hasil pengujian dari algoritma Complementary Filter. Jika dibandingkan ketiga grafik yang ada pada Gambar 13, dapat dilihat bahwa grafik yang menunjukkan nilai output Complementary Filter lebih smooth dari kedua grafik lainnya. Oleh karena itu, nilai output hasil algoritma Complementary Filter menunjukkan nilai yang lebih baik dalam mempresentasikan posisi robot ketika bergerak.
= kemiringan robot dan arah pergerakan sensor Gambar 13 Data hasil pengujian algoritma Complemenatary Filter, nilai kecepatan angular oleh NXT Gyro (biru), nilai sudut oleh NXT Acceleration (merah), nilai sudut output Complementary Filter (hijau)
4.4 Pengujian Pengendali PID Pengujian pengendali PID ini dilakukan dengan tujuan untuk mendapatkan nilai yang tepat dari masing-masing konstansta parameter PID, Kp_Speed, Ki_Angle, Kp_Rotation dan Kd_Speed. Data hasil pengujian tersebut digambarkan dalam bentuk grafik.
10
Ade Putra Gunawan, Heri Subagiyo, Retno Tri Wahyuni
a. Konfigurasi 1: Kp_Speed = 0.5; Ki_Angle = 8; Kp_Rotation=0.09;Kd_Speed=0.2
Gambar 14 Pengaruh Konfigurasi 1 pada sistem kendali
Gambar 14 memperlihatkan respon dari sudut kemiringan robot ketika diberi Konfigurasi 1. Pada awalnya dapat dilihat bahwa robot mampu berdiri dan kemudian bergerak mundur terus hingga akhirnya jatuh. Jatuhnya robot adalah pada data sekitar ke 101. Sistem belum stabil menggunakan Konfigurasi 1 ini. b. Konfigurasi 2: Kp_Speed = 1.5; Ki_Angle = 8; Kp_Rotation = 0.09; Kd_Speed = 0.2
Gambar 15 Pengaruh Konfigurasi 2 pada sistem kendali
Berdasarkan grafik sudut kemiringan yang ada pada Gambar 15 dapat dilihat bahwa pada awalnya robot bergerak maju karena mendeteksi nilai sudut kemiringan sebesar 50 dan bergerak mundur karena nilai sudut kemiringan yang semakin kecil. Robot di beri gangguan, menyebabkan robot bergerak maju karena mendeteksi nilai sudut kemiringan sebesar 80 dan bergerak mundur kembali karena nilai sudut kemiringan mengecil. Nilai sudut kemiringan dengan range 20 – 30 adalah nilai yang sering dicapai oleh robot dan nilai sudut kemiringan 00 tidak pernah tercapai. Oleh karena itu, dapat dikatakan bahwa kondisi setimbang yang dicapai oleh robot tidak saat pada nilai sudut kemiringan bernilai 00 namun pada nilai 20 – 30. Dan dapat
Kontrol Kesetimbangan pada Robot Beroda Dua Menggunakan…
11
dikatakan pula bahwa kondisi kesetimbangan robot yang stabil dapat dicapai dengan menggunakan Konfigurasi 2 ini . c. Konfigurasi 3: Kp_Speed = 2.5; Ki_Angle = 8; Kp_Rotation = 0.09; Kd_Speed = 0.2
robot jatuh
Gambar 16 Pengaruh Konfigurasi 3 pada sistem kendali
Grafik pada Gambar 16 diatas dapat dijabarkan bahwa pada mulanya robot bergerak maju karena mendeteksi kemiringan robot pada nilai sekitar 200 . Namun robot tidak mampu mempertahankan kesetimbangannya karena robot jatuh pada data ke 76. Oleh karena itu, dapat dikatakan bahwa kesetimbangan robot yang stabil tidak dapat dicapai dengan menggunakan Konfigurasi 3. 5
Kesimpulan Setelah melakukan pengujian dan analisa pada penelitian ini maka dapat disimpulkan bahwa: 1. Konfigurasi PID yang digunakan adalah konfigurasi PI dan PD dimana konfigurasi PI mengolah sinyal error dari sensor NXT Acceleration dan NXT Gyro dan sinyal error dari konfigurasi PD berasal dari sensor Rotary Encoder. 2. Nilai setpoint dari konfigurasi PI adalah nilai kecepatan sudut ketika diam dan nilai setpoint dari konfigurasi PD adalah nilai posisi roda robot ketika diam. 3. Data posisi robot kesetimbangan yang akurat dapat dicapai dengan menggunakan nilai sudut hasil algoritma Complementary Filter antara pembacaan sudut NXT Acceleration dan pembacaan sudut NXT Gyro. 4. Kesetimbangan robot tercapai ketika nilai-nilai dari parameter PID adalah Kp_Speed = 1.5; Ki_Angle = 8; Kp_Rotation = 0.09; Kd_Speed = 0.2. 6 Daftar Pustaka [1] H Khoswanto, D. Purwanto. (2010). Kesetimbangan Robot Beroda Dua Menggunakan Metode Fuzzy Logic. Diambil 5 Mei 2012 dari http://digilib.its.ac.id/public/ITS-Master10505-kesetimbangan-robot-beroda-dua-menggunakan-metode-fuzzy-logic.pdf [2] Laksana, Andra. (2011). Balancing Robot Beroda Dua Menggunakan Metode Kendali Proporsional Integral. Diambil 10 Mei 2012 dari http://eprints.undip.ac.id/32546/ [3] Colton, Shane. (2007. DIY Segway Technical Documentation Rev. 0,8/23/2007. Diambil 25 Mei 2012 dari http://web.mit.edu/first/segway [4] (LEGO Mindstorm User Guide, hal. 17). [5] Subagiyo, Heri dan Retno Tri Wahyuni. (2010). Sistem Kendali Otomatis. (hal 106-136)