MacMini Robot
At the 2005 ADHOC/MacHack Programming Conference I teamed up with George Storm and his bTop board creation, a MacMini robot. George had put together an impressively small, and dense, robot constructed of aluminum and various electronics, all built around an Apple MacMini computer as the brain.
The goal of our ADHOC hack was to add rudimentary intelligence to the robot to allow it autonomous vision control. By the end of the conference, we had successfully created life. The bTop Robot was able to autonomously track objects via its onboard iSight firewire video camera. It is also driveable remotely from a driver.
For more in-depth information on the trials & tribulations of adding intelligence to the bTop Robot at ADHOC, check out the September issue of MacTech Magazine
Hardware

The MacMini Robot (or bTop Robot, names vary), employs the following hardware:
- Apple MacMini 1.42GHz computer
- Apple iSight firewire video camera
- Perfectly Scientific bTop-1 USB hardware interface board
- 2 drive motors attached via chain to 5″ diameter wheels
- 6 infrared distance sensors (3 front, 3 rear)
- 1 12V gel cell power supply
- Various electronics for driving the motors and reading the sensors
Read George’s report on building the bTop Robot.
Software
The software was written in a caffeine-induced frenzy of approximately 48 hours. With the help of Lisa Lippincott, we were able to create a driver interface, vision-capability, and autonomous control. The robot control and driver interface is written in Objective-C and the vision is written in C++/Carbon.
The MacMini has a WiFi connection to a remote computer that allows a driver to directly control the robot. To drive the robot, the user is given a “drive-circle” where they click and drag their mouse to send forward and turn commands. Since the robot has two laterally-mounted wheels, it operates like a tank. When the two wheels rotate and the same velocity, the robot moves forward. If either the right or left wheel slows down, then the robot will turn in that direction. Subsequently, by spinning one wheel forward, and the other wheel in reverse, the robot can turn in place.

The driver can also see the forward and rear distance sensors to gauge obstacles, and can watch the robot’s progress via the iSight video camera. When it is desired, the driver can invoke the “Vision Control”. The vision system then attempts to track objects of a specific color, green in our current case, and then drive the robot towards that color.
The robot can successfully track a green object, albeit at a slow, tenuous velocity. We are still working on improving the autonomous control and vision tracking system. The source code from ADHOC is available and free to distribute. Use at your own risk.
- bTop Robot Source Code (2.9MB zip)
Get involved
There are 2 Yahoo! groups setup to discuss and share notes and work on the Mac Mini robot and bTop-1 hardware interface board.
Coming up…
George is still working on the robot in his lair in Seattle, and I am still writing some software to increase it’s intelligence. If you have any suggestions or comments, email me at robot @ highearthorbit DOT com.
My name is