Raspberry Pi Devastator Robot #4: Pygame & Speed Control

Поделиться
HTML-код
  • Опубликовано: 4 окт 2024

Комментарии • 473

  • @RoboNuggie
    @RoboNuggie 3 года назад +137

    This video is why you garner so much respect Christopher, in an increasingly superficial society, you delve into the minutiae of how things work and why. Excellent. Thank you.

    • @Hartley94
      @Hartley94 3 года назад +1

      thanks

    • @gnarlestongnu637
      @gnarlestongnu637 3 года назад +6

      I would like to add that, on a completely superficial level, that robot is super cool and its face looks badass and if it tried to start a fight with me in a pub I would probably back down and buy it a pint.

  • @Hi-kq5rx
    @Hi-kq5rx 3 года назад +41

    I’ve been waiting for this video to come out for a while... it was definitely worth the wait, great video as usual Christopher 👌😊

    • @ExplainingComputers
      @ExplainingComputers  3 года назад +6

      Thanks -- I got there in the end!

    • @Hi-kq5rx
      @Hi-kq5rx 3 года назад +6

      Great things take time, everyone knows that!

    • @gravestoner2488
      @gravestoner2488 3 года назад

      @@Hi-kq5rx is that why I'm so slow?

  • @rogerkoh1979
    @rogerkoh1979 3 года назад +2

    The tank is back. Speed control is added. Always nice to see the robot in action.

  • @Cluffmaster1980
    @Cluffmaster1980 3 года назад +2

    I have built a robot following your Guides and I have even added a remote firework launcher using a quad relay board. Using 4x 18650 batteries the tank goes really fast as well. Thank You Christopher for the video`s on what to do, You are very clear with instruction. All I need now is a PTZ camera with a live view so I can then drive it up and down the street, on my WiFi Launching my rockets lol.

  • @DrBenChem
    @DrBenChem 3 года назад +24

    Always nice to listen to you talk about electronics whilst I peel my potatoes

  • @zeberto1986
    @zeberto1986 3 года назад +1

    It’s always a good Sunday when @ExplainingComputers releases a video about the very thing I am working on. Thank you Chris.

  • @IsaacPiera
    @IsaacPiera 3 года назад +5

    Great video!
    An improvement suggestion: If your robot gets out of range it will never receive the KeyUp event, so it will continue advancing forever.
    Solution: the controller sends the status of the keys every second not only when they are pressed or released. The robot has a timeout so if it doesn't receive an update every second it stops.
    You can test that by leaving a key pressed and switching off the controller, so it never sends the keyUp event and the robot initiates the emergency stop.

  • @rikprince8414
    @rikprince8414 3 года назад +5

    Ok, loved the technical bits. But, my favorite thing about THIS video was the robot's frowny face! :)

  • @lawrenceallwright7041
    @lawrenceallwright7041 3 года назад +17

    Wife: "Raspberry pie? Why on earth would you possibly want a raspberry pie? You don't even like raspberries!"
    Me: (Points at Explaining Computers Devastator Robot video and whimpers.)

  • @theoriginaldylangreene
    @theoriginaldylangreene 3 года назад +1

    Just watching this made me feel like a child again. I wish we had stuff like this "in my day".....*groan*.
    Genuinely Your channel is one of the most reliable for good content. Thanks so much!

  • @resrussia
    @resrussia 3 года назад +6

    Greatly enjoyed the latest installment of the robotics series. Keep up the good work!

  • @rohanverma6058
    @rohanverma6058 3 года назад +9

    As soon as I thought you done with the pi zero robot, you strike me again with another video, really like it hope to see more.

  • @JoseLopez-oz1xm
    @JoseLopez-oz1xm 3 года назад +3

    Loved it, and I can't believe the Robot found a stick. How crazy is that? Great Job Chris

    • @caw25sha
      @caw25sha 3 года назад +2

      If it was a robot dog it would chase after it and pick it up.

  • @satch174
    @satch174 Год назад +1

    Fantastic series, just build this and enjoyed it a lot. Thanks for this. I changed 1 thing. I used pin 16 instead of pin 7. Because every pin above 8 seems to be in a "low" state. This way u don't need a switch. The robot will not move at startup. Hope this helps someone.

    • @ExplainingComputers
      @ExplainingComputers  Год назад +1

      Thanks for your feedback, and I'm glad it was a enjoyable build. I must try the alternative pins. Thanks for the info.

  • @muddyexport5639
    @muddyexport5639 3 года назад +1

    Very good! Enhancement: A joystick to control by degrees via cartesian X/Y coordinates "while in motion" vs. key down input. (Hover Craft need also.)

  • @PS_Tube
    @PS_Tube 3 года назад +16

    This robot project is interesting. And it looks stunning. A teeny tiny explorer.

    • @andreasproteus1465
      @andreasproteus1465 3 года назад +2

      Grown up men still playing with toys is bad news all around.

    • @NickT6630
      @NickT6630 3 года назад

      @@andreasproteus1465 Im a grown up and still play with RC cars 😆

    • @Peter.Sky.Walker
      @Peter.Sky.Walker 3 года назад

      That's what she said. =[

    • @parrotraiser6541
      @parrotraiser6541 3 года назад +1

      @@andreasproteus1465 How do you think new ideas get generated?
      Testing concepts on toys is a lot less expensive and dangerous than starting with full-scale hardware.

  • @srtcsb
    @srtcsb 3 года назад +1

    This is one of my favorite projects; it's nice to see it filled out with some simple (but clever) code and improved hardware. Thanks for another great video.

  • @LMacNeill
    @LMacNeill 3 года назад

    So many opportunities for customization here -- one could modify the code to automatically slow the motors during a turn to make turning more accurate. And I see that when you let go of *any* key, all the motors would stop. One could customize that part of the code to check and see *which* key you let go of, so that if you, say, press and release one of the "speed" keys while holding the forward key down, it won't stop the motors until you release the forward key. So many possibilities here! Love it!

  • @dazryan3463
    @dazryan3463 3 года назад +3

    I had been wondering if the Devastator would return for an update and not disappointed. Using PWM is definitely a much better approach to getting the robot moving in a controlled fashion especially with the hard plastic tracks. Looking forward to the next instalment

  • @qwkimball
    @qwkimball 3 года назад +1

    Thanks for this. I started a project yesterday using the L298N, so the timing is impeccable, very much unlike my coding.

  • @gregholloway2656
    @gregholloway2656 3 года назад +2

    Great video, Chris. If you want another programming challenge, try using the pwm speed control to make high speed turns when at speed 3. For example, run the left track at speed 3 while the right track is forward at speed 2. Should make a more gradual turn to the right. 😀

    • @MayankJairaj
      @MayankJairaj 3 года назад

      Thanks I'll borrow this idea 👌

  • @NickCornaglia
    @NickCornaglia 3 года назад +1

    I thought I'd check in to see where you were at with the devestater project. So glad I did. I always enjoy your videos. I was hoping for a live view camera program but I'll take what I can get. Thanks for the video.

  • @kriskruz3792
    @kriskruz3792 3 года назад +25

    And in next week’s episode I will show you how to build an AI-driven terminator robot 🤖 based on raspberry Pi ! 👍

  • @tpobrienjr
    @tpobrienjr 3 года назад

    Thanks for bringing back the devastator bot.

  • @SomeOne-rh5so
    @SomeOne-rh5so 3 года назад

    Chris I respect that you share vs people all details and hope could encourage many guys. ))

  • @wanyman
    @wanyman 3 года назад +1

    Great video ! I love the robotic ones. Can’t do detailed stuff like this anymore due to health issues so I appreciate allowing me to live vicariously through you.

  • @mightycain4725
    @mightycain4725 3 года назад +2

    So happy your making more videos of the robots, I watched the others a few month back and it really got me interested in having ago at building one with my son. Hope you continue with the robotics videos. 👍

  • @johnvirgin405
    @johnvirgin405 Год назад +1

    AmAzInG! Thank you again for sharing your content. You have been inspiring and amazing me since the days of Sinclair magazine when I spent hours typing programs (code will always be called programs in my head) into my ZX81 and Spectrum.

  • @RedMageGaming
    @RedMageGaming 3 года назад +1

    Worth the wait! It's been so long since our little treaded friend got some screen time. Would be great to build this out in a more 'client x server' style. With the devastator streaming a live camera feed to another machine where you could control it with a gamepad or something. As long as it's within wifi range fully remote control robotank.

  • @PeteVanDemark
    @PeteVanDemark 3 года назад +6

    Kids fortunate enough to have access to Explaining Computers today, will be building the off-world rovers of tomorrow.

  • @cokeforever
    @cokeforever 3 года назад

    Autonomous navigation with neural network and object shapes recognition seems like logical next steps for your lovely robot ;)

  • @M6Props
    @M6Props 2 года назад +1

    Great video Christopher! This series has been such a huge help in building my own Devastator Robot. Thanks for putting out an update to the code!

  • @serceband
    @serceband 3 года назад +1

    Thank you so much for this !!! Your Pi Robotics series helped me discover a new passion in life 😊
    If there is anything I could ask, it would be super super cool if you could also create an episode explaining powering solutions for such projects in more detail. I built a line follower based on your tutorials but it's powered with a single 18650 and capacitor to save space and make recharging easier. I'm making another one powered by 2s battery (7.4v). Thank you again, I really like your channel!

  • @virgilmcmayers4974
    @virgilmcmayers4974 3 года назад

    With daughter we also building the robot based on two raspberry pi computers. One is in the robot and the second is the control station. We realized for rotating the camera more suitable to use the separate turning mechanism based on the stepper motor with pre-programed angles to turn. Because you've noticed that tu turn the camera by turning the robot is not easy to catch the proper angle. Also you right that the final tuning of the rotation and speeds is necessary in accordance to the bot dimensions and it's motors capabilities :)
    One problem that the "real-time reaction" to the button press isn't working in our configuration bot control station. However we working on it now...

  • @SuperHaunts
    @SuperHaunts 3 года назад

    So glad to see t hat the stick didn't get things stuck. I wondered what had happened to the devistator!

  • @HickoryDichotomy
    @HickoryDichotomy 3 года назад +1

    Very cool indeed! Maybe a nice idea would be to code it so that IF left or right is pressed then a minimum 'tested' speed would be enforced on turning, but keeping the current rules in place for forward and back buttons

  • @ashikjana8287
    @ashikjana8287 3 года назад +3

    Even thought he has more than 700k subs he still soo underrated... I guess some humans don't wanna learn

  • @VeryUsMumblings
    @VeryUsMumblings 3 года назад +10

    Surely a robot called 'Devastator' can deal with a stick... oh,, wait...no... oh, ....YES! Ha! That will teach that stick!

  • @chuckmuckamuck8001
    @chuckmuckamuck8001 3 года назад

    The best video on RUclips right now, thanks! I have taken this up as a hobby and this is the next project.

  • @AndersJackson
    @AndersJackson 3 года назад +1

    You have an open loop control just now. You might also want to consider a closed loop controller, where you record the speed of the wheels (like number of ticks generated by some of the wheels in the transmition), so it can adjust the PWM so the robot is traveling in the expected speed, if it can. Not just guessing what speed it should have. Then you actually can lower the speeds.
    This should probably be a PID controller, which isn't that hard to do. Adjusting the P, I and D constant is a bit harder though (but to make it easier, just set some to 1.0 and some to 0.0). That would probably be a better start, and put that in a class so the controlling get abstracted away an easier to control from the rest of the program.
    Fun video, anyways. Thanks.

  • @barnowldroneservices2979
    @barnowldroneservices2979 3 года назад

    Using pygame is rather ingenious. Nice work.

  • @dj_paultuk7052
    @dj_paultuk7052 3 года назад

    Neat!. Its like s 2021 version of the old 70's BigTrak.

  • @ahmad-murery
    @ahmad-murery 3 года назад

    Now just add some missiles and sirens then program it to recognize strangers invading your backyard :)
    Cool video as usual
    Thanks Chris

  • @martinmchugh1924
    @martinmchugh1924 3 года назад +3

    So happy to see this robot back again 😂

  • @perrymcclusky4695
    @perrymcclusky4695 3 года назад

    So happy to see the robot back in the wild! Looking forward to your next video.

  • @1983Chriso
    @1983Chriso 3 года назад +1

    Thank you very much Chris for the amazing video. I wanted to get in to pi robotics with my 5 year old this video has made me want to look in to it further.

  • @alerey4363
    @alerey4363 3 года назад +4

    Great hack! You can default to speed 2 for turning so you are sure it has enough power to turn in a controlled manner (1 is not enough and 3 is too much for rotation)

    • @ExplainingComputers
      @ExplainingComputers  3 года назад +1

      Yes, it would be a good idea to do all turning at speed 2. And in forward or reverse, to increase speed the longer the key was held down. So many possibilities! :)

  • @cossakrose
    @cossakrose 3 года назад +6

    Chris: "Devastator, will you be my Valentine?"
    Devastator: "After all this time?"
    Chris: "Always."

  • @t5ruxlee210
    @t5ruxlee210 3 года назад

    Operating the Raspberry Pi Devastator without a combination recovery vehicle/ maintenance and repair crane to hand is really tempting fate, Mr Barnatt.

  • @thomasmaiden3356
    @thomasmaiden3356 2 года назад +1

    "Zoe the Robot" approves of this robot.

  • @judsonleach5248
    @judsonleach5248 3 года назад +6

    "It's always exciting looking inside a robot, isn't it?" - Yes Sir! lol - Cheers!

  • @plica06
    @plica06 3 года назад

    This was a brilliant episode! Python code running on a Pi controlling a robot!

  • @SimopediaTech
    @SimopediaTech 3 года назад +2

    great informative video, thanks for sharing 👍🏼

  • @legojenn
    @legojenn 3 года назад

    It's always exciting looking inside a robot. Isn't it?... :)

  • @ravesab
    @ravesab 3 года назад

    We are in 2021, i wait for hovercraft robot video or another Raspberry robot video 🙏🏻🙏🏻🙏🏻. Thanks for your channel 👍🏻👍🏻

  • @t8lucas
    @t8lucas 3 года назад

    I wish I could built one like that but for now I can only admire your work. Great project and hope to see more. Thank you 😊

  • @onepalproductions
    @onepalproductions 3 года назад +2

    Lovely stuff, thanks for sharing.

  • @mikebreakwell3909
    @mikebreakwell3909 3 года назад

    Great video as always! Really looking forward to more Pi robot adventures. I'd also like to see Chris put a Pi pico through it's paces

  • @stuartg40
    @stuartg40 3 года назад +1

    I also used Pygame for this robot a few years ago. I too should probably dig it out for more experimentation. The original plan was to mount a pan-tilt turret on the top with a laser that could burst black balloons.

    • @caw25sha
      @caw25sha 3 года назад

      Can you control a stepping motor? Would be good for a turret.

    • @stuartg40
      @stuartg40 3 года назад +1

      @@caw25sha Yep, that was the plan.

  • @LeftoverBeefcake
    @LeftoverBeefcake 3 года назад +1

    I'm modifying a Tomy Omnibot to give it more modern capabilities and better mobility, and this looks like the perfect chassis to use in place of the crusty old rubber wheels and under-powered motor that it came with.

  • @kentswanson2807
    @kentswanson2807 3 года назад

    outside?! What a strange and wonderful place you have discovered. Scary.

  • @robertomaximilianosilveira8768
    @robertomaximilianosilveira8768 3 года назад

    Wow Nice to see the robot again ... I love it.. i see it from the begining...
    Wee see this in Former future films now is real un your garden... Love it

  • @bg31337
    @bg31337 3 года назад +1

    A live video stream over network would be awesome! 🙏

  • @bigjim152
    @bigjim152 3 года назад +1

    Very interesting. Looks like the next project should be to add the code for 'sweeping up in the garden' to the robot capability!

  • @adventureoflinkmk2
    @adventureoflinkmk2 3 года назад

    Dude this would be so great to send in the snow storms

  • @thomasburnett4712
    @thomasburnett4712 3 года назад +1

    Thank you so much for yet another entertaining and informative video!

  • @NicoDsSBCs
    @NicoDsSBCs 3 года назад

    Nice to see the bot back. He still looks menacing. Would be cool to have a nerf gun on it as cannon. Have a nice evening Christopher.

  • @vassilisnikolaou7376
    @vassilisnikolaou7376 3 года назад +1

    That is awesome! Now I feel like I want to make one too, once I finish my Python courses!

  • @dany08011
    @dany08011 3 года назад

    Oh god the baddest of pi cases!

  • @polgzz
    @polgzz 3 года назад +1

    This is SO good!!!😃👏👏👏👏👏👏🔝🔝. I didn't knew about this project, Chris, but I think it's fantastic. This is going to be the next present for my little niece! I can't wait to teach her how to build this (and lern myself!)

  • @Praxibetel-Ix
    @Praxibetel-Ix 4 месяца назад +1

    I can't believe I watched all four parts of the Devastator robot saga in one sitting...
    ...it was worth it too! It does help to have a massive pile of laundry to fold while watching. Anyway, what a good robot it turned out to be. Are there still plans on making that hovercraft?

  • @felipesqr
    @felipesqr 3 года назад +1

    Great video! i forgot about the speed thing.. I assume that you can make it turn while going foward if you set a lower speed in one of the sides while going foward..
    Also i great part 5 would be LIVE VIDEO FEED and yet over wifi controls.. than you could control it from a phone connected to it via wifi for better range (i'm trying to figure it out actually)

    • @ExplainingComputers
      @ExplainingComputers  3 года назад

      You are right, you could all manner of gradual turns by running one set of tracks slower than the other. I may well stream from the camera at some point. :)

  • @karllaun2427
    @karllaun2427 3 года назад

    At last! I've been waiting for this one. Time to bring the Devastator out of it's box...

  • @robertmaxa6631
    @robertmaxa6631 3 года назад +1

    Looking forward to seeing the hovercraft in action.

  • @Igerster80
    @Igerster80 3 года назад +1

    Did anyone else notice the time on the computer? Appears he pulled an all nighter working on this.

  • @christodd6105
    @christodd6105 3 года назад

    I have done a very similar thing using an analogue PS4 controller for speed control, so the robot goes faster the further you push the thumbstick. Surprisingly to easy to do.

  • @amaljazzam2127
    @amaljazzam2127 3 года назад +1

    It's fantastic devaster I like I want to make it,thank you for the detailed tutorial

  • @techcracker4566
    @techcracker4566 3 года назад +1

    Really nice video🤟. I want it to say that I really like the chassis of the Robot, it really looks aggressive 😁.
    I might have an idea for you to continue innovating with this robot: the next step could be streaming the picamera preview, using motion framework, over the internet.... That could be great because you will be able to control the robot without looking physically at it...😎
    Anyways, thanks!

  • @lorderectus1849
    @lorderectus1849 3 года назад +4

    The tanks getting closer!

  • @allluckyseven
    @allluckyseven 3 года назад

    It would be nice if it could have a proximity sensor and could, then, go around the house all by itself without bumping on anything.
    But before that you could try making it follow a certain path, maybe a literal path drawn on the floor. Something that the camera can pick up and read as something for it to follow.
    I mean, those are suggestions. Ideas are a dime a dozen as we all know, implementing them is the real challenge.

  • @CunningLinguist01
    @CunningLinguist01 3 года назад +2

    Awesome ! I built my own rc tank for fpv driving . Have a look if you have time

  • @TheTechieScientist
    @TheTechieScientist 3 года назад +2

    I have already done the devestator robot with my raspberry Pi 3b+ , will upgrade now 😀

    • @ExplainingComputers
      @ExplainingComputers  3 года назад +2

      Great! This video finally contains the updated code many have been asking me for . . .

    • @TheTechieScientist
      @TheTechieScientist 3 года назад

      @@ExplainingComputers I usually see what code you use and then code my own instead of copying as I believe trying on my own makes me better :)

  • @gigteevee6118
    @gigteevee6118 3 года назад +1

    Hovercraft needs to be done for sure!!! Both could do with tank like dual analogue stick game controller support instead of keyboard.

  • @ddiver2200
    @ddiver2200 3 года назад +1

    Thank you for sharing knowledge, but can external control be classified as a robot?

  • @gonzo3915
    @gonzo3915 3 года назад

    I knew BigTrak would be back.

  • @runepedersenDK
    @runepedersenDK 3 года назад

    I think I would build a "ELP Tarkus Tank", and build in some high quality speakers, to play music from the album. Then add some add-ons to the tank, controlled by the music structure.
    I love classic british prog rock, and ELP are among the best!

  • @bg31337
    @bg31337 3 года назад +2

    Yaaay, finally! Is there an alternative without the need of that screen / window for pygame? I'm using a headless setup over SSH

  • @bensekh
    @bensekh 3 года назад +1

    Love your videos. This will be my next project.

  • @NickT6630
    @NickT6630 3 года назад

    Great video as always Chris! I think I need one of these but with a lawn mower attachment. How fun It would be to drive it round the garden while sitting in doors viewing through the camera.

  • @delagum1
    @delagum1 3 года назад

    Great vid! Now you’re making me want to get involved into the Raspberry.

  • @williamgiddings9636
    @williamgiddings9636 3 года назад +2

    Good fun Chris, especially during lockdown. BTW, what was the pile of bricks for?

    • @ExplainingComputers
      @ExplainingComputers  3 года назад +2

      It is a more a question of where they were from . . . ! :)

  • @SJM2
    @SJM2 3 года назад +3

    Tanks for this!...

  • @chriscottingham2003
    @chriscottingham2003 3 года назад +7

    It's Sunday again woohoo. Love this video reminds me of robot wars haha.

  • @JoelMMcKinney
    @JoelMMcKinney 3 года назад +1

    I've never clicked so quickly

  • @DFX2KX
    @DFX2KX 3 года назад

    And here I was just about to comment if it could be done via PWM, but you beat me to it. combined with an analog joystick and a bit more logic, it could be possible to get it to make gradual turns, too.
    I guess the next step would be giving in a GPS receiver and programming it to follow a path like a NASA Rover.
    (edit! If you want to do something with hovercrafts, Tom Stanton might be the RUclipsr to talk to, he's another Brit and 3D printed one back in the day, he might be able to give you some advice on things like keeping weight down, which is going to be a challenge)

  • @stephenhargreaves9011
    @stephenhargreaves9011 3 года назад

    Oh, for the speed, hook it into a timer so that it will always start slow an accelerate the longer the direction key is pressed. That way, you don't need to manually select the speed, and you can, in fact, have it range rather than be on fixed values. Noted that to slow didn't provide enough power, but you could simply map a range to ensure that minimum power is sufficient. Maybe include a toggle override (that locks the speed) for those situations where you want a constant speed.

  • @G-3-A-R-Z
    @G-3-A-R-Z 3 года назад

    Love the content. In fact this would be a cool project to try with my daughter. She still needs to grow up a bit. Although it would be funny to explain that my daughters first language is Python. I can imagine the question,"What is she from house Slithern?"

  • @Oogobuk
    @Oogobuk 3 года назад +1

    Should have the arrow keys determine how long it was pressed forward, and change the pwm based on how long you hold it down.

  • @amirmukhlis4936
    @amirmukhlis4936 3 года назад +5

    Hey, that robot is awesome! Keep making great content man!

  • @BeOurBee
    @BeOurBee 3 года назад +2

    OH NO HERE COMES DEAD METAL TO TAKE HIM TO THE PIT!