Urban Search & Rescue Robot Control System: Here is the documentation including the source code and the documentation below (along with the wall following stuff)
Project Leader: Howard Chen
History:
iRobot introduced the Roomba robotic vacuum cleaner during the 2002 Christmas season and was sold for a mere 200 dollars and is currently the best selling robot in the world, with 2.5 million units sold. It didn’t take long since its début before robot enthusiasts realized its potential and began repurposing it as a general-purpose robotic platform. Since then, many robot enthusiasts and universities have used the Roomba for numerous projects. iRobot realized that consumers were using their product as a robotic platform rather than a vacuum cleaner and released the Roomba’s serial communication specifications, allowing programmers to obtain direct access to all of the robot’s motor control and internal sensors. In 2006, iRobot released a dedicated robotic platform built upon the Roomba named the iRobot Create, which is sold with an optional microprocessor and does not contain any of the vacuuming parts.
Assumptions:
User has a basic knowledge of the Java programming language.
Software:
All programming work is done on a PC, though it should not matter since Java is platform-independent. All sourcecode is written in Java utilizing the Eclipse Software Development Kit. Basic controls such as movement and access to sensors are obtained through a Java Application Programming Interface (API) named Roombacomm, which was written by Tod E. Kurt.
Installation:
Download Eclipse Software Development Kit and RXTX, which is a serial communicator for Java. Copy files of RXTX to appropriate places (view RXTX Installation Procedures). Download and unzip roombacomm. Make new package in Eclipse and name it “roombacomm” . Copy Note.java, RoombaComm.java, and RoombaCommSerial.java, and BumpTurn into the package. The COM port used is designated under the arguments Tab, Located in Run<Open Run Dialog.
Once BumpTurn Runs, it could be modified to be a wall-following algorithm. Make a new Class named it whatever is desired and copy the contents of BumpTurn. Everything from “Boolean done = false” to the end of the “while (!done)” loop could be modified however desired. Everything else is used to for communication with the robot.
Obtaining control, if computer is mounted on the robot, is done through remote access.
Documentation pertaining specifically to the Create
http://www.irobot.com/sp.cfm?pageid=294
Roombacomm API Download & Documentation
http://hackingroomba.com/code/roombacomm/
RXTX Download
http://www.jcontrol.org/download/readme_rxtx_en.html
RXTX Installation Procedures
http://www.jcontrol.org/download/readme_rxtx_en.html
Eclipse Download
Remote Access Setup
http://www.microsoft.com/windowsxp/using/mobility/getstarted/remoteintro.mspx