forked from YikaiFu-cart/acRealman_xr
refactor launch_ui.py and update README.md
This commit is contained in:
36
PROMPT.md
36
PROMPT.md
@ -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` 能改变对应臂方向映射。
|
||||
|
||||
Reference in New Issue
Block a user