The Ultimate Guide to using Motors in Robotics (including ROS, Raspberry Pi)

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

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

  • @DanielJoseMP
    @DanielJoseMP Год назад +117

    Could you make a video for people starting this hobby? Like showing what things to buy, mistakes to avoid etc…

  • @CyberHak
    @CyberHak Год назад +53

    I was so overwhelmed with the complexity of robot making, AI, deep learning, Lidar. Coral TPU, Hexapod design, drones. neural networks, Raspberry Pi, Linux. I could go on. I love it all but have so much to learn. I watch your videos and feel more confident about all this shenanigans. Can't wait to watch more of your videos. Top man.

  • @evanlane1690
    @evanlane1690 2 года назад +70

    This is so much better than most ROS tutorials out there from a learning perspective! Excellent job! Most other tutorials out there barrel ahead with terminal commands with no context or practical hardware examples. Thank you!

  • @TheRaidingGamer
    @TheRaidingGamer 2 года назад +34

    This is a great guide to robotics for beginners. Covers more *practical* material than a 4000 electro-mechanical devices class for mechanical engineers lol. Although terminology may be the limiting factor for some but aside from the lingo this is perfect. I'm SHOCKED that this doesn't have at least 100,000 views. Great work!

  • @timjack5312
    @timjack5312 2 года назад +9

    It is hard to find such a good tutorials series of ROS2. Thank for your sharing!

  • @ChillGuy511
    @ChillGuy511 Год назад +5

    A video on motor types and how yo choose them would be so awesome! I clicked on this expecting just that! Still gonna watch it though... Seems cool enough!

    • @Kit-Alpha
      @Kit-Alpha 9 месяцев назад

      I second that! I have spent weeks trying to figure out the type of motor I should use. I've looked at the formulas for calculating torque etc. but for some reason, it just won't "click".

  • @tonynajjar4893
    @tonynajjar4893 2 года назад +7

    Great explanation! I love how you threw in cutting-edge ROS2 in there!

    • @ArticulatedRobotics
      @ArticulatedRobotics  2 года назад +2

      Thanks :D

    • @jimbrownza
      @jimbrownza 2 года назад

      .... while at the same time using a motor driver that is about 40y or so old, and which has been superseded by loads of more energy efficient mosfet based products that don't need a heatsink the size of a car radiator.

  • @jonathanr4242
    @jonathanr4242 11 месяцев назад +2

    Excellent. Got everything working in that video. Had to run "sudo apt remove brltty" to get the serial port to recognise the arduino.

    • @adwaitingle2315
      @adwaitingle2315 6 месяцев назад +1

      What's that exactly and why to use?

    • @jonathanr4242
      @jonathanr4242 6 месяцев назад

      @@adwaitingle2315 it's the Braille terminal. Josh goes over it in his ready to humble video which is on the same play list as this.

  • @sinankuniyilathoot5188
    @sinankuniyilathoot5188 2 года назад +13

    Only ROS CHANNEL that makes sense

  • @tlmoller
    @tlmoller 10 месяцев назад

    Open loop is just fine in case of a stepper motor. This give very good control and is used in all kind of systems including 3D printers.

  • @divy04
    @divy04 5 месяцев назад +1

    thanks a lot , we have been stuck on this for weeks, and now it works

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

    I would like to control the suspension on a model car ( made in meccano) based on feedback from an electronic gyroscope. It is supposed to keep the body of the car level whatever the terrain. My plan is to use a raspberry pi with an electric motor that is linked to the suspension, so your demonstration is well on the way to what I want to achieve.

  • @ramsha8833
    @ramsha8833 9 месяцев назад +1

    I love it. Its heaven for robotics beginners

  • @isthattrue1083
    @isthattrue1083 2 года назад +6

    Yes, if you haven't already made a video on the motors, please do. Would you also include examples of situations you could use each motor type?

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

      Yep, it's definitely on my list of videos to make after I've finished this current series :)

  • @autumnreed2079
    @autumnreed2079 9 месяцев назад

    Thank you so much these videos are amazing! I just started my journey of learning about robotics and control systems and this is making it much easier to get into this coming from a person with a theoretical physics background barely any electronics.. :)

  • @jeffreyjene
    @jeffreyjene Год назад +2

    This whole series has been terrific, with clear and concise explanations and instructions. I have had one issue I haven't been able to figure out. I have wired up these motors six ways from Sunday. I've studied the diagrams and the setup on the video and duplicated it perfectly. Even so, when teleop-ing I find the motors run fine forwards and backwards, but when using j and l to turn left or right, the controls are reversed! Left goes right and right turns left. Seems weird, as turning just consists of one wheel going forwards and the other backwards. I've tested this with a joypad as well with the same results. No combination of wiring I've tried seems to work. If I wire up by switching the pins then left and right are fine, but forward and backward are then reversed. Ive even tried reversing the motor leads. If anyone else has found this to be a problem and have found a solution please drop me a note.

    • @jeffreyjene
      @jeffreyjene Год назад

      I figured it out, I had my encoders on the wrong pins. Duh.

  • @J_A-_
    @J_A-_ 2 года назад

    Id really like a video on what motors are best for what purpose, thanks for the video!

  • @PP-fh2mk
    @PP-fh2mk 2 года назад +5

    I REALLY LOVE THIS PROJECTS

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

    I have subscribed! You are doing a great job helping people learn the skills we always wanted but didnt have access to.

  • @shakejones
    @shakejones Месяц назад +1

    Great video+explanation+presentation! Thank you for sharing! Well done mate - NEW SUB 🙏🏻

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

    I really like they way how you went step by step through the topics. Maybe you can explain the ROS side more deeply for future projects. Thank you.

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

      Thanks! Yeah as much as I tried to cram as much as I could into it, there really is so much more to say on the topic - I have a never-ending list of ideas to get through!

  • @shyamkganatra
    @shyamkganatra 2 года назад

    yes a video on different types of motor would be great

  • @sebastianrada4107
    @sebastianrada4107 Год назад

    Great video. Please make a video about the types of motors and how to choose them.

  • @h7opolo
    @h7opolo Год назад +2

    9:03 whoa, youtube made the "subscribe" button animate when you ask viewers to click it during your video. so cool.

    • @vatsal9005
      @vatsal9005 8 месяцев назад +1

      wow, didnt notice that

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

    Nicely explained

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

    I would like to see a video on different motor types

  • @azraelsoluna110
    @azraelsoluna110 2 года назад

    Yes to Videos on Motors! Great video!

  • @priyamd4759
    @priyamd4759 7 месяцев назад +1

    Liked and subscribed.

  • @miniminerx
    @miniminerx Год назад

    FINALLY A GOOD TUTORIAL ON HOW TO STRUCTURE A GOD DAMN ROBOT

  • @greggas87
    @greggas87 4 месяца назад

    Sensational tutorial, nuff said

  • @umeshy
    @umeshy Год назад

    Thanks for posting, please make video on explanation on different kind of motors, thanks

  • @Yu-kt7ph
    @Yu-kt7ph Год назад

    Thank you for your guide!!!! That must be helpful for my future project.

  • @ironrider4526
    @ironrider4526 2 года назад +2

    Very good explained video!

  • @werkstattkreuzberg4234
    @werkstattkreuzberg4234 10 месяцев назад

    Good overview for beginners!

  • @mohankrishnan2022
    @mohankrishnan2022 Год назад

    Excellent presentation!

  • @arts5821
    @arts5821 Год назад

    Good job! Ceep work on these projects, thanks for content!

  • @dgb5820
    @dgb5820 2 года назад

    Absolutely awesome video

  • @naum900
    @naum900 Год назад

    Very well presented! Thank you.

  • @rgmotors244
    @rgmotors244 4 месяца назад

    Thank you for every information

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

    Hey all, Scott here!

  • @KhadijetouDia
    @KhadijetouDia 15 дней назад

    great video 🙂 thanks for sharing

  • @infestus5657
    @infestus5657 Год назад

    Underated Video

  • @dr.jacintorodriguez7559
    @dr.jacintorodriguez7559 2 года назад +7

    I love the way you systematically explain complex topics. What software do you use to create your beautiful diagrams/flow charts for your videos?

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

      Thanks! 90% of my diagrams are done using Inkscape as white lines/text on a transparent background. I edit in DaVinci Resolve, so I use its compositor (Fusion) to take the static images from Inkscape, overlay them on the background, fade in/out, do extra lines, etc.
      In addition to that, there are bits and pieces done in GIMP, Blender, and Manim. And, for what it's worth, all done on Linux!
      I hope to do some more theory/concept stuff in the future and make better use of manim (originally created by Grant Sanderson for his channel 3Blue1Brown) :)

  • @artemt1987ify
    @artemt1987ify Год назад +2

    Amazing and so helpful video. Would be great to have a list of all things used in this video. Wondering what is a ground regulator (its on the top left side)

  • @Automatic_Robot
    @Automatic_Robot Год назад +4

    Hello, I have a problem that the speed of both wheels is not the same speed, the right wheel is faster than the left wheel. What do I need to do now, please help me. Thanks a lot

    • @KSLEEProjects
      @KSLEEProjects 9 месяцев назад

      I have the same problem

    • @ThanhPhamRb
      @ThanhPhamRb 8 месяцев назад

      ⁠have you fixed that problem yet?

    • @Automatic_Robot
      @Automatic_Robot 8 месяцев назад

      @@KSLEEProjects Have you tried checking whether the signal read from the encoder of the 2 wheels is equal?
      If the signals of the two encoder are not equal, you should check the encoder's signal wire again

    • @Akash-el4ls
      @Akash-el4ls 7 месяцев назад

      I did this but without encoder I made Pwm to adjust the motor speed and set the pwm same for both the motors

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

    Amazing !!!

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

    Thanks for the great series Josh!
    Do you have any tips or good resources for adding a servo motor to the project, perhaps using the microcontroller, and being able to control it from the gamepad? For example putting the camera on a tilting mechanism so that you can pan up and down?
    If anyone else has done this or a similar case, I'd love to hear from you!

  • @chriskeefe3219
    @chriskeefe3219 7 месяцев назад

    Great video!

  • @freddiehong
    @freddiehong Год назад

    This video is great! Thank you 😊

  • @tkdefender8870
    @tkdefender8870 2 года назад +4

    What motors do you use that have the encoders built on? Can you include links or model numbers?

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

    Thanks your Guide to using Motor tutorial. Can you please detailed pictures or diagram wire connection of 12 DC encoder motor to Arduino Nano?

  • @Nihalmoneymaker
    @Nihalmoneymaker 2 года назад

    Great Video!! Please make a video on motors.

  • @just_bright
    @just_bright 5 месяцев назад

    The "clap" magic of adding 2nd motor is all I needed to see. I just needed to know if all motors share the same step dir Ena pins on the controller. If so, how the he'll does a signal know which motor to send to?

  • @christophermacier
    @christophermacier Год назад +2

    Awesome tutorials. I am teaching myself Python now so I can start coding my own robots. These tutorials are great for the hardware side and how to get things setup with ROS. Thank you much! Oh and do you have links for the DC motors you are using with the built-in encoders?

    • @atticusrussell1225
      @atticusrussell1225 Год назад

      I looked up Yahboom 4wd chassis and got a chassis with a set of motors with encoders. Hopefully this helps

  • @blaircox1589
    @blaircox1589 Год назад

    I love your video on murders!!! 😁

  • @FuzzyOne37
    @FuzzyOne37 Год назад +3

    Great video. Just getting started with ROS. You mentioned that the L298 motor controller isn't the best, but it will do. I agree. What other motor controllers would you recommend or have experience with? Thanks for your time!

  • @messerschmidtfpv4419
    @messerschmidtfpv4419 2 года назад

    i love it. works fine for me.. big thanks..

  • @midnighttutor
    @midnighttutor 11 месяцев назад

    Great informative presentation! Could you please comment: If you would like to put a robot with motor control into actual use, say to raise and lower a convertible top on a car as an example, you are not going to have it hooked up to your laptop. What is the missing link or next step to get the robot self contained in a production environment, so to speak? Thank you.

  • @akeelwall8449
    @akeelwall8449 2 года назад

    awesome tutorial many thanks

  • @ahmedhelalmahmoudhassanmah3028
    @ahmedhelalmahmoudhassanmah3028 8 месяцев назад +1

    Please, can you send the link of the video of uploading the code on to the Arduino ? I didn’t find it in the description as you said

  • @sinankuniyilathoot5188
    @sinankuniyilathoot5188 2 года назад

    Just great 🔥🔥🔥🔥🔥

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

    great video
    can you upload the modified version of RosArduinoBridge for arduino nano and l298n ?

  • @unichurchunsw1286
    @unichurchunsw1286 2 года назад

    great work!

  • @GiovanniChrisanto
    @GiovanniChrisanto Год назад +2

    Great video! I have been following through the series.
    I just wondering, when you did the open loop control to get the thick count, did you run it on full speed (255)? I would love to watch the PID control video if you make one later. Thanks!

  • @A_50_VipulPardeshi
    @A_50_VipulPardeshi Год назад +2

    Hello can anyone tell me why we arent using Raspi directly to supply PWM to Motor driver. Why is Arduino Nano used?

    • @ethanholter
      @ethanholter 6 месяцев назад

      In this example there’s only one motor but in most robotics applications there are significantly more components that need to be controlled. The raspberry pi simply doesn’t have enough pwm capable pins for more than 1 or 2 motors

  • @arvinmistry9744
    @arvinmistry9744 9 месяцев назад

    Excellent good vedio please make more vedio

  • @DesertVox
    @DesertVox Год назад

    I like this moda. This murder is good for robotics projects.

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

    The best

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

    Hi I used exactly the same code but I don't recieve any encoder Data. I checked the encoder manually with an Oscilloscope and it works. So I believe it has to be a problem with the code. Any idea?

  • @rudranilbose2668
    @rudranilbose2668 2 месяца назад

    would be really helpful if you did a tutorial on how to achieve the same over CAN cuz the resources on that are scattered and random on the internet

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

    Can we also control torque?

  • @ericjones7300
    @ericjones7300 Месяц назад

    At 13:10, I don't understand the benefit of powering the Arduino via the USB port versus simply connecting its 5V pin and ground pins to the terminal strip (as was done for the RaspPi).

  • @nagaharipriyanm8052
    @nagaharipriyanm8052 4 месяца назад

    why i can't read both of the encoder values.? It is impacting in rviz2. the bot is rotating

  • @pasquentmax
    @pasquentmax 7 месяцев назад

    Hello, great video I learned a lot, thank you! A question, can I replace the arduino by the Raspberry Pico? What should I do about it?

  • @Automatic_Robot
    @Automatic_Robot 6 месяцев назад

    Hello i had a problem that my motor has a total number of encoder pulses per wheel rotation of about 52,000 and the gear ratio is 1:27, when using the Arduino_Bridge code, when entering a command, the motor will jerk very much and reverse itself for no reason.

  • @whysoairyair
    @whysoairyair 9 месяцев назад

    Amazing video, really well explained.
    Im having an issue with only the pins connected to D2 and D3 are being counted on the encoders, no other pins would count the encoder readings. it looks like there's an issue with the interrupt pins, which is the arduino nano has only two - INT0 and INT1 on D2 and D3 but its working for you in the video so i cant be so sure
    i've tried swapping the encoders too, both are working perfectly but its just D2 and D3 that count.
    and this code wont work on an Arduino Mega :/
    PS: im using OE-37 Hall Effect Encoders - mounted seperately
    any suggestions?

  • @LucasMOV394
    @LucasMOV394 6 месяцев назад

    how can i use the Arduino Motor Controller with a motor and a servo

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

    Please how do we upload the Ros_Arduino_Bridge code? so far I've only been able to find how it's done with rosrun and rosbash which aren't compatible with ros2 foxy. Thanks.

    • @althahirceja7153
      @althahirceja7153 7 месяцев назад

      im still trying to find a way to do this did u ever find a solution?

    • @tobster8367
      @tobster8367 7 месяцев назад

      @@althahirceja7153 Unfortunately I didn't, my setup was a bit different so it didn't work out this way

  • @samj1012
    @samj1012 Год назад

    servos have one chronic issue is that when powering the system, they jump to home position, which causes damage to the robot sometimes. Hardware solutions not successful, but maybe something in C code can absorb this. Bet I saw many commercial robots use normal motors with rotary encoder or stepper instead of servo.

  • @ErkanUnal.
    @ErkanUnal. 8 месяцев назад

    Have you tried with a BLDC motor equipped with a Hall sensor?

  • @just_bright
    @just_bright 5 месяцев назад

    I've been trying to figure wiring my closed loops for months. Still don't get it.

  • @GodsLittlegizmoguy96
    @GodsLittlegizmoguy96 Год назад

    First, thanks so much for these tutorials! They are great!
    When I run miniterm, I have to use baudrate of 9600, not 57600 in order to not get English out. And it outputs a whole bunch of "sensor=xxx ouput=xxx" lines, but it will not take in any motor commands to get the motor running. Apparently many changes have since been made to the arduino code?

  • @Nick_Reinhardt
    @Nick_Reinhardt 2 месяца назад

    when you say you can use PWM to drive a motor backwards (2:57) , do you mean you can send a PWM signal that drives the motor backwards, or do you need a switching circuit that you send the same signal through to drive the motor backwards? Can you like switch the bias of a PWM signal to be negative or something?
    Pretty new to mechatronics, but I come from music and radio land, so I like working with waves. Thanks for the help

  • @MC-DevaPrasanthM
    @MC-DevaPrasanthM 8 месяцев назад

    I'm getting in error #include WProgram.h while compiling in arudino.... Could you help me to fix this sir

  • @curtisnewton895
    @curtisnewton895 Год назад +2

    L298 has a to high internal resistance

    • @ArticulatedRobotics
      @ArticulatedRobotics  Год назад

      Definitely agree. It is a terrible motor driver for practical applications, but it is extremely cheap and easy for beginners to use.

  • @arjunm2412
    @arjunm2412 Год назад

    If I need to add IR proximity sensors in the robot in which part I need to change the code

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

    Is there any idea, why I got "miniterm command not found" error even i install python3-serial as "sudo apt install python3-serial" on my ubuntu 22.04 ? Thanks in advance for your help.

    • @bparmaksiz6686
      @bparmaksiz6686 2 года назад

      Okay I got the answer. it was changed to pyserial-miniterm. But still you may have an error which is "Errno 13 Permission denied: '/dev/ttyUSB0" . You have to command this "sudo usermod -a -G dialout # To allow access to the /dev/ttyUSB#
      " and reboot. everythings will work.

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

      Hi, sorry I didn't get to this sooner, I'm glad you got it sorted.
      I do have the usermod thing in the video but that is very helpful to know that the miniterm package has changed, I will keep that in mind if people ask in the future.

  • @owletkami8018
    @owletkami8018 2 года назад

    I would actually love to see the motor video on how to choose them and how to control the various types of motors (induction, DC, Universal, AC, 2-phase, 3-phase) what does it all mean for my project making journey?

    • @messerschmidtfpv4419
      @messerschmidtfpv4419 2 года назад

      That would be too much. accompany mr newans on his journey. it's going to be interesting enough

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

      Haha thank you, I'm glad to have you both along for the journey!
      I would like to make some videos going deeper into those different motor types, but at this rate that will probably be a very long ways off (like 12 month+)
      I hope to do one on Brushless DC motors in the shorter term (maybe in 6 months or so) as they are very relevant to the hobby and small commercial robotics that I'm focusing on at the moment.

    • @messerschmidtfpv4419
      @messerschmidtfpv4419 2 года назад

      @@ArticulatedRobotics I would like to rewrite the Rosbridge for Arduino so that 4 of the 12V DC motors can be used and read. check out my channel for the reason :)
      I look forward to continuing my journey with you.

  • @edupedika
    @edupedika Год назад

    Instead of gear motor is it possible to use Bldc motor ????

  • @TesterTester-qq2db
    @TesterTester-qq2db 5 месяцев назад

    What is the reason you do the motor-control on the extra arduino, and not on the RasPi, too (with ROS)?

  • @OZtwo
    @OZtwo Год назад

    My latest project I'm starting on is a simple eye that will follow you around the house. I have most of it yet still need to work out how to track sound using a Raspberry Pi. Any good tips?

  • @B94U2
    @B94U2 8 месяцев назад

    Where did you get the blue work mat?

  • @Swqtt
    @Swqtt 2 года назад

    I'm running both the GUI and the driver on my laptop. And it doesn't seem it is sending anything, it is constantly giving a time-out error.

  • @Ty-de7qq
    @Ty-de7qq 3 месяца назад

    I'm a bit confused on how the raspberry pi and dev machine are communicating. I have the GUI up on the dev machine and the topic listening on the raspberry pi, but it seems that nothing is happening when sending motor commands. If it helps to know, my dev machine is on a VM.

  • @edwingeorge5264
    @edwingeorge5264 Год назад

    currently i have SPG 30 E gear motor is it possible to use this method for getting values from motor to ros? and iam using Noetic

  • @lion87563
    @lion87563 10 месяцев назад

    To make a parallel between real robot and the Gazebo simulation, we can say that teleop_twist_keyboard node is Robot Controller and control plugin node (for example gazebo_ros_diff_drive) is Motor Controller. Is this correct?

  • @ashwanthrkumar9674
    @ashwanthrkumar9674 11 месяцев назад +1

    Hello community,
    At 14:22, when it meant upload the code,
    Where should it be uploaded
    Could anyone please respond

    • @whysoairyair
      @whysoairyair 9 месяцев назад

      upload it on the arduino

    • @최정환-c5k
      @최정환-c5k 9 месяцев назад

      Did you solve this problem? I'm curious, too

  • @gooseisloose4015
    @gooseisloose4015 8 месяцев назад

    hi! what if i want to make a robot that is completely disconnected from my arduino UNO and can self run. Basically I upload some preset direction code and take it off the arduino UNO then run it. Is this possible with these motors ?

  • @emreucar1888
    @emreucar1888 2 года назад

    Very good video. Can you make a video for rosserial for ros2 ?

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

      Thanks. I think last I checked there was no version of rosserial for ROS 2? It's a long time since I looked into it though. I'll keep it in mind for the future :)

  • @MemoxCid
    @MemoxCid Год назад

    Hello where can I find the code for the L298N and Arduino?