I've collected various links to help you to build a robot.
I'm a beginner too, so 'structural' mistakes are possible. Please give me feedback about this site, I'd be very pleased.
I'm also sorry for the poor English. This site is in very early stage. Only a few links
are present, and no technical tips are present. It's quite not yet interesting for the
'connaisseur'. The beginner will still find some useful links.
Don't mind the poor quality, it will evolve quite quickly.
(This one made in 2 hours, so...)
So, what is a robot : Mechanics (hardware) and Brain
This part is not well explained. I'll try to upload a good
page with a complete robot building how to. (well, when I will actually build my robot ( -
It's the most used system to build a robot, since it's
fast, reliable and easy. Lego released the Lego mindstorm set, which includes both the brain
and about 700 pieces to build a robot. So, we have :
Mindstorm : the name of the Lego box,
RCX : the programmable Lego brick (you get one with
RIS : Robotic Invention System, another name for mindstorm.
Another way to build a robot is to use standard Lego with
customised sensors and motors controlled by another brain (see brain)
A very good discussion group is Lego-robotics. Have a look often... obviously.
A better approach is to subscribe to http://lugnet.com
newsgroups. There are plenty, which all are lego oriented... more than 17000
msg concerning robotics, the rcx and the handyboard too!
1.2 Fishertechnics / Mecanos
Created in Germany, the Fishertechnics are another
solution, quite like the Mecanos. Main disadvantage is the time it takes to build a robot.
Main advantage is the solidity.
1.3 Home made robots with other pieces
Not discussed here at the moment, since it's quite
complicated to describe an easy to build robot with hard to find pieces...
1.4.1 Servo motors
Originally used in RC cars and planes, the servo motors are
very useful in robotic. They provide precise 180 degree positioning. Alimentation is 5V,
data and power-alimentation are separated wires (ideal for a unbuffered microcontroller
output). They are small thought powerful. To control them, you need a special signal :
High level for 1.5 -> 2 Msec every 20 Msec. The length
of the signal (1.5 ->2 Msec) is relative to the position you want.
I've build a very simple servo controller/tester (without
any electronic!) to use with centronic (printer) port on any win95 PC. Full Delphi source
is included. Click here for dedicated page (in French at the
moment, English coming soon).
1.4.2 Steeper motors
The stepper motors usually need four wires to be
controlled. The sync of the different signal being applied are the key for successful
steeper motor control. Although everything can be made with software, it's easier to use a
dedicated IC with high current transistors. Schema coming soon. The IC simply need two or
three inputs : backward one step, forward one step, and eventually half step...
1.5.1 Lego sensors
They are available in the mindstorm kit : 1 light sensor, 2 switches. You
can purchase more as spare parts. Lego also released other sensors : temperature, rotation
(16 steps for 1 turn), ... You can connect any other sensor to the mindstorm, as you can
build your own one. see 1.5.2.
1.5.2 Home made sensors
Some people have made really good work about home made
sensor. You can connect them to any brain, although they are often designed for a specific
brain (brain = miniboard, handyboard, or Lego mindstorm... or...)
The Lego mindstorm
is a complete system which enable you to build a Lego robot, program it with a PC
(Ir.-transmission), and make-it do some complex tasks. There are two version : one for
kids (mindstorm) (7-77 years ? no, 12 to 120 years, but I think there are more 30+ than
12+. My opinion is that it should be used by 9+ kids with their parents), one for schools
The software made by Lego seems quite light, but it's main
advantage is simplicity : a 12 year kid should be able to use it. This one uses iconic
programmation, with some kind of toy interface.
The robolab software is quite better, and you can purchase
it separately (25$)
The rcxcc (RCX command center) is a bridge between NQC (dos)
and the mindstorm. It adds windows interface, GUI, color coding of the code, auto
uploading and software running on the RCX, errors reporting it's a must have for any
serious NQC user. http://www.cs.uu.nl/~markov/lego/
LegOs is a real C compiler for the mindstorm. Instead of
using the Lego firmware, LegOs replace it by it's own. Seems very powerful, but more
complicated to use... (linux only ?) - Not tested yet : http://legos.org
There are also some others compiler : pbforth ?
2.2 Micro-controller boards
Those are electronic boards with a microcontroller on it,
that you can program in either C-language, assembly, basic, basic, or any other language
supported. They are more flexible and powerful than Lego RCX, but more complicated to use
This board, created by the Fred G Martin of MIT (Massachusetts Institute of Technology) uses a
68HC11 controller, has 4 DC motor outputs, 8 digital I/O's, 8 analogic inputs... and 2 KB
memory. It can be programmed in C ( icc11 : a freeware compiler, or a commercial one), in
sbasic, in forth...
You can build or buy one (some components are hard to
find), and it should (realistically) cost 70$ -100$
The big sister of the miniboard, it has some extensions :
-2 lines LCD screen
-32 Kb of ram
-extensions cards (servo, steeper motor control...) capability
-another c compiler : interactive C, which needs 32 Kb memory
-better support through internet and forums
It is also not as cheap as the miniboard : 200-300$ ...
for a discussion about choosing the mini or handy board.
Nick Taylor wrote me :
" Philippe ... I strongly recommend that you look into the
handyboard before you commit to the miniboard. http://el.www.media.mit.edu/projects/handy-board/
It has drivers for 4 DC motors, 9 digital inputs, 7 analog inputs, two onboard switch
inputs, one potentiometer input, IR. input/output, a piezo beeper, and a 2x16 LCD. The
expansion board adds 10 additional analog sensor inputs, 4 inputs for active LEGO sensors,
9 digital outputs, 6 servo motor control outputs, a connector for a Polaroid 6500 sonar
ranging system. The HandyBoard can be programmed with Interactive C and/or 68HC11
assembler ... and there is a large on line support group ... including input by the father
of the Handy Board, Dr. Fred Martin. "
2.2.3 Basic Matchbox : not very known, but very powerful
This one is very interesting, but not very well known. Here
are the specs :
-Intel 8051 controller
-small 65*45 mm
-with high level basic/Pascal (a mix of the two) programming tools
-has 27 I/o ports including RS-232 and I2C
-not dedicated to robotic
-semi-cheap : 80 $ max for one (kit is 50$ including PCB and IC. You need to buy the
-very limited eeprom (1Kb) memory expendable through I2C. Simply add a declaration of the
new chip in your sources, for the compiler, add the new chip, and you are ready to go.
I'm not sure about availability in US, since it has been
created in Germany. The board is easy to build, its a one sided one. But you need a
pre-programmed chip, which can be ordered from France, Belgium, Germany, Holland...
briefly, Europe... I'm trying to contact the author, to ask him more info.
What is I2C ?
I2C is a 3 wires serial bus at 100 Kbps, first designed by
Phillips mainly for audio controls in their products. Perfect for small memories, AD/DA
converters, serial I2C to //, ... in fact, any I2C chip will connect on the matchbox. Uses
3 address lines, making it possible to add unlimited chips with various functions. This
*THE* solution for robotic, and I don't understand why nobody is speaking about it.
Here a simple list of advantages :
- 2 wires connections (4 with alim) data / clock
- high speed (100kbs normal, 400 kbs in fast mode)
- 3 jumpers for each chip to adjust it's address. The full address is 10 bytes. The 7
others are internals, and depend of the type of chip. So you can add 16 eeprom, 16 I/o
chips, 16 DA/ad converters, 16 rt. clocks... unlimited adds in fact
- a lot of chips are being released, at a very low cost. a memory is 2$, a ad/DA is 4$...