Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided...

92
Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE (AGV) LINE FOLLOWER SISTEM P.I.D Afianto, S.T., M.T., M.Sc. Jakarta, Maret 2020 LP2M POLITEKNIK MANUFAKTUR ASTRA

Transcript of Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided...

Page 1: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

Monograf

KENDALI REROUTE AUTOMATED GUIDED VEHICLE (AGV)

LINE FOLLOWER SISTEM P.I.D

Afianto, S.T., M.T., M.Sc.

Jakarta, Maret 2020

LP2M POLITEKNIK MANUFAKTUR ASTRA

Page 2: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

b

Monograf

KENDALI REROUTE AUTOMATED GUIDED VEHICLE (AGV)

LINE FOLLOWER SISTEM P.I.D

oleh

Afianto, S.T., M.T., M.Sc.

Jakarta, Maret 2020

LP2M POLITEKNIK MANUFAKTUR ASTRA

Page 3: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

c

Monograf “Kendali Reroute Automated Guided Vehicle (AGV) Line Follower Sistem P.I.D”

Penulis: Afianto, S.T., M.T., M.Sc.

ISBN: 978-602-71320-8-5

Editor: Dr. Syahril Ardi, S.T., M.T. Hak cipta dilindungi Undang-Undang Dilarang memperbanyak monograf ini dalam bentuk apapun untuk tujuan komersial, kecuali untuk keperluan pendidikan, dengan mencantumkan penulis dan penerbit.

Penerbit: LP2M Politeknik Manufaktur Astra Jl. Gaya Motor Raya no.8 Sunter II Jakarta Utara Jakarta 14330 Indonesia Telp/Fax: +62-21 651 9555/+62-21 651 9821 Email: [email protected] Website: https://lppm.polman.astra.ac.id

Page 4: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

i

KATA PENGANTAR

Puji syukur kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya

sehingga penulis dapat menyelesaikan tulisan monograf yang berjudul “Kendali Reroute

Automated Guided Vehicle (AGV) Line Follower Sistem P.I.D” ini tepat pada waktunya.

Adapun tujuan dari penulisan monograf ini adalah untuk menambah wawasan dan

pengetahuan tentang pengendalian AGV jenis Line Follower bagi para pembaca dan juga

penulis, yang selanjutnya bisa diaplikasikan untuk kepentingan yang bermanfaat.

Pendistribusian material/barang proses di industri, saat ini adalah menjadi pilihan

yang tepat dan perlu guna meningkatkan produktivitas. Pilihannya adalah dengan proses

secara otomatisasi guna mengurangi biaya produksi dan meningkatkan kualitas. Proses

pendistribusian otomatis tersebut salah satunya adalah dengan menggunakan mobile robot

model Automatic Guided Vehicle (AGV) Line Follower. Robot AGV Line Follower mempunyai

navigasi dengan mendeteksi dan bergerak mengikuti garis dengan bantuan sensor

photodiode, sensor tersebut sebagai pendeteksi garis pergerakan AGV sesuai ke tempat

tujuan.

Tulisan ini akan memberikan wawasan dan pengetahuan tentang model penggerak

AGV, jenis dan sistim pengendali motor DC. Dan yang menjadi fokus penulis adalah

bagaimana model pengendali motor DC menggunakan sistim Proposional Integral Derivatif

(PID) yang dikombinasikan dengan pengendalian Reroute. Reroute sendiri berfungsi untuk

mengendalikan AGV Line Follower apabila pergerakan keluar dari lintasan/jalur dan bisa

secara otomatis mendeteksi kembali ke lintasan/jalur yang benar untuk melanjutkan

pergerakannya menuju lokasi tujuan.

Pada akhirnya penggunaan AGV Line Follower tersebut akan memberikan dampak

positif yang banyak bagi penggunannya dalam proses pendistribusian material/barang, yaitu

sebagai berikut waktu akan lebih efektif, tepat dan efisien, kemudahan dalam pengaturan

rute/flesibel, pengupahan karyawan berkurang, menghilangkan kelalaian akibat human error

dan angka kecelakaan kerja dapat diminimalisasi. Monograf ini, dapat tersusun dengan baik

tentunya hasil dari bantuan berbagai pihak. Oleh karena itu, penulis mengucapkan terima

kasih kepada pihak-pihak yang telah membagi sebagian pengetahuannya yang tidak bisa

penulis ucapkan satu persatu hingga akhirnya dapat menyelesaikan monograf ini.

Page 5: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

ii

Penulis juga berharap kritik dan saran yang membangun untuk monograf ini. Sebab,

penulis sangat menyadari bahwa monograf yang disusun ini masih jauh dari kesempurnaan.

Semoga tulisan monograf ini bermanfaat bagi kita semua.

Jakarta, 13 Maret 2020

Penulis Afianto, S.T., M.T., M.Sc.

Page 6: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

iii

DAFTAR ISI

Kata Pengantar …………………………………………………………………………………..……..……………...…………i

Daftar Isi………………………………………………………………………………………………….….………….……………iii

Daftar Gambar ……………………………………………………………………………….…………..…..……….…………iv

Bab 1. Pendahuluan ……………………………………………………………………………………….………..………….1

1.1. Latar Belakang………………………………………………………………………..…...........…..…….….1

1.2. Tujuan dan Manfaat……………………………………………………………………..……………..…….1

1.3. Tinjauan Pustaka………………………………………………………………………………………..………2

1.3.1. Automated Guided Vehicle (AGV)………………………………….………………………..2

1.3.2. Sistim Kendali……………………………………………………………….…………………………3

1.3.3. Mikrokontroler……………………………………………………………….……………….……..6

Bab 2. Model Penggerak AGV ……………………………………………………………………….……..………………7

2.1. Model Two Differential Drives as Steering………………………………………………..………..7

2.2. Model One Drive And One Steering…………………………………………………….………………8

2.3. Model Four Differential Wheels Drive As Steering……………………………………………...8

2.4. Model Four Mecanum Wheels……………………………………………………………………………9

Bab 3. Metode AGV Line Follower Kendali PID……………………………………………………………………13

3.1. AGV Line Follower……………………………………………………………………..…………..…………13

3.2. Konsep Kendali PID (Proportional-Integral–Derivative)…………………………….………17

3.3. Pemprograman P.I.D…………………………………………………………………………………………24

Bab 4. Metode Reroute AGV……………………………………………………………….……………………..………32

Bab 5. Konsep Pembuatan AGV………………………………………………….………………………………………39

5.1. Pembuatan Rangkaian Elektrik AGV…………………………………………………………………39

5.2. Wiring Diagram Kontroler AGV Line Follower 2 Roda Penggerak………………………44

Bab 6. Penutup ……………………………………………………………………………………..…………………………..46

Daftar Pustaka …………………………………………………………………………………………………………………..47

Lampiran ……………………………………………………………………………………………………………………………48

Page 7: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

iv

DAFTAR GAMBAR

DAFTAR GAMBAR

Gambar 1. Diagram Sistem Kendali …………………………………………………………..3 Gambar 2. Sistem Kontrol Loop Terbuka………………………………………………….…4 Gambar 3. Sistem Kontrol Loop Tertutup……………………………………………………5 Gambar 4. Model AGV Two Differential Drives as Steering……………………………....7 Gambar 5. Kendali Pergerakan AGV Two Differential Drives as Steering……………..8 Gambar 6. Kendali Pergerakan AGV model One Drive And One Steering……………..8 Gambar 7. Model AGV Four Differential Wheels Drive As Steering…………………….9 Gambar 8. Model AGV Four Mecanum Wheel……………………………………………….9 Gambar 9. Gerak Maju dan Mundur AGV………………………………………………….10

Gambar 10. Gerak Kanan dan Kiri AGV…………………………………………………….10 Gambar 11. Gerak serong kanan dan kiri AGV……………………………………………11 Gambar 12. Gerak Putar Kanan dan Putar Kiri AGV………………………………….…11 Gambar 13. Gerak Belok Kanan dan Belok Kiri AGV…………………………………..12 Gambar 14. Gerak Lateral Kanan dan Kiri AGV………………………………………….12 Gambar 15. AGV dan Track Line Follower………………………………………………….13 Gambar 16. Prinsip Kerja Sensor Pendeteksi Garis………………………………………14 Gambar 17. Cara Kerja Kendali Dasar AGV Line Follower non-PID………………….15 Gambar 18. Pemetaan Sensor Garis untuk Line Follwer……………………………….15 Gambar 19. Diagram Blok Kendali AGV Line Follower………………………………….16 Gambar 20. Blok Diagram Kendali PID……………………………………………………..17 Gambar 21. Sinyal Tanggapan Kendali PID……………………………………………….19 Gambar 22. Blok Diagram Kendali Proposional…………………………………………..20 Gambar 23. Sinyal Tanggapan Kendali Proposional…………………………………….21 Gambar 24. Blok Diagram Kendali Integral………………………………………………..21 Gambar 25. Sinyal Tanggapan Kendali Integral………………………………………….21 Gambar 26. Sinyal Tanggapan Kendali Integral………………………………………….22 Gambar 27. Blok Diagram Kendali Derivative……………………………………………..22 Gambar 28. Sinyal Tanggapan Kendali Derivative……………………………………….23 Gambar 29. Ilustrasi Pemberian Bobot Sensor……………………………………………25 Gambar 30. Flowchart perancangan program AGV………………………………………30 Ganbar 31. Model Reroute AGV belok kanan……………………………………………...32 Gambar 32. Sensor Line Follower…………………………………………………………….33 Gambar 33. Siklus Reroute ke kanan……………………………………………………….34 Gambar 34. Model Reroute AGV belok kiri…………………………………………………35 Gambar 35. Siklus Reroute ke kanan……………………………………………………….35 Gambar 36. Gerak lurus AGV melakukan Reroute arah kanan………………………36

Gambar 37. Gerak lurus AGV melakukan Reroute arah kiri…………………………..37 Gambar 38. Model AGV melakukan 2 tahap Reroute……………………………………38 Gambar 39. Mikrokontroler Arduino Mega…………………………………………………40 Gambar 40. Motor Planetary Gearbox……………………………………………………….40 Gambar 41. Rangkaian Driver H-Bridge…………………………………………………….41 Gambar 42. Driver Single Motor BTS 7960………………………………………………..42 Gambar 43. Sensor garis/jalur TCRT5000…………………………………………………42 Gambar 44. Baterai LiPo………………………………………………………………………..43 Gambar 45. Konverter DC-DC Step Up/Down…………………………………………….43 Gambar 46. Diagram Pengkabelan Rangkaian Daya AGV………………………………44 Gambar 47. Diagram Pengkabelan Rangkaian I/O Mikrokontroler…………………..45

Page 8: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

1

Bab 1. PENDAHULUAN

1.1. Latar Belakang

Era industri 4.0 memicu pengaplikasikan teknologi yang mengarah pada otomatisasi dalam

segala hal, industri-industri saat ini mulai memanfaatkan teknologi robotika untuk membantu

tugas-tugas manusia, hal ini ditujukan untuk meningkatkan produktifitas serta kualitas

produk. Tidak terkecuali salah satu proses yang sangat penting dalam rantai produksi yaitu

distribusi barang produksi yaitu pada proses pemindahan barang dari suatu tempat ke tempat

lain. Model transportasi menggunakan kemudi yang dilakukan oleh manusia akan segera

ditinggalkan, hal ini didorong oleh beberapa penemuan teknologi maju yang dapat

mengurangi bahkan sampai menghilangkan beberapa resiko pada manusia maupun material.

Hal – hal yang bisa menjadi masalah dengan model kemudi manusia adalah kelalaian manusia

sehingga terjadi kesalahan lokasi baik asal maupun tujuan pengiriman atau sampai terjadinya

kecelakaan, belum lagi tentang biaya tenaga kerja yang semakin tinggi. Untuk itu, diperlukan

otomatisasi pada sarana-sarana pendistribusian tersebut, salah satu penerapan otomatisasi

pada sarana pendistribusian barang yaitu Automatic Guided Vehicle (AGV). AGV merupakan

suatu alat transportasi untuk memindahkan suatu barang/material, dikendalikan secara

otomatis menggunakan navigasi yang nantinya dapat bergerak mengikuti jalur yang telah

ditentukan hingga sampai tujuan. Model transportasi otomatis untuk distribusi

barang/material tersebut bisa dilakukan secara cepat dan efisien. Dengan melihat manfaat

yang begitu banyak seperti efisiensinya tinggi, handal, ketahanan yang kuat, fleksibel, dan

akurasi gerak yang tinggi, inilah yang membuat AGV banyak digunakan di industri dalam

proses manufaktur, perakitan dan logistic, rumah makan hingga rumah sakit. Ada hal lain yang

sebenarnya harus dihindari adalah pemanfaatan AGV Line Follower yang menggunakan

panduan garis atau sejenisnya, sebab akan mengganggu keindahan, kebersihan dan kerapian

lingkungan. Hal tersebut tidak disarankan untuk area perkantoran dan lingkungan kampus.

1.2. Tujuan dan Manfaat

Alat transportasi otomatis AGV ini memiliki tujuan utama adalah untuk meningkatkan

produktifitas dengan memperhatikan faktor lingkungan global, yaitu untuk mengurangi

pencemaran lingkungan dengan mengurangi emisi gas buang. Adapun manfaat dari

Page 9: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

2

pengaplikasian AGV tentu dapat menurunkan biaya operator dan faktor kecelakaan kerja.

Pengurangan biaya transportasi secara langsung akan berdampak pada penurunan biaya

produksi.

1.3. Tinjauan Pustaka

1.3.1. Automated Guided Vehicle (AGV)

Alat transportasi AGV berjalan dengan panduan/navigasi untuk pemindahan atau

pendistribusian barang dari satu tempat ke tempat yang lainnya. Panduannya bisa berupa

garis Line Follower, ada juga teknologi pemandu dengan laser (laser guided) dan bahkan

ada yang menggunakan LPS (local positioning system) semacam GPS tapi hanya untuk

daerah ruangan tertentu saja. Adapun penggunaan AGV dalam menjalankan usahannya

dapat memberikan beberapa dampak keuntungan:

a) Pengendalian biaya, biaya sistem AGV sangat dapat diprediksi, sementara biaya tenaga

kerja cenderung meningkat dan dapat berubah dengan cepat tergantung pada kondisi

ekonomi lokal atau pada saat permintaan produk meningkat.

b) Handal, keandalan dan pengiriman tepat waktu yang dilakukan oleh AGV meningkatkan

efisiensi operasi. Kemampuan untuk beroperasi dengan waktu yang non-stop namun

