Home

Awesome

Pybotics

Robot arm logo

The Python Toolbox for Robotics

ItemBadges
RepoGitHub issues GitHub forks GitHub stars GitHub repo size
ReleasesGitHub tag PyPI Version PyPI Wheel PyPI Format semantic-release semantic-release: angular PyPI - Downloads
CompatibilityPyPI Pythons PyPI Implementation
WorkflowsTest Release Publish
DocumentationDocumentation Status
CitationsDOI DOI
LicensePyPI License
SocialTwitter Follow Twitter

Contents

Overview

Pybotics is an open-source Python toolbox for robot kinematics and calibration. It was designed to provide a simple, clear, and concise interface to quickly simulate and evaluate common robot concepts, such as kinematics, dynamics, trajectory generations, and calibration. The toolbox is specifically designed for use with the Modified Denavit–Hartenberg parameters convention.

Usage

Documentation

Please visit https://pybotics.readthedocs.io/

Installation

# python3 is mapped to pip or inside a venv
pip install pybotics

# python3-pip
pip3 install pybotics

# https://github.com/pypa/pipenv
pipenv install pybotics

# https://github.com/sdispater/poetry
poetry add pybotics

Applications & Examples

Featured In

Citing

Please cite the following articles if you use pybotics in your research:

Nadeau, (2019). Pybotics: Python Toolbox for Robotics. Journal of Open Source Software, 4(41), 1738, https://doi.org/10.21105/joss.01738

@article{nadeau2019pybotics,
  doi = {10.21105/joss.01738},
  url = {https://doi.org/10.21105/joss.01738},
  year = {2019},
  month = sep,
  publisher = {The Open Journal},
  volume = {4},
  number = {41},
  pages = {1738},
  author = {Nicholas Nadeau},
  title = {Pybotics: Python Toolbox for Robotics},
  journal = {Journal of Open Source Software}
}

Nadeau, Nicholas A., Ilian A. Bonev, and Ahmed Joubair. "Impedance Control Self-Calibration of a Collaborative Robot Using Kinematic Coupling." Robotics 8.2 (2019): 33.

@article{nadeau2019impedance,
  title={Impedance Control Self-Calibration of a Collaborative Robot Using Kinematic Coupling},
  volume={8},
  ISSN={2218-6581},
  url={http://dx.doi.org/10.3390/robotics8020033},
  DOI={10.3390/robotics8020033},
  number={2},
  journal={Robotics},
  publisher={MDPI AG},
  author={Nadeau, Nicholas A. and Bonev, Ilian A. and Joubair, Ahmed},
  year={2019},
  month={Apr},
  pages={33}
}

Development and Community Guidelines

Local Development

poetry install

Docker Development

# launch container attached to current directory
docker run -v $(pwd):/$(basename $(pwd)) -w /$(basename $(pwd)) -it python:3 bash

# install deps
pip install poetry
poetry install

# run tests
make test

Commits

ChangeCommit Type
Bumped dependency versionbuild
Bumped Python requirementfeat

Dependency Management

# refresh lock file
poetry lock --no-update

Submit an Issue

Contributing

Testing

# auto-format code
make format

# perform all static tests
make lint

# run all python tests
make test

GitHub Actions


Icons made by <a href="https://icon54.com/" title="Pixel perfect">Pixel perfect</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a>