Back to TRCY Homepage On to Reference Area On to Gary's Tech Corner On to Motor Tech Corner On to Electronics Basics On to Neural Pages tut1.gif (24745 bytes)

Note to all viewers: If you would like to write a tutorial on a topic not covered here for the site just e-mail me.

neoarule.gif (1971 bytes)

Click here for a "Basic Soldering Guide"

TOOLS:  A .pdf document on common tools every robot builder should have.

neoarule.gif (1971 bytes)

Below are some tutorials I wrote.  If you have a problem with the content or think something should be changed or if they have helped you, please drop me a line to let me know.

 
Tutorials List:      

Robotics for Beginners:

What is a robot and how do I build one?   The question "how to build a robot" demands a very complex answer.   Before anyone can answer it you the builder must first define what sort of robot you want to build.  To do that you need to declare what tasks the robot is to perform.   You the builder must try to be as clear about this as possible, detailing main goals and sub goals for yourself.

Robot Categories:
Manual Manipulators - controlled by a human, this would also include remote controlled robots
Fixed Sequence Robot - performs successive steps repetitively
Variable Sequence Robot - same as fixed, but easier to change the steps of the program
Play Back Robot - programmed by a remote and stores the controlled steps in memory which can be repeated
NCC (Numerically Controlled) Robot - performs a task by N.C. data or switches

Intelligent Robot - detects change using sensors and uses decision making capabilities to carry out it's tasks

The above list of categories was taken from a listing in a book on industrial robots.  For the homebrew robot builders it would probably be better to classify the robots by the listings below.

Robot Class System as suggested by David L. Heiserman:
Alpha Class - is a robot that shows only reflexive responses to changing environmental conditions, this would include BEAM or analog robots. Such a robot has knowledge of present conditions only.

Beta Class - is a robot that can remember and uses successful responses of the past to help solve problems of the present.  Has knowledge of past and present conditions.

Gamma Class - is like a Beta class robot but it has the ability to draw upon remembered experiences and generalizing them to future conditions.  Has knowledge of past, present and future conditions. 

 

After you have declared the type of robot you wish to build, you must decide what your experience level is:  Have you programmed before?  Worked with electronics in some way, perhaps repairing radios for the military or something of that nature?  Have you played around with electronics kits and think you have some basic knowledge in electronics?  Did you build your own computer system?  Or are you totally new to computers, have no idea what a diode is and have no idea what programming is about?

Electronics:
Electronics by far is one of the most important aspects of robotics.  If you can't breadboard a circuit and use a volt meter to check your work then everything else is out of your reach technically until you learn more about electronics.  If you have some basic back ground in electronics and can pretty much look at a schematic and figure out how to breadboard it then I would suggest you think about a BEAM type robot as a first project as they have no micros and don't need to be programmed.  However, don't be afraid of starting out with a micro like a Basic Stamp for control of a first robot. 

The little Stamps pack a lot of power and versatility into a tiny package.  Programming is much easier than you might think.   You can totally mess the whole thing up and very quickly debug the steps and turn a sloppy mess into a clean running program.  If you hope to make an R2D2 type robot you need a micro, but don't get one that is going to make it harder on you to use and learn from.  Stick to micros that come with everything you need for programming and use a language like Basic or C++.  Two great books for an electrician or someone starting to learn electronics is Robots, Androids and Animatrons by John Iovine and Robot Builders Bonanza By Gordon Mccomb.

Programming:
Programming is very important if you ever hope to make a robot that does more than run around a room.  Programming is a bit easier and more forgiving to learn that electronics, cause you can't break a program.  The code you write may not work correctly; and to some programming might seem like learning to speak Japanese but having a programmable robot moves you into a whole new class of robotics.   If you learned or are learning a language like C++ then you can probably pick up how to program a micro that uses language versions of C or Basic.  For the programmer who does not know much about electronics I would recommend a complete robot kit.  Something in the range of around $200 would give you something to play around with and learn from. 