tetap menjaga konsistensi dalam operasi.

c) Keamanan, AGV selalu mengikuti jalur panduan dan akan berhenti jika mengalami

adanya halangan, hal ini dapat meningkatkan keselamatan pekerja di sekitarnya. Pada

indutri manufaktur sering kali alat transportasi difungsikan untuk membawa barang

yang besar dan berat, hal ini ada kalanya potensi human error sehingga muncul bahaya

cidera atau kecelakaan kerja terhadap pekerja. Dengan pengendalian gerakan pada AGV

yang diatur seaman mungkin maka dapat mengurangi kecelakaan kerja serta kerusakan

produk yang dibawa. Serta kehilangan barang atau kesalahan penempatan barang

dapat dilacak dengan cepat oleh sistem.

d) Kemudahan, bebas jelajah. Adanya roller atau belt conveyor cukup membantu

produktifitas tapi tidak mampu mengatasi permasalahan saat kebutuhan yang komplek

dan tuntutan fleksibilitas operasional meningkat. AGV menghilangkan masalah akses

yang dibuat oleh konveyor dan membutuhkan lebih sedikit ruang daripada forklift

konvensional, serta memungkinkan untuk akses ke lorong yang lebih sempit

e) Fleksibel, AGV pada logistik gudang juga harus fleksibel terhadap variable yang ada

seperti : Jalur navigasi dapat diubah karena kebutuhan produksi dan layout yang

Page 10: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

3

berkembang bahkan teknologi sekarang AGV mampu melakukan pergerakan dengan

memberikan program secara teaching, mampu dikombinasikan dengan konveyor,

tersedia sistem yang dapat dikolaborasi dengan perangkat lain seperti robot lengan.

f) Efisien, AGV harus mampu bekerja efisien terhadap waktu operasionalnya terutama

dalam proses alur transfer barang. Kemampuan yang diperlukan seperti pendeteksian

rute terpendek secara akuran, perencanaan rute alternatif saat terdapat hambatan,

pemetaan posisi barang-barang agar mudah ditelusuri hingga penambahan informasi

layout gudang untuk infomasi titik penjemputan dan pengiriman.

g) Pengurangan biaya operasi - Pengisian dan penanganan baterai bisa otomatis dengan

sistem AGV dan akselerasi / perlambatan pergerakan yang dikontrol ini meminimalkan

keausan pada komponen.

h) Repeatability, AGV dapat diprediksi dan andal dalam melakukan tugas gerakan yang

berulang – ulang.

i) Terorganisir, Pada skala gudang yang besar, tentu akan diperlukan lebih dari 1 AGV dan

banyak fasilitas yang harus dilayani. Maka robot harus dirancang untuk dapat bekerja

sama dalam 1 armada terpusat. Dengan kendali armada terpusat maka dapat

diintegerasikan dengan perangkat lunak pengelolaan pabrik atau gudang seperti MES

atau WMS, sehingga kontrol lalu lintas dan rute dapat direncanakan secara optimal.

j) Skalabilitas, Lebih banyak AGV dapat ditambahkan untuk memperluas kapasitas dan

throughput.

1.3.2. Sistim Kendali

Sistem kendali/kontrol didefinisikan suatu alat atau susunan alat yang terkait sedemikian rupa

sehinga dapat memerintah, mengarahkan, atau mengatur keadaan dari suatu sistem diri sendiri

atau sistem lain. Sistem kendali tersusun atas sub-sistem dan proses (plants) yang diberikan input

sebagai kinerja yang diinginkan untuk mendapatkan keluaran (output). Gambar 1 di bawah ini

menununjukkan blok diagram untuk sistem kendali paling sederhana.

Gambar 1. Diagram Sistem Kendali

Page 11: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

4

Pada Sistem Kendali, dapat diklasifikasikan pada beberapa hal:

1. Sistem Kendali Manual dan Otomatik,

2. Sistem Lingkar Terbuka (Open Loop) dan Lingkar Tertutup (Closed Loop)

3. Sistem Kendali Kontinu dan Diskrit

4. Sumber penggerak: Elektrik, Mekanik, Pneumatik, dan Hidraulik

Sistem Kendali Manual dilakukan oleh manusia yang bertindak sebagai operator,

sedangkan Sistem Kendali Otomatik dilakukan oleh peralatan yang bekerja secara otomatis

dan operasinya dibawah pengawasan manusia. Ada dua jenis system kendali yaitu Sistem

Kendali Lingkar Terbuka (Open Loop) dan Sistem Kendali Lingkar Tertutup (Closed Loop),

dan bisa dijelaskan secara singkat sebagai berikut :

a. Sistem Kendali Lingkar Terbuka (Open Loop), mengendalikan suatu proses dimana

besaran keluaran tidak digunakan sebagai umpan balik terhadap besaran masukan,

sehingga variable yang dikendalikan pada keluaran tidak dapat dibandingkan terhadap

nilai/variable yang diinginkan pada masukan.

Gambar 2. Sistem Kontrol Loop Terbuka

Pada Sistem Kendali Loop Terbuka memiliki beberapa keuntungan antara lain,

sederhana, harganya murah, dapat dipercaya. Namun sistem kendali ini memiliki

kekurangan yaitu kurang akurat karena tidak terdapat koreksi terhadap kesalahan

pada keluarannya. Dengan adanya gangguan, sistem control terbuka tidak dapat

melaksanakan tugas yang sesuai diharapkan. Sistem kontrol terbuka dapat digunakan

hanya jika hubungan antara masukan dan keluaran diketahui dan tidak terdapat

gangguan internal maupun eksternal.

b. Sistem Kendali Lingkar Tertutup (Closed Loop) mengendalikan suatu proses dengan

memanfaatkan besaran keluaran untuk digunakan sebagai umpan balik pada besaran

masukan, sehingga variable yang dikendalikan dapat dibandingkan terhadap

nilai/variable yang diinginkan. Perbedaan nilai yang terjadi antara besaran keluaran

dengan besaran masukan ini digunakan sebagai koreksi yang merupakan sasaran

pengendalian suatu proses.

Page 12: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

5

Gambar 3. Sistem Kontrol Loop Tertutup

Sinyal kesalahan penggerak, yang merupakan selisih antara sinyal masukan dan sinyal

umpan balik, diumpankan ke kontroler untuk memperkecil kesalahan dan membuat

agar keluaran sistem mendekati harga yang diinginkan.

Berikut ini adalah bagian-bagian pada sistem kendali tertutup:

1. Masukan (Input), merupakan rangsangan yang diberikan pada sistem kontrol,

merupakan nilai yang diinginkan bagi variabel yang dikontrol selama pengontrolan.

Harga ini tidak tergantung pada keluaran sistem

2. Keluaran (Output), merupakan tanggapan pada sistem kontrol, merupakan harga yang

akan dipertahankan bagi variabel yang dikontrol, dan merupakan harga yang

ditunjukan oleh alat pencatat

3. Beban (Plant) merupakan sistem fisis yang akan dikontrol (misalnya mekanis, elektris,

hidraulik ataupun pneumatic).

4. Alat Kontrol/Kendali (Controller), merupakan peralatan/ rangkaian untuk mengontrol

beban (sistem). Alat ini bisa digabung dengan penguat

5. Elemen Umpan Balik, menunjukan/mengembalikan hasil pencatan ke detector

sehingga bisa dibandingkan terhadap harga yang diinginkan (di stel)

6. alat deteksi kesalahan (Error Detector), merupakan alat pendeteksi kesalahan yang

menunjukan selisih antara masukan (input) dan respons melalui umpan balik

(feedback path).

7. Gangguan merupakan sinyal-sinyal tambahan yang tidak diinginkan. Gangguan ini

cenderung mengakibatkan nilai keluaran berbeda dengan harga masukanya,

gangguan ini biasanya disebabkan oleh perubahan beban sistem, bisa juga karena

adanya perubahan kondisi lingkungan, getaran ataupun yang lain.

Page 13: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

6

1.3.3. Mikrokontroler

Mikrokontroler merupakan sebuah IC yang dirancang untuk mengatur operasi tertentu

dalam sistem tertanam. Mikrokontroler terdiri atas prosesor (CPU), memori, dan

input/output peripheral, dimana ketiga komponen tersebut berada pada satu chip.

Mikrokontroler digunakan dalam berbagai sistem dan perangkat, ada kalanya suatu

perangkat yang komplek menggunakan beberapa mikrokontroler untuk menangani

tugasnya masing-masing yang selanjutnya bekerja bersama dalam sistem. Mikrokontroler

mengirim dan menerima data menggunakan perangkat I/O dan memproses data tersebut

pada prosesor untuk melakukan tugas yang ditentukan.

Komponen utama pada mikrokontroler adalah:

Prosesor (CPU) dapat dianggap sebagai otak perangkat. CPU bertugas untuk memproses

dan melaksanakan berbagai instruksi yang mengarahkan fungsi mikrokontroler. Seperti

halnya melakukan perhitungan aritmatika dasar, logika dan operasi I/O. CPU juga

melakukan operasi transfer data, yang mengkomunikasikan perintah ke komponen lain

dalam sistem tertanam yang lebih besar.

Memori mikrokontroler digunakan untuk menyimpan data yang diterima dan digunakan

prosesor sebagai tanggapan respon dari instruksi yang telah diprogram untuk dijalankan.

Mikrokontroler memiliki dua jenis memori utama: pertama Memori Program, yang

menyimpan informasi jangka panjang tentang instruksi yang dilakukan CPU. Memori

Program adalah memori yang tidak mudah hilang, artinya menyimpan informasi dari waktu

ke waktu tanpa memerlukan sumber daya. Kedua Memori Data, yang diperlukan untuk

penyimpanan data sementara saat instruksi sedang dijalankan. Memori data tidak stabil,

artinya data yang dipegangnya bersifat sementara dan hanya dipertahankan jika perangkat

terhubung ke sumber daya.

Input/Output Peripherals - Perangkat input dan output adalah antarmuka untuk

menghubungkan prosesor (CPU) ke perangkat di luar mikrokontroler. Port input menerima

informasi dan mengirimkannya ke prosesor dalam bentuk data biner. Prosesor menerima

data itu dan mengirimkan instruksi yang diperlukan ke perangkat keluaran yang

menjalankan tugas di luar mikrokontroler.

Page 14: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

7

Bab 2. Model Penggerak AGV

2.1. Model Two Differential Drives as Steering: model dengan 2 buah motor penggerak yang

secara perbedaan kecepatan mengatur arah gerak dan belok AGV sehingga fungsi roda

penggerak juga menjadi steering arah pergerakan AGV. AGV model ini paling banyak

diaplikasikan sebab disamping lebih mudah juga lebih murah dalam membuatnya. Berikut

adalah contoh desain AGV model Two differential Driver as Steering.

Gambar 4. Model AGV Two Differential Drives as Steering

Untuk berbelok ke kiri, putaran roda kanan dibuat lebih cepat. Sebaliknya untuk berbelok

ke kanan, putaran roda kiri dibuat lebih cepat. Jenis AGV ini membutuhkan 2 buah roda

Casters sebagai penggerak yang terpasang pada Motor DC, serta 1 buah roda Caster bantuan

sebagai roda penyangga untuk membantu agar AGV dapat berdiri sejajar dan dapat

berbelok. AGV jenis ini dibuat untuk dapat bergerak 2 arah (maju dan mundur). Berikut

digambarkan bagaimana kondisi arah putaran dan kecepatan dari motor agar AGV bisa melakukan

gerak maju, belok kanan, dan belok kiri. Adapun untuk pergerakan mundur maka 2 motor penggerak

diputar dengan arah terbalik dari arah maju dengan kecepatan yang sama.

Page 15: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

8

Gambar 5. Kendali Pergerakan AGV Two Differential Drives as Steering

2.2. Model One Drive And One Steering: AGV jenis ini memisahkan antara roda yang

digunakan sebagai penggerak (drive), dan roda yang digunakan sebagai pengemudi (steering).

AGV jenis ini dibuat untuk bergerak 1 arah saja (maju). Gambar dibawah ini memberikan

gambaran bagaimana kondisi arah putaran dan kecepatan dari motor agar AGV bisa melakukan

gerak maju, belok kanan, dan belok kiri. Adapun untuk pergerakan mundur untuk AGV model ini

tidak disarankan sebab akan mengendalikan AGV dengan sukup rumit.

Gambar 6. Kendali Pergerakan AGV model One Drive And One Steering

2.3. Model Four Differential Wheels Drive As Steering: AGV jenis ini menggunakan 4 buah roda

dengan motor penggerak, yang secara diferensial dapat mengatur arah belok AGV. AGV jenis ini

dibuat untuk dapat bergerak bergerak 2 arah (maju dan mundur), dan berbelok ke kanan dan ke

kiri dengan mengatur kecepatan dari 2 roda sisi kanan dan 2 roda sisi kiri yang berbeda. AGV

Page 16: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

9

model ini biasanya digunakan untuk dibebani, mendorong atau menarik beban yang besar

sehingga membutuhkan torsi yang besar pula.

Gambar 7. Model AGV Four Differential Wheels Drive As Steering

2.4. Model Four Mecanum Wheels: AGV ini adalah pengembangan dari AGV tipe ke (4) yang

sudah dijelaskan diatas. Namun menggunakan mecanum wheels sebagai roda

penggeraknya, sehingga AGV dapat bergerak bebas dan memungkinkan gerakan berputar

sampai 360 derajat. AGV tipe ini adalah tipe yang paling modern saat ini, dan tergolong

omnidirection, yang artinya dapat bergerak kemanapun (maju, mundur, kanan, kiri,

serong kanan, serong kiri dan berputar).

Gambar 8. Model AGV Four Mecanum Wheel

Page 17: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

10

Berikut ini akan dijelaskan bagaimana AGV Model Four Mecanum Wheel melakukan 16 arah

Gerakan.

1. Gerak Maju dan Mundur

Gambar 9. Gerak Maju dan Mundur AGV

AGV akan bergerak maju atau mundur, dengan cara ke 4 roda mecanum berputar searah dan

berkecepatan yang sama (arah dan kecepatan tiap roda, ditunjukan oleh gambar panah di sisi

roda).

2. Gerak Ke Kanan dan Ke Kiri

Gambar

Gambar 10. Gerak Kanan dan Kiri AGV

AGV akan bergerak ke kanan dan ke kiri, dengan cara ke 2 roda mecanum yang berlisangan

berputar searah jarum jam (CW) dan 2 roda mecanum yang bersilangan lainnya berputar

