想象你正走在一根高空钢丝上。脚底是一指宽的钢索,身体两侧是看不见的乱流——它们来自不同方向、不同强度,每一秒都在变。你不能停下来,不能回头看,只能往前走。
一台混合驱动水下航行器每天面对的现实,跟这差不多。
有一支研究团队给它装了一套"三层大脑"——不靠更精确的模型,不靠更快的反应速度,而是靠一种截然不同的控制哲学。结果是:能耗砍掉56%,定位误差压到3米以内,定深巡航时深度波动不超过15厘米——大约一部手机的长度。
在洋流中"走钢丝",为什么这么难?
水下航行器是反直觉的。它不像潜艇那样用螺旋桨推着走——大部分时间,它的螺旋桨根本不转。
它前进的方式更接近一只老鹰:通过调节自身重量先沉下去,再靠固定翼的升力向前滑翔。浮上来,沉下去,再浮上来——在海里画出一道锯齿形的轨迹。1989年,海洋学家Henry Stommel在一篇只有两页的短文中第一次描绘了这个设想,并以19世纪单桅帆船先驱Joshua Slocum的名字命名了它。
具体怎么实现的?航行器内部有一个油囊。把油泵进外部气囊,排水体积变大,浮力增加,它就上浮;把油抽回来,体积缩小,它就下沉。同时,一块可移动的电池包前后滑动,改变重心位置,从而调整俯仰角。于是,"下沉—滑翔—上浮—滑翔"的循环就转起来了。
听起来优雅。但控制它,是一场噩梦。
你不能直接控制前进方向。你只能间接影响两个东西——净浮力和重心——然后指望翅膀把垂向运动转化成水平推力。这是一个典型的欠驱动系统:控制输入比运动自由度少,你"踩不了油门",也"拧不了方向盘"。
更要命的是,真实海洋不是静止的。洋流在不同深度流速不同、方向各异——论文模拟中用了东海海域的全球海洋预报模型数据,空间分辨率约9公里。当航行器沿锯齿轨迹穿越不同水层时,它不断被横向推离航线。一台经典Slocum滑翔机的船载计算机不过是一块ARM处理器配树莓派,而卫星定位信号穿不透海水——它只能在每次浮出水面时校正一次位置。

在传统PID——工业界用了近百年的比例-积分-微分控制器——的控制下,仅滑翔模式的水平偏差就超过45米,相当于这台1.8米长的航行器偏出了自身身长二十多倍。末端偏差38米。
那么问题来了:模型本身就不精确——模拟中故意把水动力系数设得比控制器内部用的模型高出20%,模拟"你对自己的船了解并不完全"——洋流完全未知,方向舵还不许超过20度、舵速不许超过每秒5度。怎么办?
"我不需要知道是什么在推我——我只需要知道推了多大"
上面这个问题,PID的回答是:看到偏差,纠正偏差。你偏左了,往右打舵;偏得越多,打得越猛。
这套逻辑简单、可靠、好调。但有一个致命缺陷:它永远是事后诸葛亮。偏差已经发生了,你才开始反应。在一个穿越多层洋流、垂向和水平运动强耦合的航行器上,反应永远慢半拍。论文数据显示,PID框架下舵面每秒钟剧烈摆动近5度,螺旋桨推力忽大忽小,大量能量消耗在了徒劳的纠偏和震荡上。
上世纪90年代,中国科学院系统科学研究所的韩京清提出了一套完全不同的控制哲学。他的核心洞见是:一个系统受到的扰动——模型参数不准、未建模的动态特性、外界环境的随机干扰——你不需要把它们一个个识别出来。你只需要把它们打包,当成一个信号,称为"总扰动"。
回到走钢丝的比喻。一阵狂风吹过来,你不必知道它是从东边还是西边来的、风速多少、阵风间隔多久。你只需要感觉到"身体正在被推向某个方向",然后用平衡杆把它抵掉。
韩京清用一个叫扩张状态观测器(ESO)的数学工具来实现这种感知。ESO的巧妙之处在于,它不依赖精确模型。它只根据你能测量到的东西——比如当前的俯仰角——去实时推算"此刻所有未知因素加起来,对俯仰角造成了多大影响"。这个估计值被实时前馈补偿到控制指令里,等于在扰动真正把航行器推歪之前,已经有一股力在顶着它了。
这一范式被称为自抗扰控制(ADRC)。2009年,韩京清在IEEE期刊上以一篇题为《从PID到ADRC》的论文向国际学界正式阐述,迄今被引超过8000次。它的核心承诺是:不认识扰动,也可以精确控制。
但ADRC框架里还有一个薄弱环节,出在它的大脑。
"不只是当下顶住——更要提前想好30步"
传统ADRC在ESO估计出总扰动之后,会把误差交给一个叫"非线性状态误差反馈"(NLSEF)的模块来生成控制指令——你可以把它理解成一个比较聪明的自动调节器:根据"现在离目标多远"和"靠近目标的速度"来算出该出多少力。
问题出在:它只能看当下。它不知道3秒后航向会不会撞上舵角限幅,也不知道此刻的补偿动作是否会在未来引发震荡。在面对"舵角不许超过20度""俯仰角不许超过30度"这类硬约束时,它要么无视约束——可能导致失速或执行器损坏——要么粗暴截断输出,破坏控制逻辑。
国防科技大学团队做了一个关键替换:用模型预测控制(MPC)换掉NLSEF。
MPC的逻辑不是"现在偏差多少我就出多少力",而是"未来30个时间步里,每一刻的偏差和能耗加起来最小——在这条最优路径上,我现在该出多少力?"它以一个局部线性化的模型为蓝本,在预测时域(0.05秒采样×30步=1.5秒)和控制时域(6步=0.3秒)内求解一个带约束的优化问题:舵角不许超、舵速不许超、俯仰角不许超——全被编码为不等式硬杠杠。优化器在这些限制之内,找一条既省力又精准的最优控制序列,只执行第一个元素,下一周期再重新算。
这就是滚动优化——永远往前看,永远重新规划。
类似的思想在别的领域早已被证实有效。在电力系统调频中,自适应MPC应对风扰的整定时间约1秒,而传统PI控制需要30秒以上——快了几十倍。在化工厂过程控制中,MPC是实施约束多变量控制的行业标准。在自动驾驶里,MPC在低附着高速场景下将跟踪精度提升至少22%。
最终的框架由三层协作完成。最上层,自适应视线制导(ALOS)像眼睛一样盯着预定路线,根据当前偏差动态调整"该往哪看"——偏得远的时候把视线放远(平滑归航),偏得近的时候把视线收近(锁死精度)。同时把深度误差耦合进俯仰指令,实现水平和垂直面的解耦。中间层,ESO像内耳里的平衡器官感知身体受到的"总推力"——它不管这推力来自模型失配还是洋流,只关心总和。最底层,MPC像大脑规划未来30步——在舵角、舵速、俯仰角所有约束之内,算出最优序列。

