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.2.1.tar.gz (140.0 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.2.1-py3-none-any.whl (153.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: opensourceleg-3.2.1.tar.gz
  • Upload date:
  • Size: 140.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/6.8.0-64-generic

File hashes

Hashes for opensourceleg-3.2.1.tar.gz
Algorithm Hash digest
SHA256 31c4a5c00d32e7f4cf3b7e2f401f9aea8fc13ef0b6266e5210a190140f037f5b
MD5 b7a88bcb7defd89323fde117722faffa
BLAKE2b-256 9917380c4c5cd780995d10cfc3314a9e365f1b0f964544fc35e4c064227c9f51

See more details on using hashes here.

File details

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

File metadata

  • Download URL: opensourceleg-3.2.1-py3-none-any.whl
  • Upload date:
  • Size: 153.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/6.8.0-64-generic

File hashes

Hashes for opensourceleg-3.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 abaab0bd2f19f444d7ae830637c4ef93035852bfcd99fb68efa58980824e9cba
MD5 493e2528811fe58dc9fc1768eebad656
BLAKE2b-256 d88829d12764d46aed5e7644665ecc160c335ba9953d83351efa1a5769f64670

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