基于 Yocto 与瑞萨 RZ/V2H 多核异构的跨海大桥智能巡检 ROV 全景结项总结
作者:林宇祥(SevenFriends)
个人技术博客:https://sevenfriends.xtkx.site
主控平台:瑞萨 RZ/V2H EK320(4× Cortex-A55 @ Linux/ROS2 + Cortex-M33 @ FreeRTOS + 双 DRP-AI3 NPU)
基站主控:瑞萨 RA4M2 + E22 LoRa
成果荣誉:2026 年全国大学生物联网设计竞赛全国一等奖(团队队长)、全国大学生嵌入式芯片与系统设计竞赛全国三等奖
前言:一次“不设退路”的冒险
这个项目的源头,来自于两个看似偶然的契机:一是在短视频平台上偶然刷到的青岛胶州湾大桥宏伟建设报道;二是在 B 站上长期关注的国外硬核 ROV(水下遥控无人潜航器)探险视频。
当时我们脑海里冒出了一个挥之不去的工程问题:面对常年遭受高盐、湍流、风浪侵蚀的跨海大桥混凝土桥墩,人类目前究竟是怎样做水下探伤与维护的?
深入调研后我们发现,行业现状远比想象中残酷与落后:
1. “脐带缆”缠绕梦魇:传统工业 ROV 极度依赖粗重的脐带缆供电与通信,在桥墩这种复杂水下异形柱群作业时,稍微遭遇横流扰动,缆绳缠绕桥墩往往直接导致设备损毁或永久沉没;
2. “只看不治”的被动低效:传统设备仅能充当被动的水下摄像机,水下浑浊视线下根本无法自动检测微细裂缝;面对藤壶、牡蛎等致密海洋生物的寄生硬壳,更毫无现场物理清除手段;
3. 过度依赖专业潜水员与飞手:水下作业风险极高,培养一个熟练的商业潜水员和飞手成本巨大。
“我们能不能做一台多核异构、片上边缘计算、具备‘无缆/微缆辅助定位’、能自己看懂裂缝、甚至能伸出机械爪现场清理病害的智能巡检 ROV?”
2025 年 12 月,我们正式锁定了这个题目。2026 年 1 月期末考结束的当天下午,我拿出了刚发到手的国家奖学金 10,000 元奖金,拉上队友,项目正式点火启动。我们当时没有给自己留任何退路——我们不认为嵌入式竞赛是电赛的下位替代,它是一个真正值得你把自己所有的工程狂想与技术底蕴倾注进去的顶尖舞台。
文中会见到两种外形不同的ROV,其中有着黑色尼龙外挡板的是最后升级版。旨在加强防水、平衡、稳定性与便捷性。

▲ 图 1-1 水下实测实景:跨海大桥智能巡检 ROV 在深水试验池中稳定悬停与下潜巡检作业(搭载自研全向矢量推进器、水下高亮探照灯、作业机械夹爪、亚克力密封耐压舱及水声通信定位换能器)

▲ 图 1-2 跨海大桥智能巡检 ROV 整机与岸基基站系统桌面实物展示(配备 RA4M2 岸基便携无线基站、高增益 LoRa 射频天线与全套测控链路)

▲ 图 1-3 跨海大桥巡检作业流程概览(下潜巡航 -> 裂缝检测 -> 附着物清除 -> 紧急上浮)
一、全系统架构设计:多核异构如何破局?
水下机器人最核心的矛盾,永远是“大算力边缘 AI(重)”与“毫秒级高频运动控制(急)”的冲突。
如果采用传统高校方案——“树莓派/Jetson(跑算法)+ STM32/Pixhawk(跑飞控)”的双板拼凑模式,不仅仓内走线极其拥挤、两块板卡互相争抢电源与散热,而且两板之间的 UART 通信带宽只有几十 KB/s,延迟高达几十毫秒,根本不可能满足高动态水流下的闭环姿态伺服。
经过对半导体原厂路线的深度技术评估,我们大胆选用了瑞萨次世代边缘 AI 旗舰——RZ/V2H EK320 作为整机单芯片主控,构建了一套“片上多核异构(Heterogeneous Multi-core on Chip)”架构:

