a package that makes simulating robots on python more like matlab
Project description
pybotron
Welcome to pybotron! Yet another Python robotics library.
But this one is different! It was built around one idea:
How to make coding animations in Python as fast as MATLAB
So you can test your algorithms in an isolated environment without the complexity and setup time of things like ROS, while also leveraging the power of Python's libraries and creating a code that can be directly plugged into ROS.
Features
Custom classes with animation friendly methods, including:
- SimpleRobot: a minimal robot class that allows you to create the wireframe of a revolute joint robot. With convenient functionalities such as calculating the Jacobian and plotting. Includes a UR3e subclass as an example.
- Camera: a minimal class that allows for simulating the projection behavior of a camera to test image-based visual servoing methods.
- PluckerLine: with convenient methods for constructing and transforming.
- Quaternion: with extremely convenient and short operations syntax.
- DualQuaternion: with extremely convenient and short operations syntax, as well as methods for change of form
Mathematical functions (mainly linear algebra) that should have had a simple one-word function in some famous package (but they don't... ) including:
- Skew symmetric matrix (axiator) of a vector
- Rodrigues formula
- Adjoint transform of a matrix
- Vector to Matrix form of a twist and vice-versa
- Image Jacobian (Interaction matrix)
And much much more!
NEW: pybotron now has a line's interaction matrix!
Examples
The package includes a handful of demos under the /examples folder.
I will be working on and off on a more thorough documentation. Feel free to dig into the code since it's really simple.
Installation
From PyPI
pip install pybotron
From source
Position yourself in the folder where you want to clone the repo and do:
git clone https://github.com/higifnr/pybotron.git
Then do:
pip install ./pybotron
Enjoy.
Roadmap
- Better documentation
- ROS1/2 implementation (this would be EXTREMELY convenient)
- Universal functions that work on all entities
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pybotron-1.2.1.tar.gz.
File metadata
- Download URL: pybotron-1.2.1.tar.gz
- Upload date:
- Size: 21.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf4715f3e9d3af1e024e77457c8453bbb3b79325eb0340964ee239628611540d
|
|
| MD5 |
af968c4d30f9754154abd020787d24cb
|
|
| BLAKE2b-256 |
6b825cbb8742f1475d4b6047d4aeb583909b5fcf4362a661e0c2d04b16a752ef
|
File details
Details for the file pybotron-1.2.1-py3-none-any.whl.
File metadata
- Download URL: pybotron-1.2.1-py3-none-any.whl
- Upload date:
- Size: 20.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c92e1ac8776e3958e6fa29ed4cbf69e3a782da37ea387d1decdbb8da7901acf
|
|
| MD5 |
442301396d9723f3da3302f87fa97177
|
|
| BLAKE2b-256 |
507fb1c2992f70fb1fcb80a001f115f3fabfdbed4547a3ea12203b493958e36e
|