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.

Note: Starting from version opensourceleg 3.3.0, only Python 3.10 and above are supported. If you need compatibility with Python 3.9, please install opensourceleg 3.2.1:

pip install opensourceleg==3.2.1

๐ŸŽฏ 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.4.1.tar.gz (139.8 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.4.1-py3-none-any.whl (159.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for opensourceleg-3.4.1.tar.gz
Algorithm Hash digest
SHA256 e60163374224cd155bdaf96a55fec0e63bb41dadf25df2db270eaf7cdf42aed9
MD5 280ade6bd4e32b65e63418e1e6aac2c3
BLAKE2b-256 425f381e950ad8d2026766216d9a32da8267164cf9c9c03429bec51acfb28e18

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for opensourceleg-3.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f1bcf4590eaf4c19e9b3530e7d8c4b8a1a7b0add34978e608acaa19975f50383
MD5 1ef841f69c2550ba65c082055a3a75cb
BLAKE2b-256 5a2c54edb6590812a2c780fac51824c049b315201d281ed9b8d045a40ebbb0ba

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