# Stretch ROS2 simple_commander_demo设置初始位姿后导航API失效

> 原文链接：https://robotics.hellobike.com/pitfalls/2025-11-18-stretch-ros2-211
> 频道：pitfalls | 更新日期：2025-11-18 | 标签：auto, github-issue, stretch_ros2
> 核心摘要：simple_commander_demo.py调用setInitialPose导致后续导航阻塞，注释该函数及waitUntilNav2Active即可恢复。

# Stretch ROS2 simple_commander_demo设置初始位姿后导航API失效

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[No 2D Pose Estimate in RViz: nav2_rvis_plugins ParticleCould status error](https://github.com/hello-robot/stretch_ros2/issues/211)（GitHub hello-robot/stretch_ros2 #211）

**状态**：已解决

## 问题

在Stretch机器人nav2导航中，RViz ParticleCloud显示topic订阅错误；使用Python API simple_commander_demo.py时，若保留setInitialPose和waitUntilNav2Active()调用，程序会卡住无法执行导航目标，但终端命令或RViz手动发Goal正常。

## 环境

Hello Robot Stretch, ROS2 Humble, stretch_ros2 humble分支, nav2, simple_commander_demo.py

## 解决办法

1. 编辑 `stretch_nav2/stretch_nav2/simple_commander_demo.py` 文件
2. 注释掉代码中的 `setInitialPose` 函数调用行
3. 注释掉代码中的 `waitUntilNav2Active()` 函数调用行
4. 重新运行 `python3 ./simple_commander_demo.py` 验证导航功能恢复正常
5. （可选）针对RViz ParticleCloud报错，将对应Topic的QoS Reliability策略修改为Best Effort

讨论原作者：@Puqi7 等，版权归原作者所有。
:::

## 原始参考来源 (Sources)

- [GitHub hello-robot/stretch_ros2 #211：No 2D Pose Estimate in RViz: nav2_rvis_plugins ParticleCould status error](https://github.com/hello-robot/stretch_ros2/issues/211)