Difference between revisions of "How To Build a Robot"

Line 35: Line 35:
 
==Motors, Axles, and Speed==
 
==Motors, Axles, and Speed==
  
=== Motors ===
+
===Motors===
 
  [[Motors|A discussion of motors can be found here.]]
 
  [[Motors|A discussion of motors can be found here.]]
  
Line 49: Line 49:
 
[[File:Motor Controllers.jpg|thumb|[https://www.superdroidrobots.com/shop/category.aspx/motor-controllers/5/ Motor Controllers]]]
 
[[File:Motor Controllers.jpg|thumb|[https://www.superdroidrobots.com/shop/category.aspx/motor-controllers/5/ Motor Controllers]]]
 
Motor Controllers take signals from a microprocessor or radio control receiver and convert it into a high current varying voltage. Motor controllers are rated based on the voltage and current requirements. You can take a look at some of our robot kits to get an idea of what size motor controller you will need. We carry RoboteQ motor controllers, which will take encoder inputs for speed and/or position control, as well as Dimension Engineering's Sabertooth with a Kangaroo for encoder input.
 
Motor Controllers take signals from a microprocessor or radio control receiver and convert it into a high current varying voltage. Motor controllers are rated based on the voltage and current requirements. You can take a look at some of our robot kits to get an idea of what size motor controller you will need. We carry RoboteQ motor controllers, which will take encoder inputs for speed and/or position control, as well as Dimension Engineering's Sabertooth with a Kangaroo for encoder input.
 +
 +
<br />
  
 
  For more help with using encoders with motor controllers, please visit our  [[Motor Controller Support|Motor Controller Support Page]], and our  [[Encoder Support|Encoder Support Page]].
 
  For more help with using encoders with motor controllers, please visit our  [[Motor Controller Support|Motor Controller Support Page]], and our  [[Encoder Support|Encoder Support Page]].
 
'''For Help selecting the right motor controller, review each item and their associated data sheets / manuals.'''
 
 
'''For a complete list of all of our motor controllers, follow this link.'''
 
 
*<sdr item id=2233> Roboteq’s XDC2460</sdr item> controller is designed to convert commands received from an RC radio, Analog Joystick, wireless modem, PC (via RS232 or USB) or microcomputer into high voltage and high current output.
 
*<sdr item id=1834> RoboteQ MDC2460 - 2x60A 60V Motor Controller with Encoder Input</sdr item> Roboteq’s MDC2460 (2x60A 60V) controller is designed to convert commands received from an RC radio, Analog Joystick, wireless modem, PC (RS232 or USB) or microcomputer into high voltage and high current output for driving one or two DC motors.
 
*<sdr item id=1826> RoboteQ SDC2160 - 2x20A 60V Motor Controller with Encoder Input</sdr item> Roboteq’s SDC2160 (60V) controller is designed to convert commands received from an RC radio, Analog Joystick, wireless modem, PC (RS232 or USB) or microcomputer into high voltage and high current output for driving one or two DC motors.
 
*<sdr item id=1822> Sabertooth Dual 32A Motor Driver</sdr item> The Sabertooth 2X32 is one of the most versatile, efficient and easy to use dual motor drivers on the market. It is suitable for medium powered robots - up to 30lbs in combat or 100lbs for general purpose robotics. Made by Dimension Engineering.
 
*<sdr item id=1546> A4988 Stepper Motor Driver Carrier with Voltage Regulators</sdr item> The A4988 stepper motor driver carrier with voltage regulators is a breakout board for Allegro’s A4988 microstepping bipolar stepper motor driver.
 
*<sdr item id=1545> A4988 Stepper Motor Driver Carrier</sdr item> The A4988 stepper motor driver carrier is a breakout board for Allegro's A4988 microstepping bipolar stepper motor driver.
 
*<sdr item id=1544> DRV8825 Stepper Motor Driver Carrier, High Current</sdr item> The DRV8825 stepper motor driver carrier is a breakout board for TI's DRV8825 microstepping bipolar stepper motor driver.
 
*<sdr item id=1424> Pololu Zumo Shield for Arduino</sdr item> This shield mounts onto an assembled Zumo chassis and makes it easy to build an Arduino-controlled Zumo robot.
 
*<sdr item id=1368> Pololu DRV8833 Dual Motor Driver Carrier</sdr item> This tiny breakout board for TI’s DRV8833 dual motor driver can deliver 1.2 A per channel continuously (2 A peak) to a pair of DC motors.
 
*<sdr item id=1297> Dual MC33926 Motor Driver Shield for Arduino</sdr item> This shield makes it easy to control two brushed DC motors with your Arduino or Arduino-compatible board. Its dual MC33926 motor drivers operate from 5 to 28 V and can deliver a continuous 3A per motor.
 
*<sdr item id=1296> Dual VNH5019 Motor Driver Shield for Arduino</sdr item> This shield makes it easy to control two high-power DC motors with your Arduino or Arduino-compatible board.
 
*<sdr item id=1225> Sabertooth Dual 60A motor driver</sdr item> Dimension Engineering Sabertooth 2X60 is one of the most versatile, efficient and easy to use dual motor drivers on the market. It is suitable for high powered robots - up to 120lbs in combat or up to 1000lbs for general purpose robotics.
 
*<sdr item id=1197> SyRen 50A Regenerative Motor Driver</sdr item> Out of the box, the SyRen 50 can supply a single DC brushed motor with up to 50A continuously. Peak currents of 100A are achievable for a few seconds. Made by Dimension Engineering.
 
*<sdr item id=1155> Sabertooth Dual 12A Motor Driver</sdr item> Dimension Engineering Sabertooth 2X12 is one of the most versatile, efficient and easy to use dual motor drivers on the market. It is suitable for medium powered robots - up to 30lbs in combat or 100lbs for general purpose robotics. Replaced TE-091-210.
 
*<sdr item id=1143> Sabertooth Dual 12A RC Motor Driver</sdr item> Sabertooth 2X12 R/C is a dual motor driver specifically optimized for use in radio controlled vehicles. The Sabertooth 2x12 RC replaces our custom 2x10 RC controller. Made by Dimension Engineering. Replaces 2x10 RC (TE-115-210).
 
*<sdr item id=851> Sabertooth Dual 5A Motor Driver</sdr item> The Sabertooth 2X5 is one of the most versatile, efficient and easy to use dual motor drivers on the market. It is ideal for smaller robots- up to 3lbs in combat or 25 lbs for general purpose use. Made by Dimension Engineering.
 
*<sdr item id=345> MD22 Devantech Dual Motor Driver</sdr item> The MD22 by Devantech is a robust low/medium power motor driver. The driver is designed to supply power for two independent motors.
 
*<sdr item id=2630> RoboClaw 2x60A Motor Controller</sdr item> The RoboClaw 2x60A is an intelligent motor controller designed to control two brushed DC motors at 60 Amps continuous with up to 120 Amps peak per channel.
 
*<sdr item id=2629> RoboClaw 2x30A Motor Controller</sdr item> The RoboClaw 2x30A is an intelligent motor controller designed to control two brushed DC motors at 30 Amps continuous with up to 60 Amps peak per channel.
 
*<sdr item id=2627> RoboClaw 2x15A Motor Controller</sdr item> The RoboClaw 2x15A is an intelligent motor controller designed to control two brushed DC motors at 15 Amps continuous with up to 30 Amps peak per channel.
 
*<sdr item id=2626> RoboClaw 2x7A Motor Controller</sdr item> The RoboClaw 2x7A is an intelligent motor controller designed to control two brushed DC motors at 7.5 Amps continuous with up to 15 Amps peak per channel.
 
*<sdr item id=2628> RoboClaw Solo 30A Motor Controller</sdr item> The RoboClaw Solo 30A is an intelligent motor controller designed to control one brushed DC motors at 30 Amps continuous with up to 60 Amps peak.
 
 
A very common question that we get is "how do I hook up four motors to a two-channel motor controller?" Most of our 4WD robots use four motors (one motor per wheel).
 
 
Since the left motors need to act together as do the right motors, the solution is very easy. Just parallel the left motors to one channel of the motor controller, and parallel the right motors to the second channel.
 
 
The same goes for 6WD robots. Just make sure the sum of the stall torque for each motor does not exceed the motor controller rating. (ie: 2 motors with 15A stall will exceed the rating of a 25A controller in a stall condition.
 
  
 
==Robot Batteries==
 
==Robot Batteries==
Line 210: Line 179:
  
 
   For more detailed information on sensors, visit our  [[:Category:Sensors|Sensor Support page.]]
 
   For more detailed information on sensors, visit our  [[:Category:Sensors|Sensor Support page.]]
                                                               
+
                                                               
   
+
   
    [[Category:Building a Robot]]
+
    [[Category:Building a Robot]]

Revision as of 17:57, 12 April 2021

General Robot Building Questions | The Big Picture

Building your own robot can be a fun and instructional experience. It can be a little frustrating though when you are not sure about a certain aspect of the build. This is a step by step guide that will help you get your robot up and running. In this guide we will go over some robot basics, help you with part selection, and give some assembly advice. To get started you can use answer some of the questions on our Custom Robot Request Page. These will help you figure out the type of robot you want to build and help a little with part selection. You may also submit the form if you would like to skip the DIY and have SuperDroid Robots and its professional staff build it for you.

Some questions you will want to ask yourself

  • What is my budget?
  • What is my schedule?
  • What do I want the robot to do?
  • What type of terrain will it be used on?
  • Do I have any size requirements or restrictions?
  • Do I have any weight requirements or restrictions?
  • Do I want it to be weather resistant? Weatherproof? Waterproof?
  • Do I have any additional capacity requirements for volume and/or weight?
  • How do I want to control it? Wireless, tethered, Autonomous, RC, WiFi, Fiber Optics, IR, etc.
  • How long of a run time will I need? Will it be run continuously or intermittently during this time? (i.e. what is the required duty cycle?)
  • Do I want to build using just parts, a kit, or a completely assembled ready-to-run robot?

The basics of our robot kits

Our robot kits are developed based on years of experience designing custom robots. All the components are designed to work together. If you do not have much experience building robots, the easiest thing to do will be to start with one of our robot kits. If you start from scratch you'll have to make a lot of decisions about size/speed of motors, size and type of wheels, type and capacity of batteries, and many more. Making these decisions can require experience and some trial and error. With our robot kits, we have made many of these decisions already and taken most of the guesswork out of the equation. All of our robot kits have options listed at the bottom of the page allowing you to configure the robot with parts that will work together.

Most of our robot kits can be purchased in kit form (unassembled) or assembled. If you have never built a robot or you do not have much experience with soldering and mechanical assembly, we recommend you opt for us to assemble it for you. We will have our experienced technicians assemble and test it. If anything is not right (such as a defective motor or motor controller, battery charger, etc.) we will replace it and make sure everything is ready to run when you receive it.

How does a robot turn?

Skid Steer versus Conventional Steering

Let's Get Started!

There are a lot of decisions that need to be made once the general questions are answered. Most of this information is in order. In some cases you can jump around, but basically you cant pick your batteries, until you know what your motors are, and you cant pick motors until you pick a platform, etc.

Tracks or Wheels?

The start of the project requires you to make a big decision, do you want tracks or wheels? Read the discussions below to help you make the right decision for your needs and your budget.

Robot Tracks
Robot Wheels

Motors, Axles, and Speed

Motors

A discussion of motors can be found here.

Axles (AKA Wheel Shafts)

Follow the discussion here for Wheel Shafts

Robot Speed Calculator

This is a helpful tool to figure out the speed of your robot. Input the RPM your motor, any chain reduction (if direct drive use 1), and the outside diameter your wheel or track.

The Robot Speed Calculator has been moved here.

Motor Controllers

Motor Controllers take signals from a microprocessor or radio control receiver and convert it into a high current varying voltage. Motor controllers are rated based on the voltage and current requirements. You can take a look at some of our robot kits to get an idea of what size motor controller you will need. We carry RoboteQ motor controllers, which will take encoder inputs for speed and/or position control, as well as Dimension Engineering's Sabertooth with a Kangaroo for encoder input.


For more help with using encoders with motor controllers, please visit our  Motor Controller Support Page, and our  Encoder Support Page.

Robot Batteries

When selecting the appropriate batteries for your robot, you need to size them by voltage to match the desired motors and motor controller. You will also need to take into consideration the maximum current output and the battery type and capacity.

Voltage Rating

Our motors are rated for either 12V or 24V. Incorrectly providing a 24V source to a 12V motor will immediately cause permanent damage. If only connected for a short period of time the observed damage will be limited to a whining sound when the motor is moving. A prolonged over-voltage condition will cause catastrophic damage to the motor and this may pose a significant risk of fire, injury, or death. Be sure that the appropriate power is applied to the motors. If the motors receive insufficient voltage, say 12V to a 24V motor, the motor will either move very slow or not at all.

In order to distribute the weight of a battery evenly across the robot, its common practice to use multiple 12V batteries to prevent the robot from favoring one side while driving. For a 12V motor system, the batteries will need to be connected in parallel and for a 24V system, they will need to be connected in series.

Note: When using a multiple battery system, always be sure that each battery is individually fused.

Maximum Current Output

When selecting the appropriate battery source, it is wise to be sure that the battery can produce the amount of current needed by your motors and motor controller. Take, for example, Dimension Engineerings Sabertooth 2x12 motor controller. It has two channels and each channel is capable of outputting 12A so for the motor controller to be able to supply a total of 24A to a pair of motors the battery providing power to the system must be capable of supplying that amount of current. It is important to note that the motor system may not be the only major component in your system. Be sure to account for the additional loads on your system, such as a computer, control system, sensors, and a radio.

Note: For many hobby RC motors, the batteries will be marked with a C rating. This rating will indicate the maximum continuous current discharge that the batteries are capable of. The C rating is a multiplier that can be applied to the battery capacity to get your maximum continuous discharge. For example, a 2,000mAh 10C battery can output a maximum of 20,000 mA or 20A.

Battery Type and Capacity

There are two main types of batteries that are discussed here: Lead Acid, Lithium. Lead-acid batteries are the cheapest out of the two. These are the batteries that you typically see in a car or a truck. They do not require special circuit protection, only a fuse. The downside is that they are large and very heavy.

The second type are Lithium batteries. You will typically see in most electronics today. They are lighter and more compact than lead-acid batteries and are the go-to battery type for RC robotics. One caveat that with Li-ion batteries is that they require specific under-voltage circuit protection to prevent the battery from dropping too low. If this happens the battery will be unrecoverable. Most of our Lithium batteries contain the necessary circuit protection to prevent this from happening. Most of the cheap RC batteries you see listed online, do not.

There are several kinds of Lithium batteries. Lithium-ion is the most common (and the most unstable). Lithium-ion require extreme care so they do not overheat, etc resulting in a fire or explosion. A more stable battery is LiFePO4 chemistry as in our K2 25.6V or K2 12.8V batteries. These batteries are much more stable and an excellent choice for powering robots, but they are more expensive.

On the topic of battery capacity, it is commonly measured in mAHr (milliamp hours). This is a measurement of how long it would take to discharge the battery if it outputted 1mA of current. Larger batteries are typically measured in AHr which is mAHr divided by 1,000. So, a 12V 2000 mAHr (2AHr) battery will last twice as long, under the same conditions, like a 12V 1,000 mAHr (1AHr) battery.

Robot Battery Chargers

When ordering a robot kit as a base for your project, we offer appropriately sized chargers for the supplied batteries. When picking out your own chargers, it is absolutely critical that you pick the charger with the correct voltage and battery type. Not selecting the appropriate charger will be a fire hazard and cause permanent damage to the battery, charger and your property.

Robot Controller

There are several options for controlling your robot. The big division of remote control is between Analog versus Digital Control.

Analog

Analog Control provides the simplest link between the operator and the robot possible, it is, however, one way. Video is typically transmitted back over an open analog channel. Analog video transmissions can be viewed on any receiver, both yours or anyone else. Analog Remotes similar to R/C Aircraft can be used to control the robot, or a custom controller can be made to control and display the video in a case. We offer several types of analog controllers.

(RC) Control: (Handheld wireless control devices)

Picture

For more help with Remote Control (RC), please visit our  Remote Control Support Page.

Digital Control

Digital Control of a robot uses Ethernet over a wireless link to control the robot. The wireless link will be over standard WiFi, CoFDM, or a Dual Band Wireless Link similar to WiFi. Our Digital Remotes are enclosed in a Pelican (or Pelican-like) case that houses the radio, control joysticks and switches, and the video monitor.

Digital Wireless Control Systems

For more help with Remote Control (RC), please visit the following support pages:
* Remote Control Support Page
* Network and WiFi Support Page
* Wireless Serial Support Page
* Tactical Robot Support Page

Pictures

Complete Control Packages

We offer Complete Control Packages to control the robots. These are complete systems that are custom configured to your needs that will connect your robot.

  • Programmable RC Control Interface Package: This package offers the simplicity of manual RC control while having access to the diversity of Arduino I/O.
  • Programmable GPS Navigation Package: This package includes all the items you would need to make a robot drive to GPS waypoints autonomously.
  • WiFi Remote System with Tablet OCU: This package is for controlling SuperDroid Robots. It contains a WiFi Router, Serial Bridge, Power Supplies, Custom Controller Board, Video Server, Tablet with custom robot control and interface with video monitoring.
  • Programmable xBee Control Interface Package: This package allows you to control a robot, out of the box, using the power of Arduino and xBee. The remote comes standard with an ABS enclosure and your option of 2, 3, or 4-axis joystick.Full source code is provided!
  • Programmable WiFi Custom Control Interface Package: Fully configured, tested, and supported. This package comes with a network device, Arduino Mega control board, Arduino Ethernet Shield V2, SDR Arduino Mega Sensor Shield, and a 4x TTL relay board. It will fit on top of any of our chassis options.
  • ROS Autonomous Control Package: This package provides a completely assembled and configured Robot Operating System (ROS). ROS is a Linux based meta operating system for your robot with a massive open source community.

Autonomous Control

This is a huge topic due to all of the self-driving cars, etc. This, however, is not a simple or trivial task. Google has spent billions of dollars in development.

If you are interested in building an autonomous robot, then please follow these links to help get you started.

  • Programmable Arduino Robots: (LINK: cat 157) Programmable Robots. These mobile UGV robots have an Arduino for their controller. These Arduino robots are easy to program and a powerful processor allowing the user to create autonomous robots.
  • Programmable Robots: (LINK: cat 194) Programable Robots. Autonomous Robots. Robots that think on their own and do set tasks. They range from customized Arduino WiFi robots to programmable tactical robots.
  • Control Systems: (LINK: cat 206) These custom control systems will allow you to control your robot wirelessly,autonomously, or both. Autonomous GPS navigation. Control and monitoring your robot wirelessly over WiFi. If you need something custom, contact us.
  • Programmable SDR Robots: (LINK: cat 75) These programmable robots are designed by SuperDroid Robots. They range from customized Arduino WiFi robots to programmable tactical robots.
  • Sensors: (LINK: cat 35) We have sensors to help you detect gasses, conduct surveillance, and measure performance. These sensors can help toward building an autonomous robot.
  • Build an Autonomous Robot: Bought one of our robots? Want to make it autonomous? Start here! We walk you through design decisions and the required components for you to develop your own autonomous robot.
  • Autonomous Robot Services: Autonomous robots are a challenge as they require a precise blend of mechanical, electrical, and software engineering. We have the capabilities to design and develop the autonomous solutions you require.
  • Autonomous WiFi Robot Arduino Robot Programming: The page describes the method and gives examples of how we programmed the Free Autonomous WiFi Robot Arduino Robot in our give away.
  • Sensor Support: We carry a large array of sensors to enable you to develop a smart and autonomous robotic solution.

Wiring

Power and Battery Wiring

When wiring your batteries to your robot there are concerns you must address. Namely, what output voltage do you need and how you are going to charge the batteries. When using two 12V batteries you will need to wire them in parallel to power 12V motors and in series to power 24V motors.

The key things to consider are what voltages do you need and how much power The driving force for the main battery will be the motors. We typically use 24VDC motors, they run at half the current for the same power as 12V motors so smaller wires, motor controllers, etc. Do you need a separate battery for the controller or on-board computer, etc? How are you going to get those voltages (multiple batteries, voltage regulators, etc.)? How much of a load will be on each voltage so your batteries and/or regulators are sized properly? This will help you size your batteries: simple math. If you have a 1Amp load and a 10Ahr (10,000mAhr) battery, the battery will run for 10 hours in theory.

For more help with wiring, please visit our Robot Wiring Support Page.

Motor Wiring

Generally motors are wired to a motor controller to provide speed control to motors. The motor controller can be used to change the directions of the motor as well. If running motors in parallel (as in a 4WD the two left and the two right motors will be running together in parallel) you can wire them in parallel too.

We have a lot of information on how to wire motors, etc. on our Motor Wiring Support Page.

 For more help with wiring, please visit our Motor Wiring Support Page.

Sensors

We offer a wide range of sensors. The more sensors used, the better the autonomy will be. Relying on only one type of sensor for all your positioning will work for simple situations, but will probably cause issues for any complex positioning or for any positioning that requires higher precision.

In robotics, sensors can be used to monitor your environment or to determine your robot's position relative to some object. Standard sensors for environment monitoring can range from temperature thermocouples, gas, and radiation. The standard positioning sensors are Sonic and IR for object detection and GPS, gyroscopes, and accelerometers to determine relative location, direction, and airspeed. For ground travel and RPM feedback, a combination of our encoder enabled motors and our encoder buffer board make it incredibly easy to implement your own speed control algorithms and RPM feedback. The encoder can also be used to keep track of the distance traveled, but with skid steer the more you turn/skid the more inaccurate the reading because of the wheel slips/skids resulting in encoder counts, but no relative movement.

  • For a complete list of our available sensors, please visit this link (LINK: cat 57).
  • Accelerometers, Gyros, GPS, & Compasses: Accelerometers, Gyros, GPS, & Compasses. Measure acceleration and track rotation with these accelerometers, gyroscopes, compasses/magnetometers, and combined inertial measurement units (IMUs) and orientation sensors.
  • Contact Sensors: Contact Sensors. Switches and Bumper Switches used to indicated when a physical limit has been reached.
  • Current Sensors: An assortment of unidirectional and bidirectional Hall effect-based current sensors. They offer a very low-resistance current path and electrical isolation between the current source and the measuring circuit.
  • Force Sensors: Force-sensing resistors (FSRs) are passive components that exhibits a decrease in resistance when there is an increase in the force applied to the sensor allowing you to create a sensor that is able to detect force or pressure.
  • Gas Sensors: Gas sensors makes it possible to measure concentrations of gasses such as alcohol, methane, propane, butane, and carbon monoxide.
  • Magnetic Guide Sensors: Precision magnetic sensor for detecting and measuring the position of a magnetic track along the horizontal axis, for use in Automatic Guided Vehicles and other Automation applications.
  • Optical Sensors - IR, PIR, Photo, & Lasers: Optical IR Sensors & Laser Range Finders. IR distance sensors make it easy to detect and range objects. The laser range-finder is inexpensive, accurate and easy to use with a 240 degrees scan area.
  • Sonar Range Finders: Accurately measure distances over a wide range with our assortment of ultrasonic distance sensors from Maxbotix and Devantech.
  • Temperature and Humidity Sensors: These sensors measure the humidity of the air and can measure the temperature. Great features for your microcontroller project.
 For more detailed information on sensors, visit our  Sensor Support page.