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
commitizenCLI - 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.mdand the Code of Conduct for how to contribute to the project
- Please review the
Makefilefor an overview of all available tests - The most important tests and
makecommands are highlighted below:
# auto-format code
make format
# perform all static tests
make lint
# run all python tests
make test- This repo uses
semantic-releasesto generate releases and release notes automatically from commits- A
PERSONAL_TOKENActions secret from a Personal Token with apublic_reposcope is needed for CI releases
- A
Icons made by Pixel perfect from www.flaticon.com
