The key electronic components were:
- iRobot Create® Programmable Robot
- Samsung NC10 Netbook
- Quickcam 4000 (an old one I had lying around)
With the hardware in place, I wrote two quick python scripts to control Linguo. One to get the commands from the user and the other to actually control the robot. These talked via Skype using its API. Skype was an excellent choice for this project because both video and audio came for free. In addition communication is done between screen names so there was no worrying about changing IP addresses.
The control script was pretty simple. It initiates a call via Skype, maps key presses to commands, and sends those commands as a Skype text message.
The other script (the one controlling the robot) automatically answered the call (super convenient), turned on the video, and waited for commands. When it received commands and requests, it controlled the Create and read from its sensors using PyRobot.
- Everyone's first reaction to Linguo is to stand in front of it and "see what it does." Damn you human curiosity!
- People are very hard to identify by their shoes.
- Houses are surprisingly dark, it would have been nice to have a flashlight.
- Operating live controls (i.e. where the length of the button press denotes how far the robot should go) over a high latency connection is very frustrating.
- Don't think driving the robot in your room next to your computer is truly the same as controlling it from New York to San Francisco (which I did). You miss very important things like having a detailed charge and battery status and important perspective on how hard it is to drive using just the camera and microphone.
- Telepresense is frikin' awesome!
Technologies: iRobot Roomba, Python, Skype, TkInter, PyRobot