3. 矿区环境地图构建与表示
无人矿卡的路径规划与避障决策,第一步不是“算路径”,而是“把矿区变成算法能读的地图”。矿区与城市道路最大的差别在于:没有车道线、没有稳定路沿,装载区与卸载区是随作业推进不断变化的松软场地,边坡、挡墙、碎石堆、水坑、临时停车点混杂在一起。因此,矿区地图通常不是单一图型,而是“栅格地图 + 拓扑路网 + 高精地图 + 点云地图”的组合表示,各自承担不同层级的任务。
一、四类地图在矿区的适用性对比
栅格地图把空间离散为固定分辨率的网格,每格记录占据概率或通行代价,天然适合表达不规则可行驶区域、障碍膨胀和局部避障。矿区常用 0.2~0.5 m 分辨率:0.2 m 能较好刻画装载区边界的碎石与挡墙,但 1 km² 范围会产生约 2500 万格,需配合稀疏存储或分层栅格。拓扑路网把矿区抽象为“节点—边”,节点是路口、装载点、卸载点、会车点,边带长度、坡度、限速、通行方向等属性,适合做全局路径的图搜索(如 A*、Dijkstra),计算量小、可解释性强,但无法表达厘米级障碍。高精地图以矢量车道、作业区多边形、交通规则、坡度曲率等结构化要素为核心,是矿区“语义层”,支撑规则约束与任务调度。点云地图保留三维几何细节,用于定位匹配、边坡与料堆体积感知、可行驶区域提取的原始输入,但数据量大、不宜直接做全局搜索。
| 图型 | 核心表达 | 矿区典型用途 | 主要局限 |
|---|---|---|---|
| 栅格地图 | 占据概率/通行代价 | 局部避障、可行驶区域栅格化、膨胀层 | 分辨率与内存矛盾,缺语义 |
| 拓扑路网 | 节点与带权边 | 全局路径搜索、会车与调度 | 粒度粗,难表达动态障碍 |
| 高精地图 | 矢量要素与规则 | 作业区边界、限速、单向、停车点 | 制作与更新成本高 |
| 点云地图 | 三维点集/体素 | 定位匹配、边坡料堆感知、区域提取 | 数据量大,需降采样 |
二、装载区与卸载区可行驶区域提取
装载区(电铲/挖机作业面)和卸载区(破碎站、排土场)是矿卡最需要“贴着作业”的区域,也是地图最容易失效的区域。可行驶区域提取的实质是:从点云与栅格中区分“能走的地面”和“不能走的地面”。典型流程如下(示例参数为合理假设,非实测):
- 地面分割:对点云做坡度与高程滤波,保留坡度小于 10°、相对高差小于 0.3 m 的连续面;用 RANSAC 拟合主地面平面,剔除明显高于地面的料堆、挡墙点。
- 障碍聚类与膨胀:对非地面点做欧氏聚类,得到石块、电铲、电缆卷筒等障碍簇;在栅格上按矿卡半宽加安全余量(如半宽 2.0 m + 余量 0.8 m)做障碍膨胀。
- 通行代价赋值:对每个栅格综合坡度、粗糙度、松软度(可由点云反射强度或历史陷车记录估计)赋代价,代价高于阈值的格标记为不可通行。
- 区域多边形化:把可通行栅格做连通域分析,取最大连通域的外轮廓,简化为作业区多边形,写入高精地图作为“装载区/卸载区可行驶面”。
- 边界校核:人工或规则校核多边形是否越过挡墙、边坡线,必要时用高精地图中的固定边界做裁剪。
三、地图分层与更新机制
矿区地图建议按“变化频率”分层:静态层(边坡、挡墙、道路中心线、固定建筑,周级或月级更新)、半静态层(作业区多边形、限速、单向规则,日级更新)、动态层(障碍栅格、临时停车、水坑、会车占用,秒级到分钟级更新)。更新机制上,静态层由测绘与人工审核发布;半静态层由调度系统在换班或作业面推进后触发重算;动态层由车端感知与路侧感知实时写入局部栅格,并只对受影响拓扑边打“临时封锁”标记,避免全局重规划。
下图给出四类地图的职责分工、可行驶区域提取链路与分层更新关系:
实际落地时,一个常见误区是把所有信息都塞进一张高精地图,导致每次作业面推进都要重新发布整图,车端加载慢、版本难对齐。更稳妥的做法是:高精地图只保留“慢变语义”,作业面多边形以独立图层按日增量下发,动态障碍完全交给车端局部栅格。这样,矿卡在进入装载区前用拓扑路网做全局规划,进入作业面后切换到栅格代价图做局部避障,两者通过“作业区入口节点”衔接,既保证全局最优,又保证局部安全。