2. 无人船平台与导航传感器认知

航路点规划与自动航行,本质上是“决策—执行—感知—校正”的闭环。在写第一条航线之前,必须先弄清楚这个闭环里有哪些物理对象:船体如何被推动、如何被转向,以及船上哪些传感器在提供位置、姿态和周围环境信息。本节不追求参数罗列,而是围绕“每个部件在自动航行中承担什么角色、输出什么数据、有什么局限”来建立平台认知,为后续的航点定义、控制参数整定和传感器融合打基础。

船体结构与推进、转向执行机构

小型无人船常见船型有单体滑行艇、双体船和充气式橡皮艇改装平台。船体结构上需要关注三个与自动航行直接相关的部位:重心与浮心位置决定横摇和纵倾特性,影响IMU安装与姿态解算;推进器安装位置决定推力作用点与船体旋转中心的关系;传感器安装基座决定GNSS天线、罗经、雷达的相对位置,是坐标统一的前提。

推进方式主要有两类。第一类是单桨+舵机:螺旋桨提供纵向推力,舵叶偏转产生侧向力使船转向。这种结构的转向响应存在明显滞后,舵角变化后船体需要一段时间才建立艏向角速度,因此航向控制中常用“舵角—艏向角速度”的一阶或二阶模型近似。第二类是差速双桨:左右两个推进器转速不同产生转向力矩,甚至可实现原地回转。差速结构的转向更直接,但低速时推力效率下降,且左右桨推力不对称会带来横向漂移。

执行机构的控制接口通常是PWM信号或CAN/RS485总线指令。以常见的PWM电调为例,1500μs为中位停转,1100μs与1900μs分别对应反向与正向满推,实际使用中需要标定死区(例如1480~1520μs不产生推力),否则航向控制器在零误差附近会出现抖动。舵机则需标定机械中位与左右极限,避免自动航行时打满舵导致堵转。这些标定值应写入控制程序,而不是依赖出厂默认。

推进与转向执行机构的死区、中位、极限值属于平台标定参数,换船或更换推进器后必须重新测量,否则航向控制环的积分项会持续累积误差。

导航传感器的作用与数据特性

GNSS提供经纬度与对地速度,是航路点跟踪的位置基准。单点定位精度通常在米级,使用RTK差分时可到厘米级。需要特别注意:GNSS输出的是对地速度(COG/SOG),而船体在流场中航行时,对地航迹与船首朝向并不一致,存在风流压差角。因此仅靠GNSS无法得到准确的艏向,必须配合罗经或IMU。此外GNSS更新率一般为1~10Hz,在高速或急转向时位置采样存在间隔,规划航点间距时应考虑这一限制。

IMU输出三轴加速度与角速度,经姿态解算后得到横摇、纵倾和艏向角速度。它的优势是高频(常见100Hz以上)、短时平滑,但存在零偏漂移,长时间单独积分会发散。在自动航行中,IMU的角速度信号是航向控制内环的关键反馈,用于抑制舵机或差速推进引起的振荡。

罗经(磁罗经或电子罗经)提供绝对艏向角,弥补IMU航向漂移的问题。磁罗经易受船体铁磁物质和电机电流干扰,安装时应远离推进器与大电流线缆,并做硬铁/软铁校准。电子罗经通常内置倾斜补偿,但在横摇剧烈时精度下降,需要与IMU姿态数据配合使用。

雷达提供周围障碍物的距离与方位,是避障和局部路径修正的感知来源。其数据特性是扫描周期较长(机械扫描雷达一圈约2~3秒)、存在杂波与盲区,且对小型漂浮物探测能力有限。在航路点规划阶段,雷达更多用于航行中的动态避碰,而不是静态航点生成。

无人船平台与导航传感器数据链 船体平台 推进器 舵机 GNSS天线 IMU/罗经 雷达 多源数据融合 / 状态估计 航向/航迹控制器 PWM/CAN 执行指令 关键数据特性 GNSS:位置/对地速度,1~10Hz,米级 IMU:角速度/加速度,≥100Hz,有零偏 罗经:绝对艏向,需磁校准,怕干扰 雷达:距离/方位,扫描周期2~3s 注意:对地航迹 ≠ 船首朝向 风流压差角需由艏向与COG共同估计

传感器安装与坐标统一

多传感器上船后,第一件工程性工作不是写算法,而是统一坐标与时间。建议以船体中心为原点,X轴指向船首,Y轴指向左舷,Z轴向上,构成右手坐标系。GNSS天线、IMU、罗经、雷达的安装位置都要测量相对原点的杆臂(例如GNSS天线在原点前方0.8m、上方0.5m)。当船体横摇或纵倾时,不同安装点的位置和速度会不同,若忽略杆臂补偿,在转向或波浪中会出现位置跳变。

时间同步同样关键。GNSS通常带PPS秒脉冲,可作为统一时基;IMU与罗经数据应打上时间戳,融合时按时间对齐而非按到达顺序。实际调试中常见的问题是串口数据延迟未补偿,导致航向控制出现相位滞后,表现为船在航线上左右摆动。判断方法是观察航向误差的振荡周期是否与控制器参数不匹配,再检查各传感器时间戳差值。

平台认知的检查清单

在进入航点规划前,建议按以下顺序完成平台确认,每项都应有可观察的结果,而不是“配置完成”这类笼统结论:

  • 推进标定:分别给左右推进器1500μs、1600μs、1400μs指令,观察船在静水中是否直行、是否偏转,记录死区范围。
  • 舵机极限:手动给左右极限舵角,确认无堵转异响,记录实际最大舵角。
  • 罗经校准:在开阔水域缓慢回转一圈,检查校准后艏向与实际船首方向偏差是否小于5°。
  • GNSS状态:确认定位模式(单点/RTK固定解)、卫星数、水平精度因子,记录更新率。
  • 杆臂测量:用卷尺测量各传感器相对船体原点的三轴偏移,写入配置文件。
  • 时间戳检查:记录同一时刻各传感器数据的时间戳差值,确认在可接受范围内。

完成上述确认后,平台才具备可重复的自动航行条件。后续的航点定义、航线跟踪与避障,都建立在这些标定值和数据特性之上;任何一项缺失,都会在航行中以漂移、摆动或位置跳变的形式暴露出来。