准备并执行导航
一次导航包含环境准备、任务提交和结果确认三个阶段。以下为业务流程;请求字段和错误码以对应 API 参考为准。
开始前
完成 设备连接,确认地图存在,记录机器人在该地图中的真实初始位姿。目标点也必须来自实际地图。导航前确认建图环境已停止。
1. 准备导航环境
调用 POST /v1/api/nav/startup,提供 pose 和 nav_container.scene_name。它依次准备运动服务、扫描、导航容器、参数和初始位姿。
- 新启动可能需要数分钟;客户端建议至少预留 360 秒,并按部署情况调整。
- 成功结果中的
environment_reused表示是否复用了现有环境。 - 失败时根据
failed_step与steps_completed恢复,前面成功的步骤不会自动回滚。
详见 导航环境与运行时。
2. 确认定位与参数
查询 /v1/api/nav/navigation_status 和 /v1/api/nav/params/apply_status,确认地图、定位及参数应用符合要求。启动结果包含 nav_params 并不表示每个保存参数都已经成功应用。
3. 创建 Mission
调用 POST /v1/api/nav/missions,按任务选择模式:
| 模式 | 用途 |
|---|---|
standard | 规划到一个目标位姿 |
direct | 定点直达,运动策略取决于运行时 |
route | 依次经过路径点 |
complex | 组合导航、旋转和等待步骤 |
保存返回的任务标识。完整参数和示例见 导航任务 Missions。
4. 跟踪结果
查询 GET /v1/api/nav/missions/{id},或订阅部署方开放的任务事件。completed 才表示成功完成;failed 和 cancelled 分别进入失败处理和取消处理。
网络超时不等于任务提交失败。先补查任务现状,避免重复发起运动任务。
5. 结束或切换场景
按需取消任务,确认任务状态,再停止导航容器。容器停止接口是后台动作,需要查询容器状态确认。更换地图或运行时前,不要把旧环境的复用当成新配置已经生效。
更多复用方式见 路径、标注与任务模板。