▲ 图 2-1 整体系统架构框图(RZ/V2H 单芯片 A55+M33+DRP-AI3 异构体系与外设总线拓扑)
+-----------------------------------------------------------------------------------+
| 瑞萨 RZ/V2H EK320 单芯片大脑 |
| |
| +---------------------------------------+ +---------------------------------+ |
| | Cortex-A55 大核群 (Linux / ROS2) | | Cortex-M33 实时小核 (FreeRTOS)| |
| | | | | |
| | • USB 摄像头采集 (640x480 RGB) | | • 100Hz 6路推进器 PWM 矢量驱动 | |
| | • DRP-AI3 硬件加速推理 (YOLOv8m, 25fps)| | • Mahony 姿态解算 (IMU 9轴) | |
| | • 裂缝与附着生物三维坐标解算 | | • 深度传感器闭环定深 (PID 控制)| |
| | • 航迹规划与状态监控 | | • 3自由度清理机械夹爪控制 | |
| | | | • 超声波水下避障探头采集 | |
| +---------------------------------------+ +---------------------------------+ |
| | | |
| +======== [OpenAMP RPMsg 共享内存] =====+ |
| (微秒级 150μs 核间通信总线) |
+-----------------------------------------------------------------------------------+
|
+--------------------------------+--------------------------------+
| (水下声学通信 / 少量坐标遥测) | (Lora 433MHz 岸基长距离链路)
v v
+-----------------------------+ +-----------------------------+
| 水声通信基站 (定位锚点) | | 岸基 RA4M2 边缘基站 |
+-----------------------------+ +-----------------------------+
| (Web Serial API)
v
+-----------------------------+
| Three.js 3D 沉浸式数字孪生 |
| Web 监控控制台 (零后端) |
+-----------------------------+
核心指标速查表
- 整板峰值功耗:仅 6W(极大缩减了机身配重与热阻,直接省去了庞大发热的独立电池仓);
- 视觉推理帧率:YOLOv8m 在 DRP-AI3 加速下达到 25 fps(单帧推理时延仅约 40ms);
- 底层运动控制频率:100 Hz 强实时更新,水下悬停翻滚角误差 $\le 5^\circ$,定深稳态误差 $\le 5\text{ cm}$;
- 核间通信往返延迟:150 $\mu$s,吞吐带宽突破 1 MB/s;
- 岸基端到端遥测延迟:$\le 2\text{ s}$(LoRa 62.5k 空中速率,14 字节紧凑帧)。
二、机械本体与物理架构:从三维建模到钢筋电焊
水下设备的容错率是 0。一滴水渗入仓内,价值数千元的核心板就会瞬间化为青烟。
我们在 SolidWorks 中构建了 1:1 的完整装配体模型,涵盖推进器布局、探照灯、机械夹爪、超声波避障传感器以及内部复杂的配重与舱内支撑结构。在 ROV 左右两侧及腹部通过胶水粘贴条形亚克力部件,其上分布间距均匀的圆孔,用于各个模块化支架的锁紧与位置微调。

▲ 图 2-2 SolidWorks 中 ROV 整体三维建模与空间布局分配(提前完成重心与浮心配平仿真)
1. 模块化机械部件矩阵设计
为了让整机在复杂水下具有强拓展性,我们通过 SolidWorks 独立建模了 12 组专用机械结构件,配合 3D 打印与数控加工成型:
| 机械部件名称 | 设计功能与安装位置 | 对应三维设计模型 |
|---|---|---|
| 探照灯及水声通信固定架 | 固定探照灯于 ROV 前侧两端,中心专用圆孔锁紧水声通信换能器,留有水密穿线空间 | ![]() |
| 夹爪电机前后可调固定架 | 安装于机身腹部前端,设计顶丝导轨结构,可自由前后调节夹爪伸出量与作业重心 | ![]() |
| 垂直推进器固定架 | 左右侧中部对称安装,固定 2 具大推力垂直电机,专门负责水下定深与姿态俯仰配平 | ![]() |
| 水平电机固定架(偏航矢量角) | 装载于左右侧前后方,通过特定的偏航倾角实现类似“麦克纳姆轮”的平面全向航行与自转 | ![]() |
| 超声波探头避障固定架 | 固定三个超声波探头模块,呈广角扇形阵列分布,负责水下行进防碰撞测距 | ![]() |
此外,我们还为整机设计了专用顶板(承载配重箱与浮体)、配重调节仓(填装铅块或浮材实现零浮力微调)、理线槽(规整机外大电流动力线缆)以及基站与电源板专用的绝缘底壳。
2. 电子仓的“超长跨度”挑战与手工钢筋电焊
ROV 的亚克力防水密封电子仓长度达到了惊人的 300 mm。当时我们尝试使用大尺寸 3D 打印机制作仓内元器件固定骨架,但在水下配重压迫和跌落震动测试中,塑料骨架发生微小形变,导致内部 PCB 针脚接触仓壁。
工科人的浪漫就是因地制宜! 我们果断放弃纯塑料架,直接购买工程钢筋与钢板,在实验室借来电焊机,手工切割、点焊、打磨出了一副高刚度、极轻自重的焊接钢骨架,不仅牢牢锁死了电池和主控,还极大增强了整机的抗震结构。

