ROBOT LINE FOLLOWER dengan Kendali PID
Bergerak smooth-nya robot sangat tergantung dari aksi kontrol robot tersebut, jika hanya menngunakan kontrol on-offf (diskontinyu) akan sangat berbeda dengan aksi kontrol kontinyu PID. Kontrol PID saat ini banyak digunakan dalam aksi-aksi di dunia industri dan juga kontrol robot ^_^
Jika kita berbicara kontrol robot line follower dengan PID maka bukanlah kontrol PID yang sebenarnya… sebab (kata dosenku) pada robot line follower elemen ukur (sensor) tidak terdapat pada plant (motor penggerak) dari robot, yang serharusnya ialah sensor terdapat di plant(motor penggerak), dengan contoh tachometer sebagai sensor pada motor, encoder atau yang laennya yang terletak pada plant. sedangkan pada robot line follower sensor berupa pendeteksi garis (tidak terletak pada plant) dan dari hasil kondisi garis tersebut barulah dikontrol ke motor (plant), namun walaupun begitu kontrol PID masih dapat diterapkan untuk mengendalikan robot line follower.
Blok aksi kontrol PID:
Formula matematis dari PID:
Dari formula tersebut dapat dirumuskan menjadi pen-digitalization PID dengan berbagai metode, kalo di kul dengan cara transformasi Z, ZOH, bilinier transformartion, Eulers method.. wah susah pokoknya…. Sehingga diperoleh bentuk digital diskritnya menjadi persamaan dibawah ini….
Bentuk kontroler PID diskrit:
Nach…jika kita terapkan dalam bahasa pemrograman menjadi….
Dimana; Ts ialah time sampling, error ialah nilai kesalahan dan last_error ialah nilai error sebelumnya.
Berikut ilustrasi penerapan kontrol PID pada robot line follower:
dari blok iliustrasi tersebut dapat q jelasin sebagai berikut:
S1,S2…,S8 merupakan sensor dengan pemberian bobot Present Value (PV) PV=0, PV=-1, PV= 1 dst….
Deviasi/simpangan antar variabel terukur (PV) dengan nilai acuan (SP) disebut error (galat)
Nach nilai error dari pembacaan sensor ini yang dijadikan aksi perhitungan kendali PID, lalu nilai perhitungan PID tersebut dijumlahkan dengan setpoint PWM untuk dijadikan sebagai nilai aktual PWM motor dari robot line follower, berikut formula perhitungan nilai PWM kiri dan kanan dari robotku:
Untuk dapat lebih mudah memahami algoritma kendali PID robot line follower ku download diagram alir programnya disini…
Untuk cara tunning kontrol PID dan sample coding (BASCOM AVR dan CODEVISION AVR) pada robot line follower ku dapat di lihat disini… dan pengen lihat video robotku disini….dan disana…
Dan berikut aplikasi kontroler PID pada Robot-Wall Follower ato yg lebih dikenal dengan robot telusur dinding:
Semoga bermanfaat 😀
===============================================================
bacaan terkait di blog ini:
1. tuning-kontrol-pid-pada-robot-line-follower klik disini
2. robot line follower dengan multiplekser-ADC klik disini
Posted by koera on Mei 9, 2010 at 1:50 am
Sip tulisane..!! Teroske terus…
Posted by fahmizaleeits on Juli 26, 2010 at 1:13 am
ok mas koera…thanks atas masukannya….
Posted by mas kar on Juli 29, 2010 at 11:11 pm
mantep tenan mas fahmi…
udah mantap lah…
😀
Posted by fahmizaleeits on September 27, 2010 at 10:55 am
terimakasih mas kar…
Posted by junie4 on Juli 31, 2010 at 11:53 pm
mas giman cara buat PID LF dengan codevision tapi hanya 3 sensor..
karna saya masih baru banget.
klaw bisa contoh prognya di kirim ke emailku ya mas.
terima kasih sebelumnya.
Posted by fahmizaleeits on Agustus 2, 2010 at 10:51 pm
cuma tiga sensor juga bisa diterapkan PID…diblogku dah dakan rumusnya…kalo diterapin di codevision bisa kok…
Posted by Vicky Nolant Setyanto Lahimade on Mei 12, 2015 at 10:27 am
Gimana Cara Kodingnya kalo do Codevision,,,,, Mohon bantuannya
Posted by qon on Agustus 18, 2010 at 2:04 pm
PID sudah tidak jaman lagi……..analisa kestabilan nya msh blum bisa di katakan stabil…….(sok tau ni)…heheheh,,,,,
tapi di prusahan2 sudah jarang menggunkan PID…..sekarang lebih fokus pada sisitem proteksi dan kontrol menggunakan interface….
Posted by fahmizaleeits on September 27, 2010 at 10:53 am
iya bang furqon…cie..cie…yang habis KP dari Chevron…pasti dapat ilmu lebih nich…bagi2 donk…interface apa yang dimaksud bang?….
Posted by valzt on Agustus 6, 2011 at 12:28 am
waa, ga ngerti maksudnya kurang stabil gimana? eh iya maaf tiba2 nimbrung >.<
Posted by bastaman on Agustus 18, 2010 at 2:34 pm
sip2, nek butuh referensi aku takon njenengan yo mas
Posted by fahmizaleeits on Agustus 20, 2010 at 1:19 am
okay…sip..semangat bas…cepet lulus…
Posted by Delphia on Mei 14, 2017 at 10:59 pm
favorite titles?Midsummer Night's DreamBy these Ten BonesKeturah and Lord DeathDragon SlpdaersInkheirtWonprous StrangeCry of the IcemarkI'm not in the mood to go dragging my laptop into my closet/library.
Posted by ekho_90 on Agustus 24, 2010 at 7:58 am
Nilai Ts (time sampling nya ditentuin sendiri ya??
klw iya kira2 nilainya berapa??
Posted by fahmizaleeits on Agustus 24, 2010 at 1:29 pm
untuk sampling ditentukan sendiri,…kira2 pada robot ini Ts nya 2-5 milisekon… untuk tunning pid nya dapat dilihat disini mas
Posted by j'ko on Agustus 28, 2010 at 1:32 pm
nice blog., mas.
mas ada gambar rangkaian skematik LF’y gak..??
Posted by fahmizaleeits on Agustus 28, 2010 at 10:57 pm
thanks mas…kalo masalah hardware q kurang menguasai mas…biasanya cuma kopy paste punya temen (hehehe…) jadi gk berhak buat ngeshare di blog…
Posted by kardono on Agustus 29, 2010 at 8:35 am
mantap tenan… sip…
mother finger likes this
Posted by fahmizaleeits on Agustus 29, 2010 at 11:24 pm
thanks mas kar…
Posted by zayyin on September 25, 2010 at 8:35 am
mas harga robot line folower berapa?
Posted by fahmizaleeits on September 27, 2010 at 10:46 am
terimakasih atas kunjungannya mas zayyin, harga penawaran robot line follower bervariasi…mulai dari Rp.500.000,- boleh negosiasi…kalo berminat segera hubungi kembali ato kunjungi http://id-evotech.com/
Posted by Benny on Oktober 9, 2010 at 10:41 am
mas, bisa gak bikin tutorial robot LF pakai PID dari nol
soalnya saya pemula banget.. di jual juga gak apa2 deh tutorialnya..
saya beli ntar, saya tertarik banget nih..
tapi dari nol banget ya mas.. PLEASE..
Posted by fahmizaleeits on Oktober 24, 2010 at 12:19 am
konsultasi ke link ini ja mas http://id-evotech.com/
Posted by edi on Oktober 30, 2010 at 11:44 am
terimaksih sharing ilmunya mas…sukses selalu…
Posted by fahmizaleeits on Oktober 30, 2010 at 2:39 pm
okay…terimasih atas kunjungannya mas…semoga blog ini bermanfaat.
Posted by si agan on Desember 15, 2010 at 10:17 pm
nice post…like gan…lanjut teruz…
Posted by fahmizaleeits on Desember 20, 2010 at 8:51 am
thanks gan atas kunjungannya k blog ane…
Posted by try354 on Februari 1, 2011 at 12:47 am
eeprom byte Kp = 10;
eeprom byte Ki = 0;
eeprom byte Kd = 5;
ada error saat di compile di codevisionAvr : missing ‘(‘
mohon kenapa demikian?
Posted by fahmizaleeits on Februari 1, 2011 at 2:10 pm
cek lagi aturan penulisan pada codevision…”error compiling missing” itu tandanya ada yang terlupakan dan terjadi kesalahan dalam penulisan sintaks program.. 😀
Posted by teguhblitzkrieg on Februari 8, 2011 at 3:45 pm
setahu saya eeprom pada avr hanya bisa digunakan dengan 16bit(unsigned int) bukan 8bit / byte(unsigned char)
dengan menggunkn codevision ditulis :
eeprom int Kp = 10;
eeprom int ki = 2;
dst…
Posted by fahmizaleeits on Februari 10, 2011 at 11:14 pm
kalo setahu saya bisa kok dalam bentuk byte, dengan menggunakan codevision ditulis :
unsigned char eeprom eep_top_speed;
unsigned char eeprom eep_sampl_time;
dst…
Posted by Iswanto on Februari 17, 2011 at 6:45 am
Mantep tulisanne
http://blog.umy.ac.id/iswanto/;http://iswanto.staff.umy.ac.id/
Posted by fahmizaleeits on Februari 17, 2011 at 8:10 pm
Terinmakasih atas kunjungannya mas is 😀
Posted by Flora on Mei 15, 2017 at 4:55 am
I love your doorknobs and doilies–and that little white pumpkin is too sweet!Thank you so much for taking over White Wednesday. It looks as if your debut week was a huge suoguss–ccncratelations!xoxo
Posted by Caden on Mei 15, 2017 at 1:47 am
Morning Becky,Any news yet??? Loved your new lilflower on a door knob creation, just adorable hon.Hope you are keeping your sanity over there, no the waiting must be hard.Can't believe they are both havingcontractions at the same time. Ohmy goodness……..Have a good day, today could be the dao…………lolLyve ya, Nellie
Posted by yudi on Februari 26, 2011 at 2:00 pm
mas mas aku boleh berguru ke sampeyan g mas?
hehe
aq masih baru mas..
btw ada nomor yang bisa di hubungin mas?
Posted by fahmizaleeits on Maret 1, 2011 at 3:42 pm
berguru…heheh jangan terlalu berlebih mas, ane juga masih harus bnyk belajar nih, silakan aad ja via facebook 😀
Posted by imam on Maret 24, 2011 at 12:27 pm
mas kl pid pada robot avoider tu gmn?
Posted by fahmizaleeits on Maret 24, 2011 at 12:57 pm
logika nya hampir sama dengan line follower PID, hanya saja error diperoleh dari setpoint jarak- data jarak terukur 😀
Posted by ari on Desember 1, 2011 at 7:28 pm
pada robot wall follower dengan PID tersebut, bagaimana cara kita menentukan nilai set point dan present value yang tepat mas ? kan kita menggunakan sensor ultrasonik yang otomatis berbeda kalo kita buat LF yang make sensor garis ? mohon dijawab mas, lagi butuh pencerahan untuk wall follower PID nih….
Posted by Fahmizal on Desember 2, 2011 at 9:55 pm
sama persis kayak LF mas, kalo LF dari data sensor kita tentukan bobotnya….
misal di LF sensor_garis = 0b00011000 : bobot = 0;
nah kalo sensor jarak kita gunakan range saja mas
misal sensor jarak 6-8 cm : bobot = 0;
untuk lengkapanya tunggu postingan ane tentang ni robot sekitar akhir tahun 2011 ini
trims atas aperhatiannya 😀
semoga bermanfaat ^_^
Posted by lono on Januari 5, 2012 at 3:20 am
Mas., mau tanya :
kalo d robot LF mas fahmi bobot’y sampai 7 : -3,-2,-1,0,1,2,3
trus kalo kasus robot wall follower PID punya mas ini bobot’y sampai berapa banyak..?
dan range jarak’y berapa aja..??
please dijawab mas..!!! coz penting banget.
thanks.
Posted by irmawan on Maret 27, 2011 at 4:23 pm
pid controler itu mksudya gimana (mahklum pemula cuy)
Posted by fahmizaleeits on April 9, 2011 at 5:53 pm
PID kontroler artinya kita menanam kan suatu kendali kontrol untuk mengolah nilai error yg dibaca oleh sensor 😀
Posted by beni on Mei 12, 2011 at 5:14 pm
mas, saya pengen buat pake ic atmega8. kira2 apa bisa, dan apa yang harus saya rubah?
Posted by fahmizaleeits on Mei 20, 2011 at 2:41 pm
bisa mas…karena pin I/O dari atmega8 kurang dari atmega8535 bisa diakali menggunkan multiplekser pada rangkaian sensornya 😀
Posted by beni on Mei 22, 2011 at 8:07 pm
dah saya coba mas, tanpa multiplekser. di proteus kelihatan berhasil. tapi belum coba aslinya. karena masih kurang photo diodanya. terimakasih banyak atas informasinya.
Posted by fahmizaleeits on Juli 22, 2011 at 6:11 pm
okay sip, selamat berkarya 😀
Posted by newbilah on Juni 3, 2011 at 12:47 pm
tentang high speed LF gimana mas….
sy baru2 liad di youtube kynya asik jg klo LFnya bisa ngebut.
hehehheee….
Posted by fahmizaleeits on Juli 22, 2011 at 6:42 pm
yup… mantap ada NOS Speed nya… pake TURBO lagi hehheee 😀
Posted by Fleta on Mei 14, 2017 at 11:15 pm
Hi WilliKalau biaya Cookery yang murah dikisaran;2 years Cookery Diploma = NZD 29,500 (Rp 210 juta untuk 2 taohp)..nrugram kuliah 2 tahun.Boleh dibayar per 6 bulanUntuk Nursing, lumayan mahal dan mesti kuliah at least 3 tahun, dan hanya tersedia dikampus pemerintah (politeknik – universitas)) , biaya pertahun sekitar NZD 20,000 atau 150 jutaan per tahunSemua biaya diatas TIDAK TERMASUK biaya hidupBiaya hidup dikisaran 10 jutaan per bulanThanks
Posted by terry on Juni 4, 2011 at 5:07 pm
mas boleh minta bantuannya gak,,,
aq lagi buat robot line follower nih,,,dengan menggunakan bahasa CAVR,mikro Atmega16 n Driver motor 4A…
yang mau ditanyakan,,boleh gak bantu dalam program-nya???
n boleh tau gak cara pembuatan sensor proximity?
TERIMA KASIH
SALAM…
Posted by fahmizaleeits on Juli 22, 2011 at 6:39 pm
maaf belum sempat bantuin 😀 mungkin bisa lihat contoh program yg udah q share…
Posted by Allthewin on Juni 17, 2011 at 10:58 pm
Mantap mas, untuk sekian kalinya saya comment, blog nya kontennya bagus-bagus
Posted by fahmizaleeits on Juli 22, 2011 at 6:48 pm
suwun yo rek sudah berkunjung 😀
Posted by Iccank Devilz on September 13, 2011 at 12:23 am
asik skali..!!!
keren mas robotnya
Posted by fahmizaleeits on Oktober 1, 2011 at 11:32 am
trims… yg membuat jalan robot-nya halus ialah kontroler PID nya mas ^_^
Posted by yusep on Oktober 14, 2011 at 2:30 pm
bisa bantu saya skripsi? tp pake metode lain..
Posted by Fahmizal on Desember 2, 2011 at 10:04 pm
untuk metode lain bisa dengan judul “Robot Line Follower dengan Kendali Fuzzy” ^_^
Posted by Mas Negoro on Desember 1, 2011 at 11:24 pm
bermanfaat sekali gan…,tak save yaa..
Posted by Fahmizal on Desember 2, 2011 at 9:55 pm
okay… monggo 😀 semoga bermanfaat ya ^_^
Posted by yudhapane on Desember 16, 2011 at 5:07 pm
Mas fahmi salam kenal. Saya Yudha.
Saya boleh minta source code wall following mas gak?
Buat referensi robot saya mas. Thanks 🙂
Posted by Artha Wijaya on Desember 22, 2011 at 4:13 pm
Mas Bro, tolong ajarin Trik-trik pertama yang harus dikuasai untuk bisa bikin robot dong. Ni masih awam tentang itu semua. tolong ya. kalo ada rekomendasi ebook atw buku, kirim ke artha_tsm@yahoo.co.id
ini sangat bermanfaat banget blognya.
terima kasih, somoga dibalas yang berlimpah.
Posted by Fahmizal on Januari 1, 2012 at 4:12 pm
pertama sekali qmu buat Robot LF analog… kalo udah faham baru ke step berikutnya ^_^
Posted by rocky on Januari 5, 2012 at 1:53 pm
wow…keren bgt gan….bole liat cntoh program yg wall follower nya gak?
email in donk…
rocky.anthoni89@gmail.com
hehe…pgen nyoba gan, hehe
Posted by rocky on Januari 9, 2012 at 12:57 pm
abang ganteng, gmn? ajarin donk,,mbikin wall follower ny biar mulus gitu,,,haha…klo wall follower gt yg di jadiin pv langsung nilai input dari sensor ny ya?
Posted by naskan on Februari 3, 2012 at 10:38 am
Izin bookmark… mas…
Posted by David on Februari 8, 2012 at 8:03 pm
Mas Ane Tetarik Sama Yang Wall Following Pakai PID Mas, Bisa Di Share Mas Untuk Pembelajaran, Soalnya Kerena Banget Robotnya :D. Kalo Berkenan Bagi2 Ke SayaYa Mas Ke davidsetseven@gmail.com
Posted by indra on Februari 11, 2012 at 10:04 am
iyo mas ajarin kita2,,soale ane gak bgtu paham soal pid
Posted by Fahmizal on Februari 20, 2012 at 8:19 pm
silakan baca2 tutorialnya dahulu tentang PID…perlahan-lahan nanti paham juga ^_^
Posted by Arnas Elmiawan Akbar on Februari 28, 2012 at 11:09 pm
mas,,untuk wall followingnya itu pake srf04 y?
kalo pake ping responya lebih bagus mana mas?
saya tertarik dengan Wall Following Pakai PID mas,,
ne masih nyoba2,,
mohon bantuanya..
Posted by Bernadus on Mei 1, 2012 at 8:57 pm
mas,,,tlong di share donk untuk robot wall followernya.klo berkenan kirim ke email qu ya.Thanks….
email : bernadus_te@yahoo.com
Posted by Kang Kamal on Juni 29, 2012 at 10:20 pm
Keren artikelnya,.. makasih banyak gan… 😀
ditunggu kunjungan baliknya di
http://kangkamal.blogspot.com/
makasiih,.. 🙂
Posted by arip budiman on Juli 9, 2012 at 6:41 pm
mas..
q bingung nh tntg robot line follower PID.
robot ku kan gunain PID juga. wkt konsultasi kedosen pemb. saya ditanyain kenapa teg.out pada motor swaktu lurus 9 volt (motor kiri n kanan), dan kenapa swaktu tikungan kiri tegangan pada motor kanan turun jadi 6 volt
input 12 volt
apa itu slah satu seting dari program nya atau ada analisa elektronika nya ya mas. mohon pnjelasan nya mas, please mau sidang soalnya…:D
email (aripbii07@yahoo.co.id)
Posted by adnan on Juli 14, 2012 at 12:08 am
Mas, slam kenal saya adnan.. mau sharing program PID yg sya buat untuk line follower pake arduino romeo pake 6 sensor, sya bikin rumus PID sperti ini, mohon bntuannya untuk koreksi kl ada yg salah .. ^_^
void rumus_PID()
{
Kp = 27; // tuning konstanta P
Ki = 0; // tining konstanta I
Kd = 8; // tuning konstanta D
setpoint = 0;
MAXPWM = 120; // maksimum kecepatan PWM pada motor
MINPWM = 70; // minimum kecepatan PWM pada motor
intervalPWM = (MAXPWM – MINPWM) / 7;
error = PV – setpoint;
P = Kp * error / 10;
I = I + error;
I = (I * Ki) /10;
D = error – lasterror;
D = (D * Kd) /10;
lasterror = error;
MV = P + I + D;
if (MV == 0)
{
lpwm = MAXPWM;
rpwm = MAXPWM;
}
else if (MV > 0)
{ // alihkan ke kiri
rpwm = MAXPWM – ((intervalPWM – 12) * MV);
lpwm = MAXPWM – (intervalPWM * MV);
//rpwm = MAXPWM – ((intervalPWM – 12) * MV);
//lpwm = (MAXPWM – (intervalPWM * MV)) – diffPWM;
if (lpwm MAXPWM) lpwm = MAXPWM;
if (rpwm MAXPWM) rpwm = MAXPWM;
}
else if (MV < 0)
{ // alihkan ke kanan
lpwm = MAXPWM + ( ( intervalPWM – 12) * MV);
rpwm = MAXPWM + ( ( intervalPWM * MV ));
if (lpwm MAXPWM) lpwm = MAXPWM;
if (rpwm MAXPWM) rpwm = MAXPWM;
//lpwm = MAXPWM + ( ((intervalPWM – 12) + 5) * MV);
//rpwm = MAXPWM + ((intervalPWM * MV) * MV);
}
maju(lpwm,rpwm);
Posted by nadiagiza on September 30, 2012 at 7:11 am
mas fahmi, boleh minta listing LF yg menggunakan PID?? buat bahan referensi mas jika berkenan, tolong kirim ke winterain_gan@yahoo.com
makasih banyak mas
Posted by ghufron on November 5, 2012 at 5:06 pm
mas fahmi boleh minta souce code sensor sayap (samping) pada line tracer atu tidak??? klu boleh kirim ke email q …ghufronwahyukurniawan@yahoo.co.id…… atau posting di blog nya mas fahmi,, terimakasih mas….
Posted by choirul fanani on November 13, 2012 at 5:24 pm
bank merubah tegangan 1.5v ke 5v gmn?!
dan merubah tegangan 5v ke 1.5v gmn?!
Posted by tito on Februari 16, 2013 at 9:46 am
butuh berapa tahun ya belajar seperti ini?? domisili di mana mas?
Posted by Maulana on Februari 17, 2013 at 10:02 pm
mas komponen robot line follower apa saja mas?
Posted by www.getlistedbookmarks.info on Juli 11, 2013 at 5:40 pm
With havin so much content and articles do you ever run into any issues of plagorism or copyright violation?
My blog has a lot of unique content I’ve either written myself or outsourced but it looks like a lot of it is popping it up all over the internet without my permission. Do you know any techniques to help stop content from being stolen? I’d genuinely
appreciate it.
Posted by juna on November 8, 2013 at 1:31 pm
mas kalo pake fuzzy+PID gimana mas?
Posted by prayoga eko kosasi on Oktober 21, 2014 at 12:11 pm
mas , minat balajar
Posted by prayoga eko kosasi on Oktober 21, 2014 at 12:12 pm
saya lagi nyoba tuning pid punya mas
Posted by Shirl on Mei 14, 2017 at 10:54 pm
Lieber Herr Boux,nein, wir zensieren nicht. Aber um Unmengen von Spam auszufiltern, müssen die Kommentare erst gesichtet und dann frhgeescealtit werden. Entschuldigen Sie, dass dies in ihrem Fall etwas länger gedauert hat.Herzliche Grüße,Ihr Campact-Team
Posted by dwi hermawan on Februari 1, 2015 at 2:38 pm
mas sy udh coba simulasikan program nya mas. namun saya masih bingung dengan pemberian nilai dari e0-e7. nilai eror ini biasanya di kasi brapa mas?? mohon di blaz please……
Posted by sopan sofyan on September 30, 2015 at 9:45 pm
MASYAALLAH, jadi pengen kenal, kami dri lombok mas
Posted by farrosha on November 19, 2016 at 7:23 am
Terimakasih mas sangat membantu, mohon share mas
Posted by Sistem Close Loop menggunakan PID – IR-64 Web Server on Mei 18, 2017 at 12:41 pm
[…] Konsep Dasar PID […]
Posted by Muhammad Ihsan on Desember 24, 2017 at 3:19 pm
Thanks for sharing.. (y)
Posted by hamed on Februari 20, 2018 at 6:58 pm
hi i want made pid lineflower robot