forked from hq/ros2_office_vlm
update
This commit is contained in:
parent
2f9bcbb8ad
commit
553dcc3081
13
README.md
13
README.md
|
|
@ -75,14 +75,21 @@ ros2 run vlm_perception_pkg vlm_detection --ros-args -p use_sim_time:=true
|
|||
# 默认:启动时加载历史 JSON(同一个语义记忆库文件)可选:启动时重置语义记忆库,避免历史最高分长期不更新
|
||||
# ros2 run vlm_perception_pkg vlm_detection --ros-args -p use_sim_time:=true -p reset_records_on_startup:=true
|
||||
```
|
||||
### 导航建议
|
||||
- TurtleBot3 机身较矮,相机视角较低,高目标物体适合较远距离观测。
|
||||
- 建议在机器人低速或短暂停止时运行检测,以提高 RGB-D 与 TF 的稳定性。
|
||||
- 建议目标距离相机约 1~3 米,可以多角度对目标进行观察。
|
||||
- 本项目保存的是“最高分对应的目标坐标”,适合用于导航到目标附近,不保证是物体几何中心。
|
||||
|
||||
检测完成后可查看目标标注结果(in /workspace/src/vlm_nav_pkg/config,带时间戳),加载生成的语义记忆库文件,通过 CLIP 将语义标签编码为shared embedding space,当用户输入自然语言查询时,系统匹配最接近的已知目标,提取其坐标并发送至 Nav2,实现基于自然语言的语义导航。以下是验证步骤:
|
||||
|
||||
检测完成后可查看目标标注结果(in /workspace/src/vlm_nav_pkg/config,带时间戳),加载生成的语义记忆库文件,通过 CLIP 将语义标签编码为shared embedding space,当用户输入自然语言查询时,系统匹配最接近的已知目标,提取其坐标并发送至 Nav2,实现基于自然语言的语义导航。
|
||||
## 7. 启动目标检测节点
|
||||
|
||||
```bash
|
||||
# 关闭检测节点后
|
||||
pip3 install "numpy<2"
|
||||
# pip3 install "numpy<2"
|
||||
ros2 run vlm_nav_pkg semantic_nav
|
||||
```
|
||||
|
||||
节点启动后,在终端输入自然语言语义目标(如 “water dispenser”“sofa”),系统将自动完成:语义查询与shared embedding space匹配,提取目标对应的地图坐标并向 Nav2 发送导航目标位姿,然后机器人自主规划路径并导航至语义目标位置,RViz2 中实时可视化规划路径与导航过程
|
||||
节点启动后,在终端输入自然语言语义目标(如 “water dispenser”“sofa”),系统将自动完成:语义查询与shared embedding space匹配,提取目标对应的地图坐标并向 Nav2 发送导航目标位姿,然后机器人自主规划路径并导航至语义目标位置,RViz2 中实时可视化规划路径与导航过程。当前导航会默认在目标周围生成多个候选接近点,并优先选择距离当前机器人最近的可行点,避免直接撞向物体中心点。候选点会先经过 `/map` 自由空间筛选,再逐个试算全局路径,只在“有路径”的候选点里选最优目标。
|
||||

|
||||
Loading…
Reference in New Issue