4. 无人船基础参数配置与传感器校准

无人船下水前,飞控需要先“认识”自己装的是什么船、每个舵机或电调接在哪个输出口、船体姿态与航向的基准在哪里。这一节围绕四件事展开:用 FRAME_CLASS 声明船型,用 SERVOx_FUNCTION 把物理输出口映射到推进与转向功能,完成加速度计、罗盘与水平校准,最后把 GPS 配置到可用状态。参数错一位,船可能原地打转或反向加速;校准差一点,自动航向就会持续偏航。

一、船型参数:FRAME_CLASS 决定控制律

ArduPilot 的 Rover/船型固件用 FRAME_CLASS 描述载具的运动学构型,它决定了混控逻辑如何把“油门 + 转向”分配到各输出通道。无人船常见取值如下(以固件参数说明为准,示例值仅作教学参考):

FRAME_CLASS构型典型输出适用场景
1普通舵机转向船(单舵单桨)转向舵机 + 主推进电调小型巡检船、遥控船改装
2差速双桨船左桨电调 + 右桨电调无舵机、靠两侧推力差转向
3双桨 + 舵机(部分固件支持)双电调 + 舵机需要更强转向力矩的船体

选择原则是“按机械实际”,而不是按外观。若船尾只有一个舵机加一个螺旋桨,就选 1;若左右各一个螺旋桨、没有舵机,就选 2。选错后最典型的现象是:推油门时船不前进,或者转向通道动作导致两桨同向加速。修改 FRAME_CLASS 后必须重启飞控,混控矩阵才会重新加载。

二、输出映射:SERVOx_FUNCTION 把功能落到引脚

SERVOx_FUNCTION 是“功能—引脚”的绑定表,x 对应飞控 MAIN OUT 或 AUX OUT 的物理通道号。船型常用功能编号(示例,具体以所用固件版本参数表为准):

  • 0:Disabled,禁用该输出;
  • 26:GroundSteering,地面/水面转向(舵机);
  • 70:Throttle,油门(单桨船的主推进);
  • 73:ThrottleLeft,差速左桨;
  • 74:ThrottleRight,差速右桨。

以单舵单桨船为例,若舵机接 MAIN OUT 1、电调接 MAIN OUT 3,则配置为:

FRAME_CLASS      = 1
SERVO1_FUNCTION  = 26    # 转向舵机
SERVO3_FUNCTION  = 70    # 主推进油门
SERVO2_FUNCTION  = 0     # 未使用通道禁用
SERVO4_FUNCTION  = 0

差速双桨船则把 SERVO1_FUNCTION=73、SERVO3_FUNCTION=74,其余通道禁用。配置完成后进入“电机测试”或手动模式小幅推油门,确认:油门增大时船向前、转向杆右打时船头右偏。若方向相反,优先改 SERVOx_REVERSED 或交换左右桨通道,而不是在遥控器里反向,以免影响自动模式。

船型参数与输出映射关系 FRAME_CLASS 1 = 单舵单桨 2 = 差速双桨 3 = 双桨 + 舵机 决定混控逻辑 混控矩阵 油门 + 转向 → 各通道输出量 SERVOx_FUNCTION 26 → 转向舵机 70 → 主推进油门 73/74 → 左/右桨 功能绑定物理引脚 MAIN OUT 1 转向舵机 MAIN OUT 3 主推进电调 MAIN OUT 2/4 禁用(0) 修改 FRAME_CLASS 后需重启飞控,混控矩阵才会重新加载

三、加速度计校准:建立姿态基准

加速度计校准的目的是让飞控知道“水平”在哪里。操作时把船放在平静水面或水平台面上,保持船体静止,进入地面站的“加速度计校准”,按提示依次将船体摆到六个方向(水平、倒置、左侧、右侧、船头朝上、船头朝下),每个姿态保持静止直到进度条完成。校准期间不要触碰船体,也不要站在船边造成水面波动。

校准后检查 AHRS_TRIM_X、AHRS_TRIM_Y 是否接近 0;若数值明显偏大(例如超过 0.1 rad),说明校准姿态本身不水平,应重新校准而不是靠 TRIM 硬补。船体安装有固定倾角时,才用 TRIM 做小量修正。

四、罗盘校准:航向的绝对基准

罗盘(磁力计)提供航向,是自动航线和返航的基础。校准前先确认罗盘安装位置远离电机、电调、大电流线束,至少保持 10 cm 以上距离;若使用外置 GPS 罗盘,尽量装在桅杆顶部。校准流程是在地面站启动罗盘校准后,把船体绕三个轴缓慢旋转,每个方向都要转到,直到采样点覆盖完整球面。校准完成后重点看两个指标:

  • 偏移量(offsets):三个轴分量不应接近量程极限,否则说明附近有强磁干扰;
  • 适应度/一致性:地面站显示的校准质量应处于良好区间,若提示“mag fit bad”,需换位置重来。

若船体上电后航向随油门变化而漂移,通常是电调磁场干扰,应重新布置罗盘或做电机干扰补偿(CompassMot),而不是反复校准。

五、水平校准与 GPS 配置

“水平校准”在船上通常指两方面:一是加速度计校准已建立的姿态零点;二是通过 AHRS_TRIM 修正安装倾角。若船体设计本身有纵倾(例如船头略抬),可在平静水面静止时执行一次“水平校准”,让飞控把当前姿态记为零位。注意这一步必须在船静止、无风浪、电池就位的情况下做,否则会把波浪姿态固化进零点。

GPS 配置的关键参数包括:

参数示例值说明
GPS_TYPE1(自动)或 2(uBlox)按实际模块协议选择
SERIALx_BAUD38(57600)或 115(115200)与 GPS 模块波特率一致
GPS_POS_X/Y/Z按实测偏移填写GPS 相对船体中心的位置,单位米
EK3_SRC1_YAW1(罗盘)或 3(GPS)航向来源选择

配置完成后到室外开阔处等待定位,检查卫星数、HDOP 与定位状态(3D Fix)。HDOP 建议小于 1.5 再进入自动模式。若 GPS 与罗盘航向差异长期大于 15°,应检查 GPS_POS_* 偏移方向是否填反,或罗盘是否受干扰。

校准顺序建议:先加速度计,再罗盘,最后水平校准与 GPS。因为罗盘校准依赖船体姿态基准,顺序颠倒会导致航向与姿态不一致。
所有参数修改后先在地面做舵面与油门方向检查,再下水。水上发现反向时,优先用遥控器微调或 SERVOx_REVERSED 修正,切勿在自动模式下强行起飞式加速。

完成以上配置后,飞控已经具备“知道自己是什么船、每个口驱动什么、姿态与航向基准在哪”的基础能力。下一步的航线与返航功能,都建立在这组参数与校准结果之上。