Skip to main content

An open-source SDK for developing and testing algorithms on commonly used robotic hardware.

Project description

Build status Documentation Status Python Version PyPI Downloads

Code style: black Security: bandit Pre-commit License Coverage

All Contributors

opensourceleg: An open-source SDK for developing and testing algorithms on commonly used robotic hardware. Originally developed for the Open-Source Leg project, this library provides a comprehensive framework for interfacing with various actuators and sensors in robotic systems. While initially designed for prosthetic leg applications, the opensourceleg library's modular architecture makes it versatile for use with any robotic platform utilizing similar components.

๐ŸŽฏ Key Features

This library solves common challenges in developing, testing, and deploying robotic algorithms:

Feature Description
๐Ÿ“ฆ Standardized Interfaces Provides consistent interfaces for common actuators and sensors
๐Ÿ”„ Ready-to-Use Implementations Offers ready-to-use implementations for popular hardware components
๐Ÿ” Extensible Architecture Allows for easy integration of custom components
๐Ÿงช Comprehensive Benchmarks Includes comprehensive benchmarks for popular hardware components

๐Ÿ‘ฅ Ideal for Roboticists Who

  • Want to develop robotic algorithms for the Open-Source Leg platform or any other robotic platform
  • Need a reliable and extensible framework for interfacing with various actuators and sensors
  • Are working on a robotic project and need a flexible and powerful software development kit
  • Are looking for benchmarks to pick the best hardware for their robotic project
๐Ÿ”„ Available Hardware Interfaces

The library currently supports the following hardware components:

Sensors Unit Tests Hardware Tests Benchmarks Documentation
AS5048B Encoder โœ… โœ… โŒ โœ…
Lord Microstrain IMU โœ… โœ… โŒ โœ…
SRI Loadcell โœ… โœ… โŒ โœ…
Actuators Unit Tests Hardware Tests Benchmarks Documentation
Dephy Actpack โš ๏ธ โœ… โš ๏ธ โœ…
Moteus โš ๏ธ โš ๏ธ โš ๏ธ โœ…
TMotor โŒ โš ๏ธ โŒ โŒ

Legend: โœ… Complete/Available; โš ๏ธ Partial/In Progress; โŒ Not Yet Available;

Hardware tests indicate successful testing on physical devices. Benchmarks include performance metrics such as response time and accuracy measurements. Documentation includes API reference and usage examples.

๐Ÿ“ฆ Installation

The library is available on PyPI and can be installed using pip:

pip install opensourceleg
๐Ÿ”ง Hardware-Specific Dependencies

To keep your installation lightweight, you can install only the dependencies needed for your specific hardware:

# For Dephy actuators
pip install opensourceleg[dephy]

# For Moteus actuators
pip install opensourceleg[moteus]

# For I2C communication
pip install opensourceleg[communication]
Extra Dependencies
dephy flexsea
moteus moteus, moteus-pi3hat
communication smbus2
messaging grpcio, grpcio-tools, types-protobuf

For more details on the installation process, please refer to the installation guide.

๐Ÿ“š Usage

Once the library is installed, you can import it in your projects and start using the modules:

from opensourceleg.actuators.dephy import DephyActuator
from opensourceleg.sensors.encoder import AS5048B
...

For more details on available modules, tutorials, and examples, please refer to the documentation.

Repography logo / Community Activity Time period

Timeline graph Issue status graph Pull request status graph Top contributors Trending topics Activity map

Contributors โœจ

Thanks to all the wonderful people who have contributed to the project!

Senthur Ayyappan
Senthur Ayyappan

๐Ÿš‡ ๐Ÿ›ก๏ธ ๐Ÿšง ๐Ÿ’ป
tkevinbest
tkevinbest

๐Ÿ› โš ๏ธ ๐Ÿ’ก ๐Ÿ’ป
jderosia
jderosia

๐Ÿ“– โš ๏ธ ๐Ÿ’ก ๐Ÿ’ป
Yuanshao Yang
Yuanshao Yang

โš ๏ธ ๐Ÿ› ๐Ÿ“– ๐Ÿ’ป
shreyhas
shreyhas

๐Ÿ“– โš ๏ธ ๐Ÿ’ก
jkotar3
jkotar3

โš ๏ธ ๐Ÿ› ๐Ÿ’ป
esharnow
esharnow

โš ๏ธ ๐Ÿ› ๐Ÿ“–
Japman Gill
Japman Gill

โš ๏ธ ๐Ÿ› ๐Ÿ’ป
unshrawal
unshrawal

๐Ÿ› ๐Ÿ’ป
anujtaosf
anujtaosf

๐Ÿ“– ๐Ÿ’ก
Varun Satyadev Shetty
Varun Satyadev Shetty

๐Ÿ“– ๐Ÿ’ก
Katharine-Walters
Katharine-Walters

๐Ÿ›
zachbons
zachbons

๐Ÿ›
Anushka
Anushka

๐Ÿ›
Nundini Rawal
Nundini Rawal

๐Ÿ›
matteo-crotti
matteo-crotti

๐Ÿ›
Jiarui Gu
Jiarui Gu

๐Ÿ“–
Pranav G
Pranav G

๐Ÿ“– ๐Ÿ’ป

Contributions of any kind are welcome! For more details, read our contribution guidelines.

๐Ÿ“ License

The opensourceleg library is licensed under the terms of the LGPL-v2.1 license. This license grants users a number of freedoms:

  • You are free to use the opensourceleg library for any purpose.
  • You are free to modify the opensourceleg library to suit your needs.
  • You can study how the opensourceleg library works and change it.
  • You can distribute modified versions of the opensourceleg library.

The LGPL license ensures that all these freedoms are protected, now and in the future, requiring everyone to share their modifications when they also share the library in public.

๐Ÿ› Issues

Found a bug or have a suggestion? Please open an issue.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opensourceleg-3.3.0.tar.gz (134.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opensourceleg-3.3.0-py3-none-any.whl (153.5 kB view details)

Uploaded Python 3

File details

Details for the file opensourceleg-3.3.0.tar.gz.

File metadata

  • Download URL: opensourceleg-3.3.0.tar.gz
  • Upload date:
  • Size: 134.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.2

File hashes

Hashes for opensourceleg-3.3.0.tar.gz
Algorithm Hash digest
SHA256 1ebb63b30b4e0f008463d69f640f692a9e59a1aaa76eef62ac12b26018ec813f
MD5 8c18eaba24baecd0c8b63b1715833db7
BLAKE2b-256 82a3532759700f1e30e7970ed4d02ca1f0380f63027b12271de7643c72056721

See more details on using hashes here.

File details

Details for the file opensourceleg-3.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for opensourceleg-3.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 544c1767e24ce69ce593339e70a8f8ca42bc3eca7d5f2eda3475ac9ac1c6e829
MD5 cc2899a63ac9007c59cec0957cc4d4d2
BLAKE2b-256 bd3ecb12fbcdb7321155fd6b4f6b75bc5a30fa3dfff814cf4c209ca86b3af07e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page