iRobot Explorers

Environment exploration project, involved two iRobots exploring and mapping an unknown environment with randomly-placed obstacles. Three mobile hardware platforms: iRobot Create platforms enhanced with the eBox 3854 embedded PC, laptops, and Compaq iPAQ PDAs has been used in this project. These hardware devices ran different operating systems: the eBox embedded PCs ran Fedora Linux, the laptops ran Windows, and the PDAs ran GPE 2.6 Linux and Windows CE. To control the iRobot mechanical devices, I relied on two different libraries: the Player library (implemented in C), and my custom-built iRobot driver (implemented in Java). A distributed component-based architecture that ran on top of the PRISM MW was designed for this application. 

As you can see in the pictures below, two iRobots are controlled remotely to map out a 5x5 grid with unknown obstacles. The robot operators could only see the map (right pictures) in their user interfaces, and could not see the environment. The initial configuration is the blank map containing only the robots' positions and orientations. An intermediate configuration has the majority of the grid traversed and four found obstacles. 
 

  
Initial Configuration


  
Intermediate Configuration



See the video of the robots in action: