robo picture

Information

Stand-In-Bot loyally stays put at the university waiting for your call. Once connected it'll cater to your requests and with your help find it's way to the classroom. You'll stay up to speed thanks to a live video feed and can interact with the world through a speech interface. Other people interested in the same lecture can view the same feed and discuss matters online. Nothing prevents using the bot for meetings, general surveying or just driving around.

In short Stand-In-Bot is a maneuverable robot that is controlled through a web-interface. The N900 acts as the brains of the device allowing it to receive commands, say things and provide live video stream. An Arduino-powered chassis makes the robot move around. The design aims to be simple and cheap to reproduce, but also powerful and intelligent enough to carry out the task needed. In the spirit of true hacking, all source code and schematics will be released under a permissive open source license. The team acknowledges the wide array of existing radio controlled robots but does not see a viable, affordable and open alternative. Furthermore Stand-In-Bot aims specifically to provide a telepresence in social surroundings, i.e. it will not thrive in looking for victims in collapsed buildings or manage well in scouting a hostile territory.

Technical details

SOFTWARE

Stand-In-Bot is powered by a mixture of technologies. The most prominent of which is Python that forms the bridge between the N900 and the Arduino-board, thus acting as the spinal cord of the Bot. Python is also used to serve up the control interface via HTTP. Other methods such as OSC [OSC] and direct shell commands (e.g. via SSH) are also supported.

A simple gStreamer pipeline is used to provide a live video feed. The screen of N900 will be used to give the robot a face that explains its current status. For this we'll use the excellent Cairo library.

Flash is used to create a user-interface to control the robot. The UI will show the user the view of the robot with audio and allow the user to write what he wants to say or use an internal microphone to deliver the message. These messages will then be reproduced through the robot's speaker either directly with the incoming audio data or via the magnificent Flite synthesizer. The robot will be connected to a WIFI network that is accessible from the outside.

HARDWARE

Stand-In-Bot consists of:

Nokia N900 controls servo motors through Arduino board. Servo motors turns wheels in different speeds and directions allowing Stand-In-Bot to move easily and do 360 degree turns. An additional battery fuels the components, Arduino and N900 on the robot. This battery can be loaded by driving the bot over a very simple loading dock.

Usage and Future Scenarios

The robot is a stand-in for you. For any situation you would like. It can be used to do wild indoor roadtrips, talk with friends or basically anything you could do if you just had your head mounted on wheels (except biting). Since the design is so simple to implement, a scenario of having two robots is easily imaginable. This would open the door to a world of new opportunities, such as racing, navigation competitions, virtual-hide-and-seek, robot football, or a novel way to do teleconferences.

Some plans for a version 2.0 already exist. Since the original aim and emphasis is on providing a presence in a classroom environment, the robot could use a hand for signaling that it wants to answer a question. This could also lead to other innovations such as making the robot nod its head to signal agreement. A general feature of turning the head without turning the robot would be a useful idea. Further brainstorming led to visions of having multiple robots sharing a networked virtual space for communication - a psychic-link between the robot users.

Earlier Hacks

The team has already built a prototype that uses a combination of N800 and Arduino. Due to a strict deadline some of the features, such as the web user interface, were dropped. This much simpler design was sent to roam around Helsinki Media Lab during one of the lab's Spring 2009 Demoday. It had an AI that would make it wander around a bit and say something random and then continue its travels. Control over the robot was maintained over an SSH- connection and an OSC-interface, but these were mostly used in situations when there was a problem the AI could not solve. Most of the techniques mentioned above in the concept plan were also used in the prototype. Also the live video feed was tested successfully in lab conditions, but not used in the prototype version.

The team identified several issues during development. One of the more serious ones was a communication problem between the N800 and Arduino. For instance, sending a signal to the Arduino too early after booting would crash the device. Same happened periodically during the robot's travels. Another issue was caused by the motors used in the robot as they were of quite a low quality and operated in different speeds. This was compensated in software, but not perfectly and thus the robot tended to wander more to the right. Yet another issue that might be corrected with better hardware.

Pictures

Schematics

Sib schematics Sib schematics

Some pictures from first prototype realized with n800.

Sib prototype Sib prototype Sib prototype

Contact

Drop us a line!

Name
E-mail
Message