I made a SUPER FAST Line Follower Robot Using PID!

Sdílet
Vložit
  • čas přidán 1. 06. 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
  • Věda a technologie

Komentáře • 213

  • @neologicalgamer3437
    @neologicalgamer3437 Před 10 měsíci +87

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

    • @Tuurdub
      @Tuurdub Před 7 měsíci +1

      Same for me, this actually earns a subscribe

  • @siddharthmohan9378
    @siddharthmohan9378 Před 10 měsíci +13

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

  • @pieterpennings9371
    @pieterpennings9371 Před měsícem +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!

  • @patrickfox-roberts7528
    @patrickfox-roberts7528 Před 7 měsíci +26

    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

  • @nimsarachamidhu883
    @nimsarachamidhu883 Před 6 měsíci +1

    Ah Yes! Quality Content❤

  • @joaomrtins
    @joaomrtins Před 7 měsíci +41

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

    • @kersgames6382
      @kersgames6382 Před 7 měsíci +1

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

    • @developeroppa
      @developeroppa Před 6 měsíci

      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

  • @n0MC
    @n0MC Před 10 měsíci +10

    Nice! Great style, and very educational.

  • @Prateek1234q.
    @Prateek1234q. Před 8 měsíci +4

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

  • @shanmukhasainamakanti1634
    @shanmukhasainamakanti1634 Před měsícem

    love this video , so much fun

  • @tarunraman4612
    @tarunraman4612 Před 10 měsíci +1

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

  • @beast2808
    @beast2808 Před 8 měsíci

    Damn! This was awesome!

  • @paulmeynell8866
    @paulmeynell8866 Před 16 dny

    Very cool , also love your apartment.

  • @Tech_Monstar_
    @Tech_Monstar_ Před 6 měsíci +1

    You are superhero ❤❤❤
    Thanks from Egypt

  • @CreatronixDE
    @CreatronixDE Před 2 měsíci

    Awesome vid! ❤‍🔥

  • @BotondBereczki
    @BotondBereczki Před 5 měsíci

    Amazing job and expalination.

  • @bassamsiraj2175
    @bassamsiraj2175 Před 9 měsíci

    Great video!

  • @monneratrj
    @monneratrj Před 7 měsíci +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...

  • @manjulashanmuganathan2728
    @manjulashanmuganathan2728 Před 10 měsíci +1

    So nice innovation. Hats off🎉🤝👏

  • @aminos4779
    @aminos4779 Před 9 měsíci

    Good job bro❤❤

  • @tanayranjan6422
    @tanayranjan6422 Před 7 měsíci +1

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

  • @bindhubaburaj9136
    @bindhubaburaj9136 Před 10 měsíci

    Superb Shyam..keep rocking 👏👏👏

  • @gowrishankar7011
    @gowrishankar7011 Před 9 měsíci +1

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

  • @jackisgoofingoff5510
    @jackisgoofingoff5510 Před 7 měsíci

    Awesome project, and thanks for your contribution

  • @M4Rv25
    @M4Rv25 Před 6 měsíci

    love it!

  • @edalimir
    @edalimir Před 2 měsíci

    thank you!

  • @PabloVivCo
    @PabloVivCo Před 8 měsíci

    subscribed! Nice video

  • @amorphouscarbon7
    @amorphouscarbon7 Před 7 měsíci +1

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

  • @Usman.ani8
    @Usman.ani8 Před 9 měsíci

    Finally he remembered that he also had a CZcams channel. ❤❤

  • @asidesigner8542
    @asidesigner8542 Před 6 měsíci

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

  • @user-vb2jl3ic2o
    @user-vb2jl3ic2o Před 10 měsíci +5

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

    • @shyam-ravi
      @shyam-ravi  Před 10 měsíci

      Thank you!

    • @kim-wr2tn
      @kim-wr2tn Před 8 dny

      @@shyam-ravihi cam you share how to use the code? I mean to install that somewherw? First time

  • @Zypher_desu
    @Zypher_desu Před 2 měsíci +1

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

  • @lehlohonolosibanda9633
    @lehlohonolosibanda9633 Před 2 měsíci

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

  • @johnmiller4859
    @johnmiller4859 Před 7 měsíci

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

  • @TrendSurges
    @TrendSurges Před 3 měsíci

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

  • @sumukha-infotech
    @sumukha-infotech Před 6 měsíci

    Awesome 🎉😊

  • @nancyshahpuri7796
    @nancyshahpuri7796 Před 10 měsíci +2

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

  • @yogpanjarale
    @yogpanjarale Před 7 měsíci

    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  Před 7 měsíci

      The PID algorithm does that automatically

  • @jakob1379
    @jakob1379 Před 6 měsíci

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

  • @creeperhaed1267
    @creeperhaed1267 Před 6 měsíci

    Totally worth it

  • @edamhbaieb2091
    @edamhbaieb2091 Před 8 měsíci +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  Před 8 měsíci

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

  • @charleschewu1780
    @charleschewu1780 Před 4 měsíci

    Superb

  • @craigsmith5134
    @craigsmith5134 Před 6 měsíci

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

  • @noelglezam5901
    @noelglezam5901 Před 5 měsíci

    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?

  • @divyasathish9348
    @divyasathish9348 Před 10 měsíci

    Very nice video shyam. Keep on rocking

  • @parambudhadev6551
    @parambudhadev6551 Před 10 měsíci

    Awesome!

  • @mateocontu4927
    @mateocontu4927 Před 15 dny

    Hi ! Do you think it is possible to implement an A* algorithm in a line following robot?

  • @apoorvaamargol5125
    @apoorvaamargol5125 Před 6 měsíci

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

  • @debarjun
    @debarjun Před 3 měsíci

    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.

  • @DewangShaw
    @DewangShaw Před měsícem

    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)?

  • @Zypher_desu
    @Zypher_desu Před 2 měsíci +1

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

  • @manishankar9189
    @manishankar9189 Před 7 měsíci

    Nice

  • @Gabriel-zd8iy
    @Gabriel-zd8iy Před měsícem

    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?

  • @andregomes1520
    @andregomes1520 Před 5 měsíci

    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?

  • @geetharavi691
    @geetharavi691 Před 10 měsíci +1

    Great project 👏🏻👏🏻

  • @nhatpham5797
    @nhatpham5797 Před 3 měsíci

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

  • @loveandthunder2928
    @loveandthunder2928 Před 6 měsíci

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

  • @EMPEROR_ZAYCH1K-027d
    @EMPEROR_ZAYCH1K-027d Před 8 měsíci

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

  • @Yuvraj_333
    @Yuvraj_333 Před 7 měsíci

    bro's smart as hell

  • @_cul8r_
    @_cul8r_ Před 6 měsíci +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 Před 4 měsíci

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

    • @_cul8r_
      @_cul8r_ Před 4 měsíci

      @@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 Před 4 měsíci

      @@_cul8r_ dude thanks for explaining I kinda get it

  • @user-jg7yq6hw2m
    @user-jg7yq6hw2m Před 8 měsíci

    bro Funtastic

  • @angryalliance4958
    @angryalliance4958 Před 8 měsíci

    Gold 💛

  • @bhavankumar963
    @bhavankumar963 Před 9 měsíci

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

  • @andrewslater6846
    @andrewslater6846 Před 6 měsíci

    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 Před 6 měsíci

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

  • @kerryjones1508
    @kerryjones1508 Před 10 měsíci

    Super video

  • @Rama_--_
    @Rama_--_ Před 4 měsíci

    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 🤔 ??

  • @erosionreactions
    @erosionreactions Před 7 měsíci

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

  • @matthannah1380
    @matthannah1380 Před 7 měsíci

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

  • @hieutrong9253
    @hieutrong9253 Před 7 měsíci

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

  • @haqifalhanestasaidya8169
    @haqifalhanestasaidya8169 Před 6 měsíci

    what software is used to set the PID value?

  • @Zypher_desu
    @Zypher_desu Před 2 měsíci

    My brother what sensor are you using TT please tell me

  • @MUSIKATA.PH_
    @MUSIKATA.PH_ Před 8 měsíci +1

    Dang, your accent is so good

  • @amoghsrivastava8410
    @amoghsrivastava8410 Před 8 měsíci

    Is this follows LSRB algo. As well ?

  • @chaitanyagaikwad2664
    @chaitanyagaikwad2664 Před měsícem

    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  Před měsícem

      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!

  • @guilhermedovale5887
    @guilhermedovale5887 Před 3 měsíci

    A very good video. Which transistor to use?

    • @shyam-ravi
      @shyam-ravi  Před 3 měsíci

      Which transistor are you referring to?

  • @saeeshk6766
    @saeeshk6766 Před 2 měsíci

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

  • @AnjuKumari-pu5yr
    @AnjuKumari-pu5yr Před 6 měsíci

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

  • @vivekchauhan4053
    @vivekchauhan4053 Před 8 měsíci

    Bro explained PID the best way possible!!

  • @azzar.
    @azzar. Před 3 měsíci

    Maybe u can integrate ann (artificial neural network) to it, so it's can learn the track, to make it some kind of intelligence enough to run even faster.

  • @raviganesan3873
    @raviganesan3873 Před 10 měsíci

    Wow! Fantastic👏👏👏

  •  Před 8 měsíci

    How about front wheel drive?

  • @user-zo6wi1tg4u
    @user-zo6wi1tg4u Před 8 měsíci

    hello
    how to oder the pcb
    please guid me

  • @FirstNameLastName-ro6jb
    @FirstNameLastName-ro6jb Před 8 měsíci

    Bro can we use printer motor?

  • @dcpowered
    @dcpowered Před 8 měsíci

    Nice project! What PCB design software did you use?

  • @user-wu9yq6hs3x
    @user-wu9yq6hs3x Před 8 měsíci +1

    Can you please also share the 3D design

  • @praneetguharoy3359
    @praneetguharoy3359 Před 7 měsíci

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

  • @AtheistAdam
    @AtheistAdam Před 7 měsíci

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

  • @noelglezam5901
    @noelglezam5901 Před 6 měsíci +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 Před 6 měsíci +1

      Think he used IR detectors not photo resistors.

    • @noelglezam5901
      @noelglezam5901 Před 6 měsíci

      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

  • @bayunugarahasuparto112
    @bayunugarahasuparto112 Před 7 měsíci

    do you have to use an encoder?

  • @pocopoco3468
    @pocopoco3468 Před 10 měsíci +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  Před 10 měsíci

      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 Před 10 měsíci

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

    • @shyam-ravi
      @shyam-ravi  Před 10 měsíci

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

    • @shubham9672
      @shubham9672 Před 7 měsíci

      ​@@pocopoco3468
      Which motors are you using
      Rpm
      Voltage

    • @pocopoco3468
      @pocopoco3468 Před 7 měsíci

      @@shubham9672 N20 gear motor, 1000RPM 12v

  • @HackergCyb
    @HackergCyb Před 4 měsíci

    How to purchase this project

  • @jeffmikhailcerillo5583
    @jeffmikhailcerillo5583 Před 8 měsíci

    May i ask the link of the parts?

  • @zaheerraihan910
    @zaheerraihan910 Před 8 měsíci

    Please teach about your program

  • @rexcode9366
    @rexcode9366 Před 7 měsíci

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

    • @shyam-ravi
      @shyam-ravi  Před 7 měsíci

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

    • @rexcode9366
      @rexcode9366 Před 7 měsíci

      @@shyam-ravi how can i contact you bro

    • @rexcode9366
      @rexcode9366 Před 7 měsíci

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

  • @02nitish04
    @02nitish04 Před 8 měsíci

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

    • @shyam-ravi
      @shyam-ravi  Před 8 měsíci

      You can, but that would require separate algorithm or sensors

  • @ronavbihani1471
    @ronavbihani1471 Před 7 měsíci

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

    • @shyam-ravi
      @shyam-ravi  Před 7 měsíci

      Yes, you can

    • @shubham9672
      @shubham9672 Před 7 měsíci

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

  • @RighttoInformationAct2005
    @RighttoInformationAct2005 Před měsícem

    where is the app download link

  • @enitalp
    @enitalp Před 6 měsíci

    I dare you to make a reaction wheel based vehicle following the same path, faster ;p

  • @eamonburns9597
    @eamonburns9597 Před 7 měsíci

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

  • @alexandermaverick9474
    @alexandermaverick9474 Před 8 měsíci +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...)

  • @pradeepgr1692
    @pradeepgr1692 Před 5 měsíci

    Bro please make a explained video on coding part