refactor launch_ui.py and update README.md

This commit is contained in:
2026-05-25 18:22:59 +08:00
parent 7551f1e8ea
commit e57890cb11
6 changed files with 13 additions and 322 deletions

View File

@ -22,14 +22,14 @@ PICO 4 Ultra 双手柄位姿/按键
- PICO/OpenXR 手柄 UDP 输入解析。
- 左右手柄话题分发。
- 左右 RM75 单臂速度遥操作节点。
- 双臂 mock、双臂真机单臂调试 launch
- 通过统一的 `arm_debug.launch.py` 支持双臂 mock、双臂真机单臂调试。
- acRealman 来源的 RM75 IP、工作空间、圆柱半径约束、初始化点位和部分安全配置。
- Tkinter 启动面板,用于打开 mock、真机、诊断和话题监控命令。
- 可选的 trigger 到夹爪力控比例桥接节点。
当前阶段暂不实现:
- XR 侧 Unity 应用。
- 夹爪 trigger 桥接和末端执行器 launch 集成。
- 论文中的低延迟立体视频流。
- QP IK、灵巧手 retarget、全身追踪、运动捕捉 tracker。
- VLA 数据集记录和训练流程。
@ -73,7 +73,6 @@ xr_rm_teleop/
xr_rm_teleop/__init__.py
xr_rm_teleop/realman_adapter.py
xr_rm_teleop/single_arm_velocity_teleop.py
xr_rm_teleop/gripper_trigger_bridge.py
xr_rm_bringup/
CMakeLists.txt
@ -81,8 +80,6 @@ xr_rm_bringup/
config/dual_arm_rm75.yaml
config/left_arm_rm75.yaml
config/right_arm_rm75.yaml
launch/dual_arm_mock.launch.py
launch/dual_arm_realman.launch.py
launch/arm_debug.launch.py
tools/launcher_ui.py
```
@ -251,15 +248,6 @@ geometry_msgs/Pose pose
注意:当前阶段只控制 TCP 平移,不控制姿态。
### gripper_trigger_bridge.py
实现可选节点 `GripperTriggerBridge`
- 订阅某个 `/xr/*_controller`
- 发布 `std_msgs/Float32` 到夹爪力控比例话题,如 `/omnipicker/right/force_ratio`
- 参数包括 `require_grip``trigger_deadband``open_command``min_close_command``max_close_command``low_pass_alpha`
- stale 或未按 grip 时发布开爪命令。
## bringup 配置需求
### RM75 默认参数
@ -329,19 +317,6 @@ initial_tcp_pose: [0.2663, -0.2606, 0.1027, 3.0330, 0.0000, 1.0910]
### launch 文件
`dual_arm_mock.launch.py`
- 启动 `udp_controller_receiver`
- 启动 `left_arm_teleop``right_arm_teleop`
- 共用 `dual_arm_rm75.yaml`
- 覆盖 `use_mock=true`
- launch 参数:`udp_host``udp_port``robot_config``run_udp``run_left_arm``run_right_arm`
`dual_arm_realman.launch.py`
- 和 mock 类似,但 `use_mock=false`
- launch 参数包含 `left_robot_ip``right_robot_ip``robot_port``move_to_initial_pose_on_connect`
`arm_debug.launch.py`
- 参数 `arm:=left|right|both`
@ -349,6 +324,7 @@ initial_tcp_pose: [0.2663, -0.2606, 0.1027, 3.0330, 0.0000, 1.0910]
- 单臂时读取 `left_arm_rm75.yaml``right_arm_rm75.yaml`
- 双臂时读取 `dual_arm_rm75.yaml`
- 总是启动 `udp_controller_receiver`
- 这是唯一的遥操作 launch 主入口UI 和命令行调试都优先使用它。
### 启动面板
@ -377,7 +353,7 @@ source install/setup.bash
mock 验证:
```bash
ros2 launch xr_rm_bringup dual_arm_mock.launch.py
ros2 launch xr_rm_bringup arm_debug.launch.py arm:=both use_mock:=true
ros2 run xr_rm_input sample_udp_sender --hand both --host 127.0.0.1 --port 15000
```
@ -401,7 +377,7 @@ ros2 launch xr_rm_bringup arm_debug.launch.py arm:=both use_mock:=true
真机启动:
```bash
ros2 launch xr_rm_bringup dual_arm_realman.launch.py \
ros2 launch xr_rm_bringup arm_debug.launch.py arm:=both use_mock:=false \
left_robot_ip:=192.168.192.18 \
right_robot_ip:=192.168.192.19
```
@ -428,7 +404,7 @@ ros2 launch xr_rm_bringup dual_arm_realman.launch.py \
验收标准:
- `colcon build --symlink-install` 能通过。
- `ros2 launch xr_rm_bringup dual_arm_mock.launch.py` 能启动三个节点。
- `ros2 launch xr_rm_bringup arm_debug.launch.py arm:=both use_mock:=true` 能启动三个节点。
- `sample_udp_sender --hand both` 后能看到左右 `/xr/*_controller``/xr_rm/*/cmd_vel`
- 松开 grip、UDP 超时、节点退出时都会发送零速度。
- 修改 YAML 中 `xr_to_robot_matrix` 能改变对应臂方向映射。