Documentation

Crate map

Eleven crates in the repose workspace, plus bridges in repose-bridges. Depend on the repose umbrella for everything, or on single crates — both are normal.

The crates

repose
umbrella
Re-exports every crate below as modules (repose::kinematics, repose::collision, …) and hosts the planner registry, repose::planners. Feature mujoco-sim adds the MuJoCo bridge. Integration →
repose-kinematics
lib / task
CuKinematicChain<N>: FK, space/body Jacobians, DLS and differential IK, servoing; FK/IK/servo tasks; CuJointStatePayload<N>. Ships the igus ReBeL chain preset. Kinematics →
repose-collision
lib / task
Sphere/capsule models, exact signed distances, CuPlanningScene, self- and environment-collision checks, collision-check task. Collision →
repose-robot-description
startup lib
URDF serial-chain extraction + SRDF groups, exclusions and named states → fixed-size chain and collision model. std-only parsing, at startup. Robot description →
repose-robot-interface
lib
The bridge contract: standard channels, CuSessionCommand/CuSessionState, and the shared CuSessionTracker session rules. No tasks. Robot interface →
repose-trajectory
lib / task
Fixed-capacity trajectories, timing profiles, interpolation, TCP-zone Cartesian blending, and the follower task. Trajectory →
repose-motion-planning
lib / task
The CuJointPlanner trait, request/path payloads, the generic anytime planner task, goal and plan-to-trajectory tasks, and six built-in planners. Motion planning →
repose-joint-rrt-star
task
Informed RRT* implementing CuJointPlanner, with rewiring and shortcutting; separate crate so its tree storage only ships when used. Motion planning →
repose-controller
task
CuControllerTask: position/velocity/effort commands, tracking watchdog, stale-state watchdog, command rate limiting. Emits CuJointCommandPayload<N>. Controller & IO →
repose-io
task
Digital input/output payloads and CuGripperTask: a gripper as RON config over a bridge's IO channels. Controller & IO →
repose-mujoco-sim
bridge
CuMujocoSimBridge to an external MuJoCo sidecar over TCP. std-only, fixed 6-DOF in v1, behind the umbrella's mujoco-sim feature. Simulation →

Bridges (separate repository)

repose-igus-criigus ReBeL over CRI/TCP. Session and motion are behind the control feature plus allow_control/allow_motion config gates; check the crate README for the supported command modes before wiring motion.
repose-urUniversal Robots e-Series and URSim over RTDE + dashboard + secondary interfaces. Same feature/config gating. Verified on URSim; physical UR hardware not yet verified.
robot-app templateNot a crate: the cargo generate template that produces the quickstart project, with the generic step runner both bridges share.

How they compose

Dependencies point one way: kinematics ← collision ← planning ← trajectory timing, with the controller and IO at the execution edge and the robot interface underneath every bridge. You can take any prefix of that stack — FK alone, FK + collision for a checker, or the whole loop — and the RON type names stay the component crates' own, umbrella or not.