Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gunthercox/salvius

An open source humanoid robot made from recycled parts and open source technology
https://github.com/gunthercox/salvius

robotics

Last synced: 3 days ago
JSON representation

An open source humanoid robot made from recycled parts and open source technology

Awesome Lists containing this project

README

        

# Salvius

[![Code Climate](https://codeclimate.com/github/gunthercox/Salvius/badges/gpa.svg)](https://codeclimate.com/github/gunthercox/Salvius)
[![Coverage Status](https://coveralls.io/repos/github/gunthercox/Salvius/badge.svg?branch=master)](https://coveralls.io/github/gunthercox/Salvius?branch=master)

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

```bash
# Clone the git repo
git clone https://github.com/gunthercox/Salvius.git

# Move to the Salvius directory
cd Salvius

# Install the package using pip
sudo 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](https://github.com/gunthercox/ChatterBot) library
to generate responses to verbal input.

### Speech recognition

Speech recognition is accomplished using the [pocketsphinx](http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx)
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](https://www.sparkfun.com/products/11711)
to process text into verbal sounds. A guide for using the Emic board with your
Raspberry Pi can be found [here](http://zorg-emic.readthedocs.org/en/stable/using-with-raspberry-pi/).

## 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 robot's 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 tacking and learning to recognize new items.
Salvius currently does not have the ability to do this, however there is 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](https://wiki.salvius.org/parts-and-supplies-wish-list) 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