Charlot Lab · EFA · SAPIEN → Rust

The physics, ported. Watch it push.

A manipulation simulator's control-relevant core — the articulated-body dynamics and the contact / friction solver — ported to pure Rust and verified to machine precision (energy conserved to RK4 order; restitution, Coulomb friction, momentum, and resting stability checked against analytic cases). This page runs the exact same contact physics in your browser: a real rotating cube — oriented-box↔circle contact, full 2D rigid-body dynamics, Coulomb linear-and-angular friction — pushed to a target across a table. Every future benchmark number the Lab reports rides on physics we can prove, not trust.

rotating cube — verified contact physics
controller: single-mode push-servo (the smooth demonstrator, 99% reach)

What you are watching. The gold cube is a rigid body (position, orientation, linear + angular velocity). The teal disc is a position-controlled pusher. When they touch, an impulse is resolved at the exact contact point — producing both a force (the cube slides) and a torque (an off-center push spins it, the cube-spin readout on the left), the same oriented-box↔circle contact the Rust engine was verified on. The gold ring is the target position; the controller keeps the pusher behind the cube on the cube→target line, so lateral drift self-corrects — a smooth demonstrator that distills to a 1-forward-pass EFA flow policy at 99% reach, ~36k FLOP/decision (≈758× cheaper than the CEM planner needed for a full pose target — that's PushT, the benchmark that forces the planning cost). Physics runs at the engine's dt=0.02; the numbers are live.