▲ 图 2-11 长达 300mm 的电子仓纯手工钢筋电焊固定架实物(强度极高且重量轻,彻底告别 3D 打印件受压变形风险)
元器件制作完成后,我们将核心板、驱动板、异形转接板与线束统一规整锁紧在钢骨架上,实现了舱内强电与弱电的高可靠空间物理隔离:

▲ 图 3-3 电子仓内部元器件集成与规整走线实物(通过专用底壳架离仓底,防止偶发冷凝水短路引脚)
3. CNC 铝合金风道保护散热壳
RZ/V2H 芯片在全速运行双 DRP-AI 加速器时发热量可观。为了防止主控板在密闭无空气对流的亚克力仓内过热降频,我们自己测量了板载发热元件与接插件的高度差,在 CAD 中建模,自费通过 CNC 精密铣削加工了一套带定向导热槽的铝合金保护外壳。

▲ 图 2-12 / 图 3-4 自行建模并通过 CNC 精密铣削加工的 EK320 铝合金导热外壳(实测与核心芯片严丝合缝卡合)
📌 详见博文:《MYZR RZ/V2H EK320 开发板保护散热壳》
4. 专用电焊 ROV 放置架与模拟测试场地搭建
水下机器人在陆地上调试极易倾倒受损。为此,我们利用铁板与钢筋电焊制作了专用 ROV 放置支架,使机体稳固架空,螺旋桨与夹爪悬空不受挤压。

▲ 图 2-15 采用铁板与钢筋手工焊接制作的 ROV 专用放置架(整机平稳架空于窗台前,便于进行联调与硬件检测)
为了在实验室完全复现跨海大桥水下巡检场景,我们自购大口径 PVC 管道制作了模拟桥墩模型,并在外壁粘贴海星、贝壳等模拟海洋附着物;同时采购高强篷布搭建了专用试验水池:
| 模拟水下桥墩模型 | 实验水下测试水池搭建 |
|---|---|
![]() |
![]() |
| ▲ 图 2-16 贴附模拟生物的 PVC 桥墩模型 | ▲ 图 2-17 团队在实验室外现场搭建的试验水池 |
三、硬件电路攻关:那些差点烧板的流血排障之夜
整个项目的硬件电路由我独立负责,共自主绘制并打样了 3 块 4 层/2 层 PCB:
1. ROV 核心电源及继电器驱动板;
2. RZ/V2H 专用多电平异形转接板;
3. RA4M2 岸基便携无线通信板。
1. 电源底板:4S 动力电与弱电逻辑的生死隔离
水下大推力推进器在急加减速时会产生剧烈的反电动势和电源母线电压纹波。
* 分层设计:采用嘉立创 4 层沉金工艺,第二层为完整 GND 地平面,第三层为宽铜皮 24V 强电平面,顶层与底层走敏感弱电信号,整板大面积铺铜散热;
* 母线防护:在 4S 锂电池输入端并联了 SMBJ24A 瞬态抑制二极管(TVS),配合大容量低 ESR 固态电容阵列,吸收反向尖峰;
* DC-DC 选型:选用德州仪器经典的 TPS5430 降压芯片,稳定将 24V 降至 12V(3A 额定输出供开发板),二次通过 78L33 LDO 降至 5V 和 3.3V;
* 车载大功率继电器:抛弃了容易打火黏连的薄弱小固态继电器,直接采用车载级大电流机械继电器,配合水密磁控开关控制整机主回路硬启停。