berlawanan arah jarum jam (CCW) dengan kecepatan ke 4 roda yang sama.

3. Gerak Serong kanan dan Serong kiri

Page 18: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

11

Gambar 11. Gerak serong kanan dan kiri AGV

AGV akan melakukan gerakan serong kanan dan kiri apabila ke 2 roda mecanum yang

berlisangan berputar searah jarum jam (CW) dan 2 roda mecanum yang bersilangan lainnya

tidak diputar (diam) dengan kecepatan ke 2 roda yang berputar adalah sama.

4. Gerak Putar Kanan dan Putar Kiri

Gambar 12. Gerak Putar Kanan dan Putar Kiri AGV

AGV akan melakukan gerakan putar kanan dan putar kiri apabila ke 2 roda mecanum yang

disisi sama berputar searah jarum jam (CW) dan 2 roda mecanum disisi sama lainnya berputar

berlawanan arah jarum jam (CCW) dengan kecepatan ke 4 roda yang adalah sama.

Page 19: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

12

5. Gerak Belok Kanan dan Belok Kiri

Gambar 13. Gerak Belok Kanan dan Belok Kiri AGV

AGV akan melakukan gerakan belok kanan dan belok kiri apabila ke 2 roda mecanum yang

disisi sama berputar searah jarum jam (CW) dengan kecepatan sama besar dan 2 roda

mecanum disisi sama lainnya berputar searah jarum jam (CW) juga, namun dengan kecepatan

yang lebih rendah dari 2 roda sisi lainnya.

6. Gerak Lateral Kanan dan Lateral Kiri

Gambar 14. Gerak Lateral Kanan dan Kiri AGV

AGV akan melakukan Gerakan Lateral kanan atau kiri, bila 2 roda depan atau 2 roda belakan

saja yang digerakan dengan arah yang saling berlawanan.

Page 20: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

13

Bab 3. Metode AGV Line Follower Kendali PID

AGV merupakan suatu kendaraan yang dikendalikan secara manual dan otomatis

menggunakan sistem navigasi dengan pengendalian pola gerakan menuju tempat yang dituju.

Sistem navigasi menjadi bagian terpenting agar AGV dapat bergerak secara mandiri. Berikut ini

adalah tipe berdasarkan navigasinya :

1. Tipe Rail, yaitu tipe navigasi dengan memberikan rel disepanjang jalur yang akan dilewati

AGV.

2. Tipe Wired, yaitu tipe navigasi yang menggunakan kabel yang di tanam di lantai kemudian

AGV dibekali sensor yang mendeteksi medan elektromagnet dari kabel.

3. Tipe Line Tape, yaitu tipe navigasi dengan menggunakan garis yang dibuat dengan

membedakan warna terhadap lantai (optical) atau magnetic tape.

4. Tipe Laser, yaitu tipe navigasi dengan menggunakan laser transmiter pada AGV dan

sejumlah laser reflector yang ditempatkan di titik – titik tertentu. Pantulan dari titik – titik

tersebut memberikan gambaran bagi AGV untuk memetakan lingkungan sekitarnya.

3.1. AGV Line Follower

Gambar 15. AGV dan Track Line Follower

AGV Line Follower atau biasa disebut Line tracer merupakan suatu AGV yang mampu bergerak

mengikuti jalur panduan garis. Sensor garis berfungsi untuk mendeteksi garis jalur (track) dan

memberitahukan posisi AGV pada pengendali (mikrokontroler), sehingga AGV tersebut dapat tetap

Page 21: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

14

berjalan di jalurnya dengan baik. Dengan kata lain sensor garis ini berperan seperti panca indera pada

manusia. Garis pandu yang digunakan dalam hal ini adalah garis putih yang ditempatkan dalam

permukaan yang gelap atau sebaliknya garis gelap yang ditempatkan dalam permukaan yang putih.

Berikut Komponen Input, control dan output pada kendali AGV Line Follower ;

1. Sensor Garis AGV, dengan bantuan sensor sebagai input, AGV dapat menentukan arah gerakannya,

dalam line follower ini sensor garis yang digunakan jenis sensor inframerah. Perakitan sensor tersebut

cukup mudah, yaitu menggunakan satu buah komponen photodiode dan satu buah Light Emitting

Diode (LED) infra merah atau sering diganti dengan LED Superbright dengan warna tertentu yang

dipasang secara berdampingan. LED akan memancarkan cahaya ke permukaan dan pantulan cahaya

tersebut akan diterima oleh photodiode. Prinsip kerja pendeteksian garis pandu dari AGV tersebut

adalah bahwa tiap-tiap warna permukaan memiliki kemampuan untuk memantulkan cahaya yang

berbeda-beda. Warna putih memiliki kemampuan memantulkan cahaya lebih banyak (paling baik),

sebaliknya warna hitam memiliki kemampuan memantulkan cahaya sangat sedikit (paling buruk)

bahkan bisa dikatakan menyerap cahaya. Hal itulah yang digunakan untuk sebagai prinsip mendeteksi

garis pandu tersebut. Gambar dibawah ini adalah menjelaskan secara ilustrasi terjadinya proses kirim-

terima cahaya dan bagaimana posisi peletakkan antara LED sebagai transmitter (Tx) dan Photodioda

sebagai Receiver (Rx). Terlihat bahwa posisi Rx sebaiknya berada didepan dari Tx pada arah gerak AGV,

adapun jarak optimal antara bagian pemantul dan sensor anatar 3-5 mm. Bagian Sensor Rx yang

menerima cahaya dari pantulan warna putih dari Tx akan mengeluarkan sinyal Logic “1”, sebaliknya

Rx akan memberikan logic “0” bila cahaya dari Tx dipantulkan oleh warna hitam (terserap).

Gambar 16. Prinsip Kerja Sensor Pendeteksi Garis

AGV line follower yang yang paling dasar adalah AGV line follower yang tanpa menggunakan

PID kontrol dalam sistem pengaturannya, jadi hanya mengandalkan akurasi dari pembacaan

sensor dan gerak dari motor yang dikendalikan oleh motor driver. Model tersebut bisa

digambarkan pada gambar dibawah ini, yaitu bila AGV hanya menggunakan 2 buah sensor

garis. Saat AGV berada di posisi tengah artinya ke dua buah sensor mendapatkan logic “1”

maka mikrokontroler memerintahkan driver motor dengan nilai yang sama sehingga

Page 22: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

15

diharapkan putaran motor sama sehingga didapatkan gerak maju lurus. Namun apabila salah

satu mendapatkan logic “0” dan yang lain logic “1” maka mikrokontroler untuk memberikan

nilai berbeda ke driver motor yang selanjutnya motor akan merespon dengan putaran yang

berbeda untuk melakukan AGV gerak berbelok menuju kearah yang benar agar didapat kedua

sensor berlogic “1”.

Gambar 17. Cara Kerja Kendali Dasar AGV Line Follower non-PID

Model AGV line follower yang lain yaitu AGV line follower yang tetap tidak menggunakan

kontrol PID, jadi hanya menggunakan pembacaan 8 sensor garis dan arah gerak motor driver.

Untuk prinsip kerja dari AGV line follower basic level 8 sensor garis, yaitu seperti gambar

berikut.

Gambar 18. Pemetaan Sensor Garis untuk Line Follwer

Page 23: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

16

Gambar diatas adalah pemetaan sensor garis, dimana sensor diarea “BELOK KIRI” maksudnya

yaitu jika sensor-sensor yang berwarna merah mendeteksi track hitam maka sensor akan

memerintahkan motor driver untuk berbelok kearah kiri. Begitu pula jika sensor-sensor yang

berwarna biru diarea “BELOK KANAN” mendeteksi track hitam maka sensor akan

memerintahkan motor driver untuk berbelok kearah kanan. Untuk sensor diarea “LURUS”

artinya track yang terbaca oleh sensor hitam adalah track lurus yang ditandai dengan

aktifnya dua sensor warna hitam yang berada dibagian tengah, ini memerintahkan driver

untuk gerak lurus yaitu kecepatan motor sama. AGV line follower jenis ini pergerakannya

pada track masih kasar, tidak mulus saat membelok atau menikung, namun jika

yang menggunakan PID akan berjalan mulus seperti kereta api yang berjalan pada tracknya,

saat menikung pun akan terlihat lebih halus dari pada yang tidak menggunakan PID.

2. Aktuator perperan sebagai output merupakan elektromekanik yang memiliki daya gerak, dalam

pembuatan suatu AGV pastilah kita menggunakan aktuator, karena memang aktuator inilah yang

menggerakkan AGV tersebut. Pada umumnya aktuator yang digunakan adalah motor DC magnet

permanen dan biasanya menambahkan gear box. Gear Box tersebut berfungsi sebagai pereduksi

putaran atau rotate per minute (rpm) dari motor dan juga berfungsi menghasilkan kekutan putar

(torsi) yang lebih besar. Perlu diketahui bahwa sebuah AGV tidak hanya memerlukan kecepatam

motor yang tinggi, tetapi juga torsi yang besar. Untuk model AGV tertentu kecepatan motor bahkan

tidak diperlukan, namun lebih diperlukan kemampuan torsi yang besar.

3. Kontroller, bagian ini sebagai pengendali utama (main controller), yaitu mengolah masukkan dari

rangkaian sensor untuk dilakukan operasi program yang selanjutnya memberikan respon ke rangkaian

keluaran pada driver actuator yang selanjutkan akan menggerakkan motor. Secara garis besar cara

kerja kendali AGV line follower dapat digambarkan dalam blok berikut :

Gambar 19. Diagram Blok Kendali AGV Line Follower

Page 24: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

17

3.2. Konsep Kendali PID (Proportional-Integral–Derivative)

Pada AGV line follower memiliki beberapa tingkatan level, yaitu level basic dan level

professional atau advance, untuk yang basic yaitu AGV hanya mengandalkan sensor dan

motor driver seperti yang sudah dijelaskan diatas, namun jika level advance atau professional

tidak hanya mengandalkan pembacaan sensor dan motor drive namun juga membutuhkan

rumus agar AGV dapat berjalan stabil dan mulus saat di lintasan, agar lebih jelas berikut

adalah penjelasan prinsip kerja masing-masing level dalam AGV line follower. AGV line

follower yang advance level yaitu AGV line follower yang menggunakan PID kontrol sebagai

pengontrol untuk jalannya AGV. PID adalah Proportional, Integral dan Derivative, secara

sederhana maksud dari Proportional yaitu untuk memperbaiki respon transien, Integral

digunakan untuk menghilangkan error steady state, dan Derivative digunakan untuk

memberikan efek redaman, ketiga faktor tersebut sangatlah penting untuk terciptanya

suatu sistem yang sempurna, baik untuk jalannya AGV saat lurus, mundur atau

berbelok. Kombinasi yang bisa digunakan untuk sebagai sistem kontrol yaitu PI, PD dan

PID, selain dari itu, tidak diperkenankan untuk digunakan karena akan menimbulkan efek

yang tidak diinginkan.

PID merupakan kontroler mekanisme umpan balik yang biasanya dipakai pada sistem kontrol

industri. Sebuah kontroler PID secara kontinyu menghitung nilai kesalahan sebagai beda

antara setpoint yang diinginkan dan variabel proses terukur pada feedback value. Kontroler

mencoba untuk meminimalkan nilai kesalahan setiap waktu dengan penyetelan variabel

kontrol ke nilai baru yang ditentukan oleh formula PID.

Gambar 20. Blok Diagram Kendali PID

Page 25: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

18

Definisi-definisi PID

Dalam Kontrol PID ada beberapa istilah-istilah yang digunakan. Berikut adalah istilah-istilah

yang digunakan pada kendali AGV Line follower:

a) Target Position (set-point) adalah untuk mengikuti garis, posisi ini adalah garis tengah.

Di mana akan merepresentasikannya dengan nilai nol.

b) Measured Position (feedback value) adalah seberapa jauh ke kiri atau ke kanan

terhadap garis. Nilai ini dapat negatif atau positif untuk merepresentasikan posisi

relatif terhadap garis.

c) Error adalah perbedaan antara target position dan measured position.

d) Proportional adalah mengukur berapa jauh AGV keluar dari garis. ProPortional

merupakan dasar untuk membaca posisi AGV dengan menggunakan sensor. Semakin

banyak sensor yang terpasang semakin banyak data, maka akan semakin akurat AGV

dapat mengukur posisi AGV di atas garis.

e) Integral adalah mengukur akumulasi error terhadap waktu. Nilai integral naik ketika

AGV tidak berada di tengah garis. Semakin lama AGV tidak berada di tengah garis,

semakin tinggi nilai integral.

f) Derivative adalah mengukur seberapa sering AGV bergerak dari kiri ke kanan atau dari

kanan ke kiri.

g) Faktor P = Kp, adalah konstanta yang digunakan untuk memperbesar dan memperkecil

pengaruh dari ProPortional.

h) Faktor I = Ki, adalah konstanta yang digunakan untuk memperbesar dan memperkecil

pengaruh dari Integral.

i) Faktor D = Kd, adalah konstanta yang digunakan untuk memperbesar dan

memperkecil pengaruh dari Derivative.

Keluaran kendali Proposional (P) memiliki hubungan yang proporsional (seimbang) dengan

error (deviasi). Jika Kp di-set tinggi, tanggapannya cepat, tetapi jika terlalu tinggi sistem

menjadi tidak stabil.

Kendali Integral (I) untuk mengoreksi keluaran dengan mengintegralkan error. Dalam kasus

penyetelan (adjustment) kendali P, error yang besar akan menghasilkan penyetelan keluaran

besar, jika error kecil penyetelan keluaran akan kecil juga. Namun error tidak dapat dibuat

nol, kinerja integral mengkonpensasi masalah ini. Koreksi integral dilakukan dengan

mengakumulasi error disetiap pembacaan PV, sehingga akhirnya deviasi nol. Tidak seperti

Page 26: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

19

kendali P, kendali I jarang digunakan sendirian melainkan dikombinasikan dengan dengan

kendali Proporsional atau dengan kendali Proposional Derivative.

Kendali Derivative (D) akan bekerja pada saat peralihan, jika tidak ada perubahan error maka

keluaran kendali nol. Kendali D memiliki aksi meredam sehingga memperbaiki lonjakan, pada

keluaran kendali Derivatif (D) akan proporsional terhadap laju (rate) perubahan error. Seperti

kendali I, kendali D akan dikombinasikan dengan kendali Proporsional atau dengan kendali

Proposional Integral.

Gambar 21. Sinyal Tanggapan Kendali PID

Keluaran sinyal kendali PID dirumuskan:

