nav-copilot-integration.md 1.7 KB

越野领航播报(Nav Copilot)集成说明

目标:先“带着AI跑一遍”录制赛道轨迹并标记风险点;下次再跑同一路线时,服务端根据实时 GNSS + 车速,提前语音播报预警(不做在线地图规划)。

前置条件

  1. 车载端(ESP32)需要能向服务端提供 GNSS 定位数据。
  2. 推荐方式:车载端开启设备端 MCP 工具 self.gnss.get_fix(到服务端会被自动净化成 self_gnss_get_fix)。

返回建议为 JSON 字符串,例如:

{"ok":true,"lat":31.2304,"lon":121.4737,"speed_mps":7.2,"heading_deg":88.0,"fix":1,"t":1710000000}

开始使用(语音工作流)

1)录制路线(带跑一遍)

对小智说:

  • “开始录制路线”

跑完整条赛道后,对小智说:

  • “结束录制路线”

2)标记风险点(随时)

在赛道上遇到需要提示的地方,对小智说(示例):

  • “标记急转弯”
  • “标记大坑”
  • “标记跳台”
  • “标记陡坡”
  • “标记涉水”
  • “标记障碍”

服务端会把当前位置写入风险点库。

3)领航播报(再跑一遍)

对小智说:

  • “开始领航”

当接近前方风险点(默认约 50m)时,会自动播报类似:

注意前方 50 米急转弯,当前 30 公里每小时,预计 3 秒抵达。

结束时说:

  • “停止领航”

工具(函数)说明

本功能通过服务端插件函数实现,已在 main/xiaozhi-server/config.yamlIntent.function_call.functions 中启用:

  • nav_start_record / nav_stop_record
  • nav_mark_hazard
  • nav_start_run / nav_stop_run
  • nav_status
  • nav_list_routes / nav_set_active_route

数据存储默认在:

  • main/xiaozhi-server/data/nav_copilot.sqlite3