If you think you'll want to do advanced programming such as AI then you'll need a micro with at least 32K of RAM or more and you'll want to make sure it says the software can handle multitasking!  Basic Stamps can NOT do multitasking.  Probably one of the best robot books for a programmer is Mobile Robots: Inspiration to Implementation by Jones and Flynn. This book centers around the use of a 68HC11 board, and gives programming examples in C.  It also tells you how to build a simple analog wall following robot. It sells for around $32 and includes program examples for the rug warrior robot. 

Newbies:
If you are totally new to programming and electronics then I would suggest to you that you get an electronics kit from Radio Shack.  You can learn a lot from one of those kits.  If you can't get to a Radio Shack then check out our Electronics Basics, it'll help get you started and give links for detailed study of electronics online.  All Newbies need to visit Robotics.com, the best jump spot for robotics on the web.  From there you'll find the Robot Menu where hundreds of builders have pictures and descriptions of their bots.  You'll also find an extensive list of well organized links.

For a newbie with $200 I would recommend the Lego Mindstorm kit.  It's great for all ages and you get a micro and the ease of construction with millions of possible robot pieces with Legos.

A must have for the beginner is the book Robot Builders Bonanza By Gordon Mccomb. It has it all, from building a simple body to building arms and grippers, motor control and sensors, with a short section on computer control. You can find this book at most libraries or order it from us by going to our Reference Area

Another book to look for is Robots, Androids and Animatrons by John Iovine you can get it and Robot Builders Bonanza from us via our affiliation with Barnes and Noble book store.  Robots, Androids and Animatrons is a very good book, no horse hockey in this book just straight forward how to, in my opinion!  It shows you how to build many common robotics projects such as BEAM creations and a robot that uses a Basic Stamp micro.  You can get it from us for $15.96, and it's worth every penny!

What sort of Projects can I find on the Web?      
Don't expect someone to give you a step by step plan on the web to build the type of robot you want.  Most websites will give an overview of someone's robot and what parts they used.  This is of course only useful if you know what you are doing already.  That's not to say there aren't some fantastic projects out there, if you go to our Links page you'll find only the better sites that give full details with schematics.  Most are far from being a R2D2 or Johnny5 type creation.  You need to remember that you had to learn the letters of the alphabet before you could read books.  So start small and expand to more complex creations as your knowledge expands.

A good place to read more about how to get started in robotics is the FAQ from comp.robotics.misc
If you want to search for a wide selections of books on Robotics or AI a good places to go are Amazon.com and Robot Books.com.                                       

 


Robot KITS:

I would say the number one thing when picking a robot kit is cost.  You need to consider what you'll get from the kit.  Is robotics something you are serious about learning?  If so then you should invest in a kit that can grow with you. The kit for some who is serious should come ready to run with micro and a robot base that can be expanded upon.  Below is a list of some robot kits that I know of.  I can't really say I recommend one over another.  I will say that if I had the money the RB5X robot with it's R2D2 look and strong arm would make for a very awesome robot, but complete it sells for about $5,000 and I would rather work my way up to building something like that then buy it.  The LEGO Mindstorm makes for a nice kit.  You get a micro and the ease of construction and millions of possible robot pieces with legos.  For a PC based robot, about the only one that sticks out as any good is the Zagros Robot.   They have several versions and cost is around $200 for a base unit.  Lynxmotion makes a rover kit with a 3-axis arm on it!  If I only had $50 I would get the OWI Spider robot kit.  It walks and can take corners pretty well.  It navigates via an IR sensor.  Needs no soldering and you can hack it later on by adding a Micro to it.  It's a nice little bot. 

For someone really wanting to learn the best kit listed here would have to be the Boe-Bot kit from Parallax, it's very well supported and several TRCY members own one.  The best selection for robotics kits is probably The Robot Store.com


What are Micros?

