Skip to main content

Crate repose

Crate repose 

Source
Expand description

Repose: deterministic, real-time robot arm manipulation for copper-rs.

This umbrella crate re-exports every Repose component under one dependency, so an application needs a single line in Cargo.toml:

repose = { git = "https://github.com/ReposeRobotics/repose", tag = "v0.7.0" }
ModuleCrateProvides
kinematicsrepose-kinematicsSerial chains, FK, Jacobians, IK, servoing, joint-state payloads
collisionrepose-collisionCapsule/sphere robot models, planning scenes, collision checks
robot_descriptionrepose-robot-descriptionURDF/SRDF import into fixed-size models (std)
robot_interfacerepose-robot-interfaceVendor-neutral robot bridge contract: session commands, session state, CuSessionTracker
trajectoryrepose-trajectoryTrajectory timing, interpolation, following
motion_planningrepose-motion-planningPlanner contract, anytime planner task, built-in planners
rrt_starrepose-joint-rrt-starJoint-space RRT* planner
planners(this crate)The planner registry: planners::CuPlannerChoice (RON names) and planners::CuAnyPlanner
controllerrepose-controllerJoint controller with watchdog and rate limiting
iorepose-ioDigital IO payloads and an IO-driven gripper
mujoco_simrepose-mujoco-simMuJoCo simulator bridge (feature mujoco-sim)

Copper RON configs keep naming the component crates directly (type: "repose_trajectory::CuFollowTrajectoryTask<6, 1024>"); depend on them individually if you only need part of the stack.

Re-exports§

pub use repose_collision as collision;
pub use repose_controller as controller;
pub use repose_io as io;
pub use repose_joint_rrt_star as rrt_star;
pub use repose_kinematics as kinematics;
pub use repose_motion_planning as motion_planning;
pub use repose_robot_description as robot_description;
pub use repose_robot_interface as robot_interface;
pub use repose_trajectory as trajectory;

Modules§

planners
The one registry of Repose joint planners: CuPlannerChoice names every planner (its RON spelling) and CuAnyPlanner is a CuJointPlanner that runs whichever one is chosen, directly or inside CuJointPlannerTask<CuAnyPlanner<N>, N> with "params": "rrt_star". Adding a planner means implementing the trait and adding one line to the planners! list below; applications select it by name.