Introduction: IRover: Remotely Controlled IRobot Create (or Roomba)
Not knowing about this iRobot contest sooner and with my boss riding me with overtime at work, I was not able to complete my desired project of an impressive autonomous security patrol bot. What I do have is an overly complicated, rather unimpressive remotely controlled iRobot Create. Robotics has been a long time hobby of mine. I have done most of my work with the Basic Stamp and the MIT Handyboard in other robotic projects. I took a break from this rather expensive hobby for a while after buying a house last year. Now that I am settled in and I've got my lab/work area set up, I am starting to get back to tinkering with various robotics projects. This iRover project is rather simple and does not require any advanced knowledge or skills to build. If the complexity of autonomous robotics seems intimidating, get started with something simple like the iRover. As you learn additional skills such as programming and microcontroller/sensor interfacing, you can add to the iRover to give it a more autonomous behavior.
For this iRover, I took an iRobot Create and added a laptop with wireless ethernet, a web cam, and some open source robot control software. Now I have an iRobot that can be remotely controlled over wireless ethernet or even the Internet. For those of you wanting something you can play with and not have to do any programming or electronic assembly work, this project is for you. If you have a Create or Roomba, wireless laptop, and web cam, it's just a matter of installing some software on the laptop and installing the laptop and web cam on the robot and you're in business.
Step 1: Install the Software
On the laptop I installed the web cam software, Microsoft C# Express, and the CreateOI open source Visualizer.
You can download MS C# Express for free directly from the Microsoft web site: http://msdn2.microsoft.com/en-us/express/aa975050.aspx
Visualizer is part of the CreateOI package. You can get this open source package from SourceForge.net: http://sourceforge.net/project/showfiles.php?group_id=186589
Once those are installed, you'll open the Visualizer project in MS C# Express and build/compile the project into an executable file. Copy it to the desktop or make a shortcut to it in an easy to find place.
If you don't want to use Windows Remote Assistance or Remote Desktop features to connect to the laptop remotely, then you will also need to download and install a VNC application to allow you to see and control the laptop desktop from a remote computer. RealVNC (http://www.realvnc.com) and TightVNC (http://www.tightvnc.com) are two possible alternatives. If using a VNC application, you will need to install it on both the laptop and the remote computer that will be connecting to the laptop.
Step 2: Install Laptop on Create
It doesn't take much to install a laptop on the iRobot Create. Use your imagination...velcro, zip ties, brackets, whatever you have available. I took part of the casing of an old failed ATX power supply and added some additional brackets to mount it to the mounting holes in the Create cargo bay and to secure the laptop to the top. Once installed, connect the web cam and mount it to the laptop or mount it to the front of the Create. Then connect the Create mini-din serial interface cable to the Create and the laptop. If the laptop has no serial port, you can also use a USB to serial adapter to plug the iRobot Create programming cable into a USB port. Such an adapter can be found at your local RadioShack: http://www.radioshack.com/sm-6-ft-usb-to-serial-port-cable--pi-2036258.html
Step 3: Connect Remotely
Initiate the Windows Remote Assistance from the laptop, or start your chosen VNC application on the laptop. On the remote machine you will accept the remote assistance request or use the VNC application to connect to the laptop. Once you have the remote desktop connected and you have full control of the laptop, fire up the web cam software and the Visualizer application on the laptop. Configure the Visualizer application and start the polling to give it control of the Create. The Visualizer has several forms you can open. The Sensor form and the Drive form are the two main forms you want open. You can view the realtime sensor data on the Sensor form. On the Drive form, double clicking the Safe or Full mode will allow you use the arrow keys on the keyboard to control the Create. That's all there is to it. Put your Create in another room and have fun chasing the cat :)