u(t) = KP · e(t) + KI ·∫e(t)dt + KD · de(t)/dt

Dalam persamaan waktu diskrit maka keluaran sinyal kendali dirumuskan:

PID = Kp · e(k) + Ki · [e(k-1) + e(k)] · Ts + Kd · [e(k) - e(k-1)] / Ts

dimana;

PID = Sinyal keluaran kendali

Kp = Gain proporsional, parameter tuning

Ki = Gain Integral, parameter tuning

Kd = Gain Derivatif, parameter tuning

Ts = waktu cuplik (sampling time)

e(k) = Error (Sp – PV)

e(k-1) = Last Error

Sp = Setpoint

PV = Variabel proses (bobot sensor pembacaan)

Page 27: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

20

Dengan Kp, Ki, and Kd, semuanya positif, menandakan koefisien untuk Proporsional, Integral,

dan Derivatif, secara berurutan, pada model ini:

Proporsional (P) bertanggung jawab untuk nilai kesalahan saat ini. Contohnya, jika nilai

kesalahan besar dan positif, maka keluaran kontrol juga besar dan positif.

Integral (I) bertanggung jawab untuk nilai kesalahan sebelumnya. Contoh, jika keluaran saat

ini kurang besar, maka kesalahan akan terakumulasi terus menerus, dan kontroler akan

merespon dengan keluaran lebih tinggi.

Derivatif (D) bertanggung jawab untuk kemungkinan nilai kesalahan mendatang, berdasarkan

pada rate perubahan tiap waktu.

Karena kontroler PID hanya mengandalkan variabel proses terukur, bukan pengetahuan

mengenai prosesnya, maka dapat secara luas digunakan. Dengan penyesuaian (tuning) ketiga

parameter model, kontroler PID dapat memenuhi kebutuhan proses. Respon kontroler dapat

dijelaskan dengan bagaimana responnya terhadap kesalahan, besarnya overshoot dari

setpoint, dan derajat osilasi sistem. penggunaan algoritme PID tidak menjamin kontrol sistem

akan optimum atau stabil. Beberapa aplikasi mungkin hanya menggunakan satu atau dua

term untuk memberikan kontrol sistem yang sesuai. Hal ini dapat dicapai dengan mengontrol

parameter yang lain menjadi nol. Kontroler PID dapat menjadi kontroler PI, PD, P atau I

tergantung aksi apa yang digunakan. Kontroler PI biasanya adalah kontroler paling umum.

Berikut ada beberapa kondisi keluaran dengan menggunakan simulasi system kendali :

a. Kontroler Proportional

Persamaan matematis =

Gambar 22. Blok Diagram Kendali Proposional

Page 28: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

21

Gambar 23. Sinyal Tanggapan Kendali Proposional

b. Kontroler Integral

Persamaan matematis :

Gambar 24. Blok Diagram Kendali Integral

Gambar 25. Sinyal Tanggapan Kendali Integral

Page 29: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

22

Gambar 26. Sinyal Tanggapan Kendali Integral

c. Kontroler Derivative

Fungsi dari kontroler derivative yaitu;

1. Memberikan efek redaman pada sistem yang berosilasi

2. Memperbaiki respon transien, karena memberikan aksi saat ada perubahan error

3. D hanya berubah saat ada perubahan error, sehingga saat ada error statis D

tidak beraksi.

Persamaan matematis :

Gambar 27. Blok Diagram Kendali Derivative

Page 30: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

23

Gambar 28. Sinyal Tanggapan Kendali Derivative

Prinsip Kendali PID pada AGV Line Follower dengan berbagai persamaan matematis diatas

bisa dijelaskan lebih lanjut sebagai berikut, nilai Proporsional (P) kira-kira akan sebanding

dengan posisi AGV terhadap garis. Artinya, jika AGV tepat di tengah garis maka nilai

proporsional tepat 0. Nilai integral mencatat sejarah gerakan AGV, hal ini merupakan jumlah

dari semua nilai proporsional yang dicatat sejak AGV mulai berjalan. Derivatif adalah tingkat

perubahan nilai proporsional. Nilai P.I.D adalah ukuran kesalahan yang ditemui ketika AGV

mengikuti garis. Adapun nilai Kp, Ki dan Kd adalah konstanta proporsional, integral, dan

derivatif sebagai parameter yang kemudian dikalikan dengan kesalahan untuk menyesuaikan

posisi AGV.

d. Menetukan Parameter Nilai Konstanta Kontroler P I D

Untuk menemukan nilai parameter PID: nilai Kp, Ki dan Kd, harus melakukan ujicoba dengan

mengvariasikan nilai ke-3 parameter tersebut, sehingga didapat pergerakan yang baik/stabil

pada segala kondisi. Karena nilai konstanta tersebut akan berbeda-beda pada unit AGV dan

ukuran line yang berbeda. Nilai konstanta PID di masukan secara trial and error, sehingga

proses ini dilakukan dengan metode eksperimental nilai Kp, Ki dan Kd pada formula PID hingga

ditemukan hasil sistem yang stabil. Disarankan mulai dari pemberian nilai dasar pada Driver

Aktuator berupa nilai PWM yang rendah untuk mendapatkan kecepatan motor dasar yang

rendah. Kemudian masukkan nilai Kp dan Kd dengan nilai kecil. Kemudian beranjak kenilai

yang lebih besar dan untuk menghasilkan koreksi yang baik, perlu dikalikan dengan konstanta

yang lebih besar dan dengan demikian, nilai Kp biasannya akan lebih kecil dibandingkan

dengan nilai Kd. Bisa dilakukan dengan mulai hanya dengan Nilai Kp saja, dan kemudian ketika

mendapatkan gerakan yang baik, mulai menambahkan nilai Kd dan lakukan ujicoba tersebut

berulangkali untuk mendapatkan gerakan AGV yang halus dan baik pada segala kondisi

Page 31: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

24

lintasan. Demikian juga dalam menentukan nilai Ki seperti yang dilakukan pada proses

mencari nilai Kd. Secara singkat bisa dilakukan langkah-langkah cara untuk masukan Kp, Ki, Kd

kontrol PID pada AGV line follower adalah sebagai berikut:

1. Menggunakan kontrol proporsional terlebih dahulu, dengan mengabaikan konstanta

integratif dan derivatifnya, dengan memberikan nilai nol pada integratif dan derivatif.

2. Menambahkan terus konstanta proporsional maksimum hingga keadaan stabil namun

AGV masih akan berosilasi.

3. Untuk meredam osilasi, maka tambahkan konstanta derivatif dengan membagi dua nilai

proporsional, amati keadaan pergerakan AGV hingga stabil dan lebih responsif.

4. Jika sistem AGV telah stabil, kontrol integratif dapat menjadi opsional, dalam artian jika

ingin mencoba-coba tambahkan kontrol integratif tersebut, namun pemberian nilai

integratif yang tidak tepat dapat membuat pergerakan AGV menjadi tidak stabil.

5. Nilai set point kecepatan dan nilai batas bawah/atas memberikan acuan kecepatan AGV.

6. Nilai time sampling (waktu cuplik) juga mempengaruhi perhitungan PID, saat penggunaan

kontrol integratif dan derivatif.

3.3. Pemprograman P.I.D

Pada pemrograman AGV disini sebagai line follower, pada pelaksanaannya seringkali dijumpai

hasil dengan keadaan yang sangat kurang stabil dan membutuhkan program yang dapat

membantu AGV agar stabil pada saat mengikuti line, maka dari itu dibuatlah program PID

sebagai pembantu AGV menstabilkan diri dalam berjalan mengikuti line yang telah dibuat.

Formula PID akan mengolah bobot error yang diberikan oleh program pemetaan bobot sensor

dan akan menentukan hasil sinyal kendalinya sendiri sesuai dengan bobot sensor yang

terbaca. Program tracking line yaitu program untuk mengambil hasil pembacaan sensor

terhadap line dan program motor drive PID yaitu program yang digunakan untuk

mengendalikan kecepatan motor dengan acuan data hasil pembacaan sensor pada program

tracking line. Kestabilan pergerakan AGV dalam berjalan mengikuti line sangatlah penting

karena apabila pergerakan AGV tidak stabil, maka akan mempengaruhi pada segi keamanan

penggunaan AGV. Untuk mendapatkan kestabilan dalam pergerakan AGV mengikuti line,

diperlukan tuning kontrol PID. Tuning kontrol PID ini bertujuan untuk menentukan parameter

aksi kontrol Proporsional, Integratif, Derivatif pada AGV. Proses ini dapat dilakukan dengan

cara trial and error, seperti yang sudah dijelaskan diatas dalam menentukan nilai parameter

Page 32: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

25

Kp, Ki dan Kd. Keunggulan cara ini yaitu tidak perlu mengidentifikasi plant, membuat model

matematis plant, menentukan parameter plant dengan grafis ataupun analitis. Jika berbicara

kontrol AGV line follower dengan PID maka bukanlah kontrol PID yang sebenarnya sebab pada

AGV line follower elemen ukur (sensor) sebagai umpan balik (feedback) tidak terdapat pada

plant (motor penggerak) dari AGV, yang seharusnya adalah sensor terdapat di plant (motor

penggerak), dengan contoh tachometer atau encoder yang terletak pada motor. sedangkan

pada AGV line follower sensor berupa pendeteksi garis (tidak terletak pada plant) dan dari

hasil kondisi garis tersebut barulah dikontrol ke motor (plant), walaupun begitu kontrol PID

masih dapat diterapkan untuk mengendalikan AGV line follower. Berikut dijelaskan

penggunaaan istilah pada persamaan kendali PID yang akan digunakan.

1. SP = Set Point, merupakan suatu parameter nilai acuan atau nilai yang diinginkan.

2. PV = Present Value, nilai bobot pembacaan sensor saat itu atau variabel terukur yang

diumpan balikan oleh sensor sebagai sinyal feedback.

3. Error = nilai kesalahan, deviasi atau simpangan antar variabel terukur atau bobot sensor

(PV) dengan nilai acuan (SP), dimana nilai Error = SP – PV

4. Nilai Sekarang: Nilai saat ini yg merupakan pembacaan sensor sesaat.

Setelah memahami alur pengendalian PID, berikut ilustrasi pemberian bobot sensor (nilai

kesalahan pembacaan sensor) pada AGV yang akan dibuat:

Gambar 29. Ilustrasi Pemberian Bobot Sensor

Page 33: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

26

Gambar di atas merupakan ilustrasi pemberian bobot sensor di mana nilai dari boot sensor

tersebut berdasarkan posisi sensor membaca line yang telah ditentukan.

Proses pemberian bobot sensor dapat dilakukan dengan proses pemetaan

(mapping) pembacaan sensor terhadap line, berikut salah satu sampel proses mapping

sensor dengan jumlah sensor sebanyak 8 buah seperti pada gambar diatas :

0 0 1 1 1 1 1 1 >> (PV= +3)

1 0 0 1 1 1 1 1 >> (PV= +2)

1 1 0 0 1 1 1 1 >> (PV= +1)

1 1 1 0 0 1 1 1 >> (PV= 0)

1 1 1 1 0 0 1 1 >> (PV= -1)

1 1 1 1 1 0 0 1 >> (PV= -2)

1 1 1 1 1 1 0 0 >> (PV= -3)

Tabel 1. Pemetaan Bobot Sensor

Nilai “0” merepresentasikan sensor mengenai garis dan nilai “1” berarti diluar garis. Kondisi

ideal AGV terjadi saat kondisi AGV pada PV = 0 (ditunjukan diatas kondisi nilai sensor =

11100111). Jika PV tidak sama dengan 0 berarti AGV tidak berada pada kondisi ideal dan

artinya ada sinyal kesalahan (error). Pada kondisi error inilah formula PID akan menentukan

hasil perhitungan untuk memberikan sinyal kendali yang mengkondisikan nilai keluaran ke

masing-masing driver motor.

Untuk contoh aplikasi PID pada sensor AGV line follower yaitu seperti yang di ilustrasikan

pada gambar diatas, misal nilai awal PWM normal = 20 (base-speed). Maksud dari gambar

diatas yaitu terdapat kecepatan awal sebesar 20 yang mana kecepatan penuh dari driver

motor untuk memutarkan motor pada AGV, terdapat nilai 0 pada dua sensor yang terdapat

pada bagian tengah, artinya pada saat kedua sensor tengah ini aktif (PV= 0), motor driver

tidak mengurangi kecepatan pada PWM yang ada pada motor driver sehingga nilainya tetap

20 untuk PWM driver A demikian juga PWM B bernilai 20. Namun jika sensor yang kedua

aktif pada bagian kanan (PV= -1), maka terdapat nilai hasil perhitungan PID = -5 yang artinya

untuk PWM A bernilai 15 (20 – 5) dan PWM B tetap bernilai 20, ini mengakibatkan AGV akan

berbelok ke kanan sedikit karena kecepatan PWM A tidak sama dengan PWM B, selanjutnya

jika sensor ke tiga kanan yang aktif maka akan dikurangi dengan nilai -10 dari hasil

perhitungan PID, sehingga menghasilkan PWM A bernilai 10 (20-10) dan PWM B tetap 20,

Page 34: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

27

ini mengakibatkan AGV berbelok ke kanan lebih dalam, jika yang terkena itu adalah sensor

ke-empat kanan maka hasil perhitungan PID bernilai -20 maka nilai PWM A bernilai 0 (20-20)

dan PWM B bernilai 30, sehingga roda kanan akan berhenti karena PWM A = 0 dan roda kanan

akan berjalan karena nilainya tetap 20, ini mengakibatkan AGV berbelok tajam kearah kanan,

begitu pula prinsip kerja untuk sensor pada bagian kiri. Itulah penjelasan singkat mengenai

PID kontrol yang biasa digunakan sebagai penyempurna dari sebuah output sistem, sehingga

sistem dapat berjalan secara stabil dengan sedikit error dan kesalahan.

A. Perencanaan Program PID

Sebagai dasar pembuatan program PID ada beberapa tahapan yang bisa dimulai dengan penggunaan

perhitungan sederhana Proposional dan Derivative, yaitu melakukan :

Tugas pertama adalah menghitung kesalahan. Ini juga bisa disebut nilai proporsional yaitu

proporsional dengan posisi AGV terhadap garis. Sebagai contoh diatas bila kumpulan sensor

akan memberikan nilai maksimal hingga minimal adalah 0 – 128, maka didapat sebagai nilai

setpoint adalah 64. Perhitungan nilai Error = Nilai Setpoint - Nilai Sekarang = 64 – posisi.

