Refactor and enhance XR-RM teleoperation functionality

This commit is contained in:
2026-05-31 20:06:07 +08:00
parent 3f48468f63
commit 948d50cab4
13 changed files with 409 additions and 354 deletions

View File

@ -12,10 +12,10 @@ PICO/XR UDP JSON
-> /xr/left_controller 与 /xr/right_controller
-> xr_rm_teleop/single_arm_velocity_teleop
-> MockRealManAdapter 或 RealManAdapter
-> /xr_rm/<arm_name>/current_pose、target_pose、cmd_vel
-> /xr_rm/<arm_name>/current_pose、raw_target_pose、target_pose、cmd_vel、target_clamped
```
核心控制方式是相对位遥操作:`grip=true` 的第一帧锁定手柄起点和机器人 TCP 起点,之后用手柄位移增量生成目标 TCP`grip=false`、UDP 超时、异常或节点退出必须停止。
核心控制方式是相对位姿透传遥操作:`grip=true` 的第一帧锁定手柄起点和机器人 TCP 起点,之后用手柄位移增量生成目标 TCP,并通过 `rm_movep_canfd` 下发位姿目标`grip=false`、UDP 超时、异常或节点退出必须停止。
## 固定工作流
@ -96,6 +96,8 @@ ros2 run xr_rm_input sample_udp_sender --hand both --host 127.0.0.1 --port 15000
```bash
ros2 topic echo /xr/left_controller
ros2 topic echo /xr/right_controller
ros2 topic echo /xr_rm/left_rm75/target_pose
ros2 topic echo /xr_rm/right_rm75/target_pose
ros2 topic echo /xr_rm/left_rm75/cmd_vel
ros2 topic echo /xr_rm/right_rm75/cmd_vel
```
@ -165,7 +167,7 @@ git diff --check
- `xr_rm_interfaces`:定义 `XrController`
- `xr_rm_input`:接收 UDP controller JSON发布左右手柄话题并提供 `sample_udp_sender`
- `xr_rm_teleop`:把手柄相对位移映射成 RM75 笛卡尔速度命令
- `xr_rm_teleop`:把手柄相对位移映射成 RM75 笛卡尔位姿透传目标
- `xr_rm_bringup`:维护 launch、YAML、现场 UI 和运行入口。
- `unity/XR_RM_PICO_UDP_Sender`PICO 4 Ultra UDP Sender Unity 工程。