Salvius


Salvius is the first open source humanoid robot to be built in the United States. Introduced in 2008, Salvius, whose name is derived from the word 'salvaged', has been constructed with an emphasis on using recycled components and materials to reduce the costs of designing and construction. The robot is 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 robot that can function dynamically in a domestic environment.
Salvius is a part of the open source movement which means that all of the robot's source code is freely available for others to use. Unlike other humanoid robots, Salvius benefits from the advantages of open source software such as allowing any problems to be quickly addressed by a community of developers. The open source nature of the robot's code also makes it possible for anyone to learn about how it works. Salvius has been used as a resource by STEM educators to enable students to learn about many subjects in science and technology.
Unlike many robots, salvius does not use an acronym for a name. The name "Salvius" dates back to the time of the Roman Empire, however, it was chosen for this robot because of its similarity to the word "salvage". Names have been a significant part of this robot's development. Salvius is tattooed with the names of the individuals and businesses that have contributed to the project's progress.

Applications

Salvius is intended to be a resource for developers to experiment with machine learning and kinematic applications for humanoid robots. The robot is designed to allow new hardware features to be added or removed as needed using plug and play USB connections. Recent changes to the robots design have improved the robot's ability to connect to other devices so that developers can also investigate new ways that robots can interact with the Internet of Things.

Development

The robots construction has been documented since 2010. Along with emphasis on recycling, any commercially available parts used on the robot were chosen with availability and economic affordability in mind. Much of the robot's hardware is also open source. Hardware items such as the Raspberry Pi and Arduino microcontrollers were selected because of their open source design and the support communities that exist for these components. The robot uses multiple Arduino microcontrollers which were chosen based on the versatility and popularity of the platform across communities.

Software

The robot's computer runs Raspbian Linux and primarily uses open source software. Salvius is able to operate autonomously as well as being controlled remotely using an online interface. The reason behind making the robot open source was to provide a platform for students and enthusiasts to build their own robots. The robot's programming languages include: Python, Arduino, and JavaScript. Python was chosen because of its status as the supported language of the Raspberry Pi. C is used for programming the Arduino micro-controllers that the robot's main computer, a Raspberry Pi, communicates with. By sending tasks off to several other boards it allows the robot to do parallel processing and to distribute the work load. The topography of the robot's network also prevents a failure in one of the Arduino procession nodes from crippling the robot entirely.
Salvius has an API which allows users to send and retrieve data from the robot. When the robot's wireless connection is turned on, the robot can be controlled web interface to see exactly what the robot is seeing and to direct its actions accordingly. Since all the software is installed on the robot the user only needs a device with a working internet connection and a browser.

Hardware

The robot is controlled by a network of Raspberry Pi and Arduino microcontrollers. The Raspberry Pi acts as a server which allows to be used to control the robot. A combination of several computers allows various tasks to be processed in parallel so that they can be completed quicker. The robot uses Grove motor controllers to control a variety of motors. Most of the robots motors have been salvaged from a variety of sources and reused to construct the robot.

Sensors

The robots design incorporates a variety of sensors which allow the robot to successfully interact with its environment. Sensors that have been used on the robot include: touch, sound, light, ultrasonic, and a PIR. The robot also has an ethernet-connected IP camera which serves as its primary optical input device.

Specifications