Penempatan sensor tujuan adalah untuk mencapai keadaan kesalahan nol dalam persamaan

PID. Sensor yang memberikan pembacaan posisi 64 berarti AGV berada ditempat yang

ideal/tengah garis. Sehingga bila nilai pembacaan dimasukkan pada perhitungan diatas, akan

didapat nilai 0, yaitu Error = 64 - position = 64 - 64 = 0.

Tugas kedua adalah menentukan kecepatan motor dan arah yang disesuaikan.

int error = 64-position;

int motorSpeed = Kp * error + Kd * (error - lastError);

lastError = error;

int rightMotorSpeed = rightBaseSpeed + motorSpeed;

int leftMotorSpeed = leftBaseSpeed - motorSpeed;

Beberapa Jenis Kesalahan dalam Kendali PID

Kadang muncul kesalahan kecil di bagian persamaan PID bisa menjadi masalah besar. Sebagai

contoh, menggunakan persamaan error = 64 – posisi, ini berfungsi untuk pengikut garis

mengikuti garis putih pada latar belakang hitam. Jika garis yang dimiliki adalah garis hitam

pada latar belakang putih, mungkin perlu menggunakan persamaan error = position – 64. Hal

lain yang mungkin muncul adalah jika AGV berada pada posisi 128 yang berarti AGV berada

pada posisi paling kanan. Namun roda AGV masih terus berputar sehingga AGV terus bergerak

Page 35: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

28

kekanan, hal ini bisa dilakukan penyesuaian pada persamaan gerakan putaran motor.

Sehingga persamaan bisa ditambahkan persamaan lain pada PID untuk bisa mendapatkan

putaran roda yang benar dan sesuai kondisinya, seperti pada formula berikut

RightMotorSpeed = RightBaseSpeed + MotorSpeed; ( + might need to be changed to - )

LeftMotorSpeed = LeftBaseSpeed - MotorSpeed; ( - might need to be changed to + )

Pada pemetaan bobot sensor di atas terdapat kondisi pembacaan sensor yang ditunjukkan

dengan 8 bilangan biner di mana bilangan tersebut mewakili kondisi pembacaan sensor

terhadap line warna hitam. Kemudian terdapat kolom PV yang merupakan nilai bobot sensor

yang digunakan oleh program AGV untuk berjalan menggikuti line. Secara lengkap dan

bertahap dapat dituliskan program PID untuk gerakan AGV Line follower, sebagai berikut :

B. Kendali Proportional

Kondisi ideal pada AGV adalah bergerak maju lurus mengikuti garis, dengan kata lain PV = 0

(nilai sensor = 11100111). Dari sini dapat diasumsikan bahwa Set Point (SP) / kondisi ideal

adalah saat SP = 0. Dengan mengetahui besar error, mikrokontroler dapat memberikan nilai

PWM motor kiri dan kanan yang sesuai agar dapat menuju ke posisi ideal (SP = 0). Besarnya

nilai PWM ini dapat diperoleh dengan menggunakan kontrol Proporsional (P), di mana diawali

dengan perhitungan P = error x Kp (Kp adalah konstanta proporsional yang nilainya di set

sendiri dari hasil tuning).

Perhitungan Kontroler Proporsional

Sp_sensor = 0 ‘setpoint sensor

Error = Sp_sensor – PV ‘nilai error

P = Error*Kp ‘proporsional kontrol

Aplikasi kontrol proporsional pada PWM ialah sebagai berikut:

Pwm1 = Sp_kecepatan + P ‘motor kiri

Pwm2 = Sp_kecepatan – P ‘motor kanan

C. Kendali Derivatif

Jika pergerakan AGV masih terlihat bergelombang, dapat ditambahkan kontrol Derivatif (D).

Kontrol D digunakan untuk mengukur seberapa cepat AGV bergerak dari kiri ke kanan atau

dari kanan ke kiri. Semakin cepat bergerak dari satu sisi ke sisi lainnya, maka semakin besar

nilai D. Konstanta D (Kd) digunakan untuk menambah atau mengurangi imbas dari derivatif.

Page 36: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

29

Dengan mendapatkan nilai Kd yang tepat pergerakan sisi ke sisi yang bergelombang akibat

dari kontrol proporsional bisa diminimalisasi. Nilai D didapat dari D = Kd/Ts*rate, di mana Ts

ialah time sampling atau waktu cuplik. Adapun rate didapat dari error – last_error, dalam

program nilai error (SP – PV) dan error saat itu menjadi nilai last_error. Untuk menambahkan

kontrol D, program dimodifikasi menjadi:

Perhitungan Kontroler Proporsional + Derivatif

Sp_sensor = 0 ‘setpoint sensor

Error = Sp_sensor – Pv ‘nilai error

P = Kp * Error ‘proporsional kontrol

D1 = Kd * 10 ‘derivatif kontrol

D2 = D1 / Ts

D3 = Error – Last_error ‘rate

D = D2 * D3

Last_error = Error ‘error lampau

Pd = P + D ‘proporsional-derivatif kontrol

Aplikasi kontrol proporsional dan drivatif pada PWM ialah sebagai berikut:

Pwm1 = Sp_kecepatan + Pd ‘motor kiri

Pwm2 = Sp_kecepatan – Pd ‘motor kanan

D. Kendali Integral

Bila kendali P + D sudah membuat pergerakan AGV cukup smooth, maka penambahan

Integratif menjadi opsional. Jika ingin mencoba-coba bisa ditambahakan kendali Integratif (I).

I digunakan untuk mengakumulasi error dan mengetahui durasi error. Dengan

menjumlahkan error disetiap pembacaan PV akan memberikan akumulasi offset yang harus

diperbaiki sebelumnya. Saat AGV bergerak menjauhi garis, maka nilai error akan bertambah.

Semakin lama tidak mendapatkan SP, maka semakin besar nilai I. Dengan mendapatkan nilai

Ki yang tepat, imbas dari Integratif bisa dikurangi. Nilai akumulasi error = error + last_error.

Untuk menambahkan kontrol I, maka program di modifikasi menjadi:

Perhitungan Kontroler Proporsional + Integratif + Derivatif

Sp_sensor = 0 ‘setpoint sensor

Error = Sp_sensor – Pv ‘nilai error

P = Kp * Error ‘proporsional kontrol

D1 = Kd * 10 ‘derivatif kontrol

D2 = D1 / Ts

D3 = Error – Last_error ‘rate

Page 37: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

30

D = D2 * D3

I1 = Ki / 10 ‘integratif kontrol

I2 = Error + Last_error ‘akumulasi error

I3 = I1 * I2

I = I3 * Ts

Last_error = Error ‘error lampau

Pd = P + D ‘proporsional-derivatif kontrol

Pid = Pd+I ‘proporsional-integratif-derivatif

Aplikasi kontrol proporsional, integratif dan drivatif pada PWM ialah sebagai

berikut:

Pwm1 = Sp_kecepatan + Pid ‘motor kiri

Pwm2 = Sp_kecepatan – Pid ‘motor kanan

E. Berikut flowchart perancangan program AGV

Gambar 30. Flowchart perancangan program AGV

Page 38: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

31

Saat mengaktifkan tombol ON pada AGV, maka AGV akan langsung mendeteksi jalur yang

terbaca pada sensor yang digunakan sebagai pemandu AGV dalam melakukan pergerakan,

sensor akan mengirimkan logika 0 pada pin alamat masing-masing sensor dan pergerakan

driver AGV akan mengikuti jalur yang ada. AGV dapat menentukan suatu pilihan jalur yaitu

akan berbelok kekanan atau kekiri serta pilihan lurus bila menemui jalur perempatan. Untuk

menghentikannya cukup dengan menekan tombol stop.

Page 39: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

32

Bab 4. Metode Reroute AGV

Jika ke delapan sensor tersebut pada contoh di atas semuanya tidak aktif (11111111), maka

dapat diperkirakan AGV tersebut berada di luar lintasan, dikarenakan tidak adanya satu

sensorpun yang aktif. Biasanya untuk permasalahan seperti ini, AGV diprogram untuk

berjalan mundur sampai salah satu sensor aktif, jadi AGV dapat berada dalam lintasan

kembali, untuk meneruskan perjalanan. Namun yang kami jelaskan dibawah ini adalah

metode kembali ke lintasan (Reroute) dengan menggunakan menggunakan memori data

sensor aktif terakhir yang terbaca untuk digunakan pengambilan keputusan mikrokontroler

melakukan putaran parabolik.

Ganbar 31. Model Reroute AGV belok kanan

Pada gambar 31 diatas, memperlihatkan adanya pergerakan AGV yang seharusnya belok ke

kanan namun yang terjadi adalah AGV berjalan lurus. Kesalahan ini bisa terjadi karena

kecepatan motor yang terlalu tinggi dan tidak bisa direspon oleh mikrokontroler untuk

Page 40: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

33

memerintahkan belok ke kanan, atau sebab lain. Untuk mengatasi hal tersebut kita harus

memberikan dulu tanda atau pemetaan sensor yang digunakan. Seperti pada gambar di

bawah ini terdapat 8 sensor dengan identitas sebagai berikut :

Gambar 32. Sensor Line Follower

Barisan atas pada sensor adalah bagian penerima (Receiver/Rx), dan barisan bawah adalah

bagian pengirim (Transmiter/Tx).

Sensor berwarna merah no 1, 2, 3 adalah sensor yang bertugas untuk memberikan respon

agar AGV berbelok ke kiri apabila dia mendeteksi garis.

Sensor berwarna hitan no 4 dan 5 adalah sensor yang bertugas untuk memberikan respon

agar AGV lurus apabila dia mendeteksi garis.

Sensor berwarna biru no 6 , 7, 8 adalah sensor yang bertugas untuk memberikan respon

agar AGV berbelok ke kanan apabila dia mendeteksi garis.

Pada saat AGV mengalami kesalahan jalur seperti pada gambar 31 diatas maka dapat dibuat

siklus pergerakan sensor secara tahap per tahap seperti gambar 33 dibawah ini. Pada saat

posisi S1 maka AGV masih dalam jalur dan pada posisi S2 adalah posisi terakhir sensor

mengenai jalur/line, adapun yang terakhir mendeteksi jalur adalah sensor no 8. Seharusnya

AGV adalah belok ke kanan namun AGV tetap melakukan gerakan lurus dan pada posisi S3

akhirnya AGV dalam kondisi keluar jarus dimana seluruh sensor tidak ada yang mendeteksi

jalur. Maka apabila hal tersebut terjadi program mikrokontroler melakukan proses

mengambil data sensor terakhir yang dibaca, dalam hal ini adalah sensor biru no 8.

Selanjutnya AGV akan diperintahkan untuk melakukan pergerakan membelok ke arah kanan

mengikuti grafik parabolik hingga sensor no 8 menemukan jalur dan AGV akan berbelok ke

kiri untuk melanjutkan perjalanan.

Page 41: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

34

Gambar 33. Siklus Reroute ke kanan

Pada kasus yang lain adalah saat AGV mengalami kesalahan jalur seperti pada gambar 34

dibawah, maka dapat dibuat siklus pergerakan sensor secara tahap per tahap seperti gambar

35. Pada saat posisi S1 maka AGV masih dalam jalur dan pada posisi S2 adalah posisi terakhir

sensor mengenai jalur/line, adapun yang terakhir mendeteksi jalur adalah sensor no 1.

Seharusnya AGV adalah belok ke kiri namun AGV tetap melakukan gerakan lurus dan pada

posisi S3 akhirnya AGV dalam kondisi keluar jarus dimana seluruh sensor tidak ada yang

mendeteksi jalur. Maka apabila hal tersebut terjadi program mikrokontroler melakukan

proses mengambil data sensor terakhir yang dibaca, dalam hal ini adalah sensor biru no 1.

Selanjutnya AGV akan diperintahkan untuk melakukan pergerakan membelok ke arah kiri

mengikuti grafik parabolik hingga sensor no 1 menemukan jalur dan AGV akan berbelok ke

kanan untuk melanjutkan perjalanan.

Page 42: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

35

Gambar 34. Model Reroute AGV belok kiri

Gambar 35. Siklus Reroute ke kanan

Page 43: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

36

Pada Gambar 36 dibawah, memberikan gambaran pergerakan AGV yang seharusnya adalah lurus,

namun melakukan penyimpangan kearah kanan sehingga keluar jalur dan mengakibatkan seluruh

sensor tidak dapat mendeteksi jalur. Maka pada Gambar 36 yang berada disampingnya adalah gambar

siklus tahap per tahap bagaimana AGV melakukan Reroute untuk kembali ke jalur perjalanannya. Yaitu

pada saat posisi di S2 terlihat bahwa AGV terakhir mendeteksi jalur dengan sensor no 1, maka ketika

AGV meninggalkan jalur kearah kanan posisi S3, maka mikrokontroler memberikan perintah ke AGV

untuk melakukan pergerakan belok kearah kiri secara parabolic. Gerakan belok ini hingga sensor no

1 kembali mendeteksi jalur, yang selanjutnya AGV merubah gerakan untuk belok kiri dan melanjutkan

perjalanan.

Gambar 36. Gerak lurus AGV melakukan Reroute arah kanan.

Page 44: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

37

Pada Gambar 37 berikutnya adalah memberikan gambaran sebaliknya dari gambar 36 diatas yaitu

pergerakan AGV yang seharusnya adalah lurus, namun melakukan penyimpangan kearah kiri sehingga

keluar jalur dan mengakibatkan seluruh sensor tidak dapat mendeteksi jalur. Maka pada Gambar 37

yang berada disampingnya adalah gambar siklus tahap per tahap bagaimana AGV melakukan Reroute

untuk kembali ke jalur perjalanannya. Yaitu posisi S1 AGV masih berada posisi yang benar, namun

pada saat posisi di S2 terlihat bahwa AGV mulai mengalami penyimpangan dan terakhir mendeteksi

jalur dengan sensor no 8. Maka ketika AGV meninggalkan jalur kearah kiri posisi S3, mikrokontroler

memberikan perintah ke AGV untuk melakukan pergerakan belok kearah kanan secara parabolic.

Gerakan belok ini hingga sensor no 8 kembali mendeteksi jalur, yang selanjutnya AGV merubah

gerakan untuk belok kanan dan melanjutkan perjalanan.

Gambar 37. Gerak lurus AGV melakukan Reroute arah kiri.

Reroute selanjutnya seperti terlihat pada Gambar 38, adalah apabila terjadi penyimpangan gerakan

AGV hingga keluar jalur yang sudah terlalu jauh sehingga langkah Reroute tahap 1 dengan melakukan

