A tour of every public module — the robotics and control layer (estimation, control, kinematics, motion, spatial) and the calculus, autodiff, and linear-algebra core it is built on: what each does, where to start, a snippet you can run, the errors it can return, and a link to a full demo. Read the pages in order if you are new to the crate, or open a single one once you know your way around.
Every operation is generic over the Numeric scalar
trait, which is implemented for f32 and f64 and defaults to f64. The math functions come
from libm, so the crate works without std. Methods like f64::sin need std; in a
no_std crate, call the libm version instead (libm::sin(x) in place of x.sin()). The
crate re-exports libm as multicalc::libm.
Every fallible call returns a Result, and the error is the module family's own enum; see
Error handling.
- Importing
- Scalars and automatic differentiation
- Derivatives, Jacobians, and Hessians
- Integration
- Gaussian quadrature tables
- Taylor approximation
- Linear algebra
- Least-squares optimization
- Root finding
- Polynomials
- Vector calculus
- ODE integrators
- Discretization
- Signal processing
- Spatial: quaternions and Lie groups
- Rigid-body dynamics
- Plant
- Kinematics
- Control
- Motion
- Mapping
- Planning
- MLP inference
- Estimation
- Random
- Error handling
- Internals