Frosty the Snowman Game

togiLand
Class:Physical Computing
Professor: Carlyn Maw

A game where you must guess how fast, for how long and at which angle Frosty should run to get him home.

Documentation/Media

FROSTY INITIAL RUN:

ASSEMBLY:

SOURCE CODE - Arduino

How it was done / more details

We hacked a Roomba by adding some controls (speed, time on, and turn angle) and a Snowman outfit and made it into a simple game. Used Arduino micro controller to do it.

Marc and I were interested in using RFID and a Roomba robot from iRobot as the platforms for our final project.

Since we started with a technology and not an idea for a final product we went through several possible ideas.

The first one was a message delivery robot. You would place a message on its basket and select one of 4 people to deliver the message to. The robot would then search for one of the 4 people selected by looking for their RFID tag.

This idea was scrapped since people would basically have to keep their RFID tags on their shoes (RFID range is very small). Another factor is that it would take forever for the Roomba to go around the entire floor and find the person.

So to simplify we thought it could roam around the floor collecting paper for recycling. It would have a weight sensor to detect when it was full. It would then flash a light indicating that it needed to be emptied.

The idea evolved into a behavioral robot... you would present it with an RFID tag and it would do some kind of “trick” like spin around its axis, run away from you, or move very slowly. We would place the RFID tags into objects that would be associated with the performed behavior.

Once my RFID chip decided to not work anymore, we simplified the idea of the behavioral robot into an instructional robot - a LOGO turtle basically. Click here for the documentation on this idea.

Once we dove into the hacking of the Roomba and assembling our project we simplified the idea even more due to time constraints.

POTENTIAL DEVELOPMENTS:

Roomba interface as a platform for other projects

  • Learning tool: Create more sophisticated inputs to becoma a “real-life” Logo
  • Networked object: Communication among devices and team games
  • Assistive technology: Using RFID to deliver/retrieve objects

PREVIOUS IDEAS:

APPLICATION:

  • User is presented a geometric shape
  • User must “program” robot so that it draws the shape with its movement
  • User uploads code to Roomba and tests it

ROOMBA

  • Executes desired commands programmed by the user
  • If Roomba reaches same initial position, it plays a tune to indicate that the drawing was completed successfully.

BLUETOOTH

  • Communication protocol to talk to Roomba

WEB INTERFACE:

Make the Roomba draw this triangle!


t

Use the commands below to make the Roomba move.

Each command has parameters that have to be inserted for them to work.

For example:

1 meter forward
Turn 90 degrees to the right
2 meters forward.

I should type:

FWD(1) RT(90) FWD(2)

Here are the available commands:

Move forward a certain distance - FWD
Move backwards a certain distance - BCK
Turn a certain angle clockwise - RT
Turn a certain angle anti-clockwise - LT