Society of Robots

MISC
 Search & Index
 Parts List
 Robot Forum
 Member Pages
 Robot Books
 Contact

SKILLS
 How To Build
  A Robot
  Tutorial

 Calculators
 Mechanics
 Programming
 Miscellaneous

 Robots

HARDWARE
 Actuators
 Batteries
 Electronics
 Materials
 Microcontrollers
 Sensors

SCIENCE
 Robot Journals
 Robot Theory  Conferences


    How The FAQ Do I Build A Robot?

    Frequently Asked Robot Questions

    Read Me!
    If you have been linked to this page, it simply means that you have asked a Frequently Asked Question. The answer to your question can be found below, along with many other very commonly asked questions.

    Please don't feel offended for being sent this link. This is simply a way to reduce the workload of Admin and others who want to help you with your question.

    And remember, just because your question may not be here does not mean it hasn't already been asked. Please search this website before asking any questions in the robot forum! Also, to help us better help you, make sure you read this post before asking any questions.

    Questions:



    Can you give me detailed instructions on how to build a robot from scratch?
    It is entirely a myth that you can build a robot from 'scratch.' You cannot. What you really want to do is build a custom robot, instead of buying a kit off the shelf, right? What we recommend you to do is build the $50 Robot. This step-by-step robot tutorial will help you make a complete robot, custom to your design. This tutorial will teach you more than any kit ever could, and give you more 'I built it myself' pride, too.



    Can I scrap my old computer and other electronics to make a robot?
    Yes and no. BEAM robots can be made 100% from common scrapped electronics. However, you cannot make a programmable robot 100% from scrapped electronics. Probably not even 25%. Why is this? Because to program, you need such things as a microcontroller and a special programmer for it. You also will probably want to use servos, and some type of robot sensor that you just won't have otherwise. But there are things you can scrap to save you money, such as batteries, capacitors, and various hardware components (screws, wheels, casings, wiring). Check these two posts for more ideas, and to suggest ideas of your own.



    I want to make a robot that's fast and strong, what motor should I use?
    Well it depends on how you define 'fast' and 'strong'. Like all engineering problems, you cannot solve them with subjective questions. You need to first decide quantitatively how fast you want your robot to go, and how strong your robot needs to be. Put these exact numbers into an equation, and the math will tell you what motor can handle your exact specs. Remember, if you guess the answer, you could find yourself having spent wasted money on a motor that is way too weak. Now before you panic, don't worry I have you covered on the math. First, read my robot dynamics tutorial, then head over to my robot motor factor calculator to do all the math for you.



    What would be a good battery for my robot?
    Decide on how long you want your robot to run before a recharge, and determine (by using datasheets and experiments with a multimeter) how much current your electronics and motors draw. Then head over to the battery tutorial to learn about the different types of batteries. You will also find a battery calculator, and a list of places to buy your batteries from.



    What is the best microcontroller?
    A similar question would be, what is the best car? Well that depends on a lot! Microcontrollers have many different features. Some features you may need, others you won't, depending on what your robot does. If you don't know what features you plan to use, its really hard to answer this question. There are several points you need to consider. For example, is there a lot of source code already available on the web, or does hardly anyone use that particular microcontroller type? How much are you willing to pay? Is there a power bus on it, or do you need to do extra wiring? Does it have a built in programmer or do you need to buy one separately? Then you also need to consider the brand, the most common being PIC and AVR. I 'grew up' using PIC's, as they are (were?) really popular and have tons of available code. But compiling software for PIC's range in the $100's. I have since moved to AVR, as compiling software is free, the hardware is better, and they are starting to become really popular. My $50 Robot is made using AVR, so that could save you time figuring it out. I recommend browsing for available microcontrollers and reading up on the features before you make your decision.



    How can I have my robot follow me?
    This is no simple task so do not underestimate it. The most reliable way to do this is using computer vision. If I were to do it, I would do middle mass detection on the color red, and wear a bright red shirt. As long as a Ferrari doesn't drive by, your robot will always follow you. You can easily do this with either a CMUcam, AVRcam, or using RoboRealm software with a webcam. Heck, I even wrote a RoboRealm file to do red tracking for you!

    Or, if you rather do audio tracking instead of visual tracking, check out this post on robot tracking with sound.



    I modified my servo but its still not working properly. What should I do?
    Check over the modify servo tutorial to make absolutely sure you didn't forget a step. Next, read past modify servo questions to make sure your question hasn't already been asked and solved. And if still no luck, check out the posts relating to gears in a servo.



    What are good books to learn how to make and/or program a robot?
    Check out the list of recommended robot books.



    What is the best language to learn for programming robots?
    The most common languages that robots are programmed in is C, C++, Java, BASIC, Python, XML, Lisp, and Assembly. In most languages, the concepts are exactly the same, its the syntax that is different. If you learn one of the basic languages, swapping to a different language will not be so hard. The programming language you need to use is determined by the compilers available for the hardware you wish to use. For example, if you want to program your robot in Java for a microcontroller, you need a compiler that converts Java to machine code specifically for that EXACT microcontroller. The most useful language, and the one I recommend for programming microcontrollers, is C. C can be considered the default robot language, and should be the one you learn to use. All source code I publish on this site will be in C.



    Where can I find a programming tutorial?
    There are a few programming tutorials in C posted. I also wrote a few other robot programming tutorials worth looking at.



    What's the difference between a servo and a motor?
    A servo is a DC motor but with tons of extra goodies, such as feedback control and a motor driver. I know what you are thinking, "I want a basic motor because it is cheaper than a servo." But if you want to use a basic motor for a robot, you MUST purchase and wire up a motor driver separately. Servos are much easier to use than a basic motor as this circuitry is already done for you, and at a very affordable price.



    How do I control a DC motor?
    Search for ESC, motor driver, and motor controller. These devices, all the same but under different names, take in a low current low voltage signal from your remote control, computer, or microcontroller output, and convert it to a high voltage high current signal for your DC motor. While you are at it, look up PWM too - a method of sending signals to control your motor.



    Why is my circuit not working?
    You would be amazed how many people ask this question without even posting a schematic or telling us what the circuit is supposed to do! 90% of the time these following steps will fix your circuit:

    First, check to make sure all of your grounds are common. If you have two circuits (say one for a sensor, and another for the microcontroller), they usually need a reference voltage so that they can work together. This would be referred to as grounding. Forgetting to ground circuits is a very common (and the most likely) mistake among beginners, so its why you often read 'don't forget to ground your circuit!' It is called 'ground' because back in the old days, dirt (earth) was considered the reference voltage.

    Check voltages all over your circuit. Get out your multimeter and verify that voltages are what you think they are. Check the battery voltage (to make sure its charged), check the voltage to your microcontroller, and the voltage coming out of your sensors. Make sure no component is recieving huge amounts of current or is overheating. Check for shorts. If your circuit isn't working, this will tell you exactly WHERE the problem is. Don't know what the voltages should be? Check the component datasheets and use Ohm's law =P

    Lastly, make sure your battery is fully charged and can output the required current you need. For example, don't use a cheap 9V battery to power your motors.



    Where do I find detailed information on my microcontroller? I have this robot sensor, which pin does what? How do I plug in my new motor controller? What current can my battery supply?
    Believe it or not, I do NOT memorize datasheets of your robot components (hehe). If I were to answer that question, I'd google search the part name and look for the datasheet. Pin-outs, voltages, everything you wanted to know is in the datasheet. I know, datasheets are huge and confusing, and mostly overwhelming at first look. But reading a datasheet is a required skill to build robots, and I promise you it will get much easier with just a few weeks of practice.

Has this site helped you with your robot? Give us credit - link back, and help others in the forums!
Society of Robots copyright 2005-2008