3. 调试前的系统检查与静态标定

水下机器人的深度控制调试,最忌讳“一上来就调PID”。在控制器参数尚未介入之前,系统本身必须处于可信状态:压力传感器读数要准、深度换算关系要正确、推进器方向要符合约定、通信与日志链路要完整。否则后续观察到的深度偏差、振荡或超调,很可能不是控制算法的问题,而是标定或接线错误被控制器“放大”了。本章围绕四项静态检查展开:压力传感器零位与量程校验、深度换算系数确认、推进器极性测试、通信与日志链路检查。

一、先明确坐标与符号约定

深度控制涉及多个符号,必须在检查前统一。本教程约定:以水面为深度零点,向下为正,深度 d 单位为米(m);压力传感器输出为电压 V(V),传感器安装位置相对机体基准点的垂直偏移记为 h_s(向下为正)。若传感器安装位置低于基准点,则传感器感受到的静压对应深度为 d + h_s,换算回机体深度时需减去该偏移。全文与图示均采用此约定,后续章节不再重复说明。

二、压力传感器零位与量程校验

压力传感器是深度闭环的唯一反馈源,其零位误差会直接变成深度稳态误差。零位校验应在传感器未接触水、处于大气压环境下进行:上电预热3~5分钟待读数稳定,记录原始电压 V0。以某型0~1 MPa量程、0.5~4.5 V输出的传感器为例,若空载读数稳定在0.502 V,而理论零压输出为0.500 V,则零位偏差约2 mV。按满量程4 V对应1 MPa、约100 m水深估算,2 mV约折合5 cm水深,对精细定深而言不可忽略,应在采集端做零偏补偿。

量程校验需要给传感器施加已知压力。工程上常用两种方式:一是用标准压力源(手压泵或气压校验台)逐点加压,记录0%、25%、50%、75%、100%量程处的输出;二是将传感器放入已知深度的水柱或压力罐中比对。校验时重点看两点:输出是否单调、线性度是否在允许范围内。若某点偏差超过满量程的1%,应检查供电、密封与信号线屏蔽,必要时更换传感器。下表为示例校验记录(数据为教学假设,非实测):

校验点施加压力(MPa)理论输出(V)实测输出(V)偏差(mV)
0%0.0000.5000.502+2
25%0.2501.5001.497-3
50%0.5002.5002.504+4
75%0.7503.5003.492-8
100%1.0004.5004.488-12

该示例中最大偏差12 mV,约合满量程0.3%,线性度可接受,但零位与满量程均有小偏差,建议用两点法重新拟合斜率与截距,而不是直接套用铭牌参数。

三、深度换算系数确认

深度换算的核心是把电压映射为深度。常用两点线性模型:d = k·(V - V0),其中 k 为深度换算系数(m/V),V0 为零位电压。理论上,淡水静压每10.2 m约增加0.1 MPa,若传感器灵敏度为4 V/MPa,则 k ≈ 10.2 / 4 ≈ 2.55 m/V;海水密度更大,同样压力对应深度略小,约2.48 m/V。实际应以现场水体密度和传感器实测斜率计算,不能照搬。

确认方法:取零位点与一个已知深度点(如将机器人下放至标定绳标记的5.00 m处),记录电压 V1,计算 k = (d1 - 0) / (V1 - V0)。若算得 k 与理论值偏差超过5%,应排查传感器安装深度偏移 h_s 是否被遗漏、水体密度取值是否合理。确认后将 k、V0、h_s 写入配置文件,并在日志中打印,便于回溯。

深度信号链与静态标定关系 水面 d = 0 m 压力传感器 输出 V (0.5~4.5 V) 安装偏移 h_s 零偏补偿 + 换算 d = k·(V − V0) − h_s k 单位 m/V 深度控制器 目标深度 d_ref 误差 e = d_ref − d 静态标定参数(示例) 零位电压 V0 = 0.502 V | 换算系数 k = 2.55 m/V(淡水) | 安装偏移 h_s = 0.15 m 校验点:0 / 25% / 50% / 75% / 100% 量程,最大偏差 12 mV(约满量程 0.3%) 标定可信 → 控制器参数才有意义;任一环节偏差都会表现为深度稳态误差或振荡

四、推进器极性测试

推进器极性决定“正指令是否产生向下运动”。测试应在岸上或浅水安全条件下进行,拆下螺旋桨或固定机体,避免意外推进。逐个推进器给短时小占空比指令(如+20%,持续1 s),观察转向与推力方向,并记录到接线表。垂直推进器约定:正指令产生向下推力(使深度增大)。若某推进器反转,可在软件中取反输出,或调换电机两根相线,二者选其一并统一记录,避免后续重复修改。

测试时还要确认推进器编号与控制器通道一一对应。常见错误是左右垂直推进器接反,导致横滚耦合,深度控制时出现“越调越偏”。建议用一张接线核对表逐项打勾,并在日志中打印每个通道的测试指令与响应方向。

五、通信与日志链路检查

深度调试依赖实时反馈,通信中断会让控制器“盲调”。检查内容包括:上位机与主控的链路是否稳定(串口波特率、网口IP与端口)、心跳与超时机制是否生效、丢包率是否可接受。可用连续ping或串口回环测试观察1~2分钟,记录丢包与延迟。日志链路要确认三点:深度原始电压、换算后深度、推进器指令是否都被记录;时间戳是否统一;日志文件是否可正常落盘与回读。建议在正式下水前做一次“干跑”:手动给定几个深度目标,确认日志中能看到完整的输入—输出序列。

静态标定的顺序建议为:先零位与量程,再换算系数,然后推进器极性,最后通信与日志。前一项未通过,不要进入下一项,避免误差叠加后难以定位。

完成上述四项检查后,系统才具备进入动态调试的条件。此时应保存一份标定记录(含 V0、k、h_s、各推进器极性、通信参数与日志路径),作为后续复现和排障的基准。若动态调试中出现深度稳态偏差,优先回查零位与 h_s;若出现方向性振荡,优先回查推进器极性与通道映射。