Comments and General Information:|
RoboCUBE is a very advanced autonomous robot, built with 3 embedded micro controllers. The concept integrates a Basic Stamp, PIC from Microchip and Lego Technic, to enable an easy construction of a wide variety of highly complex and versatile roaming robots. My approach is to
re-use and build on existing good designs and the Basic Stamp, PIC and Lego Technics really offer
this to me in this project.
Components and Parts:
The robot is made of 2 main parts:
1. The application Board (PCB):
This is where the lego components snap into place. I realy hate cables and so to avoid them, all Lego sensors and the two motors snap into Plated Through holes on the PCB. The Application board also contains the other parts suchs as the power supply connections and IR sensor, IR LED's, speaker & servo connectors. Lego Technics enables me to put some real character to the BOT.
2. The Cube controller:
The BOT has been named RoboCUBE,because the 'brain' is based on stacking a BS2 and many PIC microcontrollers on top of each other in a very compact 3cm Square PCB's to form a cube (well
almost). The aim is to get this down to 15mm cubed using SMD devices in the next versions.
Each connected PIC micro-controller is responsible for a separate function within the BOT, such as motor control, Infrared proximity detectors and IR remote control. This "plug and play" design concept enables me to to keep extending the functionality in small simple steps. All controllers communicates with the stamp via a 3 pin Serial interface, based on the same principles as an I2C interfaces where device code is transmitted and ack's are sent back.
The combined micro-contoller 'Robocube' is designed to be easily unplugged and reused on any other application board or project, without too much additional effort.
The Infra Red proximity detection module is really cool, with 3 sensors for 180 degree sensing and an integrated Sony Remote control unit. It is all managed by a seperate microcontroller (PIC16F628). The I2C stlye Master/Slave architecture enabled me to use the IR sensors and IR LEDS for multiple functions.
If the function code (33) is sent, the PIC slave checks for an IR remote control device command
(e.g from Sony video remote control). Once it picks up the signal, the bot goes into 'command mode'allowing me to control the bot with any IR TV remote control. So far I have left, right, forward,back & even control the servo on the back that controls a gripper(See my website for videos of this).
The next steps in my project is to get the same PIC controller to check for Light intesity (code 35)from Cadmium Suphide senors and check for bumper detection on the RBn port with (interupt on
change), triggered by the two Lego senors on the front. The latest version also can transmit IR pulses from the bot to communicate with other bots and creating robot tag or zapping games.
The Lego motors are controlled via a seperate controller board with a sn754410NE. This works really well and is very simple to interface.
The project has taken me about 6 months to get this far. But then I only can spend a few hours a
week on this (we all know this problem!). The mechanical design to fit the Lego parts was a bit tricky and The Robocube controller was also more complicated then expected, mainly due to the precision required in getting all the connectors on the PCB's to line up. But now I've found a really good supplier of double sided printed circuit boards for low quantity prototyping (these take a long time to arrive but are really good quality and very good value).
There are more details, pictures and videos on my web page http://robocube.thebacons.info