在城市里,手机导航误差三五米,没人抱怨——你依然知道自己在大街上。
但在港口,同样的卫星定位,误差可能变成几十米。更糟的是,它不会告诉你「我不准了」。它只会安静地,把一辆正在直行的车,显示成在集装箱堆里穿行。
我在港口做自动驾驶定位。这份工作让我明白一件事:**定位的难度,不看环境有多开阔,而看环境有多不友好。**港口,是我见过最不友好的地方。
这里的「不友好」有四层。
第一层,是集装箱堆成的峡谷。港口把集装箱码到五六层高——十五六米,一堵一堵的铁墙,把场地切成一条条窄巷。卫星信号从头顶的缝隙里挤进来:城市里二十颗星可用,这里只剩三四颗,还全挤在一个方向。哪怕有信号,也算不准你在哪。
第二层,是金属。集装箱、岸桥、龙门吊,全是金属。金属是镜子的亲戚——卫星信号打上去会反弹,反弹的信号绕了远路才到接收机。于是定位结果不是「不准」,而是跳:上一秒位置正常,下一秒偏出几十米,没有任何预兆。这种「多路径效应」,是港口定位的头号暗算。
第三层,是环境会「骗」传感器。岸桥起升高度三四十米,结构总高更高,数百吨重,像一座会走路的钢铁巨兽——它沿轨道移动时,挡住激光雷达的视场,头顶的卫星信号也被整个遮住;集装箱和钢结构的金属表面,遇到大角度的光就变成镜子,激光回波打不回来,点云里出现一片片「黑洞」;水面和湿滑路面还会把激光拖出长长的拖尾。
第四层,是重复。集装箱长得一模一样——同样的波纹钢板、同样的尺寸、同样的颜色,堆成一堵墙时,你在哪一段,传感器完全看不出来。激光扫过去:全是平面;相机看过去:全是一样的波纹。定位算法最怕这种「哪都像」的环境——它想找个特征点当参照,发现到处都是,又都不是。
这四层叠加,就是港口。
但真正让港口成为地狱的,是第五层——难度最高点,恰恰在环境最恶劣处。
港口最精细的操作,是集卡停到岸桥吊具的正下方,让吊具把集装箱精准放上车。这个动作要求横向误差不超过几厘米——放偏了,箱子砸坏车。
而吊具正下方是什么地方?头顶是几十米宽的钢梁,把卫星挡得一颗不剩;四周是金属立柱,让激光和相机丢点、失焦。全港定位条件最差的位置,要的是全港最高的精度。
这就是港口自动驾驶定位的真相:卫星在这里是瞎子,激光在这里看见的是黑洞和重复,相机在这里分不清方向——而你必须在这里,把车停到厘米级。
那怎么办?
答案不是某一个传感器,而是让传感器互相兜底。每个传感器都有自己的长处和死穴:
- 卫星导航,开阔地是王者,进了港口是瞎子——但它给的是绝对位置,不随时间漂移
- 激光雷达,几何精度之王,但金属镜面丢点、重复纹理让它退化
- 相机,最像人眼,但港口的光照剧变和弱纹理专治它
- 惯性测量单元,唯一不怕遮挡的传感器——短时间特别准,但时间一长必然漂移
- 轮速计,最朴实可靠,但只能告诉你「走了多远」,不能告诉你「在哪」
所以融合的本质,不是「叠加所有传感器」,而是判断谁在什么时候可信:开阔路段信卫星,特征丰富处信激光,岸桥底下信惯性和轮速。环境在变,信任也在变。
这个「谁可信」的判断力,就是定位工程师的价值所在。
我就是在这样的环境里,做这个判断的人。
别人问我,港口定位到底难在哪。我总说:你去岸桥底下站十分钟就知道了——抬头是钢铁,低头是要求,中间是选择。
下一篇,写我在这种环境里,真实翻过的一个车。