4. 环境感知与航行场景建模
航迹规划不是在一张空白地图上画线,而是要在“看得清、算得准、判得稳”的环境模型上求解。环境感知的任务,是把电子海图、AIS、雷达、气象水文四类来源不同、坐标系不同、更新频率不同的数据,统一到同一时空基准下,形成可供规划算法直接查询的航行场景模型。本节围绕“数据怎么用”和“障碍怎么表达”两条主线展开。
一、四类数据在规划中的分工
电子海图(ENC)提供静态、权威的地理与航行要素:岸线、等深线、航道边界、锚地、禁航区、沉船与障碍物、助航标志。规划中它主要承担两件事:一是构建可航水域的“底图掩膜”,把水深不足、禁止进入的区域从搜索空间中剔除;二是提供航道中心线、转向点等结构化要素,用于生成初始参考航线。使用时必须关注海图的比例尺与使用范围(如 1:45000 的沿海海图不适合港口内精细操纵),以及数据基准——多数 ENC 采用 WGS-84,若与本地坐标混用需先统一。
AIS提供他船的动态信息:MMSI、船位、对地航向/航速(COG/SOG)、船首向、航行状态、船舶尺寸与类型。它的价值在于“意图可读”——能判断对方是锚泊、操纵受限还是正常航行。但 AIS 存在更新间隔随航速变化(锚泊约 3 分钟、航行中数秒至十余秒)、信号遮挡与错误配置等问题,不能作为唯一避碰依据。
雷达提供不依赖他船配合的实测回波,能发现未开启 AIS 的小船、浮标、岸线轮廓,且更新周期短(天线一转约 2~3 秒)。规划中雷达主要用于:验证 AIS 目标的一致性、补充非合作目标、在能见度不良时提供近距障碍的实时位置。
气象水文数据(风、浪、流、潮位)不直接产生障碍,但改变“代价”。顶流与顺流会显著改变对地航速与燃油消耗,横风横流造成漂移角,大浪限制某些航段的可航性。规划时通常把流场作为栅格代价场叠加,把大风浪区域作为高代价区或禁行区处理。
二、静态障碍物的表达方法
静态障碍包括岸线、浅水区、礁石、沉船、养殖区、禁航区、锚泊船(长时间不变的)等。工程上最常用的表达是栅格占据图:把规划区域按固定分辨率(如 10 m×10 m 或 20 m×20 m)离散,每个栅格标记“可航/不可航/代价”。分辨率的选择要与任务尺度匹配——港内操纵用 5~10 m,沿海航段用 20~50 m 即可,过细会显著增加搜索量。
关键一步是障碍膨胀。船不是质点,规划出的航线必须保证船体任何部分都不触碰障碍。做法是以障碍栅格为中心,向外扩张一个半径 R:
R = 船长/2 + 安全裕量
示例:船长 120 m,安全裕量取 2 倍船宽(约 40 m)
R = 60 + 40 = 100 m → 按 20 m 栅格膨胀 5 圈
膨胀后得到的“配置空间”中,船可视为质点,搜索算法只需判断点是否落在可航栅格内。对于航道边界这类线性要素,还可额外保留“中心线 + 半宽”的矢量表达,便于生成沿航道走向的初始航线,再与栅格结果互相校验。
三、动态障碍物的表达方法
动态障碍的核心难点是“它会在你到达之前移动”。仅记录他船当前位置是不够的,必须表达其未来一段时间内可能出现的位置集合。常用做法是预测域(也称不确定域):以当前船位为起点,沿 COG 方向按 SOG 外推,横向按预测误差扩展。例如预测 6 分钟,某船 SOG 12 kn(约 6.2 m/s),则纵向长度约 2200 m;横向不确定度取 0.5~1 倍船长,形成一条“胶囊形”区域。
规划时采用时间窗校验:把规划航线按时间离散(如每 30 s 一个节点),在每个时刻检查本船位置是否落入任一他船的预测域。若落入,则该航段代价大幅提高或直接判为冲突,触发绕行或变速。这样就把“空间避碰”转化为“时空联合校验”,比单纯看最近距离更可靠。
四、一个可执行的建模流程示例
以某沿海航段规划为例(参数为教学假设):规划区域 20 km×15 km,栅格 20 m;本船船长 120 m、船宽 20 m,安全裕量取 40 m,膨胀半径 100 m。步骤如下:
- 导入 ENC,提取岸线、等深线(取本船吃水 + 富余水深对应的等深线,如 10 m)、禁航区,栅格化为静态占据图。
- 对静态障碍按 R=100 m 膨胀,得到可航掩膜。
- 接入 AIS 与雷达,关联去重后得到动态目标列表,每个目标生成 6 分钟预测域。
- 叠加流场:顺流区代价系数取 0.8,逆流区取 1.3,横流区按漂移角修正航向。
- 在可航掩膜上运行 A*,代价 = 航程 × 流代价系数 + 动态冲突惩罚;对每个候选航段做时间窗校验。
- 输出航路点序列,并检查最小转向半径、与障碍最近距离是否满足裕量。
结果判断上,重点看三项:规划航线是否全程位于膨胀后的可航区;各时间节点与本船预测域的最小距离是否大于安全阈值;总代价是否明显低于直航方案(若绕行代价过高,说明膨胀半径或流代价系数设置偏保守,需要复核)。当 AIS 目标状态发生跳变或雷达出现新回波时,场景模型应增量更新并触发局部重规划,而不是整图重算。
综上,环境感知到场景建模的关键,是把四类数据各自“翻译”成规划算法能消费的形式:ENC 变成可航掩膜与矢量要素,AIS/雷达变成带预测域的动态目标,气象水文变成代价层,再统一到同一坐标系、同一时间基准和同一栅格分辨率下。静态障碍靠膨胀保证几何安全,动态障碍靠时间窗校验保证时序安全,二者共同构成航迹规划的可行域与代价场。