# Rviz导航插件

<p class="callout warning">该插件仅试用于ROS1版本</p>

---

###  图标设置

[![marker setting.png](https://odocs.hexfellow.com/uploads/images/gallery/2024-10/scaled-1680-/5XDdKAdRVZ57L2Um-marker-setting.png)](https://odocs.hexfellow.com/uploads/images/gallery/2024-10/5XDdKAdRVZ57L2Um-marker-setting.png)

用于设置目标点的图标大小，1.0是默认值，其他数值代表尺寸比例倍数，需要点击set刷星所有图标

[![mark.png](https://odocs.hexfellow.com/uploads/images/gallery/2024-10/scaled-1680-/CVI19LGOllLDGF83-mark.png)](https://odocs.hexfellow.com/uploads/images/gallery/2024-10/CVI19LGOllLDGF83-mark.png)

marker图标由两部分组成，数字部分为该目标点的序列号，箭头部分为该目标点的停止朝向

---

### 添加目标点

[![add goal.png](https://odocs.hexfellow.com/uploads/images/gallery/2024-10/scaled-1680-/qRihprh7YtK0KrXj-add-goal.png)](https://odocs.hexfellow.com/uploads/images/gallery/2024-10/qRihprh7YtK0KrXj-add-goal.png)

1. 请先使用Rviz自带功能![2dnave.png](https://odocs.hexfellow.com/uploads/images/gallery/2024-10/scaled-1680-/zMjyzsy8ChNjj329-2dnave.png) 在地图上选取目标点
2. 可通过输入X、Y、R值来微调坐标位置
3. 如果需要直接前往目标点可点击 *GOTO* 按键
4. 如果需要将目标加入到目标列表请点击 *ADD GOAL TO LSIT* 按键
5. 如果目标与目标列表上一个目标距离过远，会在列表中自动插入中间目标值，容忍的最大距离差可在上图中修改，默认是10m

---

### 目标列表管理

[![goal list.png](https://odocs.hexfellow.com/uploads/images/gallery/2024-10/scaled-1680-/DaUXTU86kOjZC1qA-goal-list.png)](https://odocs.hexfellow.com/uploads/images/gallery/2024-10/DaUXTU86kOjZC1qA-goal-list.png)

- 添加后的目标点会在该列表中显示，列表中参数可以直接编辑修改，修改完成后点击 *REFRESH MARKER* 按键刷新所有标识
- 列表中绿色行代表下一个要执行的目标点，如果要切换下一个目标，可在列表中选择对应行，点击 *SET NEXT GOAL* 按键切换
- *LOAD GOAL* 和 *SAVE GOAL*用于保存和载入列表，列表将保存在ini/memory.txt中，可以在文档中直接修改数据
- 如果要删除单一目标，选择对应行，点击 *DELETE GOAL* 按键即可
- 如果要清空目标列表，点击 *DELETE ALL GOAL* 按键即可

---

### 模式选择

[![mode.png](https://odocs.hexfellow.com/uploads/images/gallery/2024-10/scaled-1680-/nEDfNcOJrkbPuh4j-mode.png)](https://odocs.hexfellow.com/uploads/images/gallery/2024-10/nEDfNcOJrkbPuh4j-mode.png)

模式选择用于不同的列表目标点执行方式

<table border="1" id="bkmrk-cycle-mode-sequence-" style="border-collapse: collapse; width: 99.9898%;"><colgroup><col style="width: 16.1834%;"></col><col style="width: 83.8278%;"></col></colgroup><tbody><tr><td>cycle mode</td><td>循环模式，执行完最后一个目标点会继续执行第一个目标点</td></tr><tr><td>sequence mode</td><td>序列模式，执行完列表所有目标点会停止</td></tr><tr><td>step mode</td><td>单步模式，按列表顺序一次执行一个目标点</td></tr></tbody></table>

为了平滑路径可以调整*Goal tolerance*，进入目标点的该距离半径后会自动跳转到下一目标点，场景越小该值需要越小。该设置不影响最后的目标点到达

---

### 启动控制

[![control.png](https://odocs.hexfellow.com/uploads/images/gallery/2024-10/scaled-1680-/HcAOPi5yo69RutA7-control.png)](https://odocs.hexfellow.com/uploads/images/gallery/2024-10/HcAOPi5yo69RutA7-control.png)

- 默认情况列表会自上而下执行目标点，如果勾选 *REVERSE* 会反向执行目标点
- 使用 *START* 和 *STOP* 按键时由于系统问题可能需要多次点击，该控制按键只对列表中的目标点有效，启动后下一目标点信息会显示在 *NEXT GOAL。*