TedLarson.com
Home R/C Airplanes Home Workshop Robots AI Projects

 

Mr. Bricks
Boxer Robot
Tracker Robot

Home -> Robots - > 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.  These are all Windows Media Player 9.0 format movies:

bullet

Box Play #1 - I am pushing the box around with my hand

bullet

Box Play #2 - I am pushing the box around with a pointer, to make sure my hand wasn't getting all the reflection, and that it was clearly tracking just the box.

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. These are all Windows Media Player 9.0 format movies:

 
bullet

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.

bullet

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.

bullet

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.

bullet

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.

bullet

Goal Attempt #2 - The box is a bit off-center, he finds it and puts it straight in.

bullet

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.  Here is a video clip of the pan-tilt head, tracking the box.  Sorry for the poor lighting quality, I just whipped out the camcorder the moment I saw it working reasonably well.  As you can see, my control loops need some tuning, but it tracks much faster than the CMUcam ever did. 

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.

 

(c) 2010 Ted Larson  ALL RIGHTS RESERVED