I made a SUPER FAST Line Follower Robot Using PID!

แชร์
ฝัง
  • เผยแพร่เมื่อ 9 พ.ค. 2024
  • I'll show you how to make a line follower robot using a PID controller on arduino!
    JLCPCB 1-8 Layer PCB at $2. PCBA from $0 (Free Setup, Free Stencil)
    Sign Up to Get $54 New User Coupons at:jlcpcb.com/IYB
    Get the motors and electronics from: www.dfrobot.com/product-827.html
    Making Line follower robot is one of the best way to get started with robotics and arduino. In this video, we'll be learning how to use the PID algorithm to make a line follower robot FAST. Using arduino, motor drivers and chassis, we'll put together a simple line follower robot using two IR sensors. Then using an IR sensor array, will make PID controlled version of the line follower. PID control stands for Proportional Integral Derivative where each constant affects the way the bot behaves. This video explains why we need feedback control and how PID controller is used.
    Download code: github.com/theTechnowright/PI...
    More details:
    www.instructables.com/Make-a-...
    Reference project(And BT App): www.hackster.io/anova9347/lin...
    Chapters:
    00:00 Intro
    01:07 The Simple Version
    02:39 Designing the bot
    04:50 What is PID?
    07:12 3D Printing
    07:44 Track Design
    08:12 Speed Test
    Music from Uppbeat (free for Creators!):
    uppbeat.io/t/mojo/rumble
    License code: SA1IYLHH08X14CBM
    Music from Uppbeat (free for Creators!):
    uppbeat.io/t/all-good-folks/t...
    License code: WX75GUM5SZLV79WJ
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 207

  • @neologicalgamer3437
    @neologicalgamer3437 10 หลายเดือนก่อน +83

    I'm not sure why this was in my notifications, but this was actually made really well

    • @Tuurdub
      @Tuurdub 6 หลายเดือนก่อน +1

      Same for me, this actually earns a subscribe

  • @siddharthmohan9378
    @siddharthmohan9378 10 หลายเดือนก่อน +12

    What an evolution from the Technowright! Love your videos, I've been watching them for years!

  • @pieterpennings9371
    @pieterpennings9371 18 วันที่ผ่านมา +2

    This is really cool. I have been researching PID for a bit now and this came up in my notifications and I'm glad it did. Great video and good distribution of humor and information. Thanks for showing the progress and the mistakes you made, mistakes are often much more valuable than the result. Thanks!

  • @Prateek1234q.
    @Prateek1234q. 8 หลายเดือนก่อน +4

    Its maybe the fastest line following robot I've ever seen
    Great work❤

  • @joaomrtins
    @joaomrtins 6 หลายเดือนก่อน +39

    Finally an explanation of derivative and integral error correction that makes sense.
    Also, nice video overall!!!

    • @kersgames6382
      @kersgames6382 6 หลายเดือนก่อน +1

      It is unbelievable how bad teachers can explain this topic right 😂

    • @developeroppa
      @developeroppa 5 หลายเดือนก่อน

      Was thinking the same thing, if we had good and practical example while we were being taught, we would have loved it and understand so much better

  • @patrickfox-roberts7528
    @patrickfox-roberts7528 6 หลายเดือนก่อน +22

    It is called 'Bang Bang' from the first days of radio control in which I played a part, trying to fly aircraft. there were three positions ; neutral, or BANG full right, or BANG full left ( and they did make a bang noise sometimes, using rubber escapement motors) - no proportional in-betweens

  • @beast2808
    @beast2808 8 หลายเดือนก่อน

    Damn! This was awesome!

  • @nimsarachamidhu883
    @nimsarachamidhu883 5 หลายเดือนก่อน

    Ah Yes! Quality Content❤

  • @tarunraman4612
    @tarunraman4612 10 หลายเดือนก่อน +1

    Excellent video!! Hopefully we get em more often though.

  • @jackisgoofingoff5510
    @jackisgoofingoff5510 6 หลายเดือนก่อน

    Awesome project, and thanks for your contribution

  • @gowrishankar7011
    @gowrishankar7011 8 หลายเดือนก่อน +1

    Best video i ever saw in youtube.. Good explaination bro

  • @Usman.ani8
    @Usman.ani8 9 หลายเดือนก่อน

    Finally he remembered that he also had a TH-cam channel. ❤❤

  • @amorphouscarbon7
    @amorphouscarbon7 6 หลายเดือนก่อน +1

    3:26 MOST HELPFUL TY CUS IT HELPED ME TO MAKE A PROJECT REPRESENTING MY SCHOOL !

  • @aminos4779
    @aminos4779 8 หลายเดือนก่อน

    Good job bro❤❤

  • @n0MC
    @n0MC 10 หลายเดือนก่อน +10

    Nice! Great style, and very educational.

  • @CreatronixDE
    @CreatronixDE 2 หลายเดือนก่อน

    Awesome vid! ❤‍🔥

  • @tanayranjan6422
    @tanayranjan6422 6 หลายเดือนก่อน +1

    Damnn!! Amazing video Shyam, and awesome work. Loved it!!

  • @Tech_Monstar_
    @Tech_Monstar_ 6 หลายเดือนก่อน +1

    You are superhero ❤❤❤
    Thanks from Egypt

  • @asidesigner8542
    @asidesigner8542 5 หลายเดือนก่อน

    thanks for sharing, would you make a video and tell us the PID tuning detials?

  • @BotondBereczki
    @BotondBereczki 5 หลายเดือนก่อน

    Amazing job and expalination.

  • @user-vb2jl3ic2o
    @user-vb2jl3ic2o 9 หลายเดือนก่อน +4

    Superb Shyam. Very well presented. Engaging and entertaining… All the best

    • @shyam-ravi
      @shyam-ravi  9 หลายเดือนก่อน

      Thank you!

  • @monneratrj
    @monneratrj 6 หลายเดือนก่อน +2

    First of all, awesome video, great explanation and demonstration of everything, i just added to my favorites! I just wanted to point out that you might've made a heavy load with that cool looking racing car model on top... and the tires/wheel you've chose does not have a good grip, its better to have something more soft to have better adhesion... another thing to consider is having bigger dc motors, those are very weak, specially with that load on top of it... please remember to take everything that ive said with a grain of salt because im not a professional at all... but i was wondering about that while i watch it run...

  • @lehlohonolosibanda9633
    @lehlohonolosibanda9633 หลายเดือนก่อน

    really nice, what was your base speed for the motors (to be specific what was your pulse width for the PWM)

  • @bhavankumar963
    @bhavankumar963 8 หลายเดือนก่อน

    Bro i want the list of foot prints that you used for pcb design .

  • @apoorvaamargol5125
    @apoorvaamargol5125 5 หลายเดือนก่อน

    Hi ! which app did you use on the phone for controlling the PID ??

  • @Zypher_desu
    @Zypher_desu หลายเดือนก่อน +1

    Hello sir!Nice video! can you please specify what sensor you used? and does it have a digital input or analog?

  • @bassamsiraj2175
    @bassamsiraj2175 8 หลายเดือนก่อน

    Great video!

  • @shanmukhasainamakanti1634
    @shanmukhasainamakanti1634 หลายเดือนก่อน

    love this video , so much fun

  • @debarjun
    @debarjun 2 หลายเดือนก่อน

    bro what are the components that you used separately on the pcb, and which app did you use to control the pid, can you please mention.

  • @nancyshahpuri7796
    @nancyshahpuri7796 9 หลายเดือนก่อน +1

    Proud of you my son.... Hope to see you on another level....❤

    • @shyam-ravi
      @shyam-ravi  9 หลายเดือนก่อน +1

      Thanks a lot!

  • @johnmiller4859
    @johnmiller4859 6 หลายเดือนก่อน

    Have you tried doing it with all analog circuits, except maybe for an esp32 to let you set the tuning values remotely?

  • @EMPEROR_ZAYCH1K-027d
    @EMPEROR_ZAYCH1K-027d 7 หลายเดือนก่อน

    What is your kp and kd value that you're use?

  • @manjulashanmuganathan2728
    @manjulashanmuganathan2728 9 หลายเดือนก่อน +1

    So nice innovation. Hats off🎉🤝👏

  • @edamhbaieb2091
    @edamhbaieb2091 7 หลายเดือนก่อน +4

    Great video, thanks for sharing it. Although I do have one question, how were you able to determine the error value accurately with only 5 IR sensors!?, I've been trying to do the same thing but couldn't see it happening with only 5 sensors.
    Please reply if possible

    • @shyam-ravi
      @shyam-ravi  7 หลายเดือนก่อน

      The IR sensors give an analog value rather than a digital one. So that adds to the precision in measuring the error.

  • @jakob1379
    @jakob1379 5 หลายเดือนก่อน

    Could you fit a kalmar filter on the arduino to underdampen the steering?

  • @PabloVivCo
    @PabloVivCo 8 หลายเดือนก่อน

    subscribed! Nice video

  • @vivekchauhan4053
    @vivekchauhan4053 8 หลายเดือนก่อน

    Bro explained PID the best way possible!!

  • @bindhubaburaj9136
    @bindhubaburaj9136 9 หลายเดือนก่อน

    Superb Shyam..keep rocking 👏👏👏

  • @craigsmith5134
    @craigsmith5134 5 หลายเดือนก่อน

    very nice video and presentation. You are very well articulated and a pleasure to watch.

  • @FirstNameLastName-ro6jb
    @FirstNameLastName-ro6jb 8 หลายเดือนก่อน

    Bro can we use printer motor?

  • @user-wu9yq6hs3x
    @user-wu9yq6hs3x 7 หลายเดือนก่อน +1

    Can you please also share the 3D design

  • @noelglezam5901
    @noelglezam5901 5 หลายเดือนก่อน

    I am doing a project similar to the simple version that you show and apperantly I do everything correct but when a switch on the gears are not working.
    After watching your video I guess that the battery I am using is the problem. What kind of battery should I use?

  • @amoghsrivastava8410
    @amoghsrivastava8410 7 หลายเดือนก่อน

    Is this follows LSRB algo. As well ?

  • @DewangShaw
    @DewangShaw หลายเดือนก่อน

    Have you tried your line following robot with dead end map and does it follow the line with a mixture map(white line with black bavkground and black line with white background)?

  •  8 หลายเดือนก่อน

    How about front wheel drive?

  • @jeffmikhailcerillo5583
    @jeffmikhailcerillo5583 7 หลายเดือนก่อน

    May i ask the link of the parts?

  • @dcpowered
    @dcpowered 7 หลายเดือนก่อน

    Nice project! What PCB design software did you use?

    • @shyam-ravi
      @shyam-ravi  7 หลายเดือนก่อน +1

      Easyeda

  • @erosionreactions
    @erosionreactions 6 หลายเดือนก่อน

    VERY COOL, great work. But uhh, do you have the Code for the smart glasses

  • @Gabriel-zd8iy
    @Gabriel-zd8iy 27 วันที่ผ่านมา

    Hi im quite new to arduino but im just wondering how you got the arduino powered without plugging it in anywhere? I mean looking at 1:57 there doesn't look to be any cable from the battery to the USB or barrel plug. how is it working?

  • @Zypher_desu
    @Zypher_desu หลายเดือนก่อน +1

    What IR sensor are you using? please tell me specific name...

  • @edalimir
    @edalimir หลายเดือนก่อน

    thank you!

  • @yogpanjarale
    @yogpanjarale 6 หลายเดือนก่อน

    Another addition you can do to increase speed is speedup on straight sections and then slow down to normal or break on turn can significsntly boost speed

    • @shyam-ravi
      @shyam-ravi  6 หลายเดือนก่อน

      The PID algorithm does that automatically

  • @andregomes1520
    @andregomes1520 4 หลายเดือนก่อน

    Hello bro, first of all, let me congratulate you on the video. I'm having doubts about this line sensor. I have one just like yours, however, the sensor values ​​always remain the same regardless of the surface it detects, whether it reflects a black or white surface, for example. I'm simply reading the sensors from the analog inputs, I'm not sure if I need to do something else?

  • @hieutrong9253
    @hieutrong9253 6 หลายเดือนก่อน

    i want to know your parameter Kp,Kd,Ki ,multiP,I,D is always 1 ?

  • @Yuvraj_333
    @Yuvraj_333 6 หลายเดือนก่อน

    bro's smart as hell

  • @loveandthunder2928
    @loveandthunder2928 5 หลายเดือนก่อน

    Please provide a roadmap on how we can make one of these
    What to learn first?

  • @haqifalhanestasaidya8169
    @haqifalhanestasaidya8169 5 หลายเดือนก่อน

    what software is used to set the PID value?

  • @M4Rv25
    @M4Rv25 5 หลายเดือนก่อน

    love it!

  • @matthannah1380
    @matthannah1380 6 หลายเดือนก่อน

    Hi friend. Great video. What’s at J1?

  • @creeperhaed1267
    @creeperhaed1267 5 หลายเดือนก่อน

    Totally worth it

  • @user-jg7yq6hw2m
    @user-jg7yq6hw2m 7 หลายเดือนก่อน

    bro Funtastic

  • @Rama_--_
    @Rama_--_ 3 หลายเดือนก่อน

    At intersection point , from 3 lines which line the robot will be choose ?? How robot decided about it ?? 🤔. Is the robot will be choose a line randomly every time when it reaching at that intersection point or you programmed robot to choose a specific line from 3 lines or any other idea you taught the robot 🤔 ??

  • @nhatpham5797
    @nhatpham5797 2 หลายเดือนก่อน

    hello, can you do it with backward mode or can you guide me code with motor backward ? Thank you so much

  • @Zypher_desu
    @Zypher_desu หลายเดือนก่อน

    My brother what sensor are you using TT please tell me

  • @zaheerraihan910
    @zaheerraihan910 8 หลายเดือนก่อน

    Please teach about your program

  • @user-zo6wi1tg4u
    @user-zo6wi1tg4u 7 หลายเดือนก่อน

    hello
    how to oder the pcb
    please guid me

  • @TrendSurges
    @TrendSurges 3 หลายเดือนก่อน

    love from pakistan. A good quality engineering video at last 👌

  • @_cul8r_
    @_cul8r_ 6 หลายเดือนก่อน +5

    I have no idea about any of this, but I kept thinking, why not use a fast linear interpolation value to smooth out between all the hard value changes. Seems like that might act like a dampener between values and really smooth things out. Besides, I like lerp functions in all of my game dev programming. It just works great for so many situations.

    • @adrianfernandes2004
      @adrianfernandes2004 3 หลายเดือนก่อน

      And how you do that?I jus wanna learn abt it

    • @_cul8r_
      @_cul8r_ 3 หลายเดือนก่อน

      @@adrianfernandes2004 Linear interpolation or LERP is taking a value and then cutting it up into a smaller part, then cutting that part into another smaller part. In programming you can do this to crate a smooth transition from one value to another that is not instantaneous. Lots of info available online, just search for "How to lerp function).

    • @adrianfernandes2004
      @adrianfernandes2004 3 หลายเดือนก่อน

      @@_cul8r_ dude thanks for explaining I kinda get it

  • @saeeshk6766
    @saeeshk6766 หลายเดือนก่อน

    how can I use qtr 8rc sensor with this code?

  • @andrewslater6846
    @andrewslater6846 5 หลายเดือนก่อน

    How necessary was the integral constant? Was it relatively small?
    Would a larger integral constant yield a better response for an error biased towards one side? Such as one wheel having (consistently) more grip than the other side?

    • @jakesullivan3017
      @jakesullivan3017 5 หลายเดือนก่อน

      In the case of one wheel having different properties (such as better traction), you would have separate PID values for each wheel.

  • @sumukha-infotech
    @sumukha-infotech 5 หลายเดือนก่อน

    Awesome 🎉😊

  • @MUSIKATA.PH_
    @MUSIKATA.PH_ 7 หลายเดือนก่อน +1

    Dang, your accent is so good

    • @Yuvraj_333
      @Yuvraj_333 6 หลายเดือนก่อน

      I agree

  • @pocopoco3468
    @pocopoco3468 9 หลายเดือนก่อน +1

    It cant take acute angles right? Im working on LFR from 2 years.
    Im using qtrx 16A line sensor with toshiba tb6612fng motor driver and teensy board, my lfr top speed is 6-7m/sec.
    Do you have any idea to crack acute angles?
    5:30 your app looks similar to "Bot reboot's" pid controller app, did you made this app or using his app for pid tune?

    • @shyam-ravi
      @shyam-ravi  9 หลายเดือนก่อน

      Yes, the PID alone isnt sufficient for acute anglee. So, I coded it so that once it leaves the line it checks the previous error and turns to that side till its back on the line. This worked well on the acute angles.

    • @pocopoco3468
      @pocopoco3468 9 หลายเดือนก่อน

      @@shyam-ravi you mean, in this code it can take acute angles well?

    • @shyam-ravi
      @shyam-ravi  9 หลายเดือนก่อน

      Yes, it handles the acute angles quite well. As you can see in the video.

    • @shubham9672
      @shubham9672 6 หลายเดือนก่อน

      ​@@pocopoco3468
      Which motors are you using
      Rpm
      Voltage

    • @pocopoco3468
      @pocopoco3468 6 หลายเดือนก่อน

      @@shubham9672 N20 gear motor, 1000RPM 12v

  • @divyasathish9348
    @divyasathish9348 9 หลายเดือนก่อน

    Very nice video shyam. Keep on rocking

    • @shyam-ravi
      @shyam-ravi  9 หลายเดือนก่อน

      Thanks!

  • @AnjuKumari-pu5yr
    @AnjuKumari-pu5yr 6 หลายเดือนก่อน

    Can you tell me the list of items you used please asap

  • @angryalliance4958
    @angryalliance4958 7 หลายเดือนก่อน

    Gold 💛

  • @guilhermedovale5887
    @guilhermedovale5887 2 หลายเดือนก่อน

    A very good video. Which transistor to use?

    • @shyam-ravi
      @shyam-ravi  2 หลายเดือนก่อน

      Which transistor are you referring to?

  • @AtheistAdam
    @AtheistAdam 7 หลายเดือนก่อน

    You mahe great videos. Have you got a new channel or have you just stopped? Updated ones would be great

  • @HackergCyb
    @HackergCyb 3 หลายเดือนก่อน

    How to purchase this project

  • @parambudhadev6551
    @parambudhadev6551 10 หลายเดือนก่อน

    Awesome!

  • @noelglezam5901
    @noelglezam5901 5 หลายเดือนก่อน +1

    I am starting doing projects with Arduino and I am interested to start doing the simple version you show in this video. What are those components where you put the photoresistors? Sorry for asking but I am not familiar yet with electronics and Arduino. By the way really cool video dude I enjoy it!

    • @aakashjana6225
      @aakashjana6225 5 หลายเดือนก่อน +1

      Think he used IR detectors not photo resistors.

    • @noelglezam5901
      @noelglezam5901 5 หลายเดือนก่อน

      Thank you.
      I have see that I will need to do it with phototransistors, are they similar to the IR detectors? Or at least if I buy this IR detectors to practice will be similar?@@aakashjana6225

  • @02nitish04
    @02nitish04 7 หลายเดือนก่อน

    can it be used for maze like pathways ??
    please reply asap

    • @shyam-ravi
      @shyam-ravi  7 หลายเดือนก่อน

      You can, but that would require separate algorithm or sensors

  • @bayunugarahasuparto112
    @bayunugarahasuparto112 6 หลายเดือนก่อน

    do you have to use an encoder?

  • @shridhanusham
    @shridhanusham 7 หลายเดือนก่อน

    Nice

  • @alexandermaverick9474
    @alexandermaverick9474 8 หลายเดือนก่อน +5

    it's hardly "fast", but good job on the presentation and project! (see videos from Japan's linefollowers or maze solvers, or from Europe's Robochallenge linefollowers...)

  • @chaitanyagaikwad2664
    @chaitanyagaikwad2664 หลายเดือนก่อน

    How about using a QTR sensor?
    Me and my friends were able to make a similar fast PID based line follower, during the build we realised that the gap between the IRs was also a deal breaker (QTR being compact, solves this issue) .
    Also can you upgrade this to a maze solver next please, would be interesting to see that!
    Good video!

    • @shyam-ravi
      @shyam-ravi  หลายเดือนก่อน

      Thanks for the suggestion, I did consider a qtr sensor, however due to availability issues I went this one. Maze solver would be an interesting project!

  • @praneetguharoy3359
    @praneetguharoy3359 6 หลายเดือนก่อน

    Nice! But we would all appreceate it if you would include some of the details in the coding as well

  • @falin9557
    @falin9557 7 หลายเดือนก่อน

    why not using a linear image sensor with a ligth? you get much more accuracy

  • @charleschewu1780
    @charleschewu1780 3 หลายเดือนก่อน

    Superb

  • @pradeepgr1692
    @pradeepgr1692 4 หลายเดือนก่อน

    Bro please make a explained video on coding part

  • @ronavbihani1471
    @ronavbihani1471 7 หลายเดือนก่อน

    Great work. Just one question, Can we use PID in Arduino UNO?

    • @shyam-ravi
      @shyam-ravi  7 หลายเดือนก่อน

      Yes, you can

    • @shubham9672
      @shubham9672 6 หลายเดือนก่อน

      Yes
      It's just a equation which can be written in lines of code

  • @eamonburns9597
    @eamonburns9597 6 หลายเดือนก่อน

    "All that glitters is not fast"
    - Sun Tzu, The Art of War

  • @iqbalahsan7576
    @iqbalahsan7576 8 หลายเดือนก่อน +1

    Which app you use to adjust kp, ki, kd value for this experiment?

    • @Yuvraj_333
      @Yuvraj_333 6 หลายเดือนก่อน

      I guess he just made a simple app on his own for his phone that just sends values to the esp via bluetoot

  • @kerryjones1508
    @kerryjones1508 10 หลายเดือนก่อน

    Super video

  • @devisriadithya5907
    @devisriadithya5907 9 หลายเดือนก่อน

    Can i also use higher speed motor?

    • @shyam-ravi
      @shyam-ravi  9 หลายเดือนก่อน

      Yes, you can use any rpm motor. But you have to tune the PID values.

    • @devisriadithya5907
      @devisriadithya5907 9 หลายเดือนก่อน

      @@shyam-ravi where can i dm you if u do not mind ,really need some help

    • @shyam-ravi
      @shyam-ravi  9 หลายเดือนก่อน

      Instagram @thetechnowright

    • @devisriadithya5907
      @devisriadithya5907 9 หลายเดือนก่อน

      messaged you

    • @devisriadithya5907
      @devisriadithya5907 9 หลายเดือนก่อน

      Bro i messaged u on insta

  • @RighttoInformationAct2005
    @RighttoInformationAct2005 11 วันที่ผ่านมา

    where is the app download link

  • @rexcode9366
    @rexcode9366 6 หลายเดือนก่อน

    IS THERE A CALIBARATION AND RUN BUTTON? or just turn on power and run

    • @shyam-ravi
      @shyam-ravi  6 หลายเดือนก่อน

      First 10s calibration and run. There is no button for it

    • @rexcode9366
      @rexcode9366 6 หลายเดือนก่อน

      @@shyam-ravi how can i contact you bro

    • @rexcode9366
      @rexcode9366 6 หลายเดือนก่อน

      @@shyam-ravi bro i followed your exact tutorial, nothing happens, even bluetooth of esp32 does not show up on phone

  • @mohammadratul7921
    @mohammadratul7921 6 หลายเดือนก่อน

    'Hot Glue' 😂

  • @geetharavi691
    @geetharavi691 10 หลายเดือนก่อน +1

    Great project 👏🏻👏🏻

  • @debasishmohanta6458
    @debasishmohanta6458 4 หลายเดือนก่อน

    Can anyone help me out.. 😐
    I have tried my best... But still could not make it...
    My line follower is not tracking the lines nor responding to the ir sensor...