diff --git a/docs/superpowers/specs/2026-07-31-controller-primary-initial-pose-design.md b/docs/superpowers/specs/2026-07-31-controller-primary-initial-pose-design.md index e159385..086d623 100644 --- a/docs/superpowers/specs/2026-07-31-controller-primary-initial-pose-design.md +++ b/docs/superpowers/specs/2026-07-31-controller-primary-initial-pose-design.md @@ -26,26 +26,41 @@ - 只在按键从未按下变为按下时触发,持续按住不重复执行。 - 回位前调用现有安全停止逻辑,退出当前相对位姿遥操作。 -- 使用现有 `initial_joint_pose` 和 `init_move_speed`,不修改三个 YAML 中的数值。 +- 使用更新后的 `initial_joint_pose` 和现有 `init_move_speed`。 - 复用现有 `rm_movej(..., block=1)` 阻塞运动,完成后重新同步关节状态和 QP 状态。 - 回位后必须先松开 Grip,才能重新进入遥操作。 - 回位失败时记录错误并保持停止,不自动重试。 - mock 模式只更新模拟关节状态,不导入或调用厂商 SDK。 +## 初始位姿配置 + +关节角单位沿用现有 YAML,均为度: + +- 左臂:`[-78.81, 3.22, 67.96, 97.12, 95.08, -81.11, -74.55]` +- 右臂:`[-86.10, 22.80, -89.57, 93.98, -91.82, -87.32, -89.35]` + +`left_arm_rm75.yaml` 使用左臂值,`right_arm_rm75.yaml` 使用右臂值; +`dual_arm_rm75.yaml` 中左右节点分别使用对应值。三个文件中的 IP、坐标映射、 +工作空间、安全限制及其他控制参数保持不变。 + ## 代码范围 - 在 `realman_adapter.py` 为真机和 mock 提供同名的公开回位方法,真机实现复用现有 私有初始位姿运动代码。 - 在 `single_arm_velocity_teleop.py` 的现有手柄回调中增加主键上升沿处理。 - 在现有测试文件中增加最小的适配器回位和按键边沿测试。 +- 同步 `left_arm_rm75.yaml`、`right_arm_rm75.yaml` 和 `dual_arm_rm75.yaml` 中的 + `initial_joint_pose`。 -不修改消息定义、UDP 输入节点、launch、机械臂 YAML、安全限位或夹爪控制。 +不修改消息定义、UDP 输入节点、launch、三个 YAML 中的其他参数、安全限位或 +夹爪控制。 ## 验证 - 测试主键首次按下触发一次,持续按住不重复触发,松开后可以再次触发。 - 测试 mock 回位后恢复配置的初始关节角。 - 测试真机适配器仍只调用既有的关节运动命令;测试使用假 SDK 对象,不连接真机。 +- 检查单臂和双臂配置中的左右初始位姿与上述值一致。 - 在 `/home/robot/WS_xr` 执行: ```bash