dynamics_spatial/lib.rs
1//! This crate is part of the `dynamics` ecosystem, and is not intended for direct use.
2//!
3//! ## Overview
4//! This crate provides spatial algebra utilities for rigid body dynamics.
5//! It implements 6-dimensional vectors, encoding both rotational and translational components,
6//! as well as spatial transformations and operations.
7//!
8//! ## Spatial algebra
9//! Most computations of the main algorithms of `dynamics` (e.g. forward kinematics, inverse dynamics) are performed using spatial algebra.
10//! Spatial vectors are 6-dimensional vectors that encode both rotational and translational components of motion or force,
11//! making both equations and implementations more compact and efficient.
12//!
13//! ## Core types
14//! The core types provided by this crate are:
15//! - [`motion::SpatialMotion`]: represents spatial motion vectors (angular and linear velocity).
16//! - [`force::SpatialForce`]: represents spatial force vectors (torque and force).
17//! - [`se3::SE3`]: represents spatial transformations (rotation and translation), that is elements of the $\text{SE}(3)$ group.
18//! - [`so3::SO3`]: represents 3D rotations, that is elements of the $\text{SO}(3)$ group.
19//! - [`symmetric3::Symmetric3`]: represents symmetric 3x3 matrices, used for inertia tensors.
20//!
21//! The following types are also provided for convenience:
22//! - [`vector3d::Vector3D`]: represents 3D vectors, used for underlying representations of motion and force vectors.
23//! - [`vector6d::Vector6D`]: represents 6D vectors, used for underlying representations of spatial motion and force vectors.
24
25pub mod color;
26pub mod configuration;
27pub mod force;
28pub mod inertia;
29pub mod jacobian;
30pub mod motion;
31pub mod se3;
32pub mod so3;
33pub mod symmetric3;
34pub mod vector3d;
35pub mod vector6d;
36
37#[cfg(feature = "python")]
38pub mod py_configuration;
39#[cfg(feature = "python")]
40pub mod py_force;
41#[cfg(feature = "python")]
42pub mod py_jacobian;
43#[cfg(feature = "python")]
44pub mod py_motion;
45#[cfg(feature = "python")]
46pub mod py_se3;
47#[cfg(feature = "python")]
48pub mod py_symmetric3;
49#[cfg(feature = "python")]
50pub mod py_vector3d;
51#[cfg(feature = "python")]
52pub mod py_vector6d;