
“四足机器人靠四条腿在水下翻身调姿。
四足机器人在陆地上已经相当能打,爬楼梯、越野地、走碎石路都不在话下。但一旦下了水,它们大多就"歇菜"了。
来自挪威科技大学(NTNU)的研究团队最近做了一件有意思的事:他们造了一只能下水的四足机器人,而且不给它装任何螺旋桨或专门的推进机构,纯靠四条腿末端的球在水里划动产生的阻力,就能在水下调整自己的翻滚(roll)、俯仰(pitch)和偏航(yaw)姿态。
更关键的是,这只机器人全部用现成的、低成本的零件搭起来,还开源了。

01.
怎么防水?把每个电机都塞进"硬壳"里
想让一台陆地机器人下水,最头疼的其实不是控制算法,而是防水——尤其是那些为陆地设计、根本没考虑过泡水的低成本舵机,怎么才能可靠地密封。
团队采用了一种借鉴自传统ROV(水下遥控机器人)的硬壳方案:每一个电子部件都被装进刚性密封外壳里。具体来说,每个电机外壳由两半POM(聚甲醛)塑料加工而成,用螺栓拧在一起,中间夹一个市面上能买到的O型圈形成静密封。
每条腿由三个舵机驱动。这里有个巧妙的设计:其中控制腿在矢状面伸展的两个"侧向电机"驱动的是一套平面五连杆并联机构,这样两个电机可以塞进同一个外壳里,一条腿只需要两个密封壳就够了。五连杆结构还带来了额外好处——让两个电机分担负载,并把腿的质心拉近髋关节。
每个舵机带动一根定制的不锈钢轴伸到水里,形成转动关节。轴上装有径向唇形密封圈防止转动时进水,旁边的轴承负责吸收径向载荷、保护密封唇不被磨坏。线缆则通过BlueRobotics的WetLink穿线器引出。

密封效果怎么验证的?团队先做了真空测试,然后把机器人沉到1.5米深的水下连续测试了两个小时,期间舵机一直全范围来回扫动,最终没有检测到任何进水。
主控舱遵循同样的密封原则,里面装着Jetson Orin NX、VectorNav VN-100惯性测量单元、PWM驱动、12个ADC等等,一共用了14个WetLink穿线器把各路线缆引进来。供电方面用了两块LiPo电池,实验中大约能连续工作35分钟。

整机尺寸大约是58.99 × 34.44 × 15.33厘米,重4.9公斤。机器人下方还加了泡沫块,目的是让浮心和质心尽量靠近,同时让整体略微负浮力,这样它不会自己浮起来。所有12个关节都用的是AGF-RC的IB53BHU舵机——一款低成本的现成RC舵机,能提供3.9 Nm扭矩和95 rpm的转速。
02.
关键在那个"带洞的球":靠阻力当推进器
这只机器人最核心的思路,是把腿末端的球当成"划水桨"来用。
末端执行器为什么选球形?因为球的水动力特性是各向同性的——它不产生升力,受到的阻力只跟运动速度和横截面积有关,这大大简化了数学建模。这个球直径7.5厘米,是空心的、表面均匀分布着孔洞,这些孔既能增加阻力,又不会带来不对称的受力,还顺带减小了浮力。
原理上说,当一条腿的球在水里快速划动时,水的阻力会作用在球上,而这个力通过腿的结构传递到机身,就变成了作用在机身上的力矩——机器人正是靠这个力矩来翻身、抬头、转向的。

为了描述整套系统,团队特意避开了完整水动力建模的复杂路子。按理说,严格的水动力处理需要为每个在水里运动的部件估算附加质量和阻力系数,工程量巨大。这里研究者做了简化:忽略附加质量,也忽略腿本身的动力学,只保留末端球产生的阻力、浮力这些主导性的力和力矩。结果证明,这样一个简化模型对姿态控制来说已经够用了,还省去了大量繁琐的参数辨识。
03.
SO(3)上的姿态控制器:把力矩"翻译"成脚该怎么动
有了模型,控制器怎么设计?团队搭了一套基于SO(3)(三维特殊正交群)的闭环姿态控制器,整体是PID结构,还带了抗积分饱和机制。
它的工作流程可以理解成三层。第一层,根据IMU测到的当前姿态和目标姿态之间的差异,在SO(3)上算出一个姿态误差——这种表示方法的好处是避开了欧拉角那种在特定角度会"卡死"的奇异问题。第二层,PID控制律根据误差算出机身需要的总力矩,同时把陀螺耦合项和浮力力矩作为前馈项补偿掉。这个总力矩还会被限幅到2 Nm——这个上限是团队实测四条腿加起来最多能产生多大扭矩得出的。
第三层最有意思,叫分配(allocation):把需要的力矩平均分给四条腿,再反推出每条腿末端的球应该以多快的速度、朝哪个方向划动,最后通过逆运动学转换成每个舵机的角度指令。
不过真实系统有两个绕不开的限制:每条腿的工作空间有限,划一段就得收回来;而且位置控制的舵机带宽有限,跟不上瞬时指令。为此团队把四条腿分成两组对角腿(1、2)和(3、4),让它们交替进行"发力冲程"和"回收冲程"——就像人游泳划水,一只手划水时另一只手收回来准备下一次,以此尽量维持连续的力矩输出。

在正式上机之前,团队先在仿真里验证。仿真中用了MuJoCo基于惯量的流体模型,球的阻力系数CD = 0.64(通过CFD计算得到)。仿真结果显示,控制器能跟踪从15度到75度的各种姿态设定值,只是会因为"发力—回收"的交替机制而带有稳态小幅振荡。
04.
下水实测:翻滚、俯仰、组合动作都能稳住
真机实验在水箱里进行。机器人通过一个钩子挂在漂浮的泡沫块上、连到固定的龙门架,这样既能把它约束在固定深度,又能减小绳子张力对姿态的干扰。
团队做了三组实验:第一组单独给翻滚设定值,从15度到90度、每15度一档;第二组同样测俯仰;第三组则同时给翻滚和俯仰下30、45、60度的组合指令。而且每次偏航角都从一个不同的初始位置(从-78度到+123度不等)开始,所以"把偏航拉回零"始终是控制任务的一部分。

结果如何?总体上,机器人能够稳定跟踪到各个目标姿态。翻滚实验中,设定值越大,稳定所需时间通常也越长。俯仰实验里,75度和90度这两个大角度需要把回收时间缩短到1.0秒才能稳住;而且在这两组里观察到一个现象:机器人陡然抬头后会暂时"掉俯仰"——这是因为几条腿进入了一种不利于产生扭矩的相位配合,之后工作空间的不对称性让各腿在不同时刻结束发力,反而打破了这种不良同步,把腿重新带回更协调的状态。

在组合实验中,机器人也在30、45、60度三个设定点附近都稳定了下来。
团队也坦诚地指出了当前的局限:性能主要受限于速度。由于缺乏更精细的腿部相位协调,有时会出现几条腿同时进入回收阶段的情况,造成扭矩短暂中断、稳定时间变长;此外,腿在回收时总是缩回到工作空间中心附近的固定位置,导致每次发力冲程只用到了大约一半的可用行程。这些都是后续可以改进、从而让机器人更"敏捷"的方向。
总的来说,这项工作证明了一件事:靠球形末端的水动力阻力来驱动,配上一个建立在简化模型上的SO(3)控制器,就足以让一只低成本、可复现的四足机器人在水下完成姿态控制。研究由挪威研究理事会通过"挪威具身智能中心"资助。
相关论文:
https://arxiv.org/pdf/2609.09217







