cartesian-tree
cartesian-tree is a library for managing and transforming poses in a tree-structured hierarchy of 3D coordinate frames in rust as well as python.
Key ideas
- Tree Structure: Frames form a tree where each frame defines its position and orientation relative to a parent frame.
- Poses and Transformations: A Pose represents a position + orientation in a frame. Easily transform poses between frames of the same tree.
- Unified Rotations: Supports quaternions and roll-pitch-yaw (RPY) interchangeably.
- Lazy Operations: Quick adjustments like translations (
+ x(1.0)) or rotations (* rz(PI/4)).
Installation
The project can be found on crates.io and pypi.org
Usage
Rust:
use ;
use ;
Python:
# Create root frame
=
# Add a child frame
=
# Create a pose in the world frame
=
# Transform the pose to the child frame
=