Introduction: OLPC Telepresence


Updates! This is an ongoing project. I will be updating this instructable, but my blog is updated more frequently.

One Laptop per Child (OLPC) is a new, non-profit association dedicated to research to develop a $100 laptop, a technology that could revolutionize how we educate the world's children.

This instructable shows how to couple an OLPC with an iRobot Create to create a telepresence robot. Using a simple web interface, users can drive the Create, monitor its sensor readings, and explore the world across the internet through the attached OLPC's webcam and microphone.

Materials:
Optional materials:
Optional tools:
  • Soldering iron
  • Volt meter
  • Wire cutters
  • Wire strippers
  • Hair dryer (if using heat shrink)

Step 1: Connect the USB-to-serial Adapter and the Create Serial Adapter

Connect the USB-to-serial adapter to the Create's serial adapter.

Step 2: Optional: Power the OLPC From the Create

This step allows both the OLPC and the Create to charge together.

First, prepare the DB25 connector.

1. Take a female Kyosho connector and strip about 0.25 inches of insulation from the tips of both wires.
2. Twist and tin the strands.
3. Cut two small pieces of heat shrink and slide one on to each wire.
4. Solder the red cable to pin 11 of the DB25 connector.
3. Solder the black cable to pin 25 of the DB25 connector.
4. Slide the heat shrink down to cover the pins and use the hair dryer to shrink it.

Next, prepare the OLPC power connector.

1. Cut the OLPC power cable in half with wire cutters. Be sure you can remember the orientation of the two cables (positive and negative).
2. Strip about 0.25 inches of insulation from both cut ends.
3. Separate the two cables on both ends approximately 1 inch down the cable.
4. To determine which wire is the ground, use a volt meter set to check continuity or measure resistence. Place one probe on the outside of the barrel plug and place the other on one wire. If the meter indicates resistance or continuity, you have selected the ground wire.
5. Strip about 0.25 inches of insulation from a male Kyosho adapter.
6. Cut two short pieces of heat shrink and slide one over each cable of the Kyosho adapter.
7. Solder the black Kyosho adpater wire to the ground wire of the OLPC's barrel plug.
8. Solder the red Kyosho adapter wire to the positive wire of the OLPC's barrel plug.
9. Slide the heat shrink over your solder joints and use the hair dryer to shrink it.

Finally, solder and heat shrink another female Kyosho adapter to the other half of the power adapter.

Step 3: Attach the OLPC and Cables

The OLPC fits nicely on top of the Create. Use stick on velcro or duct tape to attach the OLPC to the Create so that it won't slide off during operation.

Attach all cables to the create and neatly wrap them up in the cargo bay. Leave a little slack on the ends of the serial, power, and USB cables to feed through the handle of the OLPC. Then stick the OLPC on top of the Create.

Open the OLPC lid and twist it so it's facing forward. You can now plug in the OLPC power cable and the USB-to-serial adapter USB plug.

Step 4: Install Telepresence Software

The first step is to download and install the required software.

  • PyRobot is a Python library for controlling iRobot's Roomba or Create. It was developed for this instructable and includes modules for accessing the OLPC's webcam and microphone and for serving a web interface to control the Create over the internet.
  • PySerial
  • web.py
  • MochiKit
  • simplejson

All of these dependencies are wrapped up with releases. To install the current PyRobot release, either SSH in to the OLPC or open the developer console.

root@olpc$ wget http://pyrobot.googlecode.com/files/pyrobot-alpha1.tgzroot@olpc$ tar zxvf pyrobot-alpha1.tgz

If you'd like to work from the development version, you will have to install the required dependencies yourself.

The picture below is a screenshot of the web interface.

Step 5: Start the Web Server

To start the webserver, either SSH in to the OLPC or open the developer console. Then run web_ui.py in the pyrobot directory.

root@olpc$ cd pyrobotroot@olpc$ python web_ui.py host:port

'host:port' should be the IP address of the OLPC and the port you would like to run the web server on. Root permissions are required to access the serial port. To view the interface and control the Create, point your web browser to http://host:port.