Daily Archives: March 3, 2015

Integrate your Raspberry Pi to the Hackable Roomba

You do not find many robots in the consumer arena, unless it is the AVA 500, the telepresence robot from iRobot. Users can simply specify where they want AVA 500 to be and it automatically navigates to the destination without requiring any human intervention. It has advanced mapping technology combined with a real-time view of the environment. Another simpler consumer robot is Roomba, from the same company, iRobot.

iRobot has turned the highly successful Roomba 600 robot into a hackable Create 2 version. This is very useful for K12 and college level STEM education, because Create 2 can be programmed via a laptop, an onboard Arduino or a Raspberry Pi (RBPi). Although both AVA 500 and Roomba are Linux based, unlike the more sophisticated AVA 500, Roomba 600 was a modest, vacuuming robot, based on a simple Motorola HC12 micro-controller.

Create 2, the modified Roomba 600, is not meant for vacuuming, as iRobot has eliminated all the internal vacuuming equipment. That leaves Create 2 with plenty of space inside for adding custom hardware components. You can easily put in an RBPi there, using pre-programmed routines to control the bot. Other alternate methods of direct control are tethering Create 2 to a laptop via the serial Mini-Din port using a serial-to-USB cable.

Based on the original Roomba 600, Create 2 is a round, 3.58-Kilo robot, measuring 340 mm in diameter and 92 mm in height. The market has several models of the Roomba robot, but Roomba 600 is the cheapest. iRobot offers 3D printing files that help you in adding electronics and peripherals to Create 2. They provide instructions for replacing the bin with a cargo tray that you can 3D print. They also supply a faceplate drill template.

Rechargeable batteries on the Create 2 allow a three-hour run before needing a recharge. As with the original Roomba 600, Create 2 will also return to its charging dock when it is time for a recharge. Sensors, such as IR transceivers on Create 2 enable it to escape cul-de-sacs and move around obstacles.

To interface with the Motorola MCU and related components, Create 2 comes with a programming environment, the Roomba OI or Open Interface. With the Roomba OI, a user can program the behavior, sounds, movements and read its sensors. The OI provides several commands for the sensors, cleaning, song, actuator and mode settings.

RBPi Model A is the most suitable for controlling Create 2 as you can run it off the serial connector of the robot. Power requirements for the Model A and its camera are just within the headroom of the on-board thermal resettable fuse of Create 2. It is also possible to work with RBPi models A+, B or B+; however, you will have to power them independently.

The RBPi will need an SD card of at least 4GB, pre-installed with the Raspbian Linux. Other hardware that you will require are an RBPi camera board, a switching DCDC converter, a micro-USB male cable, a 5V to 3.3V level converter and a USB to Wi-Fi module. iRobot provides several programming samples and starter projects with varying levels of difficulty.