102、语义导航Semantic Navigation:结合VLM的场景理解导航
上周在仿真环境里跑一个语义导航任务,机器人死活找不到“厨房里的红色马克杯”——明明语义地图已经构建出来了,目标检测也框出来了,可导航路径就是绕远路。后来把VLM的中间层特征打印出来一看,发现模型把“红色马克杯”和“红色消防栓”的embedding搞混了。这个坑让我意识到,语义导航这事儿,光有VLM还不够,得把场景理解跟导航策略真正揉在一起。
从“感知-规划”两段式到“感知-语义-规划”三段式
传统导航是“建图→定位→路径规划”的流水线,机器人知道墙在哪、门在哪,但不知道“会议室”和“茶水间”的区别。语义导航加了一层:让机器人理解“目标是什么”“目标可能在哪个区域”“当前视野里有没有目标”。
早期做法是目标检测+语义地图叠加,检测到“杯子”就在地图上标个点,然后导航过去。问题在于——如果杯子在桌子下面,检测不到呢?如果目标描述是“厨房里的红色马克杯”,而厨房里同时有红色杯子和红色碗呢?这时候需要的不只是“检测”,而是“理解”。
VLM(视觉语言模型)带来的核心变化是:把“目标描述”和“视觉观察”映射到同一个语义空间,让机器人能回答“这个场景跟我的目标描述匹配吗”“哪个方向更可能通向目标”。
语义导航的三种典型架构
第一种是语义地图+经典规划。用VLM对每个视角的图像做语义分割和区域标注,把“厨房”“客厅”“餐桌”这些语义标签投影到占据栅格地图上,形成语义层。导航时,先用语言模型把目标描述解析成“