sekali rotasi ini gagal, yaitu sensor belum bisa menemukan jalur. Hal ini bisa disebabkan karena

Gerakan AGV yang terlalu cepat sehingga pada saat meninggalkan jalurpun terlalu jauh. Untuk hal itu,

Page 45: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

38

mikrokontroler perlu melakukan Reroute tahap 2 dimana gerakan rotasi kedua ini menggunakan

diameter jalur rotasi yang lebih lebar. Pada kasus ini akan menjadi mudah bila AGV mengfusikan

encoder pada motornya sehingga feedback untuk mengetahui apakah AGV sudah melakukan satu

rotasi atau belum akan lebih presisi. Dan untuk mulai melakukan Gerakan menambah diameter rotasi,

seperti pada Gerakan dari P7 ke P8 adalah dengan menambah nilai 5% PWM pada driver motor

sebelah kiri, adapun nilai PWM pada driver motor sebelah kanan tetap. Sehingga bila sudah

mendeteksi jalur Kembali pada P11, maka AGV akan berbelok kearah kanan.

Gambar 38. Model AGV melakukan 2 tahap Reroute

Page 46: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

39

Bab 5. Konsep Pembuatan AGV

5.1. Pembuatan Rangkaian Elektrik AGV

Pembuatan rangkaian elektrik pada AGV ini digunakan Arduino sebagai piranti proses yang

akan mengolah data pembacaan dari sensor TCRT5000 sebagai mengatur gerakan dan

kecepatan motor melalui driver motor. Penjelasan masing-masing komponen elektrik AGV

Line Follower, dapat dijelaskan sebagai berikut :

A. Mikrokontroler

Mikrokontroler yang berperan sebagai “otak” pengendali AGV ini menggunakan Arduino

Mega 2560 dan yang kami gunakan dan saat ini tersedia tidak lagi menggunakan chip FTDI

untuk fungsi USB to Serial Converter seperti pada chip ATmega8u2 pada Ver 1 dan Ver 2,

melainkan menggunakan chip ATmega16u2 pada Ver 3. Secara fisik, ukuran Arduino Mega

2560 kurang lebih 2 kali lebih besar dari Arduino Uno, ini untuk mengakomodasi lebih

banyaknya pin Digital dan Analog pada board Arduino Mega 2560 tersebut. Arduino Mega

2560 mempunyai 4 port serial. Ukuran Flash Memory yang lebih besar kapasitasnya

memungkinkan pembuatan program yang dibuat hingga sebesar 256KB. Pengembangan

mikrokontroller Arduino Mega 2560 dapat digunakan pada aplikasi Arduino IDE. Aplikasi IDE

itu merupakan kependekan dari Integrated Developtment Enviroenment. Arduino

menggunakan bahasa pemrograman sendiri yang menyerupai bahasa C. Arduino IDE dibuat

dari bahasa pemrograman JAVA. Arduino IDE juga dilengkapi dengan library C/C++ yang biasa

disebut wiring yang membuat operasi input dan output menjadi lebih mudah. Arduino IDE ini

dikembangkan dari software Processing yang dirombak menjadi Arduino IDE khusus untuk

pemrograman dengan Arduino.

Page 47: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

40

Gambar 39. Mikrokontroler Arduino Mega

B. MotorDC

Motor listrik DC ini bertugas untuk menggerakkan AGV kearah yang telah ditentukan oleh

mikrokontroler. Kebutuhan gaya untuk menggerakkan AGV harus disesuaikan dengan torsi

motor DC yang digunakan, sebab apabila tidak sesuai maka AGV tidak dapat bergerak atau

sebaliknya akan menjadi overspec yang berujung tidak efisien. Saat ini berkembang motor DC

dengan jenis Planetary gearbox, bahkan sudah dilengkapi dengan sensor putaran berupa

encoder.

Gambar 40. Motor Planetary Gearbox

Page 48: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

41

C. Driver Motor

Driver motor merupakan rangkaian yang menghubungkan mikrokontroller dengan motor.

Driver motor berfungsi sebagai piranti yang bertugas untuk menjalankan motor baik

mengatur arah putaran motor maupun kecepatan putar motor, dengan memisahkan catu

daya antara mikrokontroller dan motor. Hal ini perlu dipisahkan karena arus serta tegangan

yang dikeluarkan oleh mikrokontroller tidak bisa memenuhi kebutuhan motor. Salah satu

jenis driver motor adalah : Driver H-Bridge, Driver type H digunakan untuk mengontrol

putaran motor yang dapat diatur arah putarannya CW (searah jarum jam) maupun CCW

(berlawanan jarum jam). Adapun untuk mengatur kecepatan putaran motor adalah dengan

mengatur besaran nilai tegangan input driver atau dengan mengatur nilai-nilai PWM (Pulse

Width Modulation), yaitu mengatur duty cycle dari pulsa yang diberikan. Untuk pengendalian

motor DC dengan metode PWM pada rangkaian driver motor DC H-bridge ini kecepatan

putaran motor DC dapat dihasilkan pengendalian dengan baik. Apabila menggunakan metode

logika TTL “0” dan “1”, maka rangkaian ini hanya dapat mengendalikan arah putaran motor

DC saja dengan kecepatan putaran motor DC maksimum. Rangkaian driver motor DC H-Bridge

ini menggunakan rangkaian jembatan power driver berupa transistor 4 unit semua berjenis

NPN atau dengan susunan bisa 2 jenis NPN dan 2 buah jenis PNP. Untuk lebih aman rangkaian

dilengkapi dengan proteksi impuls tegangan induksi motor DC berupa dioda yang dipasang

paralel dengan masing-masing transistor secara reverse bias.

Gambar 41. Rangkaian Driver H-Bridge

Page 49: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

42

Gambar 42. Driver Single Motor BTS 7960

D. Sensor

Sensor yang digunakan pada AGV Line Follower adalah sensor garis. Type Sensor garis dengan

seri TCRT5000 adalah sensor reflektif atau pantulan yang dibuat dengan sebuah Infrared

sebagai pemancar (Tx) dan foto transistor sebagai penerima (Rx). Prinsip sensor TCRT5000

adalah mendeteksi warna berdasarkan penyerapan warna dan intensitas pematulan sinar

infra merah yang dipancarkan oleh transmiter (IR led) dan diterima oleh receiver (foto

transistor). Dari perbedaan identitas tersebut digunakan sebagai bias pada basis foto

transistor yang terkandung didalam sensor TCRT5000. Sensor TCRT5000 sering digunakan

untuk membaca benda dengan memanfaatkan pantulan cahaya, ketika pantulan cahaya

infrared dinilai kurang atau tidak ada (pada objek berwarna gelap atau hitam), foto transistor

tidak aktif dan terminal output dari modul akan memberikan nilai HIGH. Jika terdapat

pantulan cahaya yang dinilai memadai (pada permukaan terang atau putih) maka intensitas

cahaya yang dipantulkan dan diterima oleh foto transistor menjadi cukup besar untuk berada

dalam kondisi nyala dan terminal output pada modul akan memberikan nilai LOW (indikator

led akan menyala).

Gambar 43. Sensor garis/jalur TCRT5000

Page 50: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

43

E. Baterai

Baterai adalah perangkat yang mengandung sel listrik didalamnya dan dapat menyimpan

energi yang dapat dikonversi menjadi daya. Baterai berfungsi sebagai sumber tenaga listrik.

Baterai yang digunakan pada AGV menggunakan baterai Lithium Polymer (Li-Po) 6S (22,2 V)

berkapasitas 5000 mAh. Baterai Lithium Polymer (Li-Po) tidak menggunakan cairan sebagai

elektrolit melainkan menggunakan elektrolit polimer kering yang berbentuk seperti lapisan

film tipis, disusun berlapis-lapis diantara anoda dan katoda yang mengakibatkan pertukaran

ion. Metode seperti ini membuat baterai Li-Po dapat dibuat berbagai bentuk dan ukuran.

Gambar 44. Baterai LiPo

F. Konverter DC-DC Step Up/Down Voltage

Gambar 45. Konverter DC-DC Step Up/Down

Modul konventer DC ke DC (DC-DC Converter) ini menggunakan IC LM2596S yang merupakan

Integrated Circuit (IC) untuk mengubah tingkatan tegangan (voltage level) arus searah / Direct

Page 51: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

44

Curent (DC) menjadi lebih rendah dibanding tegangan masukannya. Pengubah daya DC-DC (DC-

DC Converter) tipe peralihan atau dikenal juga dengan sebutan DC Chopper dimanfaatkan terutama

untuk penyediaan tegangan keluaran DC yang bervariasi besarannya sesuai dengan permintaan pada

beban. Daya masukan dari proses DC-DC tersebut adalah berasal dari sumber daya DC yang biasanya

memiliki tegangan masukan yang tetap. Secara umum ada dua fungsi pengoperasian dari DC Chopper

yaitu penaikan tegangan dimana tegangan keluaran yang dihasilkan lebih tinggi dari tegangan

masukan, dan penurunan tegangan dimana tegangan keluaran lebih rendah dari tegangan masukan.

Komponen yang digunakan untuk menjalankan fungsi penghubung tersebut tidak lain adalah switch

(solid state electronic switch) seperti misalnya Thyristor, MOSFET, IGBT, GTO.

5.2. Wiring Diagram Kontroler AGV Line Follower 2 Roda Penggerak.

Gambar 46. Diagram Pengkabelan Rangkaian Daya AGV

Page 52: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

45

Gambar 47. Diagram Pengkabelan Rangkaian I/O Mikrokontroler

Page 53: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

46

Bab 6. PENUTUP

Kesimpulan

1. Automatic Guided Vehicle (AGV) berbasis Line Follower adalah AGV dengan navigasi

berupa garis/line sebagai jalur, baik gerakan lurus dan berbelok serta mampu bekerja

sesuai dengan rencana yang dibuat diawal desain. Dalam hal diatas menggunakan

garis yang berbeda warna secara kontras antara jalur (hitam) dan diluar jalur

(terang/putih).

2. Untuk menghasilkan pengedalian pergerakan AGV yang stabil dan presisi terhadap

garis/line jalur adalah menggunakan Kendali Proposional Integral Derivative (PID

Control).

3. Ada dua jenis Roda Penggerak yaitu 2 roda dan 4 roda yang bisa sekaligus sebagai

steering AGV.

4. Metode Reroute adalah salah satu cara untuk mengembalikan penyimpangan

pergerakan AGV yang tidak sesuai dengan rute yang telah ditentukan di awal desain.

Page 54: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

47

DAFTAR PUSTAKA

[1] Ogata, Katsuhiko. 1997. Teknik Kontrol Automatik Jilid 1. Jakarta: Penerbit Erlangga

[2] Pakdaman,M.Sanaatiyan,M.M.,"Design and Implementation of Line Follower Robot,", Second

International Conference on Computer and Electrical Engineering TCCEE '09, vol.2, pp.585590,

Dec.2009.

[3] https://en.wikipedia.org/wiki/PID_controller

[4] http://ctms.engin.umich.edu/CTMS/index.php?example=Introduction&section=ControlPID

[5] https://www.researchgate.net/figure/Vehicle-motion-according-to-the-direction-and-angular-

speed-of-the-wheels-6_fig4_233867057/download

[6] https://www.researchgate.net/figure/H-Bridge-motor-drive-circuit-for-one-DC-motor-The-

infrared-communication-module-is_fig3_221915427

[7] https://circuitdigest.com/microcontroller-projects/line-follower-robot-using-arduino

[8] https://easyeda.com/GATSAN/DIY_Line_Follower_Robot-8fc88c7a7021462eb5941adca1d404f1

[9] https://tutorial.cytron.io/2015/07/31/line-following-robot-using-lsa08-digital-mode/

[10] https://www.elektroindonesia.com/elektro

Page 55: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

48

LAMPIRAN

Program Bascom AVR

Penjelasan di bagian ini akan diberikan program untuk pembuatan AGV line follower basik

untuk 2 roda penggerak dan 4 roda penggerak, sehingga akan menemukan perbedaan yang

jelas antara keduanya, disarankan untuk diawali pembuatan AGV line follower yang 2 roda

untuk menghindari kerumitan dan ketidakpahaman akan program PID dan alur eksekusinya.

/*****************************************************************

PROGRAM UTAMA AGV 2 WHEEL

*****************************************************************/

//MOTOR 1

#define M1rpwm 2

#define M1lpwm 3

//MOTOR 2

#define M2rpwm 4

#define M2lpwm 5

//kondisi awal pwm motor -------------------------------------------------------------------------------------------------

---------------------------------------------------------------------

int PWM_M1 = 0;

int PWM_M2 = 0;

//inisialisasi port tombol ----------------------------------------------------------------------------------------------------

------------------------------------------------------------------

const int Start = 20;

const int Stop = 21;

//Inisialisasi INDIKATOR -----------------------------------------------------------------------------------------------------

------------------------------------------------------------------

const int onn = 6; //robot jalan

const int off = 7; //robot stop

Page 56: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

49

//inisIalisasi obstacle sensor ------------------------------------------------------------------------------------------------

----------------------------------------------------------------------

const int obstacle_1 = 16; //tx2

//inisialisasi pin sensor -------------------------------------------------------------------------------------------------------

---------------------------------------------------------------

const int sensor7 = 23;

const int sensor6 = 25;

const int sensor5 = 27;

const int sensor4 = 29;

const int sensor3 = 31;

const int sensor2 = 33;

const int sensor1 = 35;

const int sensor8 = 37;

const int sensor15 = 39;

const int sensor14 = 41;

const int sensor13 = 43;

const int sensor12 = 45;

const int sensor11 = 47;

const int sensor10 = 49;

const int sensor9 = 51;

//inisialisasi value sensor ----------------------------------------------------------------------------------------------------

------------------------------------------------------------------

int PV1 = 0;

int PV2 = 0;

int PV3 = 0;

int PV4 = 0;

int PV5 = 0;

int PV6 = 0;

int PV7 = 0;

Page 57: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

50

int PV8 = 0;

int PV9 = 0;

int PV10 = 0;

int PV11 = 0;

int PV12 = 0;

int PV13 = 0;

int PV14 = 0;

int PV15 = 0;

//inisialisasi value sensor kiri kanan tengah ----------------------------------------------------------------------------

---------------------------------------------------------------------

int PVL = 0;

int PVR = 0;

//kondisi terakhir pembacaan sensor ------------------------------------------------------------------------------------

-----------------------------------------------------------------------

int LAST = 0;

//Inisialisasi PID ----------------------------------------------------------------------------------------------------------------

