R2D3
R2D3, or CD Bot as he was called when he was first made (see below), is a robot I created some 14 years ago. I had built a basic bump bot using momentary switches, relays and capacitors and an RC controlled roller, but he was my first real autonomous microprocessor controlled robot with collision avoidance and collision detection.
I found some instructions on the web (in its early days) for a robot called FirstBOT by a man called Donald G Roy (1999), the chassis was made using old CDs held together with threaded bar and also showed how to adapt Servos for continuous rotation as well as adding a Basic Stamp 2 with examples of some basic code. I still have the original printed instructions in my garage in my Robotics folder.
The Rolling Chassis
The base consists of a composite material made by gluing 2 x CDs together with balsa wood in between them, four holes where then drilled through the base in each corner. The original design used stand off's with threaded ends, nuts and bolts but I decided to use threaded bar as it was cheaper. The threaded bar is then inserted thorugh these holes and bolted into place, each layer is simply a plain CD with four holes drilled in it also bolted in place in the same manner.
For the drive I used Hobby RC Servos from an old RC plane and have been modified for continuous rotation. They have been fixed to the chassis by being stuck to pieces of perspex with double sided tape and the perspex has been bolted to the underside of the base.
The wheels are from an old push chair and are held onto the servo with a screw.
The Servos are driven by PWM from the Basic Stamp, I don't believe I used a Motor Driver circuit, next time I take it apart i'll have a look?
The Brains
The Microprocessor for R2D3 is a Basic Stamp 2 by Parallax, this is now an old Microprocessor (still in circulation I believe) but then again this is an old Bot. I opted for this IC simply because this was the IC used in the build that I followed to get this going.
Collision Detection and Avoidance
The collision detection consists of copper wire bent into whiskers and is soldered to a small piece of recycled PCB, each copper whisker sits between two header pins, the copper wire whisker and the header pins from an open circuit and when the wire hits an object and bends it makes contact with the header pin, closes the circuit and sends a whisker collision signal to the Microprocessor which in turn runs a collsiion detection evasive action command to the motors.
The collision avoidance consist of an IR Detector from an old VCR Player together with an IR LED controlled from a 555 timer circuit again when the IR detects an object it sends an IR collision signal to the Microprocessor and again takes evasive action.
Most Recent Enhancments - Sound Module and Body
The last amendments to R2D3 were made as a result of getting invited to my sister’s birthday party, she is a huge Star Wars fan and the party was to be fancy dress, I knocked up a couple of X Wing Rebel Alliance fighter pilot costumes and thought why not turn CD Bot into a Droid to take as a prop.
With this idea in mind I sought out an appropriate case for CD Bot and to spruce him up a bit I added a speaker and sound generator circuit to play sound when:-
- He was switched on
- He detected an obstacle using the IR Tx / Rx
- He hit an obstacle with his whiskers
For protection I also decided to make some sort of cover, this was a large coffee tin with four holes drilled in it to fit over the top of the threaded bar. I painted the tin white and added some decoration sing PVC tape and warning stickers, I also topped the tin off and gave R2D3 a sort of head with a plastic bowl.
As the information for the sound circuit was based on an R2D2 droid and the theme for the party that inspired the enhancments was Star Wars CD Bot beacame R2D3.
Next Steps
The Basic Stamp is capable of a lot more so I could enhance R2D3 more but I am not sure whether to further improve him as I am now ctrying to concentrate on getting ready to run a School Robotics Club and start attending a monthly Pi Jam so spare time will be short. If I were to upgrade him but keep him BS2 based I would add Ultrasonic Detection and probably remove the Whiskers and Home Made IR Detection. And maybe add a Camera (Not sure if the BS2 could handle this)?
As you can see in the video these servos are pretty slow and although he has a lot of torque watching him slowly roll along is painful so I could add some faster servos or change and use DC Motors.
What Could Have Been Done Better
One thing that could have been done better is to document what I did along the way this would help fixing and making modifications. The code for the BS2 for instance is written Visual Basic I think but I lost the original code a long time ago. Also event though I did follow information from other people when building the electronics where I did deviate I am now not sure as I never drew up any schematics for the finished ciruit boards.
This is a simple autonomous robot based around the Basic Stamp2, it has obstacle avoidance using a home made IR Transmitter and Receiver as well as obstacle detection using bump switches and copper whiskers.
This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/r2d3-my-first-autonomous-microprocessor-controlled-robot