三层各司其职:ALOS生成平滑参考轨迹,ESO估计总扰动,MPC在约束下做最优控制。拧在一起,把"眼睛""平衡器官""大脑"变成了一个整体。
能耗减半的背后:它改变的不只是几米误差
在模拟的多模态任务中,这套框架交出的成绩单是惊人的:滑翔模式深度偏差仅0.52米,而PID高达4.52米;水平偏差9.51米对比PID的45.68米——精度提升约80%;定深巡航时深度波动不到0.15米,约一部手机的长度。总能耗54.7千焦,比PID的125.4千焦削减了56.3%。
这意味着什么?一台水下航行器最重要的性能不是"跑多快",而是"待多久"。Slocum滑翔机以船舶作业约1%的成本提供同等质量的海洋学数据,单次跨大西洋任务可航行221天、逾4500英里。能耗每砍掉一半,续航就翻一番。而能耗降低的根源不只是更省电的电机——更关键的是,控制器不再把能量浪费在剧烈的纠偏和震荡上。PID框架下舵面每秒钟急剧摆动近5度,MPC-ADRC-ALOS框架下降至约1度/秒;螺旋桨推力波动幅度降至PID的七分之一。船更稳,耗更少,走得更远。
这对海洋观测是质变。美国国家海洋和大气管理局(NOAA)在南大西洋部署滑翔机持续监测海洋热含量,用于改进飓风强度预报——预报精度在很大程度上取决于数据覆盖面。一台能耗减半的滑翔机,意味着同一颗电池能覆盖近两倍的海域。在海底地形测绘中,更精准的定深——波动不到0.15米——直接对应更高分辨率的声呐数据。在军事侦察中,更少的舵面动作等于更低的声学特征,更难被敌方声呐捕捉。
但必须诚实:这篇论文的全部数据来自仿真。作者团队在结论中明确承认,在线MPC优化的计算负担、船载计算机(Slocum级别用的不过是ARM加树莓派)能否支撑每50毫秒解一次30步预测优化、传感器噪声对ESO估计精度的影响、参数在线自适应——全部列为"未来工作",需要通过硬件在环实验(将真实控制器接入模拟环境测试)和后续海试来验证。这不是一个已经下海的方案,而是一个在模拟中展现出惊人潜力的设计蓝图。
此外,ESO作为高增益观测器天然对噪声敏感——观测器增益越高,估计收敛越快,但噪声放大也越严重。论文设定了较高的观测灵敏度,却没有做噪声分析。在实际海试中,深度传感器、惯性导航的噪声会让这个"平衡器官"比仿真中模糊得多。在噪声与收敛速度之间找到折衷,是这类方法从仿真走向真实海洋必须迈过的坎。
即便如此,方向是明确的。控制理论的演进正在从"事后纠错"不可逆地走向"预测+抗扰+约束"三位一体——不只在深海,在电网、化工厂、自动驾驶赛道都在同时发生。这套框架的意义不在于它已经完美,而在于它第一次在水下航行器上把这三件事拧成了一股绳。
过去让机器在深海走直线靠的是拼命纠偏,现在靠的是提前想好30步——代价不在精度,在算力。