Menggunakan PID Pada Robot Line Follower

Ingin membuat robot yang dapat mengikuti garis? Dengan kecepatan rendah, prosesnya cukup mudah. Jika sensor membaca arah pergerakan ke kiri, arah robot digerakkan ke kanan, demikian sebaliknya. Proses ini memiliki batasan terutama ketika kecepatan dinaikkan. Untuk kasus demikian, umumnya digunakan pengontrol PID.
PID singkatan dari Proportional, Integral, Derivative. Pengendali PID meggunakan perhitungan matematika untuk memproses data dari sensor dan menggunakannya untuk mengendalikan arah dan/atau kecepatan robot. Mengapa PID bisa lebih baik dibanding model sederhana di atas?


Perilaku Robot ketika Mengikuti Garis

Misalnya robot kita memiliki 3 sensor, kiri, tengah dan kanan. Ketika sensor tengah melihat garis, robot diprogram untuk bergerak lurus. Ketika sensor kiri melihat garis, robot diprogram untuk belok ke kanan. Ketika sensor kanan melihat garis, robot diprogram untuk belok ke kiri. Dengan pemrograman demikian, robot akan bergerak “bergelombang” di atas garis, dan jika terlalu cepat, maka akan kehilangan kendali dan berhenti mengikuti garis (garis merah pada gambar di samping).
Metoda ini hanya memperhatikan satu perilaku saja, yakni, robot harus selalu berada di tengah garis. Untuk meningkatkan performance, kita harus memperhatikan dua perilaku lainnya - berapa cepat robot bergerak dari satu sisi ke sisi lain dan berapa lama dia tidak berada di tengah garis. Ketiga perilaku ini disebut Proportional, Integral dan Derivative dalam terminologi pengendali PID.

berikut adalah beberapa definisi dari beberapa terminologi yang digunakan dalam PID:

Target Position - Untuk mengikuti garis, posisi ini adalah tengah garis. Kita akan merepresentasikannya dengan nilai nol.

Measured Position - Seberapa jauh ke kiri atau ke kanan terhadap garis. Nilai ini dapat negatif atau positif untuk merepresentasikan posisi relatif terhadap garis.

Error - Perbedaan antara target position dan measured position.

Proportional - Mengukur berapa jauh robot kita keluar dari garis. Proportional merupakan dasar untuk membaca posisi robot dengan menggunakan sensor. Semakin banyak data, semakin akurat kita dapat mengukur posisi robot di atas garis.

Integral - Mengukur akumulasi error terhadap waktu. Nilai integral naik ketika robot tidak berada di tengah garis. Semakin lama robot tidak berada di tengah garis, semakin tinggi nilai integral.

Derivative - Mengukur seberapa sering robot bergerak dari kiri ke kanan atau dari kanan ke kiri.

Faktor P - Kp, adalah konstanta yang digunakan untuk memperbesar dan memperkecil pengaruh dari Proportional.

Faktor I - Ki, adalah konstanta yang digunakan untuk memperbesar dan memperkecil pengaruh dari Integral.

Faktor D - Kd, adalah konstanta yang digunakan untuk memperbesar dan memperkecil pengaruh dari Derivative.

Dengan mengkombinasikan nilai Proportional, Integral dan Derivative, kita dapat mengendalikan pergerakan robot secara lebih presisi, dibanding hanya menggunakan Proportional. Perilaku ideal ditunjukkan oleh garis merah pada gambar di kiri. Pergerakan robot menjadi lebih “halus”, tidak “bergelombang” seperti sebelumnya, dan robot lebih “sering” berada di tengah garis.

Performance keseluruhan penerapan PID bergantung pada jumlah dan tingkat presisi dari sensor dan kemampuan dari mikrokontroler yang digunakan.



1 komentar:

  1. Anonim5/21/2009

    btw, apakah tulisan di atas mengutip dari http://christiantotjahyadi.wordpress.com/2008/11/25/menggunakan-pid-pada-robot-line-follower/? koq, sama persis, yah?

    Kalau memang mengutip, saya sebagai penulis tidak keberatan, tapi mohon link sumbernya ditulis.

    BalasHapus