RT @BotJunkie: Rod Brooks is gonna kick things off here in a sec- we're big fans over at @IEEESpectrum of course spectrum.ieee.org/automaton/robo… #xconBot
Category Archives: Tabletop Challenge
Phase 3 Tabletop Challenge – Tracker

Here is my Phase 3 tabletop challenge entry. It has come a long way from Phase 1. I designed and built a pan/tilt head for the robot, and mounted the CMUcam on it. The robot head can now track the box while it moves, automatically.
I chose the CMUcam vision sensor as a low cost way to getting a camera on the robot. It seemed like a perfect application for the camera. It took quite a bit of programming to get the camera working well under various lighting conditions. It is still not completely debugged yet, but I am confident I can get it to perform at the level necessary to make the robot do the challenge well. Here is a close-up of the mechanics of the pan-tilt head:

Here are some images captured through the eyes of the robot, looking for his boxes to play with. He has several different boxes of different colors to experiment with:



The camera is not very high-resolution, but the images are good enough for the task of tracking the box. Especially if the tabletop does not have lots of noisy background. For example, here is a shot of his friend, “Mr. Bricks” as seen through the camera. Notice, it is not a very good photo. Much of the detail is lost, versus, looking at his box, up-close…wow…looks pretty good.


Good lighting is clearly an issue. The lighting in the room where I did these experiments is not very good, so it is an excellent test environment for less-than-ideal conditions. Color tracking seems to work best when the color is something rare in the room. I started out using a white box, which was clearly a mistake, because any hot lighting source looks like the box to the camera. I had to limit the range of travel of the camera, so it could not look up. Otherwise, if it caught a glimpse of the room lighting, it would just look up and stare at the light….NOOOO….Not the light!! Get out of the light!! Agggghh!
Here are some video clips of my initial testing of the pan-tilt head doing box tracking:
![]()
I finally have the robot chasing the box! Here he is playing with a little white box.
![]()
![]()
I have some video clips of the robot chasing a red box around his little play area on my office floor:
|
Box Chase #1 - He is programmed to drive up and stop when the box is snug inside his front scoop. If he loses track of the box, i.e. I move the box away from him too quickly, he does a quick head scan to look and see where it might have gone. Once he is locked on again, he tracks down the box. |
|
|
Box Chase #2 - As I move the box around, the head tracks the box independently of the body. Once it sees it isn’t moving much, he repositions his body to point at the box, and drive up to it. |
Finally! The tabletop challenge is complete! He can now find the goal and put the box into it. Unfortunately, I did not shoot any video of it doing it’s thing at the last club meeting, when it was performing at its best. However, I did set up a little play area on the dining room table to shoot some clips to share online.
|
Box Chase #3 - Here is Tracker chasing the red box around the goal setup. He seems to be tracking nicely, although he is periodically distracted by a mirror on the wall nearby. |
|
|
Goal Attempt #1 - In this first attempt, he finds the box, and starts to head for the goal with it, and the power connection to the camera gets flakey. Once I get in there and wiggle it, he finds the goal, and puts the box in. |
|
|
Goal Attempt #2 - The box is a bit off-center, he finds it and puts it straight in. |
|
|
Goal Attempt #3 - He finds the box, and heads for it, and he almost puts it in, but then gets hung up on the edge of the goal. He corrects himself, re-centers the box, and puts it in. |
![]()

(06/01/2005) – Tracker gets a new Head! I recently outfitted him with an AVRcam. This is the camera recently featured in the April 2005 issue of Circuit Cellar, and is the creation of John Orlando. You can get them from www.jrobot.net. It is quite similar to the CMUcam, except is has a higher frame rate, is based on an AVR chip, and has an OpenSource core to it. Yes, I have already been in there fiddling with the firmware.
The tabletop challenge at the HBRC is coming up again here, so I am planning on running him in the challenge this year with his new camera.
What’s left to be done now?!? He still needs a few more tweaks to handle various lighting conditions and he needs more sensors to go head-to-head with another robot on the table trying to steal the box away from him.
Phase 2 Tabletop Challenge – Boxer

Bob, worked up a new tabletop, mechanical design, that has downward looking IR sensors. It is more suited toward the challenge goal which is to find a 2×2 box and push it off the table. Bob built two robot chassis, and all I need to do was add my own wheels, and electronics. This provided me with an opportunity, to turn up some all-aluminum wheels on my 9×20 lathe. Here is the robot with my home-made aluminum wheels mounted to it.
It took a day or two, to mount up some electronics, to get it driving around the table about as well as the Phase 1 robot Mr. Bricks. Here is a photo of both of our robots all fitted with electronics. Still needs some work, but it is a good start toward a better overall design.


This robot is turning into a reusable platform that could be used for more than the tabletop challenge….perhaps even a Trinity fire-fighter! Here is a shot of the board stack that Bob and I designed for this robot. Lots of MCU processing horsepower in there. All total there are 10 PIC’s working in parallel to solve the computing problems.
It has a main board for motor driving, with add-on modules for reading sensors, a main brain module with lots of memory, and finally, a fire-fighting board for dealing specifically with fire-fighting sensors when we get that far along.
I have actually used the firefighting board by bolting the appropriate sensors to the top of the robot and rewriting most of the software to focus on a fire-fighting house.

Here are the pair of robots with all the electronics mounted on-board. Yes, you guessed it, it even has a CMUcam interface for chasing that tabletop soccer block. I have the CMUcam mounted on my robot in this photo of the pair, together at a recent robot club meeting. I still have yet to begin figuring out how I am going to read the camera and deal with the sensor fusion. I will probably wait until Phase 3 to figure it all out.
I have recently finished debugging all the motion control for these robots. Heh…it’s not a coincidence that thereis a huge control theory book in the background on that photo.
Anyway, I shot some video clips of the two robots first steps around the kitchen using full dual-differential drive PID control, using all this new motor driver hardware, and a self-designed control algorithm derived from reading a bunch of books on control theory.
In these clips, my goal was to drive a few feet, in a straight line, make a perfect 180 degree turn and drive back. I am using wheel odometery to measure my distance traveled, and to work on that perfect 180 degree turnaround.
Phase 1 Tabletop Challenge Robot

Mr. Bricks was my Phase-1 tabletop entry. The first phase of the challenge is to get the bot to drive around the table without falling off. It uses a PIC18F252 as its brains, and uses a Devantech sonar unit to look down for the table edge. The sonar unit is mounted to a servo so I can sweep it right and left looking for an off-center edge. It works, most of the time. Still needs more improvement.

In order to demonstrate the power of Wayne’s Robobricks, I decided to try to use all Robobricks in my early phases of the robot. Using Robobricks allowed me to focus more on the software, and less on the hardware. I am slowly improving the circuitry in this tabletop robot by adding more bricks. Currently the robot is using a PIC10 Master brick, a SonarDT1 brick, a Motor 2 brick, and a Compass brick. The Devantech compass module is a bit tricky to get accurate results out of, so I still need to write some software filters to make it work better.
The base is one that Bob had lying around his shop and wasn’t using, that he added a Lego flat to the top of it. This allowed me to snap a Lego frame onto the top to carry the electronics, and the battery.
The downward looking sonar works, however, the robot has to be practically teetering on the edge of the table before it realized it had better back up or fall off. It makes for some exciting robot action. Here are some clips of “Mr. Bricks” in action (windows media 9.0 format):
|
First turn - Falls off the table |
|
|
Second turn - Falls off the table again |
|
|
Third turn - Roams around the table with a little bit of help from the guys in the club. Lots of close calls |






