Status
The culture is rich tonight in the Tenderloin
Location
San Francisco, CA
Subscribe to GeoRSS Subscribe to KML


Building the bTop Robot

The creation (A.K.A. The bTop Robot).

Earlier this year I was given the opportunity of beta testing a new product, the bTop-1 from Perfectly Scientific, Inc. The bTop-1 http://www.perfsci.com/hardware.htm is an interface board that allows you to connect to, control and to monitor elements in the physical world. Apparently I made one or two suggestions too many about how to improve the board because the company contracted with me to rewrite the API’s for it.

Now as any good hacker (I use the term in it’s original meaning) with a new toy I wanted to find a way of exploiting it. I had several projects in mind, however the one that had the broadest universal appeal was to create one of the worlds smartest robots. Most robots are typically powered by a microprocessor or basic stamp that has a very limited amount of computational power. What I had in mind is to give my robot a greater degree of computational power then would typically be placed in an autonomous robot.

With my new toy under one arm and a copy of Frankenstein under the other and the blind enthusiasm that only someone who has never built a robot could have I proceeded to the laboratory in my dungeon (garage) and took stock of my inventory. I was able to find a great many of the parts needed for my new creation, however I found the bin marked brains to be totally empty. Having let Igor go at the beginning of the technology depression I found myself on my own in the search for a brain for my creation. Luckily when perusing my copy of Mad Scientist Monthly I ran across an ad for the Mac Mini, a perfect candidate for the brain of my new creation. It was compact, powerful and best of all I was able to get one donated without resorting to a pick and shovel.

Now that I had the brain of my creation (the Mac Mini) and its central nervous system (the bTop-1) I was ready to start design. In creating the criteria of my design I had several factors in mind:

1) Mobility, not wanting it have to chase it around the woods when it runs amuck I choose to limit its mobility to that of the carpet, or on days when it demanded sunshine a reasonably smooth driveway.

a) I choose to create a three wheeled robot with the front two wheels being driven and the rear wheel passive.

b) The motors I scrounged from the Everett Robotics Club.

c) My first attempt was to run the motors open loop, first mistake, so a homemade optical assembly was added to detect motor speed, it in turn feeds a frequency to voltage converter which is part of my servo system.

d) In order to leave as much computational power available for future development I choose to place the responsibility for motor control in a separate analog servo system which in turn would be controlled by the Mini Mac.

2) Senses, in order to learn about it’s environment and respond to it my creation will need to be able to sense that environment.

a) Vision, an obvious choice was an iSight because of it’s easy integration to the Mac Mini.

b) Hearing, I wanted the robot to obey my voice command, so I ordered the Mac Mini with Bluetooth with the idea that I would add a Bluetooth microphone to take advantage of the Mac’s voice recognition.

c) Touch, I choose to place a ring of distance sensors around the base of the robot so it would be able to sense how close it is to obstacles around it.

d) Smell, I wanted it be able to follow a trail so I am adding a line follower array under it’s chassis (OK it’s not actually smell, but I had to keep the joke running).

e) Taste, it’s a Mac, it is born with good taste (I know, long way to go for a punch line).
f) Other senses will be added as they become available, the bTop-1 board makes detecting most basic sensors fairly easy, so any contribution of sensors for me to test will be welcome (shameless solicitation by the author for swag).

3) Power, one of the biggest challenges was to decide on a reasonable compromise of weight, run time and cost.

a) Because the Mac Mini normally runs on 18.5 Volts I choose 18 volts as my internal bus (one 12V plus one 6V battery). The Mac Mini is supposed to run from 16 through 20 volts, in my tests I have been able to run as low as 12.5 volts before experiencing problems.

b) I choose to use gel cells because of cost, availability and ease of recharge.

c) The specification for the Mac Mini’s power supply calls for a maximum draw of 4.5 amps. I wanted at least a half hour of run time before having to replace batteries, therefore I choose to go with 7 amp hour cells because of availability. In practice I am getting over an hour of run time.

d) Because the draw of the motor was so much smaller than that of the computer and because the computers batteries were already so heavy I decided to use a common battery. Because of motor noise I normally would have used a separate battery for the motor, so far that decision has worked.

4) Control, the biggest problem to plague Frankenstein was to loose control of his creation.

a) In order to provide preliminary control to the robot without tying him down I ordered the Mac Mini with Airport to allow remote control from my PowerBook.

b) I also added a kill switch that the villagers can hit with their clubs when he runs amuck.

5) Flexibility, having never built an autonomous creation before I was unsure of what would be needed in the final product. Also I wanted my new creation to be adaptable to others who wished to experiment with it.

a) Sensors, to experiment with various sensors most mount on a quick mounting plate so they can be easily changed and repositioned.

b) Mounting of electronics, I decided on using 4” snap track as a standard for mounting my electronics so I can easily substitute them as I see fit.

c) Wiring, to allow rapid changes to it’s configuration most wiring goes through a patch bay.

d) Programming, to allow for development and test the robot has Xcode installed to allow the developer to program and test directly on the robot.

6) Packaging, it had to be easily transportable and rugged enough to be used by students. (Plus there is a secret about it’s packaging which will not be revealed until MacWord SF.)

I will not boor the reader with a narrative of design and construction of the creature a this time (that comes in the follow up
series of articles), lest to say that after a month and a half of designing, fund raising, scrounging, metalworking and soldering it was ready (almost) for the long drive from Seattle to the Fairborn, Michigan Holiday Inn where I would seek assistance from my fellow Macintosh programmers in breathing life into my creation.

Upon arrival at ADHOC 20 I set up a small lab to continue my electronic development (almost ready), while soliciting other
participants to take on the task of educating my creation. A few hardy souls came forward and in around one man day, with no guidance from (other than telling them to read the bTop cook book, I was still busy torturing the robot with a soldering iron) they had taught it to do it’s first trick, which was to follow me around the floor.

Although they were not able to activate all of the available sensors in time for the showcase our team was able to take third place.

Turns out the biggest challenge I faced at ADHOC was not the creation, but was the hotel network which refused to allow consistent mobile to mobile control of the creation with either Timbuktu or Apple Remote Desktop.

I have set up a Yahoo site for those who wish to follow development of the creation or to contact me:

http://groups.yahoo.com/group/bTop_Robot/

The creation is still under development, it’s computational power has barely been scratched. I would like to extend an invitation to anyone in the Seattle area to come and try their skills at extending the capabilities of the creation, especially in the area of video recognition and artificial intelligence. I also offer the robot to any US or Canadian college who wants to take it on as a semester project.

* Extra credit to the true geeks amongst our readers: can you spot which parts came from the body of a dead iMac?

————————
George Storm has been a Macintosh developer since six months after
it’s release, primarily working in frameworks and GUI. Prior to his
programming experience he worked for more than ten years in
electronic R&D in a wide variety of disciplines. He holds three
patents for mechanical devices related to handicapped access and
recently built his first robot based on the bTop-1 and a Mac Mini. He
is the founder of the Seattle Xcoders, Seattle’s (and the worlds
largest) Cocoa programming SIG, please visit them at: http://
groups.yahoo.com/group/xcoder