The Python Toolbox for Robotics
Item | Badges |
---|---|
Repo | |
Releases | |
Compatibility | |
Workflows | |
Documentation | |
Citations | |
License | |
Social |
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.
Please visit https://pybotics.readthedocs.io/
# 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
- Impedance Control Self-Calibration of a Collaborative Robot Using Kinematic Coupling
- PyCon Canada 2017
- Montreal-Python 2017
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}
}
- Use poetry to install the dev virtual environment:
poetry install
- Docker is a great tool to test the package in an isolated environment
- It is especially useful for debugging issues between python versions
# 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
- The repo abides by SemVer,
semantic-release
, and Angular commit message syntax - It is highly recommended to use the
commitizen
CLI - See commit examples below:
Change | Commit Type |
---|---|
Bumped dependency version | build |
Bumped Python requirement | feat |
# refresh lock file
poetry lock --no-update
- Navigate to the repository's issue tab
- Search for related existing issues
- If necessary, create a new issue using the provided templates
- Please see
CONTRIBUTING.md
and the Code of Conduct for how to contribute to the project
- Please review the
Makefile
for an overview of all available tests - The most important tests and
make
commands are highlighted below:
# auto-format code
make format
# perform all static tests
make lint
# run all python tests
make test
- This repo uses
semantic-releases
to generate releases and release notes automatically from commits- A
PERSONAL_TOKEN
Actions secret from a Personal Token with apublic_repo
scope is needed for CI releases
- A
Icons made by Pixel perfect from www.flaticon.com