Rigid Body Node#

Module: mime.nodes.robot.rigid_body Stability: experimental Algorithm ID: MIME-NODE-003 Version: 1.0.0 Verification Mode: Mode 2 (Independent)

Summary#

6-DOF rigid body dynamics in the overdamped Stokes regime. At Re << 1, inertia is negligible: velocity is instantaneously proportional to applied force. Position and quaternion orientation are integrated via explicit Euler.

Governing Equations#

Overdamped force balance (low Re): $$ \sum \mathbf{F} \approx \mathbf{0} \implies \mathbf{V} = \mathbf{R}T^{-1} \mathbf{F}{\text{ext}} $$ $$ \sum \mathbf{T} \approx \mathbf{0} \implies \boldsymbol{\omega} = \mathbf{R}R^{-1} \mathbf{T}{\text{ext}} $$

Prolate ellipsoid resistance (Oberbeck-Stechert): $$ f_x = 6a\pi\eta C_1 V_x, \quad f_y = 6a\pi\eta C_2 V_y, \quad M = 8ab^2\pi\eta C_3 \omega $$

Coefficients as functions of eccentricity $e = \sqrt{1 - b^2/a^2}$: $$ C_1 = \frac{8e^3/3}{\left[-2e + (1+e^2)\ln\left(\frac{1+e}{1-e}\right)\right]} $$

Quaternion integration: $$ \mathbf{q}_{n+1} = \text{normalize}\left(\Delta\mathbf{q}(\boldsymbol{\omega}, \Delta t) \cdot \mathbf{q}_n\right) $$

Discretization#

Explicit Euler for position ($\mathbf{x} += \mathbf{V} \Delta t$). Exact quaternion rotation for orientation (rotation quaternion from angular velocity, then Hamilton product).

Implementation Mapping#

Equation Term

Implementation

Notes

$\mathbf{V} = \mathbf{F}/R_T$

mime.nodes.robot.rigid_body.RigidBodyNode.update

Element-wise divide by resistance diagonal

$C_1, C_2, C_3$

mime.nodes.robot.rigid_body.oberbeck_stechert_coefficients

jnp.where guard for $e \to 0$

$\Delta\mathbf{q}$

mime.core.quaternion.quat_from_angular_velocity

Exact rotation quaternion

$\mathbf{q}$ normalisation

mime.core.quaternion.quat_normalize

q / jnp.linalg.norm(q)

Assumptions and Simplifications#

  1. Stokes regime: $Re \ll 1$, inertia negligible

  2. Rigid body — no deformation

  3. Prolate ellipsoid shape for analytical drag coefficients

  4. Resistance tensor diagonal in body frame (no translation-rotation coupling in current implementation — coupling via R_12 deferred to IB-LBM)

Validated Physical Regimes#

Parameter

Verified Range

Notes

Re

0–0.1

Stokes regime

semi_major_axis

1–1000 um

Microrobot size range

Known Limitations and Failure Modes#

  1. Analytical drag only valid for $Re < 0.1$

  2. No near-wall corrections (SurfaceContactNode needed)

  3. No translation-rotation coupling (R_12 block) in analytical mode

  4. Quaternion integration first-order (sufficient for overdamped dynamics)

State Variables#

Field

Shape

Units

Description

position

(3,)

m

Centre of mass position

orientation

(4,)

-

Unit quaternion [w,x,y,z]

velocity

(3,)

m/s

Translational velocity

angular_velocity

(3,)

rad/s

Angular velocity

Parameters#

Parameter

Type

Default

Units

Description

semi_major_axis_m

float

100e-6

m

Semi-major axis

semi_minor_axis_m

float

100e-6

m

Semi-minor axis (sphere if = a)

fluid_viscosity_pa_s

float

8.5e-4

Pa.s

CSF viscosity

use_analytical_drag

bool

True

-

Use Oberbeck-Stechert (vs. IB-LBM)

Boundary Inputs#

Field

Shape

Default

Coupling Type

Description

magnetic_force

(3,)

zeros

additive

From MagneticResponseNode

magnetic_torque

(3,)

zeros

additive

From MagneticResponseNode

drag_force

(3,)

zeros

additive

From CSFFlowNode (IB-LBM mode)

drag_torque

(3,)

zeros

additive

From CSFFlowNode (IB-LBM mode)

external_force

(3,)

zeros

additive

Gravity, contact, etc.

external_torque

(3,)

zeros

additive

Additional torques

MIME-Specific Sections#

Anatomical Operating Context#

Compartment

Flow Regime

Re Range

Viscosity Range

CSF

stagnant/pulsatile

0–0.1

0.7–1.0 mPa.s

Clinical Relevance#

The most fundamental node. Every microrobot simulation requires tracking position and orientation. All other physics (fluid coupling, drug delivery, sensing) reference the robot’s pose.

References#

  • [@Lighthill1976] Lighthill, J. (1976). Flagellar Hydrodynamics. — Resistance tensor theory for slender bodies.

  • [@Rodenborn2013] Rodenborn, B. et al. (2013). Propulsion of microorganisms by a helical flagellum. — Experimental validation data.

Verification Evidence#

  • MIME-VER-001: Stokes translational drag (< 5% error vs. analytical)

  • MIME-VER-004: Ellipsoid drag anisotropy

  • MIME-VER-005: Steady-state velocity consistency

  • Unit tests: tests/nodes/test_rigid_body.py (16 tests)

Changelog#

Version

Date

Change

1.0.0

2026-03-20

Initial implementation — analytical Oberbeck-Stechert drag