«

»

Nov 25

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 dan bentuk lintasan yang berkelok-kelok. Untuk kasus demikian, umumnya digunakan pengendali 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.

Paparan di atas adalah prinsip di atas kertas. Dalam praktek, bagian-bagian terkait harus disesuaikan agar optimal untuk karakteristik robot yang digunakan. Begitu pun nilai Kp, Ki dan Kd yang digunakan, perlu penyesuaian sehingga hasilnya maksimal.

NEXT SYSTEM Robotics Learning Center, mulai bulan Mei 2009, mengadakan kelas pelatihan khusus “Pemrograman Robot Line Following”. Selain mempelajari konsep penjejakan garis dan pengendalian dengan PID, peserta pun akan belajar bagaimana melakukan performance tuning sehingga hasilnya optimal.

Untuk informasi lebih lanjut mengenai kelas pelatihan di atas serta perangkat robot yang digunakan, silahkan menghubungi:

NEXT SYSTEM
Robotics Learning Center
ITC Kosambi F2
Jl. Baranang Siang 6-8
Bandung 40112

Tel. (022) 4222062, 70775874

Email: info@nextsys.web.id

http://edukasi.nextsys.web.id