Smiling Robo Logo

SmilingRobo

Salvius

By gunthercox

Humanoid-robot

Share this project to show your support

Salvius

Build Status

Salvius is a humanoid robot made from recycled materials. The robot is designed to be as easy as possible for anyone to build on a limited budget.

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.

Key features:

  • Web based user interface
  • REST API
  • Modular design makes it easy to connect new hardware

Setup

# Clone the git repogit clone https://github.com/gunthercox/Salvius.git# Move to the Salvius directorycd Salvius# Install the package using pipsudo pip install . --upgrade    

Software Documentation

Module documentation: https://docs.salvius.org/

Testing the installation

Once installed, you should be able to start Salvius by entering the command salvius into the terminal. After that, you should be able to view the robot's API in your browser by going to http://localhost:8000/api/

Configure Salvius to run at startup

To configure Salvius to start running when your device boots, execute the following from inside the scripts directory.

bash configure.sh

Note: that if you no longer wish to run Salvius at startup, you can disable this functionality by running bash deconfigure.sh from inside the scripts directory.

Verbal communication

Salvius uses the ChatterBot library to generate responses to verbal input.

Speech recognition

Speech recognition is accomplished using the pocketsphinx speech recognition library for Python. Salvius is currently only configured to recognize English language models, but it is possible to build grammars for other languages for pocketsphinx.

Speech synthesis

Salvius uses the Emic 2 Text-to-Speech Module to process text into verbal sounds. A guide for using the Emic board with your Raspberry Pi can be found here.

Non-verbal communication

Handwriting

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.

Note: This functionality is being re-implemented. See https://github.com/gunthercox/Salvius/issues/5 for details.

Sign language

Salvius cannot yet communicate using sign language. There is an interesting opportunity for which humanoid robots are uniquely suited. Accomplishing this still requires a great deal of research which I have not yet completed.

See https://github.com/gunthercox/Salvius/issues/48 for details.

Object recognition

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

Notes

SSH into Raspberry Pi

ssh [email protected]

(Your local IP may differ).

The default password is password.

Building the Python module documentation

sphinx-build -b html docs_source/ docs/

Donating Parts and Supplies

If you are interested in donating parts to help build Salvius, see the Parts and supplies wishlist in the project wiki.

Other types of donations are helpful as well. Feel free to contact me at [email protected] for the best way to support this project.

Contributors

This project has been made possible with funding from the following sources:

  • Jennifer Cox
  • Adam Iredale
  • Janet Wise
  • Glen Zenor
  • Boris Hofer
  • Señora Alderperson
  • Wilbraham Music
  • Chris Cox
  • June Cox
  • Rantz
  • Yuri Yerofeyev

SmilngRobo

SmilingRobo, a platfrom of opensource robotics

Opensource Robotics Platform with opensource tools and resources. We are on a journey to advance and democratize robotics through opensource.