|配送机器人"最后1公里"定位:RTK自建基站链路与IMU标定的工程取舍

最近整理之前参与过的一个配送机器人项目,团队主业是惯性传感器与RTK定位模组的研发和量产,这个项目从IMU标定一致性、双天线定向选型到自建基站的差分数据链路,我们全程参与了方案讨论。

项目的背景很典型:合作方的配送机器人已经发布,正在做设计迭代。之前的版本在园区里跑跑没问题,但要真正规模投放,就得解决"最后1公里"——把货从站点送到用户家门口。这一公里的特点是:室外开阔路段、小区内部道路、楼宇门口三种环境混在一起,定位方案必须在这种混合场景里都立得住。

一、为什么"最后1公里"逼出了RTK

先把技术约束摆清楚。配送机器人常用的定位手段有几类:

激光SLAM。 室内结构化环境很好用,但室外开阔场景特征稀疏——小区门口一片空地上,激光打出去没什么反射特征,建图质量差,定位跟着飘。

纯视觉SLAM。 受光照影响大,夜间和逆光场景退化明显。

消费级单点GPS。 精度3-5米,开阔环境下能告诉机器人"大概在哪条路上",但要开到家门口、对准某个单元门,这个精度完全不够。

所以结论基本是唯一的:室外段必须上RTK,把定位精度拉到厘米级;室内和遮挡段靠IMU短时推演+SLAM兜底。 这不是选择题,是场景逼出来的。

二、IMU侧:安装一致性比芯片精度更头疼

对方之前用的是国产IMU,遇到的不是精度不够的问题,而是一致性问题——同一批模组装到不同机器人上,数据表现有差异。排查下来,差异的来源不是芯片本身,而是安装偏差。

这里要把两类误差分开:

器件级误差:零偏、标度因子误差、正交误差(三个轴不严格互相垂直)、温漂。这类误差是出厂标定能解决的——转台标定测出零偏和正交矩阵,温箱标定建立温度补偿表。我们的产线流程就是这两步:高精度转台上旋转各轴,测量轴向关联性,把正交误差算出来烧进模组;再进温箱做温度循环,建立全温区的零偏补偿模型。标定好的模组,角度精度常规能做到0.05-0.2度。

安装级误差:模组焊上对方的PCB、PCB装进机器人底盘之后,传感器的实际轴向和机器人的运动学坐标系之间又引入了一层新的偏差。这层偏差出厂标定管不了——因为我们标定的时候不知道对方会怎么装。

解决安装误差只有两条路:

用户侧二次标定。 我们提供标定算法支持,比如六面放置法——把整机静置在六个朝向上各采一段数据,利用重力向量在各轴上的投影反解安装矩阵。理论上能把安装偏差补偿到0.1-0.2度的水平。但说实话,这个流程对产线工人来说操作复杂,每台都要花几分钟,一致性还依赖操作规范性。

结构上消掉。 更根本的办法是在PCB设计阶段就控制传感器贴装的基准面精度,用钢网和贴装工艺保证轴向一致性,把二次标定的需求从源头压小。

聊下来一个很实际的经验是:机器人团队对"一致性"的敏感度远高于"绝对精度"。 几十台机器人,每台零点几度的安装偏差,算法上就得多一层逐台适配的参数管理——这个运维成本比精度本身更让人头疼。如果出货量大,值得做自动化标定工装,把六面法做成一键流程。

另外补充一个选型细节:机器人行业用六轴还是九轴一直有争议。九轴多了磁力计解航向,理论上能压住Z轴漂移,但机器人身上的电机、电池、大电流走线全是磁干扰源,磁力计测到的磁场被严重污染,航向校正反而引入噪声。所以多数机器人团队最终选六轴,航向漂移靠融合轮速计、视觉或RTK双天线定向来补。这个选择没有对错,取决于机器人身上磁环境的恶劣程度。

三、RTK选型:为什么移动站要双天线

RTK侧的选型核心是一个问题:机器人除了要知道"我在哪",还要知道"我朝哪"。

单天线RTK只输出位置(经纬度+高程),不输出航向。要获得航向,只能靠运动推算——机器人动起来之后,用相邻两点的位置差反推运动方向。问题是静止或低速时这个航向是不可用的,而配送机器人恰恰有大量"停在门口等用户取货"的静止场景。

双天线RTK定向模组在机器人上装两根天线,已知两根天线的基线向量(安装位置固定),分别解算两根天线的载波相位差,就能直接算出航向角和俯仰角——静止时也能输出准确航向,精度随基线长度变化,一米基线下航向精度约0.2度量级。

