I spent most of this week finally finishing up the second assignment that Dr. Jenkins gave to all of the interns.
The objective of this assignment was to have the iCreate search for a specfied AR Tag, move to the tag,
and then search for the next one, etc. This project was very difficult because I basically had to write
this program from scratch and I have had no previous experience in writing Python code. The first assignment
was easier because most of the code was already provided for us and we just had to change it around to get
it to work correctly. This assignment was a lot longer and had much more code, but
by the end of it I can say that I learned a lot about Python and I understand it enough to be able write different programs using it.
Another problem was getting the robot to actually move toward the center of the tag, which needed
to use a physics formula (spring mass) to get the tag centered in the camera and the robot to face it by determining the error of the camera and how much to turn the robot. Without
this formula, the robot would just go in a direction after seeing the tag specified.
This week we also put together a Googlecode repository for all of the interns. This allows all of our code to be saved, modified, and checked in to one central place online. This made it easier for us to show each other our code to help solve problems and debug as well as find ways to make improvements.
The iRobot Create equipped with a Playstation 3 Move camera
Here is a video of the second project that we were assigned, "Object Seeking". The goal of this assignment was to have the iRobot Create use the AR Tag recognition to find a specific tag, move to that tag, and when it is close enough, to move on to the next tag. The actual program is able to recognize 13 AR Tag patterns, but in this video I only videotaped it searching for two. First, the robot must find the alpha tag and then the beta tag. There are also other tags thrown in the area to show that the robot can actually distinguish between the patterns on the tags.