Skip to content

sonelu/roboglia

Repository files navigation

Roboglia

Master Version PyPI version GitHub issues

Build Status Documentation Status codecov CodeFactor

roboglia is a framework that helps developers with the setup of robots in a more reusable fashion. Most of the times the creation of robots involve integrating actuators, sensors, cameras and microphones, periodically accessing the information provided by these or supplying commands according to the desired activities.

The name roboglia is derived from the glial cells present in the brian. Their role is to support the neurons' functions by supplying them with nutrients, energy and disposing of waste. The analogy is that roboglia provides this boring, but very complex activity of putting together the specific functions of the physical devices used in robots in order to provide a more accessible high-level representation of the robot for the use of the "smart" control logic that sits at the top.

With roboglia, low level functionality, currently split across multiple libraries and frameworks are put together and integrated in an extensible way, making it easier for developer to focus on the higher level functionality, rather than gritty details.

Installation

You can install roboglia with pip as follows:

pip install roboglia

By default this will only install the roboglia package and the core dependencies (like PyYAML) and will not include any hardware access libraries. As different projects require different hardware communication it is up to yu to decide which of the extra dependencies need to be installed.

If you need to use Dynamixel devices, then install the dynamixel_sdk library like this:

pip install roboglia[dynamixel]

If you need to work with I2C devices, install it the following way:

pip install roboglia[i2c]

If you need SPI devices, install the extra libraries with:

pip install roboglia[spi]

If you need to install a combination of libraries, then enter them separated by commas as follows:

pip install roboglia[dynamixel,i2c]

If you wish to install all the hardware access packages then use:

pip install roboglia[all]

The all option for extras will be updated if additional hardware channels are added to the library.

Please read carefully the installation instructions from the documentation. As roboglia needs to interact with a lot of hardware devices, it is very sensitive to the platform and OS version used. The documentation provides more details about avoiding the installation of packages that are not needed for you particular robot.

Documentation

For a quick start in roboglia have a look at a practical introduction here. We present the core concepts like device, register, sync and joint as well as some primer in setting up the robot definition file.

You can access the detailed documentation on the readthedocs.io website. If you want to access the documentation in PDF format you can get it from here. There is also an epub version that can be accessed here.

Devices

An up to date list of devices across the communication buses is maintained here.

Contribution

We are very receptive for contributions. There are many ways you can contribute on roboglia, so please check our dedicated contributing page for details about the way you can do this.

Showcasing your robot

If you use roboglia in your project we will like to hear about it and we will showcase it on this page. Please open an issue with title "Showcase of robot" and provide us with information about your robot. You can send us links to the documentation or code of the robot and one picture (link to an public one) that we could use in the showcase. If you want to provide an email address for contact we will be more than happy to include that too.

About

Robotics framework

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages