Robot Behavior
robot_behavior 是 Roplat 驱动体系的行为契约 crate。它定义“机器人应该暴露什么能力”,而不是直接实现某一个硬件驱动。
当前实现已经从旧的运行时 MotionType / ControlType 枚举,切换为类型级空间模型:
Robot管生命周期和基础状态读取。Joints<N>/EndPoint管模型级限位。MotionSpace/MoveTo/MoveTraj管预规划运动。ControlSpace/RealtimeControl管闭包式实时控制。Pose、DhParam、ArmKineCache、IKMethod管几何和运动学。utils提供限位、插值、COPP 轨迹规划、PID/阻抗控制等辅助工具。
use robot_behavior::{JointSpace, Motion, MoveTo, RobotResult};
fn home<R>(robot: &mut R) -> RobotResult<()>
where
R: MoveTo<JointSpace<6>>,
{
robot.move_to::<JointSpace<6>>([0.0; 6])
}
阅读路径
- 总览:了解 crate 的职责边界。
- 安装与特性:确认 nightly、feature 和 workspace 用法。
- 使用驱动:从用户角度调用统一运动/控制接口。
- 实现驱动:从驱动作者角度实现 trait。
- 能力模型:理解 trait 分层。
- 运动与控制:理解类型级空间。
- 几何与运动学:理解
Pose、DH、FK/IK 与轨迹规划。 - API 映射:按源码模块查找公共项。
- 生态与状态:了解相关驱动、仿真器和当前状态。
当前边界
核心 Rust API 是当前主线。ffi / to_py / to_cxx / to_c 是可选门控,部分适配层仍处于迁移期;写新驱动时优先实现 Rust trait,再按需要补外语绑定。