Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
翻訳待ち
Create, manipulate and convert representations of position and orientation in 2D or 3D using Python
翻訳待ち
開発ツールPythonGitHub @rai-opensource自分でインストール所有者未確認
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Spatial mathematics capability underpins all of robotics and robotic vision where we need to describe the position, orientation or pose of objects in 2D or 3D spaces.
The package provides classes to represent pose and orientation in 3D and 2D space:
| Represents | in 3D | in 2D |
|---|---|---|
| pose | SE3 Twist3 UnitDualQuaternion | SE2 Twist2 |
| orientation | SO3 UnitQuaternion | SO2 |
More specifically:
SE3 matrices belonging to the group $\mathbf{SE}(3)$ for position and orientation (pose) in 3-dimensionsSO3 matrices belonging to the group $\mathbf{SO}(3)$ for orientation in 3-dimensionsUnitQuaternion belonging to the group $\mathbf{S}^3$ for orientation in 3-dimensionsTwist3 vectors belonging to the group $\mathbf{se}(3)$ for pose in 3-dimensionsUnitDualQuaternion maps to the group $\mathbf{SE}(3)$ for position and orientation (pose) in 3-dimensionsSE2 matrices belonging to the group $\mathbf{SE}(2)$ for position and orientation (pose) in 2-dimensionsSO2 matrices belonging to the group $\mathbf{SO}(2)$ for orientation in 2-dimensionsTwist2 vectors belonging to the group $\mathbf{se}(2)$ for pose in 2-dimensionsThese classes provide convenience and type safety, as well as methods and overloaded operators to support:
* operator* operator** operatorThese are layered over a set of base functions that perform many of the same operations but represent data explicitly in terms of numpy arrays.
The class, method and functions names largely mirror those of the MATLAB toolboxes, and the semantics are quite similar.
Check out our ICRA 2021 paper on IEEE Xplore or get the PDF from Peter's website. This describes the Robotics Toolbox for Python as well as Spatial Maths.
If the toolbox helped you in your research, please cite
@inproceedings{rtb,
title={Not your grandmother’s toolbox--the Robotics Toolbox reinvented for Python},
author={Corke, Peter and Haviland, Jesse},
booktitle={2021 IEEE International Conference on Robotics and Automation (ICRA)},
pages={11357--11363},
year={2021},
organization={IEEE}
}
If you are using the Toolbox in your open source code, feel free to add our badge to your readme!
Simply copy the following
[](https://github.com/rai-opensource/spatialmath-python)
Install a snapshot from PyPI
pip install spatialmath-python
Note that if you are using ROS2, you may run into version conflicts when using rosdep, particularly
concerning matplotlib. If this happens, you can enable optional version pinning with
pip install spatialmath-python[ros-humble]
Install the current code base from GitHub and pip install a link to that cloned copy
git clone https://github.com/rai-opensource/spatialmath-python.git
cd spatialmath-python
pip install -e .
# Optional: if you would like to contribute and commit code changes to the repository,
# install the development tools (including pre-commit) and set up the git hooks
# pip install -e .[dev]
# pre-commit install
numpy, scipy, matplotlib, ffmpeg (if rendering animations as a movie)
These classes abstract the low-level numpy arrays into objects that obey the rules associated with the mathematical groups SO(2), SE(2), SO(3), SE(3) as well as twists and quaternions.
This is the beginning of the README. Read the rest at the original. Read the full README ↗