概览#
本流程将 RP1 的策略、机器人配置与设备连接成套核对,再依次完成启动、受限验证和结果记录。已完成训练的用户可从策略交接开始;使用外部策略时,也需要提供相同的接口定义和验证记录。
1. 准备环境与交付信息#
2. 接收策略与仿真产物#
3. 选择部署配置#
部署端从机器人目录加载 robot.yaml、策略 YAML 及模型、动作资源。先确定 <robot> 与 <policy>,再检查该组合引用的文件。
文件组织#
src/inference/robots/<robot>/
robot.yaml
configs/<policy>.yaml
models/
motions/
latents/将 <robot> 和 <policy> 替换为配置名。launch 根据这些参数解析模型、动作与 latent 路径。
当前资源覆盖#
| 配置 | 资源状态 | 使用边界 |
|---|---|---|
rp1_24dof/default |
仓库包含 policy.onnx 路径及相关数据文件 |
具体权重、外部数据关系和 I/O 仍须核对 |
rp1_24dof/beyondmimic |
策略与动作路径存在 | 绑定对应训练来源、配置与验收记录 |
rp1_24dof/ufo |
缺 FBcprAuxModel.onnx 和 latents/zs_66.npz |
资源不完整 |
rp1/default |
28 动作配置存在,缺 models/policy.onnx |
不是完整可启动策略 |
| 30/42 | 暂不可用 | 待补独立资源与映射 |
rp1_24dof/beyondmimic 的动作跟踪分支使用 126 维单帧输入、24 维动作及 dance1.npz;同一配置还列出 243 维默认速度策略。rp1/default 则为 28 动作、930 维历史输入。具体分支与导出文件的对应见策略路径。
4. 核对机器人与策略映射#
robot.yaml 需要核对的字段#
| 字段 | 核对内容 |
|---|---|
motor_id、motor_interface、motor_num |
实际总线、ID 与分组 |
motor_type、motor_model |
具体驱动与型号 |
motor_zero_offset、motor_sign |
交付个体的零位与方向 |
urdf2motor |
模型关节到电机顺序 |
close_chain_motor_idx |
闭链电机索引与解耦实现 |
extrinsic_R |
IMU 安装方向到机身方向的外参 |
kp、kd |
与实际执行器和控制条件匹配的增益 |
零偏与增益使用当前机器对应的标定结果。24/28 部署配置的 type 均为 rp1.3;与 RP1.3.4 硬件或 rp1.3.2 模型配套时,另行确认修订对应关系。现场接口、设备反馈与标定检查见环境配置与连接检查。
policy YAML 需要核对的字段#
检查 joint_num、model_names、obs_layouts、frame_stacks、obs_stack_orders、映射、默认角度、动作缩放、裁剪、dt 和 decimation。24 default 与 Sim2Sim 的历史布局不同,详见 I/O 约定。
5. 启动与分阶段验证#
显式选择机器人与策略#
inference.launch.py 默认选择 rpo/default。启动 RP1 时,显式传入机器人和策略名。启动会构造硬件接口;先按适用交付版本的操作资料完成接线、供电、标定与急停确认。
配置与资源核对完成后,24 动作默认配置的入口为:
ros2 launch roboparty_inference inference.launch.py robot:=rp1_24dof policy:=defaultrobot:=rp1 选择 28 动作配置,使用前须补齐其默认 policy.onnx 并完成 I/O 约定核对。启动脚本、后台会话和停止方法见环境配置与连接检查。
迁移阶段与进入条件#
以下阶段用于组织迁移检查。具体实机条件、保护设置与通过阈值按适用交付规范执行。
| 阶段 | 检查对象 | 保留记录 |
|---|---|---|
| 接口对齐 | 模型、关节、观测与动作语义,训练与目标后端的输出 | 配置、哈希与固定输入输出对照 |
| Sim2Sim | 同一策略在独立仿真运行时的闭环行为 | 参考或指令、场景、初始条件、差异说明与回放 |
| 实机标定 | 方向、零位、IMU 外参、状态时效与闭链转换 | 对应机器的标定文件和受控验证记录 |
| 受限任务 | 执行器响应、支撑、保护、停止条件与时间预算 | 运行条件、误差、事件及完整数据 |
| 目标任务 | 指定任务和条件下的成功、干预、持续运行与能耗 | 方法、有效区间、原始记录及分析版本 |
训练完成、模型导出、Sim2Sim 运行与实机验收是不同状态,应分别记录。软件任务完成、日志上传完成和物理任务通过也分别记录。结果允许通过、未通过、中止或证据不足;缺失数据保留未知。
6. 验收记录与回退#
将每次策略实验与来源、配置和产物绑定,便于比较结果和复现问题。实验身份至少包括机器人配置、镜像与固件、模型与策略、标定和任务条件。
实验产物#
| 阶段 | 产物 |
|---|---|
| 训练 | run 目录、checkpoint、params/env.yaml、params/agent.yaml |
| Play 导出 | exported/policy.pt、exported/policy.onnx |
| Sim2Sim | simulation.mp4、joint_positions.png、base_velocities.png |
| 推理端 | 启动配置、模型与运行输出;实机记录按交付验收要求整理 |
推荐记录字段#
每次实验记录:
- 各源码提交、模型来源、checkpoint 与导出文件哈希。
- task/agent、随机种子、环境与软件版本、运行配置。
- I/O 约定、历史布局、normalizer、关节与电机映射。
- 场景、指令条件、结果产物、完整错误与实际时间。
- 实机测试时另外记录交付硬件、固件、镜像、标定与操作资料版本。
保留训练 run 与 checkpoint,策略变更使用独立版本;不要覆盖原件后再以文件名推断实验身份。
实机验收前提#
实机验收需要适用配置的操作前提、正式指标与阈值、异常停止条件、急停确认、恢复规则及记录与签署要求。按适用交付版本的正式操作资料执行上电、接线、标零、急停、运动验证与故障恢复。当前版本的正式操作 SOP 和完整验收规范待补。