▲ 图 2-18 ROV 核心电源及控制板原理图(TPS5430、SMBJ24A 防护与继电器控制)

▲ 图 3-5 电源控制板实物图(搭载车载大电流继电器与高可靠滤波网络)
2. 血泪排障第 1 弹:入水后推进器停转与 PWM 电平跌落之谜
这是研发期间最惊心动魄的一次危机:
在实验室桌面上调试时,通过逻辑分析仪和串口发出指令,6 路无刷推进器转速线性度极高,响应迅猛。然而一放进试验水池,推进器不仅不转,甚至连电调的自检鸣叫声都断断续续!
我们连夜搬来示波器在池边抓波形:
* 当推进器悬空在空气中运转时,PWM 控制信号是完美的 3.3V 矩形波;
* 一旦电机浸入水中带动螺旋桨吃水做功,母线电流瞬间暴增,示波器上的 PWM 高电平竟然被硬生生拉低砸到了 1.8V 附近!
真相大白:水下推进器电调在大电流换向工况下,输入端的滤波电容与驱动管存在微小的寄生反向倒灌电流,通过信号地线与转接芯片的内部二极管回路串扰,使得原本驱动能力较弱的电平转换芯片输出级发生电平塌陷,无法越过电调的逻辑“1”判定门限!
破局手段:我们迅速在信号链路中重新设计了专用输出驱动增强与高速推挽隔离网络,将输出阻抗大幅降低,并加强了信号回流地回路。改板焊接后再次入水测试,PWM 高电平纹丝不动稳锁在 3.3V,推进器在水中爆发出了强劲推力!
3. 血泪排障第 2 弹:1.8V 与 3.3V 的电平鸿沟与异形转接板
翻看瑞萨 RZ/V2H 数据手册会发现,芯片虽然支持 1.8V/3.3V 双电源域,但我们拿到手上的 EK320 官方评估板出厂默认外设引脚全部处于 1.8V 逻辑电平!而工业级传感器(深度计、IMU、超声波)和驱动器全部是标准的 3.3V / 5V 逻辑。
直接飞线会导致严重的信号失真和地电位漂移。为此,我特意绘制了一块专门扣合在核心板与铝合金散热壳上的“异形扩展板”:
* 推挽信号(UART, PWM, SPI, GPIO):选用 TXB0108 双向自动方向识别芯片;
* 开漏总线(I2C 深度传感器):开漏总线如果错用 TXB 系列会引发严重的边缘振铃,必须选用针对开漏优化的 TXS0102;
* 上电时序控制:加入专门的微秒级延时复位电路,确保主控 1.8V 域稳压建立完成后,转接板的 3.3V 转换逻辑才使能开工,彻底杜绝开机总线锁死现象。

▲ 图 2-21 专为 1.8V 与 3.3V/5V 设计的异形电平转接板原理图

▲ 图 3-6 异形电平转接板实物(严丝合缝卡合在开发板与 CNC 保护壳上)

▲ 图 3-7 基于 RA4M2 的岸基便携无线通信板实物(贴片 LoRa 模组与水声通信外接口)
📌 详见博文:《MYZR RZ/V2H EK320 开发板电平转换板》
四、嵌入式与底层系统:打通异构算力的任督二脉
1. WSL2 下深度定制编译 Yocto Linux
RZ/V2H 是业界极少数将 4 核 64 位 A55 与单核 M33 集成在单颗芯片上的工业处理器。但要让它的多核真正跑起来,官方只提供了庞大的 Yocto 工程源码。
在 Windows 宿主机的 WSL2 Ubuntu 环境中,我们搭建了无污染的 Docker 交叉编译镜像:
* 定制了适配 EK320 的设备树(Device Tree),分配外设控制器所有权;
* 将 OpenAMP RPMsg 内核驱动 与 DRP-AI TVM 运行时依赖库 打包进入根文件系统;
* 优化编译策略,将整机 Linux 启动时间压进 15 秒以内。

▲ 图 3-8 基于 WSL2 深度编译 Yocto Linux 镜像并验证板端启动