------------------------------------------------------------

unsigned long LAST_COMPUTE = millis();

unsigned long DT = 10;

float PV = 0;

float ERR = 0;

float ERR_LAST = 0;

float INTEGRAL = 0;

float DERIVATIVE = 0;

float KP = 15;

float KI = 0.15;

float KD = 10000;

int AGVON = 0;

int AGVON_last = 0;

Page 58: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

51

int MAX_PID = 8000;

int MAX_PWM = 255;

int MAX_KECEPATAN = 0;

int SPEED = 40;

int HITUNG_PID = 0;

int PID = 0;

int PID_M1 = 0;

int PID_M2 = 0;

int PID_LAST = 0;

int PID_START_MAX = MAX_PID;

int PID_START_MIN = -MAX_PID;

//inisialisai mode --------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------

int Mode = 0;

int Modecabang = 0;

int x = 0;

int y = 0;

boolean parsing = false;

//INISIALISASI KONDISI AGV ------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------

String AGVstate = "OFF";

String AGVstate_last = "OFF";

int obstaclee = 0;

int obstaclee_last = 0;

int CWM = 0;

int CWM_last = 0;

void setup() {

Page 59: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

52

//set pin motor

pinMode(M1rpwm, OUTPUT);

pinMode(M1lpwm, OUTPUT);

pinMode(M2rpwm, OUTPUT);

pinMode(M2lpwm, OUTPUT);

//set pin tombol

pinMode(Start, INPUT_PULLUP);

pinMode(Stop, INPUT_PULLUP);

//set pin indikator

pinMode(onn, OUTPUT);

pinMode(off, OUTPUT);

//set pin obstacle

pinMode(obstacle_1, INPUT);

//set pin sensor sebagai input

pinMode(sensor1, INPUT);

pinMode(sensor2, INPUT);

pinMode(sensor3, INPUT);

pinMode(sensor4, INPUT);

pinMode(sensor5, INPUT);

pinMode(sensor6, INPUT);

pinMode(sensor7, INPUT);

pinMode(sensor8, INPUT);

pinMode(sensor9, INPUT);

pinMode(sensor10, INPUT);

pinMode(sensor11, INPUT);

pinMode(sensor12, INPUT);

pinMode(sensor13, INPUT);

Page 60: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

53

pinMode(sensor14, INPUT);

pinMode(sensor15, INPUT);

//set Low semua sensor

digitalWrite(sensor1, LOW);

digitalWrite(sensor2, LOW);

digitalWrite(sensor3, LOW);

digitalWrite(sensor4, LOW);

digitalWrite(sensor5, LOW);

digitalWrite(sensor6, LOW);

digitalWrite(sensor7, LOW);

digitalWrite(sensor8, LOW);

digitalWrite(sensor9, LOW);

digitalWrite(sensor10, LOW);

digitalWrite(sensor11, LOW);

digitalWrite(sensor12, LOW);

digitalWrite(sensor13, LOW);

digitalWrite(sensor14, LOW);

digitalWrite(sensor15, LOW);

//SERIAL BEGIN

Serial.begin(115200);

}

//set pwm motor

void setmotor1(int pwm1) {

analogWrite(M1rpwm, pwm1);

}

void setmotor2(int pwm2) {

Page 61: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

54

analogWrite(M2lpwm, pwm2);

}

//set kondisi indikator

void indikator_AGVon() {

digitalWrite(onn, HIGH);

digitalWrite(off, LOW);

}

void indikator_AGVoff() {

digitalWrite(onn, LOW);

digitalWrite(off, HIGH);

}

//set obstacle

void obstacle() {

//SENSOR MENDETEKSI BENDA

if (x == 0 && digitalRead(obstacle_1) == HIGH) {

x = 1;

obstaclee = 1;

}

//SENSOR TIDAK MENDETEKSI BENDA

else if (digitalRead(obstacle_1) == LOW) {

x = 2;

obstaclee = 0;

}

else if (x == 2 && digitalRead(obstacle_1) == HIGH) {

x = 0;

Page 62: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

55

}

}

//pembacaan sensor

void read_sensor() {

//PEMBACAAN SENSOR STRAIGHT

if (digitalRead(sensor8) == HIGH) {

//SENSOR 1

if (digitalRead(sensor1) == HIGH) {

PV1 = 1;

} else {

PV1 = 0;

}

//SENSOR 2

if (digitalRead(sensor2) == HIGH) {

PV2 = 1;

} else {

PV2 = 0;

}

//SENSOR 3

if (digitalRead(sensor3) == HIGH) {

PV3 = 1;

} else {

PV3 = 0;

Page 63: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

56

}

//SENSOR 4

if (digitalRead(sensor4) == HIGH) {

PV4 = 1;

} else {

PV4 = 0;

}

//SENSOR 5

if (digitalRead(sensor5) == HIGH) {

PV5 = 1;

} else {

PV5 = 0;

}

//SENSOR 6

if (digitalRead(sensor6) == HIGH) {

PV6 = 1;

} else {

PV6 = 0;

}

//SENSOR 7

if (digitalRead(sensor7) == HIGH) {

PV7 = 1;

} else {

Page 64: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

57

PV7 = 0;

}

//SENSOR 8

if (digitalRead(sensor8) == HIGH) {

PV8 = 0;

PVL = 0;

PVR = 0;

} else {

PV8 = 0;

}

//SENSOR 9

if (digitalRead(sensor9) == HIGH) {

PV9 = -1;

} else {

PV9 = 0;

}

//SENSOR 10

if (digitalRead(sensor10) == HIGH) {

PV10 = -1;

} else {

PV10 = 0;

}

//SENSOR 11

Page 65: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

58

if (digitalRead(sensor11) == HIGH) {

PV11 = -1;

} else {

PV11 = 0;

}

//SENSOR 12

if (digitalRead(sensor12) == HIGH) {

PV12 = -1;

} else {

PV12 = 0;

}

//SENSOR 13

if (digitalRead(sensor13) == HIGH) {

PV13 = -1;

} else {

PV13 = 0;

}

//SENSOR 14

if (digitalRead(sensor14) == HIGH) {

PV14 = -1;

} else {

PV14 = 0;

}

Page 66: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

59

//SENSOR 15

if (digitalRead(sensor15) == HIGH) {

PV15 = -1;

} else {

PV15 = 0;

}

PV = PV1 + PV2 + PV3 + PV4 + PV5 + PV6 + PV7 + PV8 + PV9 + PV10 + PV11 + PV12 + PV13 + PV14 +

PV15;

}

else {

//PEMBACAAN SENSOR LEFT

if (digitalRead(sensor1) == HIGH) {

PVL = 7;

LAST = 1;

}

else if (digitalRead(sensor2) == HIGH) {

PVL = 6;

LAST = 1;

}

else if (digitalRead(sensor3) == HIGH) {

PVL = 5;

LAST = 1;

}

else if (digitalRead(sensor4) == HIGH) {

PVL = 4;

LAST = 1;

}

Page 67: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

60

else if (digitalRead(sensor5) == HIGH) {

PVL = 3;

LAST = 1;

}

else if (digitalRead(sensor6) == HIGH) {

PVL = 2;

LAST = 1;

}

else if (digitalRead(sensor7) == HIGH) {

PVL = 1;

LAST = 1;

}

//PEMBACAAN SENSOR RIGHT

if (digitalRead(sensor15) == HIGH) {

PVR = -7;

LAST = 2;

}

else if (digitalRead(sensor14) == HIGH) {

PVR = -6;

LAST = 2;

}

else if (digitalRead(sensor13) == HIGH) {

PVR = -5;

LAST = 2;

}

else if (digitalRead(sensor12) == HIGH) {

Page 68: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

61

PVR = -4;

LAST = 2;

}

else if (digitalRead(sensor11) == HIGH) {

PVR = -3;

LAST = 2;

}

else if (digitalRead(sensor10) == HIGH) {

PVR = -2;

LAST = 2;

}

else if (digitalRead(sensor9) == HIGH) {

PVR = -1;

LAST = 2;

}

//Reroute MENYIMPAN KONDISI PEMBACAAN SENSOR TERAKHIR

if ((digitalRead(sensor1) == LOW) && (digitalRead(sensor2) == LOW) && (digitalRead(sensor3) ==

LOW) && (digitalRead(sensor4) == LOW) && (digitalRead(sensor5) == LOW) &&

(digitalRead(sensor6) == LOW) && (digitalRead(sensor7) == LOW) && (digitalRead(sensor8) == LOW)

&& (digitalRead(sensor9) == LOW) && (digitalRead(sensor10) == LOW) && (digitalRead(sensor11) ==

LOW) && (digitalRead(sensor12) == LOW) && (digitalRead(sensor13) == LOW) &&

(digitalRead(sensor14) == LOW) && (digitalRead(sensor15) == LOW)) {

if (LAST == 1) {

PV = 7;

}

if (LAST == 2) {

PV = -7;

}

Page 69: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

62

}

else {

PV = PVL + PVR;

}

}

}

//set perhitungan pid motor

void pid_motor() {

//MENGHITUNG SATUAN WAKTU (DT)

if ( millis() - LAST_COMPUTE >= DT) {

read_sensor(); //pembacaan sensor

//PERHITUNGAN NILAI PID

ERR = PV;

float P = KP * ERR;

INTEGRAL = (ERR - ERR_LAST) / DT;

float I = KI * INTEGRAL;

DERIVATIVE = (ERR - ERR_LAST) / DT;

float D = KD * DERIVATIVE;

//PENJUMLAHAN NILAI PID

HITUNG_PID = P + I + D;

PID = PID + HITUNG_PID;

//JUMLAH ERROR TERAKHIR

Page 70: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

63

ERR_LAST = ERR;

//MERUBAH PRESENTASE KECEPATAN MAKSIMAL

MAX_KECEPATAN = (MAX_PWM * SPEED) / 100;

// MENYESUAIKAN DENGAN BATAS KECEPATAN

if (PID > PID_START_MAX) PID = PID_START_MAX;

if (PID < PID_START_MIN) PID = PID_START_MIN;

//JIKA NILAI PID BERUBAH

if (PID != PID_LAST) {

//PENYESUAIAN PID

if (PV == 0) {

PID = 0;

}

if (PID == 0) {

PID_M1 = 0;

PID_M2 = 0;

}

//MENENTUKAN NILAI PID MOTOR 1

else if (PID > 0) {

PID_M1 = PID;

PID_M2 = 0;

}

//MENENTUKAN NILAI PID MOTOR 2

else if (PID < 0) {

Page 71: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

64

PID_M1 = 0;

PID_M2 = -PID;

}

PWM_M1 = MAX_PID - PID_M1;

PWM_M2 = MAX_PID - PID_M2;

// GERAKAN SESUAI DENGAN PID

PWM_M1 = map(PWM_M1, 0, MAX_PID, 50, MAX_KECEPATAN);

PWM_M2 = map(PWM_M2, 0, MAX_PID, 50, MAX_KECEPATAN);

if (PWM_M1 <= 50) {

PWM_M1 = 10;

PWM_M2 = PWM_M2 + 10;

}

if (PWM_M2 <= 50) {

PWM_M2 = 10;

PWM_M1 = PWM_M1 + 10;

}

//SET PWM MOTOR

setmotor1(PWM_M1);

setmotor2(PWM_M2);

//MENENTUKAN PEMBACAAN TERAKHIR PID UNTUK SYARAT MASUK PID YANG BARU

PID_LAST = PID;

}

LAST_COMPUTE = millis();

}

Page 72: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

65

}

void loop() {

//READ TOMBOL -------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------

if (digitalRead(Start) == LOW) {

if (Mode == 0) {

Mode = 1;

//KETIKA SENSOR BELUM MEMBACA GARIS

if (PID == 0) {

setmotor1(MAX_KECEPATAN);

setmotor2(MAX_KECEPATAN);

indikator_AGVon();

y = 1;

}

}

}

if ( digitalRead(Stop) == LOW) {

if (Mode == 1) {

Mode = 0;

}

}

switch (Mode) {

case 0:

if (AGVON == 1) {

AGVON = 0;

Page 73: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

66

}

setmotor1(0);

setmotor2(0);

PWM_M1 = 0;

PWM_M2 = 0;

PID = 0;

HITUNG_PID = 0;

PV = 0;

LAST = 0;

indikator_AGVoff();

x = 0;

LAST = 0;

AGVstate = "OFF";

break;

case 1:

AGVON = 1;

pid_motor();

indikator_AGVon();

y = 0;

AGVstate = "ON";

break;

}

//KETIKA MEMBACA SENSOR SAFETY ----------------------------------------------------------------------------------

--------------------------------------------------------------------------------

//KETIKA ROBOT MEMBACA GARIS

if (Mode == 1 && x == 1) {

setmotor1(0);

Page 74: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

67

setmotor2(0);

}

if (Mode == 1 && x == 2) {

Mode = 1;

}

//KETKA ROBOT TIDAK MEMBACA GARIS

if (y == 1 && x == 1) {

setmotor1(0);

setmotor2(0);

y = 2;

}

if (y == 2 && x == 2) {

setmotor1(MAX_KECEPATAN);

setmotor2(MAX_KECEPATAN);

y = 1;

}

//KETKA ROBOT KELUAR DARI PEMBACAAN GARIS DENGAN MODE 1

if (Mode == 1 && PID == 0 && x == 2) {

if ((digitalRead(sensor1) == LOW) && (digitalRead(sensor2) == LOW) && (digitalRead(sensor3) ==

LOW) && (digitalRead(sensor4) == LOW) && (digitalRead(sensor5) == LOW) &&

(digitalRead(sensor6) == LOW) && (digitalRead(sensor7) == LOW) && (digitalRead(sensor8) == LOW)

&& (digitalRead(sensor9) == LOW) && (digitalRead(sensor10) == LOW) && (digitalRead(sensor11) ==

LOW) && (digitalRead(sensor12) == LOW) && (digitalRead(sensor13) == LOW) &&

(digitalRead(sensor14) == LOW) && (digitalRead(sensor15) == LOW)) {

if (LAST == 1) {

PV = 7;

}

if (LAST == 2) {

Page 75: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

68

PV = -7;

}

}

Mode = 1;

}

}

Page 76: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

69

PENJELASAN PROGRAM PID AGV 4 WHEEL

Define alamat pin motor

dc ke arduino

Page 77: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

70

Adapun jumlah sensor yang di gunakan sebanyak 11 buah yang dimana sensor di mulai dari

sebelah kanan AGV

Define alamat pin sensor ke

Arduino

Page 78: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

71