对配送机器人来说,双天线的价值具体在三个地方:

静止航向可用。 停在单元门口时,车头朝向直接决定下一步起步的轨迹规划。

替代磁力计。 前面说了机器人磁环境恶劣,磁力计航向不可靠,双天线定向提供了一个不受磁干扰的绝对航向来源,正好补上六轴IMU的Z轴漂移。

启动即定向。 纯单天线方案要先动起来才知道朝向,双天线一上电就有航向,冷启动体验完全不同。

成本上的分工是:移动站(机器人端)用双天线模组,基站端用单天线模组——基站固定不动,不需要定向,用单天线方案能把自建基站的成本压下来。移动站侧选20Hz刷新率的档位,对配送机器人的运动速度来说足够。

四、自建基站的数据链路:4G+MQTT怎么搭

对方选择自建基站而不是纯订阅第三方服务,原因很直接:长期运营的订阅成本,加上数据链路自主可控。这条链路的架构值得展开讲。

RTK的基本原理回顾。 RTK(实时动态差分)的核心是基站和移动站同时观测同一批卫星,基站位置已知精确坐标,可以算出每颗卫星的观测误差,把这个误差(差分数据,RTCM格式)实时发给移动站,移动站据此修正自己的解算结果,把定位从米级拉到厘米级。所以差分数据的传输链路是整个系统的命脉——数据断了、延迟大了,精度立刻降级。

自建方案的数据链路是这样的:

  1. 基站模组接收卫星信号,解算出RTCM差分数据,通过串口输出给主板;
  2. 主板上的4G模块把差分数据通过MQTT协议发布到服务器;
  3. 机器人端的4G模块订阅同一个MQTT主题,拉取差分数据;
  4. 机器人端的RTK模组收到差分数据后解算,输出固定解的高精度位置。

选MQTT而不是自定义TCP,主要是图它的发布订阅模型天然适合"一个基站对多个机器人"的广播场景——基站发一次,N个机器人各自订阅,不用维护点对点连接。QoS用0就行(差分数据是连续流,丢一帧马上有下一帧,重传反而引入延迟),但心跳和断线重连要配好,链路中断超过几秒,移动站就会从固定解掉到浮点解。

还有一个设计细节:这套MQTT链路可以复用——差分数据下行、机器人位置上行走同一个通道。如果运营平台需要远程监控车队位置,让机器人把解算后的经纬度再发回MQTT服务器即可,一套链路两个用途。如果不需要远程监控,纯本地用串口取位置数据也行,链路更简单。

自建vs订阅的取舍要算清楚:第三方差分服务(比如千寻位置)的好处是全国覆盖、免运维,按账号年付费;自建基站的好处是一次性投入后无订阅费、数据不出内网,但代价是每个覆盖区域都要自己架基站、自己维护供电和网络,基站断电或断网时整个区域的机器人集体降级。两种方案没有绝对优劣,看投放密度——如果一个城市里机器人集中在几个小区,自建划算;如果全国散点投放,订阅服务省心。

五、精度的两笔账:基线距离与绝对坐标

RTK的精度不是标称的"厘米级"三个字,实际工程里有两笔账必须算。

第一笔:基线距离。 基站和移动站之间的距离(基线)直接决定误差。经验法则是每公里基线引入约1厘米的额外误差——1-2公里以内,水平精度稳定在2-3厘米;拉到5公里以上,大气误差的空间相关性变差,精度明显下降,固定解的收敛时间也变长。所以自建基站的覆盖规划要按"每个基站服务半径1-2公里"来布局,社区级投放基本是一个小区一个基站的节奏。

第二笔:绝对坐标从哪来。 这是自建基站最容易被忽略的一个坑。基站要输出差分数据,前提是基站自己的坐标是已知的。这个坐标怎么测?让基站自己长时间单点定位取平均,得到的是一个"自洽"的坐标——精度半米量级。这意味着:移动站解出来的位置,是相对于这个带半米偏差的基站的,整套系统输出的是相对坐标,整体偏移半米左右。

半米偏差不影响机器人自身导航(地图和定位一起偏,相对关系没变),但如果要和其他系统对接——比如把位置上报到城市级的监管平台、和第三方地图匹配——这个偏移就必须消掉。解法是基站建站时接入第三方位置服务做一次坐标校准,拿到基站的绝对坐标,之后的差分数据就都建立在绝对坐标系上了。一次校准,长期有效。

