tpt-multibody-dynamics

Rust

Pure-Rust, from-scratch multibody dynamics workspace: Featherstone 6D spatial algebra, DH/PoE kinematics, holonomic/non-holonomic joint constraints, Craig-Bampton flexible bodies, and Hertzian contact mechanics. Deterministic, no_std-friendly, WASM-compatible — for robotics, vehicle, aerospace, and biomechanical simulation.

0 stars0 forks0 watchersApache License 2.0

Languages

Rust100.0%
README

tpt-multibody-dynamics

CI license: MIT OR Apache-2.0

Engineering-grade multibody dynamics (MBD) for robotics, vehicle dynamics, biomechanics, and mechanism simulation. Provides forward/inverse kinematics, holonomic/non-holonomic joint constraints, flexible body reduction via Craig-Bampton CMS, and contact mechanics (Hertzian contact, Coulomb friction, impact). All implementations are from scratch in pure Rust with no external multibody library dependencies, ensuring full numerical control, deterministic reproducibility, and WASM compatibility.

Crates

CratePurpose
tpt-mbd-coreSpatial vector algebra, frames, inertia, generalized coordinates (no_std-compatible)
tpt-mbd-kinematicsDH parameters, PoE, forward/inverse kinematics, Jacobians, singularity detection
tpt-mbd-jointsJoint types, constraint formulation, Baumgarte stabilization, friction
tpt-mbd-contactCollision detection (CCD, GJK/EPA), Hertzian contact, friction, impact
tpt-mbd-flexibleCraig-Bampton CMS, modal superposition, ANCF, Rayleigh damping
tpt-mbd-systemSystem assembly, recursive dynamics, time integration, actuators
tpt-mbdFeature-gated umbrella crate with builder pattern and unified error type

Build Order

  1. tpt-mbd-core
  2. tpt-mbd-kinematics
  3. tpt-mbd-joints
  4. tpt-mbd-contact
  5. tpt-mbd-flexible
  6. tpt-mbd-system
  7. tpt-mbd (umbrella)

Building

This workspace depends on the tpt-math and tpt-fem substrates, resolved as git dependencies:

git clone https://github.com/tpt-solutions/tpt-multibody-dynamics.git
cd tpt-multibody-dynamics
cargo build --workspace
cargo test --workspace
  • Edition: 2021.
  • MSRV: 1.85 (pinned via rust-version in [workspace.package]).
  • Toolchain: fixed by rust-toolchain.toml via rustup.
  • License: MIT OR Apache-2.0.

Status

Scaffolded from tpt-rust-map/template/. Build order and crate scope follow todo.md and spec.txt.

Dual-licensed under MIT or Apache-2.0 at your option.

Copyright (c) 2026 TPT Solutions.