Base, Version 1.0

Designed and built a nice base for the robot last summer.



Robot Base 1



This version features a battery tray for the 7.4V 8800maH Li-Ion rechargable battery pack, motor mounts for the GM3 38rpm gear motors and rotation encoders, ball-bearing drawer-rollers acting as lower axle supports, and a pair of swanky caterpiller tread drive tracks.



Robot Base 2


Robot Base 3




A minor redesign and complete rebuild is forthcoming, as I'm not entirely satisfied with the precision of the current version. In general, I'll be extending the wheelbase, relocating the rotation encoders, discarding the ball-bearing hubs and improving the motor mounts.

a long time

It has been a great while since my last post, though this intermittency was expected when I began this project.



Robot On Stand
Robot on a temporary stand, with pencils as temporary arms.



Much work has been done on low-level communications protocols (XML-RPC via HTTP) and high-level brain design (stimulus/response architecture) over the last 10 months, though with regrettably little to show for it (at least in the way of visually-engaging robot behaviour).



The software architecture has (inevitably) expanded in scope, and much work remains before the robot will so much as wave "Hello."



But progress continues, a little bit at a time.

progress

Finally put the mechanical assembly on hold and started to work on the electronics. No photos today, just a list of accomplishments:



  • Built a 12, 9 and 5 volt power supply, so I don't need to mess with batteries during the development process.

  • Assembled a TTL-to-RS232 serial conversion cable, which didn't work.

  • Ordered a preassembled TTL-to-RS232 serial conversion cable.

  • Figured out why my original cable wasn't working (thanks to a helpful member of the Society Of Robots forum, the same day as the preassembled cable arrived.

  • Booted the microcontroller for the first time, wrote a quick test program, and watched a little red LED successfully blink on and off! Thrilling!

  • Grabbed the wonderful Orangutan-Lib code library, which is a great assistance in writing communications code for the microcontroller.

  • Got the I2C comms routines up and running, and successfully communicated with the servo controller. I watched my first servo move! Thrilling!

  • After a few tries, got a working serial communications link from the microcontroller to the laptop. Now I have the infrastructure to interface the puny robot brain with the heavy-duty processing power of a full-scale PC. (This will eventually be replaced with a wireless data link of some kind, but wired is fine for now.)

  • Interfaced (via I2C) with the newly-arrived speech synthesiser. Heard my robot speak his first words! (Yes, also thrilling!)

  • Interfaced (via ADC) with the sonar module (robot's left eye, in the photo from the previous post). Did some back-of-the-napkin math to convert a voltage reading to a distance, and determined that the overhead light is 44 inches from the surface of the table! Woot!

  • Interfaced (via ADC) with the 3-axis accelerometer, watched the numbers change as I tilted it. Less thrilling, but important for the robot's sense of balance.

  • Mixed up some wires and hooked the 9-volt power supply to the 5-volt input of the camera. Bad. Ordered a new camera.

  • Obtained a nice USB video-capture device and began writing video-processing code utilising the OpenCV computer vision library. Waiting for new camera to arrive to test it.


I'm at the point where I have wires strewn about in 50 different directions, so it's time to make some proper connection cables for each device.


Look for a complete parts-list in an upcoming post. Also, perhaps a name-my-robot survey.

redesigned head

Robot - Head Assembled
The assembled head, neck and torso. (Finally!)



Finally got the head assembled, after a few more redesigns and some additional parts orders. Two eyes now: One camera, one rotating sonar module. Hardest part was getting the gears aligned properly.



Robot - Neck Assembled
The neck assembly attached to the torso.



Robot Design F
A quick render of the new head layout.



Potential Battery I may yet decide to forget about the legs and toss on some tank-style tracks, Johnny Five style. The more I think about it, the more I've come to realize I'm gonna need room for a really big battery!

cost

After a costly but extremely gratifying trip to Active Tech Electronics today, I now have a very respectable stockpile of commonly-needed electronic components and small hardware. I also picked up a new multimeter and some hex-head screws earlier in the week, and have a few more bits-and-pieces due to arrive with the next shipments.


Robot - Parts A


Robot - Parts B


Robot - Parts C


Robot - Parts D


Purchases so far (still waiting for the last two to arrive):

  • RobotShop.ca: servos, wires/connectors, voltage regulators

  • Canadian Tire: multimeter

  • Valley Tool and Fasteners: screws, washers, nuts, metric hex key multitool

  • Active Tech Electronics: big stockpile of electronic components, LEDs, connectors, screws

  • Spark Fun Electronics: miniature wireless camera, miscellaneous electronic components and connectors, LEDs

  • HVW Technologies: microcontroller, programming cable, infrared distance sensor, more miscellaneous electronic components and connectors, more LEDs
Total cost: $You don't want to know$

the torso bracket

You would not believe how much of a pain a few millimeters of aluminum can be to work with.


Robot - Bracket Design It's a pretty straightforward design; mathematically perfect and precisely constructed. Still, reality has a way of laughing in the face of mathematical perfection -- nothing ever lines up the way it should.


Robot - Bracket Construction 1 Nonetheless, it serves its intended purpose quite effectively: holding the shoulder and neck servos in a rigid and (somewhat) precise frame. Big thanks to my cousin (below, with the drill) for lending his expertise (and pretty much doing all the work!).


Robot - Bracket Construction 2


Robot - Bracket Assembled


Voila! There's the torso, mostly assembled (but not trimmed). Now I'm getting anxious for the electronics I ordered to arrive, since I have no means of actually running the servos until then. Perhaps it's a blessing in disguise: if the next shipment doesn't arrive for a week or two, I might get some real work done.

first shipment

The first shipment of parts has arrived (from RobotShop.ca)! Shown here along with printouts of my most recent design.


Robot - First Parts Shipment


I'm expecting two additional shipments from other stores, but they may take some time since not all the parts are in stock.