RTK的三种解算状态也要跟对方的算法团队对齐:

  • 单点解:收不到差分数据,退化成普通GPS,米级精度;

  • 浮点解:收到差分数据但载波相位模糊度还没固定,分米级,是中间过渡态;

  • 固定解:模糊度解算成功,厘米级,这是工作状态。

上层算法必须读这个状态标志位——不能把浮点解的数据当固定解用。实际路线上要预设"当前定位质量"的降级策略:固定解时正常跑,浮点解时降速,单点解时停车或切换SLAM。

六、遮挡:RTK到不了的地方怎么办

RTK依赖卫星信号直射,物理上绕不开遮挡问题:

金属和水泥是硬遮挡。 室内、地下车库、带金属顶棚的充电棚下面,卫星信号基本归零,RTK直接失锁。

树木和楼宇是软遮挡。 茂密树冠、高楼夹缝(城市峡谷)里,多路径效应严重——卫星信号经墙面多次反射后才到天线,解算结果大幅跳动,可能从固定解掉到浮点甚至单点。

应对策略是分层的:

路线规划层。 配送路线尽量走开阔路径,站点选址避开高楼夹角。这听起来像废话,但实际部署时,一张"定位质量地图"(哪些路段常年只有浮点解)比任何算法都值钱。

传感器融合层。 RTK信号丢失后,靠IMU+轮速计做航位推算(Dead Reckoning)顶过去。推算的误差随时间累积——六轴IMU加轮速计的组合,短隧道、短遮挡(十几秒)能撑住;进了楼栋这种分钟级的长遮挡,就必须切到SLAM重新定位。

切换的平滑性。 进出楼宇时RTK和SLAM之间的切换是个工程难点:两套定位系统的坐标系、精度、更新率都不一样,硬切会导致位置跳变,路径规划会抽一下。常见做法是加权过渡——信号质量下降的过程中逐渐降低RTK权重、提升SLAM权重,让融合位置连续过渡,而不是到失锁那一刻才换。

七、天线与防护:被低估的工程细节

最后聊两个看起来琐碎、实际能卡住项目的细节。

天线选型分场景。 机器人端空间紧张,选棒状螺旋天线——体积小、重量轻,直接立在车顶;基站端固定安装、追求接收性能,选碟形蘑菇头天线——增益高、带抗多路径的扼流圈结构。如果机器人还要集成4G和蓝牙,可以选多合一天线(定位+4G+蓝牙一体),减少车顶开孔数量。

防水是个系统问题。 天线本体馈点不防水,户外部署要把天线通过防水转接头引到防水电箱或密封外壳内部,馈线接头处打防水胶或用热缩管。这个环节没有传感器什么事,但现场出问题最多的就是它——雨水沿馈线渗进接头,阻抗失配,信号质量缓慢劣化,症状和"模组坏了"一模一样。所以给对方交付时,我们会把天线的安装规范写清楚,馈线怎么走、接头怎么处理、低垂点留滴水弯,都是血泪教训。

八、回头看

这个项目做完,最深的体会是:"最后1公里"的定位不是某一个传感器的问题,而是一条链路上每个环节都在漏精度的问题。 IMU有安装偏差,RTK有基线误差和坐标系偏差,链路有延迟和断连,环境有遮挡——系统设计的任务不是让某个环节做到极致,而是让整条链路的误差预算闭合,并且在每个环节失效时都有下一层兜底。

如果以后再做类似的户外机器人定位项目,我会先把三个问题想清楚:

需要绝对坐标还是相对坐标? 这个问题决定了基站建站时要不要做绝对坐标校准。只在自家园子里跑,相对坐标够用;要和外部系统对接,建站时就必须校准,事后补很麻烦。

需不需要静止航向? 需要静止航向就直接上双天线,别指望单天线+运动推算绕过去——配送场景"停下来等用户"是常态,这个需求绕不开。

遮挡段的兜底方案验证过多长时间? 不要只测"固定解下跑得好不好",要专门测"RTK失锁后30秒、60秒、120秒,融合定位分别漂了多少"。这个曲线决定了哪些路段能走、哪些路段必须绕行或换方案。

多说一句我们在这个项目里的位置。IMU的转台+温箱出厂标定流程、面向用户的六面法二次标定算法、双天线RTK定向模组的产品形态,以及新一代温箱转台一体化标定设备的研发,都是我们做惯性与定位模组这些年攒下的家底——机器人团队提出的"安装一致性"问题,最终是靠产线标定精度和标定工装来兜底的。场景倒逼产品,产品反哺方案,这也是我们愿意把项目一个一个写成记录的原因。

————————————————

版权声明:本文为CSDN博主「维特智能瑞德」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