Lessons in Robotics


Lessons in Robotics

This group is dedicated to helping beginners understand concepts, processes, and ideas to make building robots easier. 

Members: 7
Latest Activity: Jun 9, 2012

Getting Started

I consider myself an expert on getting started because I've been through so many changes throughout my career. Well, maybe 'veteran' is a better word since technology changes so rapidly. But I can offer some helpful tips for the new roboticist or microcontroller enthusiast who doesn't have an engineering degree (yet). 


As with any application or project, you want to ask yourself "What do I want to do?  What are my goals? How do I get there?". 

It's easy to get hung up if you aren't brave enough to step forward. Sometimes you just gotta start!


I started robotics with a school project.  We found a simple bulldozer toy that was  controlled by a pair of joysticks through a wire that was about 3 feet long. The idea here was to use a simple body with only one or two functions that were easy to see.

We cut the wires and fed them into the microcontroller we were studying.  It didn't take long for us to reach our first obstacle which taught us that a microcontroller only outputs very small amounts of current. This current is not enough to drive most motors, so we had to develop a circuit that would amplify the current.

Then we learned that we had to use transistors that would handle the motor's current needs.  Transistors not suited to high current will melt instantly. Sometimes  you need to combine transistors in series to get the boost you need. Reading the spec sheet for a transistor will tell you what current it needs and how much it can amplify the signal. This is the 'beta' or 'gain' of a transistor, where a gain of 10 will multiply the input signal by 10.

Then we learned a few things about motors. Motors usually involve a spinning device inside a magnetic field, and when the spinning stops the motor spits out a burst of backlash current which can destroy sensitive devices.  Diodes and LED's can block current from going the wrong way on a circuit.

Once we stopped melting our transistors, we connected simple sensors that provided input to the microcontroller. From there, the bulldozer was very easy to control with some simple software commands.

We learned a few lessons from this project:

  1.  Get requirements first. Ask questions and take measurements.
  2.  Read the 'specs' (specifications, details) of your components to determine what they need and what they do.
  3. Spend some time designing first. This saves a LOT of grief later when things don't work right.
  4. Test, test, and test again! Expect everything to go wrong before anything starts to go right.
  5. SAFETY! Always remember to be safe.  Even small amounts of electricity can bedangerous if improperly handled.


If you're starting from scratch (meaning, not a dedicated robot kit), you'll probably want to learn a few things about electricity.  Study Ohm's Law, study Watt's Law. They are simple yet highly useful rules about electricity.

Getting the requirements of your system and asking a few questions will lead to other electricity rules you should understand.  Ask questions like,

  •  What inputs do I need?
  •  How much electricity do they require? 
  •  What are my outputs, and how much power do they require?

  Chances are that your microcontroller won't be strong enough by itself, so you'll need to amplify your output with transistors, and maybe add a diode or LED to prevent sudden bursts of reverse-current from a motor. It's easy to research some helpful circuits, and sometimes you can find a chip that includes a lot of protective features in a single purchase. 

Research "H-Bridge Circuits" to help you get started.
You can find a simple toy to control at most toy stores. Lately the Chibots robotics club has been discussing toys found at Elenco ( www.elenco.com ).  Elenco sells a number of simple and cost effective gadgets designed to educate, and are easy to modify.


This brings us to the microcontroller.  I have used a few different ones. 

 The LegoNXT is designed to be easy to learn and powerful to use. It costs about $200, but you get the whole box that includes legos, motors, sensors, software, and a project book.  Because the NXT is marketed towards a younger audience, it is designed to be self-contained. That means you don't need to measure inputs or outputs because you can only use Lego devices that plug into the NXT. Of course, if you're one of those ambitious hacker-types, you probably laughed at my last statement and have your NXT hotwired into all kinds of projects. 
The software is specialized and not typical of most embedded programming systems.  However, it is designed to be easy and kid-friendly, and many examples can be found online for free or in project books.


TI Launchpad:
The TI-Launchpad  featured here on BuildSmartRobots (TI MSP430) is a small yet powerful device that costs less than five bucks!  It is not hard to use, but you have to make your own electrical connections to the inputs and outputs.  If you enjoy using a soldering iron, you'll be fine. Otherwise expect a small surprise when you attempt to attach a wire to a flat surface with no attaching device.  You can program the Launchpad in C or assembly, but you'll need to study some advanced concepts to make it work.  Experienced engineers will have no problem figuring these out, but it can be very intimidating to the beginner who hasn't studied software.


Atmel Mega varieties:
 The Arduino microcontroller (or Freeduino, or any of its clones) costs about 20 to 30 dollars, or you can buy a complete electrical kit with a case for about $100.  The Arduino is extremely easy to learn thanks to its excellent online documentation and abundance of examples. The Arduino family has many different features for a healthy educational experience, and the included pin sockets allow you to connect wires easily to the circuit board.  If you use the free programming tools, the Arduino uses a software language that is a hybrid of C and C++ and supports many of the functions with easy-to-use commands, like pin(1, HIGH) and delay(1000). If you are comfortable using text-based languages, you can go from beginner to experienced veteran in a weekend thanks to the online reference to all of the commands and examples.


There are many other microcontrollers and software environments that can do a good job, but these are my current favorites and will handle most jobs nicely without a lot of voodoo magic.


What to do after you build your first project?  Anything you want! You may want to make the software a little more complex, or add more mechanical abilities to your project. Maybe you'll want to play with different sensors like an accelerometer or altimeter. You may want to combine several devices and make them communicate with each other.


1. Figure out what you want to do, and what you need
2. Learn about the features and science involved
3. Gather the tools you need to measure, design, and build
4. Choose the equipment you need to build the project right
5. Expect to spend plenty of time researching and fixing
6. Test, test, and test again
7. Always practice safety! 


Next I'll list some useful equipment that will help with most starter projects.

Discussion Forum

This group does not have any discussions yet.

Comment Wall

Comment by Greg Gibson on September 6, 2011 at 6:24pm
that is some very helpful information. you should go on continue teaching, im all ears.
Comment by eric gregori on October 1, 2011 at 8:04am
This will help a lot of people.  Thanx Matt!!


You need to be a member of Lessons in Robotics to add comments!


Members (7)

Pages (1)



© 2017   Created by eric gregori.   Powered by

Badges  |  Report an Issue  |  Terms of Service