Skip to main content

copp\robot/
mod.rs

1//! Robot namespace for model abstractions and demo models.
2//!
3//! # Method identity
4//! This module groups:
5//! - core robot traits/wrappers in [`Robot`], [`RobotBasic`], [`RobotTorque`],
6//! - lightweight demo/reference robot models in `demo`.
7//!
8//! # Usage guidance
9//! - For most users, prefer [`Robot`] as the primary entry instead of operating
10//!   on [`Constraints`](crate::constraints::Constraints) directly. `Robot`
11//!   enables physically meaningful high-level constraint APIs.
12//! - `Topp*Problem` workflows can use any model implementing [`RobotBasic`].
13//! - `Copp*Problem` workflows require models implementing [`RobotTorque`].
14//! - If your workflow does not need real dynamics but still expects a
15//!   [`RobotTorque`] implementation, use `usize` as a trivial placeholder
16//!   model (`tau = ddq`).
17//! - For real systems, implement [`RobotTorque`]
18//!   yourself with your inverse-dynamics model.
19//! - Advanced users who need full manual control can still operate directly on
20//!   [`Constraints`](crate::constraints::Constraints).
21//!
22//! # Export policy
23//! - Re-export all public symbols from `robot_core` as primary robot API surface.
24
25pub(crate) mod demo;
26pub(crate) mod robot_core;
27
28pub use robot_core::*;