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

Поділитися
Вставка
  • Опубліковано 21 вер 2024

КОМЕНТАРІ • 228

  • @DanielJoseMP
    @DanielJoseMP 11 місяців тому +109

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

    • @henriquecastro4707
      @henriquecastro4707 10 місяців тому +5

      That would be great 😊

    • @MemoxCid
      @MemoxCid 8 місяців тому +2

      In the web page he have this

  • @CyberHak
    @CyberHak Рік тому +51

    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 Рік тому +69

    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 Рік тому +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 роки тому +8

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

  • @ChillGuy511
    @ChillGuy511 11 місяців тому +4

    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 7 місяців тому

      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 Рік тому

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

  • @divy04
    @divy04 2 місяці тому +1

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

  • @sinankuniyilathoot5188
    @sinankuniyilathoot5188 2 роки тому +13

    Only ROS CHANNEL that makes sense

  • @jonathanr4242
    @jonathanr4242 8 місяців тому +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 4 місяці тому +1

      What's that exactly and why to use?

    • @jonathanr4242
      @jonathanr4242 4 місяці тому

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

  • @PP-fh2mk
    @PP-fh2mk 2 роки тому +5

    I REALLY LOVE THIS PROJECTS

  • @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 :)

  • @ramsha8833
    @ramsha8833 7 місяців тому +1

    I love it. Its heaven for robotics beginners

  • @tlmoller
    @tlmoller 8 місяців тому

    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.

  • @rogernunn1
    @rogernunn1 11 місяців тому +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.

  • @h7opolo
    @h7opolo 10 місяців тому +2

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

    • @vatsal9005
      @vatsal9005 6 місяців тому +1

      wow, didnt notice that

  • @autumnreed2079
    @autumnreed2079 7 місяців тому

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

  • @jessenagy9302
    @jessenagy9302 11 місяців тому +1

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

  • @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-_ Рік тому

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

  • @obensustam3574
    @obensustam3574 Рік тому +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  Рік тому +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!

  • @dr.jacintorodriguez7559
    @dr.jacintorodriguez7559 Рік тому +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  Рік тому +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) :)

  • @azraelsoluna110
    @azraelsoluna110 2 роки тому

    Yes to Videos on Motors! Great video!

  • @ironrider4526
    @ironrider4526 2 роки тому +2

    Very good explained video!

  • @shyamkganatra
    @shyamkganatra 2 роки тому

    yes a video on different types of motor would be great

  • @maheshpatel2005
    @maheshpatel2005 10 місяців тому +1

    Nicely explained

  • @miniminerx
    @miniminerx Рік тому

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

  • @greggas87
    @greggas87 2 місяці тому

    Sensational tutorial, nuff said

  • @sebastianrada4107
    @sebastianrada4107 Рік тому

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

  • @Yu-kt7ph
    @Yu-kt7ph Рік тому

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

  • @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!

  • @arts5821
    @arts5821 Рік тому

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

  • @naum900
    @naum900 11 місяців тому

    Very well presented! Thank you.

  • @dgb5820
    @dgb5820 Рік тому

    Absolutely awesome video

  • @werkstattkreuzberg4234
    @werkstattkreuzberg4234 7 місяців тому

    Good overview for beginners!

  • @mohankrishnan2022
    @mohankrishnan2022 Рік тому

    Excellent presentation!

  • @JIM94K
    @JIM94K 11 місяців тому +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!

  • @rgmotors244
    @rgmotors244 2 місяці тому

    Thank you for every information

  • @umeshy
    @umeshy Рік тому

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

  • @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)

  • @jonron3805
    @jonron3805 11 місяців тому +1

    I would like to see a video on different motor types

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

  • @freddiehong
    @freddiehong Рік тому

    This video is great! Thank you 😊

  • @infestus5657
    @infestus5657 Рік тому

    Underated Video

  • @karanbirchahal3268
    @karanbirchahal3268 Рік тому +1

    Amazing !!!

  • @chriskeefe3219
    @chriskeefe3219 5 місяців тому

    Great video!

  • @Nihalmoneymaker
    @Nihalmoneymaker 2 роки тому

    Great Video!! Please make a video on motors.

  • @akeelwall8449
    @akeelwall8449 2 роки тому

    awesome tutorial many thanks

  • @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!

  • @priyamd4759
    @priyamd4759 5 місяців тому +1

    Liked and subscribed.

  • @messerschmidtfpv4419
    @messerschmidtfpv4419 2 роки тому

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

  • @just_bright
    @just_bright 3 місяці тому

    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?

  • @sinankuniyilathoot5188
    @sinankuniyilathoot5188 2 роки тому

    Just great 🔥🔥🔥🔥🔥

  • @unichurchunsw1286
    @unichurchunsw1286 2 роки тому

    great work!

  • @benservey9295
    @benservey9295 Рік тому +1

    Hey all, Scott here!

  • @blaircox1589
    @blaircox1589 Рік тому

    I love your video on murders!!! 😁

  • @rudranilbose2668
    @rudranilbose2668 9 днів тому

    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

  • @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?

  • @midnighttutor
    @midnighttutor 8 місяців тому

    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.

  • @Nick_Reinhardt
    @Nick_Reinhardt 23 дні тому

    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

  • @Automatic_Robot
    @Automatic_Robot 11 місяців тому +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 7 місяців тому

      I have the same problem

    • @ThanhPhamRb
      @ThanhPhamRb 5 місяців тому

      ⁠have you fixed that problem yet?

    • @Automatic_Robot
      @Automatic_Robot 5 місяців тому

      @@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 5 місяців тому

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

  • @heitorl8095
    @heitorl8095 2 роки тому +1

    The best

  • @arvinmistry9744
    @arvinmistry9744 7 місяців тому

    Excellent good vedio please make more vedio

  • @tkdefender8870
    @tkdefender8870 Рік тому +3

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

  • @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?

  • @TesterTester-qq2db
    @TesterTester-qq2db 3 місяці тому

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

  • @DesertVox
    @DesertVox 11 місяців тому

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

  • @just_bright
    @just_bright 3 місяці тому

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

  • @Ty-de7qq
    @Ty-de7qq Місяць тому

    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.

  • @kardousyoussef4338
    @kardousyoussef4338 Рік тому +1

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

  • @pasquentmax
    @pasquentmax 5 місяців тому

    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?

  • @samj1012
    @samj1012 11 місяців тому

    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.

  • @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?

  • @nagaharipriyanm8052
    @nagaharipriyanm8052 2 місяці тому

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

  • @whysoairyair
    @whysoairyair 7 місяців тому

    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?

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

  • @OZtwo
    @OZtwo 9 місяців тому

    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?

  • @A_50_VipulPardeshi
    @A_50_VipulPardeshi 11 місяців тому +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 4 місяці тому

      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

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

  • @lion87563
    @lion87563 8 місяців тому

    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?

  • @PHS-123
    @PHS-123 11 місяців тому +1

    Nice sir

  • @Automatic_Robot
    @Automatic_Robot 4 місяці тому

    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.

  • @agrimekatronik321
    @agrimekatronik321 Рік тому

    Hello, first of all thanks a lot for these tutorials.
    I am using as5600 magnetic encoder for close-loop control of motors. So I can't use your code because encoder is communicating via I2C from analog pins of arduino uno. My question is: Which topics do I need to subscribe(cmd_vel) in order to make it work. For example, I know that I need to subscribe to cmd_vel to get wheel velocities from ros and move the robot, but where do I need to publish wheel velocities or positions to do navigation?

  • @codewithemmaprime
    @codewithemmaprime Рік тому +1

    Hey Josh!!
    Thanks so much for this tutorial.
    Can I control the motors in open loop mode?? Like I mean for the real robot because my encoders broke 😢 and I cannot buy another

    • @ArticulatedRobotics
      @ArticulatedRobotics  Рік тому +2

      Yeah for sure! If you are using my ros2_control hardware interface you want to replace the "write" command with one that sends an "o" message instead of an "m" message, and write a line that scales the speed request to the appropriate open loop signal.

  • @ranikinnal
    @ranikinnal 11 місяців тому +1

    I've been following your series and its really useful and informative!!
    Can u please share a link i can access the video on motors selection(as mentioned in time stamp - 1:16) if its aired already? If not i hope you can make one, would be really helpful! @ArticulatedRobotics

  • @Swqtt
    @Swqtt Рік тому

    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.

  • @ErkanUnal.
    @ErkanUnal. 5 місяців тому

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

  • @ahmedhelalmahmoudhassanmah3028
    @ahmedhelalmahmoudhassanmah3028 6 місяців тому

    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

  • @dilipkumar2k6
    @dilipkumar2k6 Рік тому +1

    Can't use Raspberry pi as a motor controller instead of using Arduino?

    • @ArticulatedRobotics
      @ArticulatedRobotics  Рік тому

      Hi, you can but (as outlined in the video) it is often better to decouple them. That way the arduino can focus on the low-level control, and the Pi can handle high-level tasks, and the either can be swapped out with ease.

  • @LucasMOV394
    @LucasMOV394 4 місяці тому

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

  • @muhammadqaisarali
    @muhammadqaisarali 11 місяців тому

    Can you please make a video on micrROS as well?.
    What i understood is that microROS should have been used foe this hardware level stuff. Further why Ros control if microROS is already out there?.

  • @arjunm2412
    @arjunm2412 Рік тому

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

  • @gooseisloose4015
    @gooseisloose4015 6 місяців тому

    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 ?

  • @TANRININresulu
    @TANRININresulu Рік тому +1

    Can we also control torque?

  • @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 :)

  • @MC-DevaPrasanthM
    @MC-DevaPrasanthM 6 місяців тому

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

  • @bparmaksiz6686
    @bparmaksiz6686 Рік тому +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 Рік тому

      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  Рік тому +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.

  • @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 5 місяців тому

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

    • @tobster8367
      @tobster8367 5 місяців тому

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

  • @tusharbajaj2673
    @tusharbajaj2673 2 місяці тому

    Which motors are you using?

  • @g_rr_tt
    @g_rr_tt 6 місяців тому

    you forgot torque-speed relation, bearing friction and the torque required to overcome it, max torque, max continuous torque, gear boxes, and stall current