4. AGV/AMR配送路径拓扑地图标注
为什么栅格地图不能直接用于路径规划
栅格地图只回答“哪里是障碍”,不回答“哪里可以停靠、哪里必须单向通行、哪里禁止进入”。路径规划器需要的是带语义的拓扑地图:节点表示可停靠或可通行的关键位置,边表示节点之间可通行的路径段,并附带方向、宽度、限速等约束。本节在已构建的栅格地图上完成五类要素标注:站点、充电桩、等待区、窄通道、禁行区,输出可供规划器直接读取的拓扑地图。
五类标注要素的语义与参数
| 要素 | 几何形式 | 关键参数 | 对规划的作用 |
|---|---|---|---|
| 站点(取货/卸货/中转) | 点 + 停靠朝向 | 坐标、朝向角、停靠时长 | 作为路径起点/终点节点 |
| 充电桩 | 点 + 服务半径 | 坐标、功率、占用状态 | 低电量时的可达目标节点 |
| 等待区 | 多边形区域 | 容量、允许排队方向 | 冲突消解时的临时驻留节点 |
| 窄通道 | 带方向的线段 | 净宽、单向/双向、限速 | 边权增大,触发互斥通行 |
| 禁行区 | 多边形区域 | 生效时段、禁行对象 | 从可通行图中剔除 |
标注流程与坐标约定
坐标约定:以栅格地图左下角为原点,x 向右为正,y 向上为正,单位米;朝向角以 x 轴正方向为 0°,逆时针为正。标注在栅格地图的同一坐标系下进行,避免后续转换误差。
- 加载栅格地图,确认分辨率(如 0.05 m/格)与原点偏移。
- 在站点位置打点,记录坐标与停靠朝向;朝向必须指向通道开口方向,否则车辆停靠后无法直接驶出。
- 用多边形圈出等待区与禁行区,禁行区需标注生效时段。
- 沿通道中心线绘制窄通道线段,量取净宽并判定单向或双向。
- 连接相邻可通行节点生成边,为每条边写入长度、宽度、方向、限速。
- 导出拓扑文件,做连通性检查:每个站点必须至少有一条出边,充电桩必须从主通道可达。
窄通道判定经验值:当净宽 W 与车辆对角线尺寸 D 满足 W < 1.5D 时,建议标为单向窄通道;W ≥ 2D 时可标为双向。此阈值需按实际车型复核,不可直接套用。
拓扑地图结构示意
拓扑文件字段与连通性检查
标注完成后导出为规划器可读的拓扑文件。节点表与边表分离,便于增量更新。
# nodes.csv
id,type,x,y,heading_deg,capacity
A,pickup,12.5,18.0,90,1
B,dropoff,35.0,6.5,270,1
C,charger,22.5,18.0,0,1
W1,wait,8.5,4.0,0,3
# edges.csv
from,to,length_m,width_m,direction,speed_limit
A,C,10.0,2.0,bidirectional,1.0
C,W1,14.0,2.0,bidirectional,1.0
C,B,12.5,1.2,oneway,0.5
W1,B,18.0,2.0,bidirectional,1.0
连通性检查脚本逻辑:以站点集合为起点做广度优先遍历,若存在站点无法到达任一充电桩,则该站点为孤立节点,需补边或调整标注。窄通道边需额外校验方向一致性,避免出现两条方向相反的 oneway 边。
常见标注错误与后果
- 站点朝向指向墙壁:车辆停靠后无法直接驶出,规划器会生成需要倒车的路径,实际执行时易碰撞。
- 窄通道漏标单向:多车同时进入导致死锁,规划器无法通过边权识别互斥需求。
- 禁行区未标生效时段:规划器全天避开该区域,造成路径冗余;或全天放行,造成违规进入。
- 充电桩未接入主通道:低电量车辆无法规划到充电桩,任务中断。
标注完成后必须用规划器做一次可达性验证:随机选取 5 组“取货点→卸货点”和 2 组“任意点→充电桩”,确认均能生成路径。若某组无解,优先检查禁行区是否切断了唯一通道,以及窄通道方向是否与行驶方向矛盾。