Kemudian di lakukan

inisialisasi kondisi bahwa

sensor keaanda LOW atau

tidak aktif

asdasdasd

Kemudian dilakukan declare variable

yang akan di gunakan pada program PID

asdasdasd

Kemudian dilakukan

declare variable PWM yang

akan di hitung oleh PID dan

di salurkan ke masing

masing motor

asdasdasd

Page 79: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

72

Page 80: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

73

Kemudiaan dilakukan

declare output kutub

positive negative untuk

program cw dan ccw nya

nanti

Kemudiaan dilakukan

inisialisasi sensor sebagai

input di arduino

Page 81: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

74

*Note

Error di tulis sebagai nilai error inputan dari sensor line follower yang memberikan nilai error

dari 0 , samapi 10 atau 0 samapai -10

Kemudiaan dilakukan

penulisan program

perhitungan pid di program

arduino

void pidcontrolkanan(){

void pidcontrolkiri(){

Kemudian ada tahap pengelelola nilai pwm yang

di pisah menjadi dua yaitu # void

pidcontrolkanan(){ dan # void pidcontrolkiri(){

Page 82: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

75

*Note di program bernama “setpoint” terdapat nilai pwm yang telah di tetapkan yaitu setengah

dari nilai pwm 225 yang kemudian di jumlah atau di kurang dengan nilai variable “pidvalue”

,pidvalue ini di dapat dari perhitungan error yang di berikan oleh sensor line followe yang

bernilai 0 sampai 10 atau 0 sampai -10 .efek dari perhitungan ini adalah memberikan besar

kecil nya pwm yang di berikan oleh hasil perhitungan PID , kemudian nilai pw ini akan

memberkikan efek belok terhadap roda AGV tersebut yang di taro di tempat variable B_kanan1

, B_kanan2 , B_kiri1 , B_kiri2.

Page 83: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

76

Kemudia di dalam “void pidkanan” dan “void pidkiri” akan mengambil nilai pwm yang telah

di hitung oleh program PID dan menjalankan motor berdasarkan kecepatan yang telah

disesuaikan berdasaran perhitungan PID.

Adapun kemungkinan jika hasil pembacaan sensor berada di error paling besar yaitu bernilai

10 atau -10 dan hasil perhitungan PID tidak memungkinkan dan beresiko keluar jalur saya

memtusukan untuk membuat program rotary(berputar) agar dapat kembali kedalam jalurnya

dengan metode reverse .

Page 84: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

77

Kemudia ini adalah proses inisialisasi variable

pada sensor line follower yang di beri nama

“s1state” dan seterusnya

Page 85: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

78

// pemetaan sensor

// 36 35 34 33 32 31 30 29 28 27 26

// s11 s10 s9 s8 s7 s6 s5 s4 s3 s2 s1

// 1 1 1 1 1 1 0 0 0 0 0 = = rotary kiri

// 1 0 0 0 0 0 0 0 0 0 0 = = -10

// 1 1 0 0 0 0 0 0 0 0 0 = = -9

// 1 1 1 0 0 0 0 0 0 0 0 = = -8

// 0 1 1 0 0 0 0 0 0 0 0 = = -7

// 0 1 1 1 0 0 0 0 0 0 0 = = -6

// 0 0 1 1 0 0 0 0 0 0 0 = = -5

// 0 0 1 1 1 0 0 0 0 0 0 = = -4

// 0 0 0 1 1 0 0 0 0 0 0 = = -3

// 0 0 0 1 1 1 0 0 0 0 0 = = -2

// 0 0 0 0 1 1 0 0 0 0 0 = = -1

// 0 0 0 0 1 1 1 0 0 0 0 = error = 0

// 0 0 0 0 0 1 1 0 0 0 0 = = 1

// 0 0 0 0 0 1 1 1 0 0 0 = = 2

// 0 0 0 0 0 0 1 1 0 0 0 = = 3

// 0 0 0 0 0 0 1 1 1 0 0 = = 4

// 0 0 0 0 0 0 0 1 1 0 0 = = 5

// 0 0 0 0 0 0 0 1 1 1 0 = = 6

// 0 0 0 0 0 0 0 0 1 1 0 = = 7

// 0 0 0 0 0 0 0 0 1 1 1 = = 8

// 0 0 0 0 0 0 0 0 0 1 1 = = 9

// 0 0 0 0 0 0 0 0 0 0 1 = = 10

// 0 0 0 0 0 1 1 1 1 1 1 = = rotary kanan

// 36 35 34 33 32 31 30 29 28 27 26

// s11 s10 s9 s8 s7 s6 s5 s4 s3 s2 s1

Kemudia ada tahap pemetaan

sensor dari ketika sensor detek

garis hitam nilai yang bernilai 1

menandakan sensor dalam

keaadaan detek

Page 86: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

79

if((s1state == LOW) &&(s2state == LOW)&&(s3state == LOW) &&(s4state == LOW) &&(s5state ==

HIGH)&&(s6state == HIGH)&&(s7state == HIGH)&&(s8state == LOW)&&(s9state == LOW)&&(s10state ==

LOW)&&(s11state == LOW))

{Serial.println (" error=0");

error = 0;

pid();

pidkanan();

pidcontrolkanan();

pidkiri();

pidcontrolkiri();

}

else if ((s1state == HIGH) &&(s2state == HIGH)&&(s3state == HIGH) &&(s4state == HIGH)&&(s5state ==

HIGH)&&(s6state == HIGH)&&(s7state == HIGH) &&(s8state == HIGH)&&(s9state == HIGH)&&(s10state

== HIGH)&&(s11state == HIGH))

{

STOP();

}

else if ((s1state == LOW) &&(s2state == LOW)&&(s3state == LOW) &&(s4state == LOW)&&(s5state ==

HIGH)&&(s6state == HIGH)&&(s7state == LOW) &&(s8state == LOW)&&(s9state == LOW)&&(s10state

== LOW)&&(s11state == LOW))

{Serial.println (" error=1");

error = 1;

pid();

Kemudia ada tahap terkahir yaitu proses pemanggilan

program sesuai dengan pemetaan yang dapat terjadi

sekaligus memberikan nilai error pada variable “error”

Page 87: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

80

pidkanan();

pidcontrolkanan();

}

else if ((s1state == LOW) &&(s2state == LOW)&&(s3state == LOW)&&(s4state == HIGH)&&(s5state ==

HIGH)&&(s6state == HIGH) &&(s7state == LOW) &&(s8state == LOW)&&(s9state == LOW)&&(s10state

== LOW)&&(s11state == LOW))

{Serial.println (" error=2");

error = 2;

pid();

pidkanan();

pidcontrolkanan();

}

else if ((s1state == LOW)&&(s2state ==LOW)&&(s3state == LOW)&&(s4state == HIGH) &&(s5state ==

HIGH) &&(s6state == LOW) &&(s7state == LOW) &&(s8state == LOW)&&(s9state == LOW)&&(s10state

== LOW)&&(s11state == LOW))

{Serial.println (" error=3");

error = 3;

pid();

pidkanan();

pidcontrolkanan();

}

else if ((s1state == LOW)&&(s2state ==LOW)&&(s3state == HIGH)&&(s4state == HIGH) &&(s5state ==

HIGH) &&(s6state == LOW) &&(s7state == LOW) &&(s8state == LOW)&&(s9state == LOW)&&(s10state

== LOW)&&(s11state == LOW))

{Serial.println (" error=4");

error = 4;

pid();

pidkanan();

pidcontrolkanan();

}

else if ((s1state == LOW)&&(s2state ==LOW)&&(s3state == HIGH) &&(s4state == HIGH) &&(s5state ==

LOW) &&(s6state == LOW) &&(s7state == LOW) &&(s8state == LOW)&&(s9state == LOW)&&(s10state

== LOW)&&(s11state == LOW))

{Serial.println (" error=5");

Page 88: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

81

error = 5;

pid();

pidkanan();

pidcontrolkanan();

}

else if ((s1state == LOW)&&(s2state ==HIGH) &&(s3state == HIGH) &&(s4state == HIGH) &&(s5state ==

LOW) &&(s6state == LOW) &&(s7state == LOW) &&(s8state == LOW)&&(s9state == LOW)&&(s10state

== LOW)&&(s11state == LOW))

{Serial.println (" error=6");

error = 6;

pid();

pidkanan();

pidcontrolkanan();

}

else if ((s1state == LOW)&&(s2state ==HIGH) &&(s3state == HIGH) &&(s4state == LOW) &&(s5state ==

LOW) &&(s6state == LOW) &&(s7state == LOW) &&(s8state == LOW)&&(s9state == LOW)&&(s10state

== LOW)&&(s11state == LOW))

{Serial.println (" error=7");

error = 7;

pid();

pidkanan();

pidcontrolkanan();

}

else if ((s1state == HIGH)&&(s2state ==HIGH) &&(s3state == HIGH) &&(s4state == LOW) &&(s5state ==

LOW) &&(s6state == LOW) &&(s7state == LOW) &&(s8state == LOW)&&(s9state == LOW)&&(s10state

== LOW)&&(s11state == LOW))

{Serial.println(" error=8");

error = 8;

pid();

pidkananrotary();

pidcontrolkanan();

}

Page 89: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

82

else if ((s1state == HIGH)&&(s2state ==HIGH) &&(s3state == LOW) &&(s4state == LOW) &&(s5state ==

LOW) &&(s6state == LOW) &&(s7state == LOW) &&(s8state == LOW)&&(s9state == LOW)&&(s10state

== LOW)&&(s11state == LOW))

{Serial.println(" error=9");

error = 9;

pid();

pidkananrotary();

pidcontrolkanan();

}

else if ((s1state == HIGH)&&(s2state ==LOW) &&(s3state == LOW) &&(s4state == LOW) &&(s5state ==

LOW) &&(s6state == LOW) &&(s7state == LOW) &&(s8state == LOW)&&(s9state == LOW)&&(s10state

== LOW)&&(s11state == LOW))

{Serial.println(" error=10");

error = 10;

pid();

pidkananrotary();

pidcontrolkanan();

}

else if ((s1state == LOW)&&(s2state ==LOW) &&(s3state == LOW) &&(s4state == LOW) &&(s5state ==

LOW) &&(s6state == HIGH)&&(s7state == HIGH) &&(s8state== LOW)&&(s9state== LOW)&&(s10state

== LOW)&&(s11state == LOW))

{Serial.println(" error=-1");

error = -1;

pid();

pidkiri();

pidcontrolkiri();

}

else if ((s1state == LOW)&&(s2state ==LOW) &&(s3state == LOW) &&(s4state == LOW) &&(s5state ==

LOW) &&(s6state == HIGH) &&(s7state == HIGH) &&(s8state== HIGH)&&(s9state== LOW)&&(s10state

== LOW)&&(s11state == LOW))

{Serial.println(" error=-2");

error = -2;

pid();

pidkiri();

Page 90: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

83

pidcontrolkiri();

}

else if ((s1state == LOW)&&(s2state ==LOW) &&(s3state == LOW) &&(s4state == LOW) &&(s5state ==

LOW) &&(s6state == LOW) &&(s7state == HIGH) &&(s8state == HIGH)&&(s9state== LOW)&&(s10state

== LOW)&&(s11state == LOW))

{Serial.println(" error=-3");

error = -3;

pid();

pidkiri();

pidcontrolkiri();

}

else if ((s1state == LOW)&&(s2state ==LOW) &&(s3state == LOW) &&(s4state == LOW) &&(s5state ==

LOW) &&(s6state == LOW) &&(s7state == HIGH) &&(s8state == HIGH)&&(s9state == HIGH)&&(s10state

== LOW)&&(s11state == LOW))

{Serial.println(" error=-4");

error = -4;

pid();

pidkiri();

pidcontrolkiri();

}

else if ((s1state == LOW)&&(s2state ==LOW) &&(s3state == LOW) &&(s4state == LOW) &&(s5state ==

LOW) &&(s6state == LOW) &&(s7state == LOW) &&(s8state == HIGH)&&(s9state == HIGH)&&(s10state

== LOW)&&(s11state == LOW))

{Serial.println(" error=-5");

error = -5;

pid();

pidkiri();

pidcontrolkiri();

}

else if ((s1state == LOW)&&(s2state ==LOW) &&(s3state == LOW) &&(s4state == LOW) &&(s5state ==

LOW) &&(s6state == LOW) &&(s7state == LOW) &&(s8state == HIGH)&&(s9state == HIGH)&&(s10state

== HIGH)&&(s11state == LOW))

{Serial.println(" error=-6");

error = -6;

Page 91: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

84

pid();

pidkiri();

pidcontrolkiri();

}

else if ((s1state == LOW)&&(s2state ==LOW) &&(s3state == LOW) &&(s4state == LOW) &&(s5state ==

LOW) &&(s6state == LOW) &&(s7state == LOW) &&(s8state == LOW)&&(s9state == HIGH)&&(s10state

== HIGH)&&(s11state == LOW))

{Serial.println(" error=-7");

error = -7;

pid();

pidkiri();

pidcontrolkiri();

}

else if ((s1state == LOW)&&(s2state ==LOW) &&(s3state == LOW) &&(s4state == LOW) &&(s5state ==

LOW) &&(s6state == LOW) &&(s7state == LOW) &&(s8state == LOW)&&(s9state == HIGH)&&(s10state

== HIGH)&&(s11state == HIGH))

{Serial.println(" error=-8");

error = -8;

pid();

pidkirirotary();

pidcontrolkiri();

}

else if ((s1state == LOW)&&(s2state ==LOW) &&(s3state == LOW) &&(s4state == LOW) &&(s5state ==

LOW) &&(s6state == LOW) &&(s7state == LOW) &&(s8state == LOW)&&(s9state == LOW)&&(s10state

== HIGH)&&(s11state == HIGH))

{Serial.println(" error=-9");

error = -9;

pid();

pidkirirotary();

pidcontrolkiri();

}

else if ((s1state == LOW)&&(s2state ==LOW) &&(s3state == LOW) &&(s4state == LOW) &&(s5state ==

LOW) &&(s6state == LOW) &&(s7state == LOW) &&(s8state == LOW)&&(s9state == LOW)&&(s10state

== LOW)&&(s11state == HIGH))

Page 92: Monograf KENDALI REROUTE AUTOMATED GUIDED VEHICLE … · kendali monograf reroute automated guided vehicle (agv) line follower sistem p.i.d afianto, s.t., m.t., m.sc. jakarta, maret

85

{Serial.println(" error=-10");

error = -10;

pid();

pidkirirotary();

pidcontrolkiri();

}

}