AGV SDK + 飞书业务集成 + 迎宾引导 AI
简要项目Go+Python 6500+行封装 AutoXing 配送机器人云平台 SDK(Go + Python 双语言 6500+ 行),JWT/MD5 签名鉴权,SVG 地图实时监控,飞书加急卡片到料提醒;并开发迎宾引导 AI(CompreFace 人脸识别 + ASR/TTS 语音导览)。
背景
车间 AGV 配送机器人缺统一调度接口,各业务系统各自对接云平台重复造轮子;同时迎宾场景需要机器人主动识别访客、语音引导导览,现有方案无法开箱即用。
AGV SDK
技术方案
Go + Python 双语言同名同构 SDK(6500+ 行),封装 AutoXing 云平台 REST API;JWT + MD5 签名鉴权;Flask 调度服务 + SQLite 缓存机器人实时状态;SVG 地图工位坐标实时渲染 + 机器人点位动画。
核心亮点
- 双语言同名同构 SDK:Go 与 Python 版本同名同构,接口完全一致;Go 版含单元测试,Python 版供 Flask 调用
- 飞书工位名 ↔ 地图 POI 双向映射:处理飞书物料卡工位名与 AGV 地图 POI 命名不一致,自动匹配
- 距工位 <1.5m 触发到料提醒:轮询机器人位置 → 计算与各工位距离 → 到达触发 → 查飞书物料明细 → 发飞书加急卡片(含物料、数量、工位、时间)
- SVG 地图实时监控:解析云平台地图数据,渲染工位坐标 + 机器人实时位置动画,刷新率 1Hz
关键难点
- JWT Token 自动刷新:Token 1 小时过期,SDK 内部检测过期前自动续签,调用方无感
- 多机器人并发状态管理:SQLite 存储多台机器人实时状态,Flask 线程池定时轮询更新
- 工位名模糊匹配:飞书工位名含"产线A-工位3",AGV 地图 POI 是"A3",用编辑距离 + 人工映射表双向兜底
迎宾引导 AI
技术方案
基于 CompreFace 人脸识别服务 + ASR/TTS 语音模块,实现访客身份识别 → 语音交互 → 自主导航导览的完整迎宾链路。
核心实现
- CompreFace 人脸 1:N 识别:采集摄像头帧 → 调 CompreFace API 比对人脸库 → 返回相似度分数
- 分数断层检测区分陌生人:
- 真人识别分数 98-99%,陌生人分数 89-93%
- 阈值 0.95 + 断层 0.03(Top1 与 Top2 分数差 < 0.03 判为陌生人,避免误识别)
- 双重判定防止"长得像的人"被误认
- ASR 语音指令模式匹配:语音识别结果 → 模式匹配("带我去X"/"介绍一下X")→ 调导航 API 移动到对应点位
- TTS 播报设备介绍词:到达点位后 TTS 播报预设介绍词,4 个点位完整导览流程
关键难点
- 人脸识别误判控制:单纯设阈值会把"长得像的真人"判为陌生人,分数断层检测解决"阈值附近"的模糊地带
- ASR 指令泛化:用户说法多变("去A区"/"带我到A"/"A在哪里"),用关键词提取 + 点位名模糊匹配
- 导览流程状态机:识别 → 欢迎 → 等待指令 → 导航 → 播报 → 返回原点,状态机管理避免流程混乱
成果
6500+
SDK 行数
2
语言版本
4
导览点位
0.95+0.03
人脸识别阈值
技术栈
Go + Python 双语言 SDK + Flask + SQLite + 飞书开放平台 + SVG 地图 + CompreFace + ASR/TTS