Something many people start with to control their first robot is an embedded micro-processor, which is like a single board computer system. Such as the 68HC11 Handy Boards or the Basic Stamps.  Both are programmed from a computer (via a serial or printer port cable) and the board can then carry out various programs that you write.  Most embedded micros of this nature come ready to run.  They include i/o lines, often with special lines set up for timers, analog/digital converters and servo control.  Most micros run about $50 and you can find free software and tons of helpful sites, links and e-mail groups on the two that I mentioned.  For Basic Stamps stop by Parallax,inc

You'll want to make sure you get the right micro for your robot and for your experience level.  If you are a total newbie then I would stick to a Basic Stamp!  There are many micros on the market.  Some key points to look for when picking a micro are: amount i/o lines, memory, programming language, support and of course cost.

Some micros will say they have 16 user definable i/o lines.  This would mean you can make any of those pins input or outputs.  Other micros have control lines set up for specific jobs.  Such as 6 servo lines, 3 timers, 4 A/D ports and 4 input lines...a statement like that tells you how many servos you can control, if the number is low and you were looking to make a 6 legged walking robot with servos you may need to look into building a special interface to control more servos with one such as that.  A/D ports are for analog to digital conversions.  These would be handy for sensor that would take variable readings, such as light sensors. 

Memory depends on the software used.   The Basic Stamp II (non sx) has only 2K of RAM, but because of it's PBASIC software you can fit a lot of code into 2K.  Of course the more sensors you have and more effectors (servos and motors) you want to control the more memory is needed to store all that information!  If you were hoping to build a larger size hexapod walker for example I would probably make sure I got a micro with 32K of RAM of more. 

On the upper side of the micro market are true Single Board Computers (SBCs) that can run Operating Systems like Linux and DOS.   Most of these high end models come with 640K of Ram or more and real serial and print ports.  Most also come with a version of C.  If you want to do advanced programming then this is for you.  Have you ever used an XT computer?  Well that's pretty much what they are, only much smaller.  The lowest of these I have seen is for $150.  I don't have a complete list of all known micros and SBCs but if you do a search at Google.com I'm sure you'll find a few more than I have here.