▲ 图 2-27 软件分层架构及 A55-M33 双核数据流闭环时序框图
2. A55 与 M33 的总线访问冲突与仲裁
在双核同时运转初期,我们经常偶发系统内核假死崩溃(Kernel Panic)。查阅底层总线矩阵后发现:A55 侧的 Linux 内核在探测外设时,尝试扫描并重置已被 M33 实时系统占用的串口与定时器寄存器!
我们在设备树中严密剥离了 M33 专属外设节点,在 A55 设备树中将其显式声明为 status = "reserved",并在硬件启动时序上让 U-Boot 率先加载 M33 的 FreeRTOS 固件进专属 SRAM,随后再引导 Linux 内核,彻底斩断了多核争抢总线的隐患。
📌 详见博文:《关于 CA55 与 CM33 总线访问冲突的问题》
3. OpenAMP RPMsg 微秒级核间总线实战
我们没有走低效的网络 Socket,而是使用 OpenAMP(开放非对称多处理框架):
* 在共享内存(Shared Memory)中开辟双向环形缓冲区(vring);
* A55 Linux 侧呈现为一个标准的字符设备 /dev/ttyRPMSG0;
* M33 FreeRTOS 侧注册 RPMsg Endpoint 端点监听;
* 实测核间数据单次往返仅 150 微秒!视觉推理出的病害像素坐标 (x, y, label),几乎零感知地瞬间投递到 M33 的姿态控制算法中。

▲ 图 3-9 OpenAMP RPMsg 双向环形共享内存通信拓扑

▲ 图 3-10 e2studio 配合 RZ FSP 敏捷配置 M33 硬件外设中断与定时器

▲ 图 3-11 OpenAMP RPMsg 实测:CA55 发出指令,CM33 微秒级响应并精准驱动机械爪舵机
📌 详见博文:《MYZR RZ/V2H EK320 核间通信实战》
五、AI 边缘视觉与 M33 姿态闭环:大脑与小脑的合奏
1. DRP-AI 赋能 YOLOv8m:水下 25 FPS 的极致推理
水下光照衰减剧烈、悬浮泥沙漫射,传统 OpenCV 边缘检测在面对粗糙裂缝时误报率奇高。
* 我们采集并标注了 1,800 张桥墩裂缝与海星/贝壳的样本,训练了定制化的 YOLOv8m 权重;
* 使用瑞萨官方的 DRP-AI TVM 编译器,将 PyTorch ONNX 算子无缝量化、编译并绑定至芯片内置的 DRP-AI3 硬件加速器;
* 相比纯 CPU 推理,NPU 加速带来了超过 10 倍 的能效比跃升,整板在 640×480 输入下稳跑 25 FPS,单帧耗时仅 40ms!在浑浊水质条件下(模拟含沙量 < 50mg/L),仍保持 70% 以上的高可靠检出率。

▲ 图 3-14 RZ/V2H 板端利用 DRP-AI3 运行 YOLOv8m 实时识别水下裂缝与附着生物(单帧推理 40ms,mAP@0.5 > 85%)
📌 详见博文:《基于瑞萨 ai_sdk 的 yolov8 模型部署(一):环境搭建》
2. M33 端 100Hz 姿态解算与 PID 定深
在 Cortex-M33 侧,我们基于 FreeRTOS 搭建了确定性极高的三任务流水线:
1. Task 1: 高频传感与 Mahony 姿态滤波(100Hz):
采集 I2C 深度计压强与 9 轴 IMU 原始加速度/角速度,融合解算实时的 Roll / Pitch / Yaw 姿态角(误差 $\le \pm 2^\circ$);
2. Task 2: 位置式 PID 闭环推力分配(100Hz):
以目标深度为期望值,将实时深度偏差输入位置式 PID,结合姿态平衡补偿,解算出 6 路推进器的 PWM 占空比并直接驱动定时器 GPT 输出;
3. Task 3: 机械夹爪自适应清除逻辑:
接收到 A55 传来的生物附着包围盒中心对齐信号后,驱动步进电机驱动爪执行张合剥离,实测清理率突破 90%。
📌 详见博文:《MYZR RZ/V2H EK320 CM33 Freertos 实战入门》
六、通信体系:水声无缆定位 + 极简 Three.js 纯前端监控
1. 水声 + LoRa 双通信协议栈设计
水下电磁波衰减极快,普通 Wi-Fi 入水 5 厘米即断连。
* 水下定位:采用微型水声通信模块,利用声波测距算法与几何相交定位,为 ROV 在浑浊无 GPS 的水下提供坐标基准;
* 岸基交互:在水面基站搭载 瑞萨 RA4M2 MCU + E22 LoRa 射频模块,自研了一套轻量级二进制通信协议:
* 上行遥测帧(14 字节,周期广播):
[0xAA 帧头] [4B X坐标] [4B Y坐标] [2B 深度] [1B 水温] [1B 电池电量] [1B 状态码] [1B XOR校验]
* 下行指令帧(3 字节,低延迟点播):
[0xBB 帧头] [1B 动作指令: 0x01下潜/0x02上浮/0x03启停/0x04夹爪] [1B XOR校验]
实测整条链路在 62.5k 空速下,丢包率 $< 2\%$,端到端延迟紧锁在 2 秒 以内。
2. 纯前端 3D 监控台(Web Serial API + Three.js)
为了让现场裁判和工程人员拥有无死角的操控视野,我们先在 Blender 中对 ROV 装配体进行了逼真的材质贴图与光影烘焙,导出精简 .glb 格式:

▲ 图 3-12 Blender 中对 ROV 进行材质渲染与轻量化数字资产导出
随后用 Three.js (v0.160) 开发了一套纯前端单页面应用(SPA):
* 零后端、插上即用:无需在电脑上搭建任何 Python/Node.js 本地服务器,通过浏览器的 Web Serial API 直接以 115200 波特率直连岸基 LoRa 串口;
* 3D 数字孪生:将 .glb 模型直接导入网页,利用着色器模拟水下水波光影、雾气与暴雨特效;
* 姿态完全同步:解析到 14 字节上行帧后,实时驱动网页中的 3D ROV 模型旋转、升降,并动态刷新水温、深度曲线仪表盘,帧率稳跑 60 FPS!

▲ 图 3-13 基于 Three.js 与 Web Serial API 的纯前端三维监控与遥测姿态数字孪生界面
七、全流程复盘与感悟:写在国一斩获之后
从 2025 年 12 月的一张草稿纸,到 2026 年 8 月站在全国大学生物联网设计竞赛全国总决赛的答辩领奖台上;从最初面对 RZ/V2H 全英文数据手册的一头雾水,到最终打通芯片全部算力。回望这大半年的昼夜奋战,感慨万千。
1. 那些被“野路子”拯救的关键时刻
调试过程中我们踩过的坑,绝大多数都不是芯片手册能直接告诉你的:
* 密封电子仓的“刷机死局”:整机一旦打满密封胶打气保压,就再也插不上 USB 串口线烧录 M33 固件,而当时板载 Wi-Fi 驱动因为内核升级频繁死锁。千钧一发之际,我们搞来一个便携式无线网桥,把 WiFi 信号转成 RJ45 有线网口插入开发板以太网口,直接架起 SSH 隧道进行远程固件更新,彻底解开了闭仓调试的死结;
* 为躲避白天炎热而在深夜的水池调试:为了等待水面平静和避开白天的酷暑,我们好几个星期都是在深夜甚至凌晨扛着几十斤重的水池、桥墩模型和 ROV 下水联调,常常为了抓一个偶发的通信丢包一直熬到天光破晓。

▲ 图 4-1 为避开白天高温与外界干扰,团队在深夜水池边持续联调的难忘实拍
2. 关于硬件与嵌入式工程的真正意义
很多人在大学期间热衷于在电脑屏幕前调包调参、跑跑虚拟数据集,觉得碰硬件又脏又慢、还容易烧芯片耗经费。
但只有亲手把一块板子从原理图焊出板、在示波器上捉住那根跌落的电压线、看自己写的电机控制算法在一汪碧水中推动着钢铁躯体精准悬停并清除病害时,你才会明白:真正顶天立地的工程技术,不仅要有探索天空的大脑,更要有一双能踩进泥土、沉入水底、把物理世界的问题彻底解决的双手。
这份沉甸甸的全国一等奖,不仅属于我们这支团队,更是对我们坚持在技术博客上开源所有底层调试记录、回馈开源社区最好的奖赏!







Comments