Project Description

Salvius is a robot made out of recycled materials, designed to be able to perform a wide range of tasks by having a body structure that is similar to that of a human. The primary goal for Salvius is to create a humanoid robot that can function dynamically in a domestic environment. The robot now has night vision and ultrasonic hearing and can synthesize speech from textual input.




Key features:

  • Web based user interface
  • Easily customizable robots
  • RESTfull API
  • Modular design makes it easy to connect controllers via USB
  • External status page


Installing this software on your robot should be easy. Once you have downloaded the latest copy into a directory on your Rapsberry Pi, you can download and configure the robot’s api and interface by running the following commands.

Use the following to run the robot’s server.

Note: Code for the robot’s Arduino boards can be found in the salvius.arduino repository. You will need to download the code to these boards individually and connect them to the robot in order to enable these features.

Text to speech

Salvius uses the Emic 2 Text-to-Speech Module to process text into verbal sounds. Code for controling this board is available through the salvius.arduino package.

Speech recognition

This is still a bit of a work in progress, at best a few small words can be recognised.


The robot can hold a pen and write when given a string of text. The robot’s handwriting is based on a grid in which each letter is created as a result of horizontal and vertical lines.


Salvius uses the ChatterBot library to reply to messages. This package also provides Salvius with the capability to interact with people through social media sites.

Object recognition

This includes face recognition, object tacking and learning to recognise new items. Salvius currently does not have the ability to do this, however there is plans to implement this in the future.

Unit testing

The code for this project is automatically tested to ensure that it performs as expected. These tests can also be run manually by running the command nosetests from within the repository’s root directory. See (unit tests) for more information.


TAG: Humanoid Robot, Recycling material,Ethernet,  web server, 201206