List of Micros:                   

  • JK MicroSystems - embedded DOS computer

  • OOPic: - Object-Oriented Programmable Integrated Circuit

  • Introducing TINI

  • BasicX by NetMedia Inc.

  • CLiF Systems Home Page

  • Parallax, Inc. - Maker of Basic Stamps

  • Robotic and Microcontrollers Products - 68HC11's and other versions of it

  • Future-Bot Components - PBrain 68HC11 Micros

  • A Basic Stamp 2 for About Half the Price

  • OSSystems - 8051 family

  • More Micro info from DPRG.

     


    Robot Bodies, What can I use?

    Download the new "Adventures in Robot Body Designs"

    Body Types:
    Fighters - are often remote controlled for contests and are built to hold heavy duty motors and take a lot of abuse.   Steal framing might be a good idea for something like this.

    R/C Cars - this used to be my all time favorite design method, hack an R/C for robot control.  Some R/C vehicles are good cheap hacks for a robot and I think they are perfect if you plan on making a off road out door robot spy or something of that nature, but if you want a neat robot that can grow with as your knowledge does then you would be better off if you built the robot from scratch.

    Round Runabouts - If you want a small robot, round is the way to go!  To get the most from a round robot you'll want to make sure the wheels do not stick out past the outside of the body.  An big advantage is that the robot should never get stuck because if it runs into a corner it does not have any edges and so can turn out of most anywhere.  Round also helps if you are trying to make a cute R2D2 look alike.  Wood is good for this type of body.  You can often find round precuts at lumber stores like Home Depot. For something small you can use old CD's, like the free ones AOL so often mails out here in the U.S.  Also something cool for a small robot is to use a bowl for the body or as a cover for the electronics. 

    If you want multiple levels to your bot (I would not go over 3 levels with a small robot) a good way to space them out is metal spacers.  You can find them at most hardware stores.  These are metal tubes that go over screws to create space between objects that are being put together.

    Square - this is the standard bot design form, a square box with 2 drive wheels sticking out the sides and caster wheels for support in the front or back.  You'll want a good bump sensor across the front of this type of robot.  If your robot is being built from wood I would use wood dowel rods for spacers between multiple levels.  Or use PVC pipe with wood to make a sturdy light weight robot. 

    Something new to the market online is S.A.M. which stands for Small Android Model robot body kit from Norland Research.  Fellow TRCY member Dennis Clark used this for his robot creation named The Tick.  It's about a foot tall and looks like a Topo robot if you have ever seen a picture of that.  You can get just the body and some extras from them.  For $30 it would give your bot a great look!


    A "Simple" Analog Robot:

    Whether you call them Analog, Alpha Class, BEAM, or dummy sensor robots they are all made along the same lines. The acronym BEAM stands for Biology, Electronics, Aesthetics and Mechanics, and BEAM robots are often built like insects.   You do not have to build your bot like an insect, but it might be advantageous to look to simpler forms of life like ants as an inspiration to your design.

    BEAM robots are the bottom up approach to building robots which means you look to the lower end of the food chain to base your designs on. This does not mean the robots are any less impressive or ingenious!

    Most robots of this sort just react to sensor input.   If a robot sees a light it might be wired to run towards or away from it, depending on what you want.  You can expand upon this and make a simple neural net that makes a choose between hardwired responses to a specific input.  Such as a net that can choose to run or hide from a bright light source.  Or a net that can learn the best way to explore about a room on it's own.  Keep in mind though that just because I use the word simple it does not mean it is going to be easy to do.  A single seat airplane is easier to build then a space shuttle, but it is not something you can throw together in a day!  If you are a newbie, it'll be a challenge to create something like this.  If you know electronics already this type of robot will give you something to make quickly and could be a fun weekend project.

    You hear stories about how a BEAM or similar robot can be built from junk and you think "Hey I got some junk, I can build a robot too, right?"  Well, yes you can or you can at least try.  Building something from junk takes more know how then you might think.  You need to know what parts from junk are good and how to make them fit together to make a new creation from them.

    My suggestion is to buy the correct parts need for the project you find in books or on the web.  Check out our Reference area for catalog listings.   You will also need some common tools for work with robots like this.  Here is a short list:

    Bread Board and jumper wires
    A cheap Multimeter
    (You don't have to have this, but if you run into problems you'll wish you had one)
    A Wire Wrap tool and wire wrap
    A perforated wire wrap board
    An assortment of screw drivers, like a 4-in-1 and a few "jeweler" screwdrivers
    Soldering Iron and solder
    (depends on the project)
    Pliers and wire cutters
    (one pair each)
    You'll also want to pick up electrical tape, wire nuts, and some wire ties.

    Here are some more sites to learn how to build your own analog robot.
  • Beam Online - great place for schematics and Tutorials
  • A Beam Project called Carpet Monster
  • Chiu-Yuan Fang's Beam Robotics - from TRCY Member Chui-Yuan Fan
  • BEAM robotics at Los Alamos National Labs
  • UK website for BEAM
  • Tells you how to build two simple robots
  • Floopy The Robot
  • Pac-Rat - from TRCY member Darkwater
  • Bolo-Bot - by fellow member RoBoJRR
  • BEAM HPV Robot Assembly Instructions
  •  


    Printer Port How to:

    Let's look at what we need to run something with the printer port. You need a "control line" or data line and a "ground". A ground is also called a "common". On the parallel or printer port we have 25 pins. Pins 2 through 9 are the data lines. Pins 18 through 25 are the grounds or common lines.

    Data lines are used for OUTPUT, to run motor, etc... The first data line pin is pin 2 on the port and is called Data Bit 0, pin three is Data Bit 1, pin four is Data Bit 2 and so on.

    Now a PC will put out 5 volts so you could wire a LED to a data line and a ground from the parallel port and test your port that way, before you build a proper motor control interface. Now when you first turn your computer on it's going to have some of the data pins high and some low by it's own default setup. So to run your interface right you'll want to enter
    Qbasic or what ever programming language you like and type this (or the equivalent) as follows:
    10 OUTPUT 888, 0
    run

    what that did is tell the computer to send an output command to port 888 which is the address for most printer ports.  It also told the port to make all the data pins low. To make all the data pins high type
    10 OUTPUT 888, 255
    run

    and to make them high one pin at a time the number you put after 888 is as follows:      
    Data pin "DP" 0 - 1  
    DP 1- 2                       
    DP 2 - 4                      
    DP 3 - 8                      
    DP 4 - 16                    
    DP 5 - 32                    
    DP 6 - 64                    
    DP 7 - 128                                                                                                                                      

    Should you want Data Pins 4,5 and 7 to come one you would add their numbers up and enter in the sum, which would be 176. (16+32+128=176)

    Now for a control circuits you can use either relay circuit from the Bolo-Bot robot on the Projects area.  The control line you want to use would go to the resistor and you will also need to connect a ground from port to circuit.
    For more information on building a printer port interface check out Boondog.com and for software check out the ParPort Software from fellow member Terry King. 

     

    Interfaces
  • The PC's Parallel Port
  • Boondog Interfaces  
  • Computer hardware projects
  • Jan Axelson's computer port control site
  • Programs on Parra Port, ect..
  •  



    Artificial Intelligence or AI:

    Background:
    Artificial Intelligence, the study of making a robot behave smartly. What type of AI you can or want to incorporate in your robot depends on what type of controls you are using or want to use. If you are are going with PC control, then you can go all out, with neural nets for processing input, subsumption, memory storage, video image recognition maybe even voice recognition. If you go with an embedded micro-processor it does not mean you can't use AI, it just means you have to design it out more conservatively. If you are going to use no micro at all, then you can use hardware neural nets and subsumption through hardware in your creation to make it behave intelligently.

    Now, you can get into some pretty heady discussions as to what AI is, because first you must declare what intelligence is before you can try to copy it!  For instance is a fly intelligent?  How about an Ant?  Flies to me are pests that just go from place to place looking for food and never do seem to understand how to get out of your house once inside.  On the other hand Ants work together and form colonies and have what some consider to be an advanced form of communication and order of command. 

    Most theories on AI focus on the ability of a machine to reason, or take past experience and apply it current tasks to problem solve.  Now that sounds pretty easy doesn't it?  But it's not.  Some people do nothing but think about what intelligence is and how to duplicate the human mind.  Most never come close, but they add to our understanding, by throwing ideas around and trying new approaches and by doing so we get closer every day to striking gold and making a robot that can truly think. 

    But for now, for folks like you and I, the home-brew tinkerers of the world, we need to push the limits of the technology we can afford.   We need to read up on all the approaches on AI that we can then measure the approaches against the goals and tasks of our robots and from there each of us will find the correct approach for AI.  Then we should try to push the limits, by applying the approach to things that have never been tried before.

    AI Approaches:
    Below are explanations of different approaches to artificial intelligence.

    Subsumption:
    The idea of subsumption was brought to form by Rodney Brooks of MIT. You can think of subsumption as schizophrenic brain where different personalities fight for control of your robot.  Fellow member Dennis Clark entered a fighter into the TRCY Robot Fights that uses Subsumption programming.  Click here to read more about his bot named Evil Empire.

    Thematic Intelligence:
    This is a theory on AI created by fellow TRCY member Kevin Motz.  It is a very detailed theory that is designed to create an advanced Android Brain. You can learn more about this from Kevin's AI Corner.

    Remember, AI is what you make of it....the smarter and more creative you are, the smarter your robot will become. Here is a list, that you'll want to save, of links for instructions and tips on implementing AI systems and software:

    If you really want to learn AI then I suggest "The AI CD ROM ver.3" from Network Cybernetics Corp. The cost is about
    $89 and I think well worth it. It come with CLIPS, a programming language from NASA and a version of Forth. Tons of source code and research papers and AI journals. You can get the CD ROM by clicking here

    Below are more more links to other examples of AI at work. Of course don't miss Kevin's A.I. Corner

    Links to Artificial Intelligence resources:

    By the way if you are going to use a computer and plan on trying to make a robot like "Johnny 5" you'll want many input and output lines. A good book to invest in is How to Build Your Own Universal Computer Interface, By Bruce Chubb. The new book includes a program disk. You can get it form Jameco for $34.95


    How to Make an Underwater Robot:

    This info has in large been borrowed from the book Build Your Own Underwater Robot and other wet projects, by Harry Bohm and Vickie Jensen  Please visit their site at: www.westcoastwords.com for information on this and other great books.  Build Your Own Underwater Robot really is one of the best books on the subject that I have seen and I highly recommend buying it to anyone interested in building their own underwater robot!

    First, let me say that the book is pretty neat and a must have if you want to get started on building a robot for underwater research. It gives a nice history of underwater vessels so you can better understand what goes into making a water craft of this type. The book seems a little geared towards a kindergartner at times, but it really is usefully. Now things like transmissions for radio control and brains for the robot are left up to you, but the book does tell you step by step how to build two underwater ROVs, Remotely Operated Vehicles. The one I am going to explain here is the SEAPERCH, the other is more advanced and is named the SEAFOX. The SEAFOX uses tiny bilge pumps to dive and surface.

    The SEAPERCH uses DC motors with fan propellers for propulsion underwater.

    Parts list:   
    1 - 60" length of 1/2 inch of regular PVC or plumbing pipe cute in these lengths:
    2 - 4 and 1/2 inches long
    2 - 4"
    4 - 3"
    4 - 2 and 1/2"
    and
    6 that are 1 and 1/2 inches long
    You'll also need the following   
    10 - 1/2" PVC 90 degree elbows
    4 - 1/2" PVC tee's
    1 - 10" sheet of heavy duty plastic hardware cloth or 1/4" wire mesh screen
    2- 4 1/2" long by 22 3/4" diameter hard closed cell foam fish net floats or you can make your own floats out of two 2" diameter by 10" long PVC pipe with end caps glued on.
    3 - film canisters to use as covers to protect the motors

    You'll also need three 12 volt motors like the ones from radio shack - # 273-255
    and three small propellers that are 1" in diameter model # FP-40 made by Billings Hobby and you can pick them up at most local hobby shops.

    You'll also need some fishing weights or balancing leads for the ballast, the book says the weight will be determined by the displacement of the ROV. The idea is to put the weights on the mesh screen and make it so the ROV just barely floats, with the bow slightly higher than the stern.

    Now, I won't go into the wired remote controlled part, but the books tells you how to do that step by step also if you need to know that. Just a 12 volt battery, 3 DPDT center off switches and a good amount of wire.

    I'm not going to explain the hole book out, but with the above text and pictures below you can probably get a pretty good idea of how this set up works. If not, then buy the book. I want to also add that to make the motors air tight the books says to use the film caps (which can be seen on the motors below) and make sure to cover all the motors holes and use petroleum jelly and melted wax to seal up the around the holes of the canisters, just make sure your motor shaft can spin.

    Here is a link to another awesome water robot you can build, ROBOAT or RObot BOAT.  

    rov1.jpg (44321 bytes)

     

    Enjoy your underwater robot,
    Justin R.


    If I am using a picture or text that you believe only you should have rights to, then e-mail me and I will rectify the problem.