Pybotics

Pybotics: Python Toolbox for Robotics - Published in JOSS (2019)

https://github.com/engnadeau/pybotics

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 12 DOI reference(s) in README
  • Academic publication links
    Links to: mdpi.com, joss.theoj.org, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.9%) to scientific vocabulary

Keywords

calibration doi dynamics hacktoberfest impedance-control inverse-kinematics kinematics math mathematics numpy pypi python python-toolbox research robot robotics scipy trajectory

Keywords from Contributors

simulator metaheuristics chemistry dynamic-analysis electrochemistry fuel-cell opem pem physics physics-simulation

Scientific Fields

Mathematics Computer Science - 84% confidence
Artificial Intelligence and Machine Learning Computer Science - 83% confidence
Last synced: 4 months ago · JSON representation

Repository

The Python Toolbox for Robotics

Basic Info
Statistics
  • Stars: 349
  • Watchers: 14
  • Forks: 63
  • Open Issues: 33
  • Releases: 26
Archived
Topics
calibration doi dynamics hacktoberfest impedance-control inverse-kinematics kinematics math mathematics numpy pypi python python-toolbox research robot robotics scipy trajectory
Created over 9 years ago · Last pushed about 1 year ago
Metadata Files
Readme Contributing Funding License Code of conduct Codeowners Security

README.md

Pybotics

Robot arm logo

The Python Toolbox for Robotics

| Item | Badges | | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Repo | GitHub issues GitHub forks GitHub stars GitHub repo size | | Releases | GitHub tag PyPI Version PyPI Wheel PyPI Format semantic-release semantic-release: angular PyPI - Downloads | | Compatibility | PyPI Pythons PyPI Implementation | | Workflows | Test Release Publish | | Documentation | Documentation Status | | Citations | DOI DOI | | License | PyPI License | | Social | Twitter 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

```bash

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

  • Use poetry to install the dev virtual environment:

bash poetry install

Docker Development

  • Docker is a great tool to test the package in an isolated environment
  • It is especially useful for debugging issues between python versions

```bash

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

| Change | Commit Type | | ------------------------- | ----------- | | Bumped dependency version | build | | Bumped Python requirement | feat |

Dependency Management

```bash

refresh lock file

poetry lock --no-update ```

Submit an Issue

  • Navigate to the repository's issue tab
  • Search for related existing issues
  • If necessary, create a new issue using the provided templates

Contributing

Testing

  • Please review the Makefile for an overview of all available tests
  • The most important tests and make commands are highlighted below:

```bash

auto-format code

make format

perform all static tests

make lint

run all python tests

make test ```

GitHub Actions


Icons made by Pixel perfect from www.flaticon.com

Owner

  • Name: Nicholas Nadeau, Ph.D., P.Eng.
  • Login: engnadeau
  • Kind: user
  • Location: Canada
  • Company: @Onix-AI

Building Personal Intelligence

GitHub Events

Total
  • Watch event: 13
  • Fork event: 3
Last Year
  • Watch event: 13
  • Fork event: 3

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 1,411
  • Total Committers: 12
  • Avg Commits per committer: 117.583
  • Development Distribution Score (DDS): 0.676
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Nicholas Nadeau n****u@g****m 457
Nicholas Nadeau n****1@e****a 442
pyup-bot g****t@p****o 260
Nicholas Nadeau n****s@a****m 98
Nicholas Nadeau n****s@r****m 55
dependabot[bot] 4****] 38
renovate[bot] 2****] 37
Nicholas Nadeau n****s@o****l 11
requires.io s****t@r****o 10
Sean Alford s****d@i****m 1
Pablo p****7@g****m 1
Bas van Schaik g****b@s****t 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 27
  • Total pull requests: 114
  • Average time to close issues: 14 days
  • Average time to close pull requests: 10 days
  • Total issue authors: 5
  • Total pull request authors: 3
  • Average comments per issue: 0.33
  • Average comments per pull request: 0.55
  • Merged pull requests: 87
  • Bot issues: 1
  • Bot pull requests: 86
Past Year
  • Issues: 0
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 3
Top Authors
Issue Authors
  • engnadeau (23)
  • yagizyalcintas (1)
  • Jad-Tawil (1)
  • renovate[bot] (1)
  • niklasconbotics (1)
Pull Request Authors
  • renovate[bot] (56)
  • dependabot[bot] (53)
  • engnadeau (29)
Top Labels
Issue Labels
enhancement (17) bug (4) released (2) help wanted (1) good first issue (1)
Pull Request Labels
released (54) dependencies (53)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 245 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 26
  • Total maintainers: 1
pypi.org: pybotics

Python Toolbox for Robotics

  • Versions: 26
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 245 Last month
Rankings
Stargazers count: 3.6%
Forks count: 5.5%
Dependent packages count: 7.3%
Average: 11.8%
Downloads: 20.5%
Dependent repos count: 22.1%
Maintainers (1)
Last synced: 4 months ago

Dependencies

docs/requirements.txt pypi
  • attrs *
  • numpy *
  • scipy *
poetry.lock pypi
  • 129 dependencies
pyproject.toml pypi
  • black >=22.1 develop
  • coverage >=6 develop
  • flake8 >=4 develop
  • flake8-bugbear * develop
  • hypothesis >=6 develop
  • isort >=5.5 develop
  • matplotlib * develop
  • mccabe * develop
  • mypy >=0.960 develop
  • notebook * develop
  • pandas * develop
  • pep8-naming * develop
  • pydocstyle >=6 develop
  • pytest >=7 develop
  • pytest-cov * develop
  • pytest-randomly * develop
  • pytest-runner * develop
  • rope >=1 develop
  • scikit-learn * develop
  • sphinx * develop
  • sphinx-autobuild * develop
  • sphinx-rtd-theme * develop
  • sphinxcontrib-apidoc * develop
  • vulture >=2.0 develop
  • attrs >=19.0
  • numpy ^1.20
  • python ^3.7
  • scipy ^1
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/release.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
.github/workflows/test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite