ROBOT LINE FOLLOWER dengan Kendali PID


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

91 responses to this post.

  1. Sip tulisane..!! Teroske terus…

    Balas

  2. mantep tenan mas fahmi…
    udah mantap lah…

    😀

    Balas

  3. 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.

    Balas

  4. 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….

    Balas

  5. Posted by bastaman on Agustus 18, 2010 at 2:34 pm

    sip2, nek butuh referensi aku takon njenengan yo mas

    Balas

  6. 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??

    Balas

  7. Posted by j'ko on Agustus 28, 2010 at 1:32 pm

    nice blog., mas.

    mas ada gambar rangkaian skematik LF’y gak..??

    Balas

  8. mantap tenan… sip…
    mother finger likes this

    Balas

  9. Posted by zayyin on September 25, 2010 at 8:35 am

    mas harga robot line folower berapa?

    Balas

  10. 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..

    Balas

  11. Posted by edi on Oktober 30, 2010 at 11:44 am

    terimaksih sharing ilmunya mas…sukses selalu…

    Balas

  12. Posted by si agan on Desember 15, 2010 at 10:17 pm

    nice post…like gan…lanjut teruz…

    Balas

  13. eeprom byte Kp = 10;
    eeprom byte Ki = 0;
    eeprom byte Kd = 5;

    ada error saat di compile di codevisionAvr : missing ‘(‘

    mohon kenapa demikian?

    Balas

    • cek lagi aturan penulisan pada codevision…”error compiling missing” itu tandanya ada yang terlupakan dan terjadi kesalahan dalam penulisan sintaks program.. 😀

      Balas

    • 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…

      Balas

      • 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…

    • Terinmakasih atas kunjungannya mas is 😀

      Balas

      • 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

    • 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

      Balas

  14. 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?

    Balas

  15. Posted by imam on Maret 24, 2011 at 12:27 pm

    mas kl pid pada robot avoider tu gmn?

    Balas

    • logika nya hampir sama dengan line follower PID, hanya saja error diperoleh dari setpoint jarak- data jarak terukur 😀

      Balas

      • 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….

      • 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.

  16. pid controler itu mksudya gimana (mahklum pemula cuy)

    Balas

  17. 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?

    Balas

  18. 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….

    Balas

    • yup… mantap ada NOS Speed nya… pake TURBO lagi hehheee 😀

      Balas

      • 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

  19. 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…

    Balas

  20. Mantap mas, untuk sekian kalinya saya comment, blog nya kontennya bagus-bagus

    Balas

  21. asik skali..!!!
    keren mas robotnya

    Balas

  22. Posted by yusep on Oktober 14, 2011 at 2:30 pm

    bisa bantu saya skripsi? tp pake metode lain..

    Balas

  23. bermanfaat sekali gan…,tak save yaa..

    Balas

  24. Mas fahmi salam kenal. Saya Yudha.
    Saya boleh minta source code wall following mas gak?
    Buat referensi robot saya mas. Thanks 🙂

    Balas

  25. 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.

    Balas

  26. 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

    Balas

  27. 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?

    Balas

  28. Izin bookmark… mas…

    Balas

  29. 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

    Balas

  30. Posted by indra on Februari 11, 2012 at 10:04 am

    iyo mas ajarin kita2,,soale ane gak bgtu paham soal pid

    Balas

  31. 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

    Balas

  32. Keren artikelnya,.. makasih banyak gan… 😀

    ditunggu kunjungan baliknya di
    http://kangkamal.blogspot.com/
    makasiih,.. 🙂

    Balas

  33. 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)

    Balas

  34. 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);

    Balas

  35. 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

    Balas

  36. 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….

    Balas

  37. 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?!

    Balas

  38. Posted by tito on Februari 16, 2013 at 9:46 am

    butuh berapa tahun ya belajar seperti ini?? domisili di mana mas?

    Balas

  39. Posted by Maulana on Februari 17, 2013 at 10:02 pm

    mas komponen robot line follower apa saja mas?

    Balas

  40. 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.

    Balas

  41. Posted by juna on November 8, 2013 at 1:31 pm

    mas kalo pake fuzzy+PID gimana mas?

    Balas

  42. mas , minat balajar

    Balas

  43. saya lagi nyoba tuning pid punya mas

    Balas

    • 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

      Balas

  44. 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……

    Balas

  45. Posted by sopan sofyan on September 30, 2015 at 9:45 pm

    MASYAALLAH, jadi pengen kenal, kami dri lombok mas

    Balas

  46. Posted by farrosha on November 19, 2016 at 7:23 am

    Terimakasih mas sangat membantu, mohon share mas

    Balas

  47. Posted by Muhammad Ihsan on Desember 24, 2017 at 3:19 pm

    Thanks for sharing.. (y)

    Balas

  48. Posted by hamed on Februari 20, 2018 at 6:58 pm

    hi i want made pid lineflower robot

    Balas

Tinggalkan Balasan ke fahmizaleeits Batalkan balasan