Category:Roomba Design Lab (Winter 2007)
This page and those in his category are to support students in Freshman Design Lab, Winter 2007.
The goal of the "Roomba Module" is to identify and encode a set of behaviors to control a Roomba Robot, enabling it to perform a series of challenges (beyond the typical vacuuming of the floor). In this lab, you will encounter the interdisciplinary realities of the real world. A Roomba robot is a electro-mechanical system, control by software, that senses and acts in the world.
In this set of assignments, you are the creator of its behavior. You must deal with the limitations and inaccuracies of the Roomba platform and its sensors by designing software that can effectively use these flawed senses to successfully carry out a set of tasks.
Where to begin
In order to start programming Roomba, you need to set up your environment for Roomba Development; that is, you must make the connection between your Roomba and your computer, then make sure your programming software, which is called Processing, is working properly. In order to do this, you should read these pages:
- Connecting Roomba to Your Computer - This will get Roomba configured to your computer
- Processing - This will get the programming environment Processing running on your computer
- RoombaComm - This will provide the basic commands to communicate with Roomba
- Roomba Program 1 - This provides a tutorial of what your first Roomba program might look like
There are three tasks that you must be able to preform with your Roomba. The tasks and their descriptions are listed below as a quick reference. More detailed descriptions can be found at their respective pages.
Challenge #1: Implementation Challenges
For more information, go to Challenge 1
Challenge #2: The Maze
For more information, go to Challenge 2
Challenge #3: The Great Escape
For more information, go to Challenge 3
Challenge #4: Name that Tune
For more information, go to Challenge 4
There are two easy ways to connect Roomba to your Computer:
- 7-pin Serial Cable with RooStick (CP2103 USB to UART converter)
- Rootooth (Bluetooth connector)
Both methods will be available in the labs for you to experiment with, but if I were, I would go Rootooth any chance I get. While RooStick still provides a solid interface, RooTooth provides untethered flexibility that allows you to not follow your Roomba around, program Roomba from the comfort of your seat (and not in awkward places where Roomba has wondered to), and eliminate the chance that Roomba pulls your laptop off your desk or snap the RooStick in half.
Pages in category "Roomba Design Lab (Winter 2007)"
The following 11 pages are in this category, out of 11 total.