rational-linkages

Rational Linkages

https://github.com/hucik14/rational-linkages

Science Score: 67.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 9 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Rational Linkages

Basic Info
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 4
Created 12 months ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Citation

README.md

GitHub Mirror GitLab (self-managed) PyPI version DOI

build Documentation Status GitHub issues coverage maintenance-status Binder

Rational Linkages

This Python-based package provides a collection of methods for the synthesis, analysis, design, and rapid prototyping of the single-loop rational linkages, allowing one to create 3D-printable collision-free mechanisms synthesised for a given task (set of poses).

The package is developed as a part of the research project at the Unit of Geometry and Surveying, University of Innsbruck, Austria.

Documentation, tutorials, issues

Rational Linkages Documentation is hosted on Read the Docs, and provides a comprehensive overview of the package with examples and tutorials.

Since the self-hosted repository (Gitlab, University of Innsbruck) does not allow external users to create issues, please, use the package mirror hosted on GitHub for submitting issues and feature requests. Additionally, you can "watch/star" the issue tracker package to get notified about the updates (new releases will be also announced there).

You can test live-example of Jupyter notebook using Binder, by clicking on the following badge: Binder

In case of other questions or contributions, please, email the author at: daniel.huczala@uibk.ac.at

STL files of some mechanisms may be found as models on Printables.com.

The results may look like this Bennett manipulator made by our collaborators from the Department of Robotics, VSB -- Technical University of Ostrava. See full video on Youtube.

Bennett mechanism in motion

Intallation instuctions

Recommended Python version is 3.11, when it provides the smoothest plotting (but 3.10 or higher are supported). Python 3.11 is also the version used for development.

Install from PyPI

Using pip:

pip install rational-linkages

or

pip install rational-linkages[opt]

Mac users might need to use backslashes to escape the brackets, e.g.:

pip install rational-linkages\[opt\]

for installing also optional dependencies (ipython - inline plotting, gmpy2 - faster symbolic computations, exudyn - multibody simulations, numpy-stl - work with meshes in exudyn).

Install from source

  1. Clone the repository (use preferably your client, or clone with the button on top of this page or using the following line)

    git clone https://git.uibk.ac.at/geometrie-vermessung/rational-linkages.git

  2. Navigate to the repository folder

    cd rational-linkages

  3. Install the editable version of the package using pip:

    pip install -e .[opt]

or

pip install -e .[opt,dev,doc] including the development and documentation dependencies.

Mac or Linux users might need to use backslashes to escape the brackets, e.g.:

pip install -e .\[opt\]

Additionally, on Linux systems, some additional libraries are required for plotting with PyQt6. For example, on Ubuntu, it can be installed as follows:

sudo apt install libgl1-mesa-glx libxkbcommon-x11-0 libegl1 libdbus-1-3

or on Ubuntu 24.04 and higher:

sudo apt install libgl1 libxkbcommon-x11-0 libegl1 libdbus-1-3

To run the Rust functions, you need to install the Rust toolchain and build the Rust code yourself, for example:

cargo build --release

Citing the package

For additional information, see our preprint paper, and in the case of usage, please, cite it:

Huczala, D., Siegele, J., Thimm, D.A., Pfurner, M., Schröcker, HP. (2024). Rational Linkages: From Poses to 3D-Printed Prototypes. In: Lenarčič, J., Husty, M. (eds) Advances in Robot Kinematics 2024. ARK 2024. Springer Proceedings in Advanced Robotics, vol 31. Springer, Cham. DOI: 10.1007/978-3-031-64057-5_27.

bibtex @inproceedings{huczala2024linkages, title={Rational Linkages: From Poses to 3D-printed Prototypes}, author={Daniel Huczala and Johannes Siegele and Daren A. Thimm and Martin Pfurner and Hans-Peter Schröcker}, year={2024}, booktitle={Advances in Robot Kinematics 2024. ARK 2024}, publisher={Springer International Publishing}, url={https://doi.org/10.1007/978-3-031-64057-5_27}, doi={10.1007/978-3-031-64057-5_27}, }

Preprint of the paper

On arXiv:2403.00558: https://arxiv.org/abs/2403.00558.

Acknowledgements

Funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Research Executive Agency (REA). Neither the European Union nor the granting authority can be held responsible for them.

Owner

  • Name: daniel
  • Login: hucik14
  • Kind: user
  • Company: Department of Robotics, VSB-TUO

Citation (citation.cff)

@inproceedings{huczala2024linkages,
    title={Rational Linkages: From Poses to 3D-printed Prototypes},
    author={Daniel Huczala and Johannes Siegele and Daren A. Thimm and Martin Pfurner and Hans-Peter Schröcker},
    year={2024},
    booktitle={Advances in Robot Kinematics 2024. ARK 2024},
    publisher={Springer International Publishing},
    url={https://doi.org/10.1007/978-3-031-64057-5_27},
    doi={10.1007/978-3-031-64057-5_27},
}

GitHub Events

Total
  • Create event: 28
  • Issues event: 5
  • Release event: 2
  • Watch event: 4
  • Delete event: 13
  • Member event: 1
  • Issue comment event: 2
  • Push event: 109
Last Year
  • Create event: 28
  • Issues event: 5
  • Release event: 2
  • Watch event: 4
  • Delete event: 13
  • Member event: 1
  • Issue comment event: 2
  • Push event: 109

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 4
  • Total pull requests: 0
  • Average time to close issues: 6 days
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 0
  • Average time to close issues: 6 days
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • hucik14 (4)
Pull Request Authors
Top Labels
Issue Labels
bug (2) enhancement (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 1,225 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 26
  • Total maintainers: 1
pypi.org: rational-linkages

Rational Linkages

  • Versions: 26
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1,225 Last month
Rankings
Dependent packages count: 10.0%
Average: 38.2%
Dependent repos count: 66.3%
Maintainers (1)
Last synced: 6 months ago

Dependencies

pyproject.toml pypi
  • PyQt5 >= 5.15.10
  • biquaternion-py >= 1.2.0
  • matplotlib >= 3.7.0
  • scipy >= 1.10.0
  • sympy >= 1.10.0