1. 项目概述与设计指标
本项目针对小型水域精细化作业需求,在 500mm×300mm×100mm 的尺寸约束下,开发了一款集成零能耗垃圾归集、定量投饵、水质浊度遥测与机器视觉辅助驾驶的微型无人船。系统基于树莓派 Zero 2W 边缘算力底座,满载重量控制在 1540g,吃水线 50mm。实测底层控制端到端延迟均值 42ms,视觉识别帧率稳定于 30FPS,各项参数均达到预期工程指标。
2. 机械结构与流体优化
船体外部进行了结构件的布局,前部安装了撞角以提供物理防护,并合理放置了雷达与通信天线,确保信号收发质量。尾部为主要的推进与转向机构。
↑ 左侧:船艏撞角、雷达及天线布局;右侧:尾部推进及转向机构
船首参考破冰船特征设计了特定角度的引流撞角,利用航行相对水流自然剥离漂浮物,实现零能耗垃圾归集。以下为水流仿真的验证结果:
↑ SolidWorks 流体力学仿真,验证斜面结构可有效改变驻点分布并导流漂浮物
船体外壳采用 PETG 材质 3D 打印成型。针对初期实验暴露的漏水问题,经切片软件排查,确认根源在内墙与底面实心填充交界处无法绝对致密。工程端采用 K-704B 有机硅密封胶厚涂填缝配合层纹修补液,成功通过了后续 5 小时静水渗水复测。
↑ 左侧:切片软件排查底面与内墙结合处的致密性缺陷;右侧:涂胶密封后的 5 小时静水防渗测试
后部投饵机构受微型船体重心严格约束,整体架设于舱盖上方。初期刚性连杆设计在运行至死角时会导致舵机严重堵转卡死,最终改用柔性软片拨刷结构,依靠非刚性材料形变容差越过机械死点,彻底解决了卡弹故障。
↑ 投饵摆臂机构结构详图及一体成型的摇臂设计
3. 硬件拓扑与信号隔离
针对单块 7.4V 电池供电导致的电压域矛盾,系统采用电调 BEC 逆向供电拓扑:将双路电调内置的 5V 开关降压输出逆接至 PCA9685A 驱动板,供投饵舵机与射频接收机取电;树莓派则通过独立稳压供电,仅共地连接。该方案在节省降压模块体积的同时,实现了动力域与逻辑域的电气隔离。
↑ 舱内电气布局:核心计算节点置于高位防患渗水,动力与信号走线物理分区
↑ 左侧:底层 I2C 总线与程序调试;右侧:有刷电机驱动模块实拍
4. 控制算法与代码实现
底层滤波算法:在带水波纹的水面工况下,超声波返回数据存在剧烈跳动。软件底座实现了一套七元素滑动窗口复合滤波算法:剔除极大极小值后再做一阶低通滤波,实测将数据方差从 14.5cm 降至 1.2cm。
↑ 代码实现:超声波七元素滑动窗口与复合滤波 (hardware/sensors.py)
双发电机动态补偿:针对廉价有刷电机物理响应不对称特性,底盘控制解算器引入了动态前馈补偿。通过 Trim 参数将左电机最大占空比强行截断在 85%,并在越过中位死区时给右电机注入 13% 初始占空比,通过纯软件层面的校准实现了同步直线行驶。
↑ 代码实现:底层混控限幅配平与右电机起步死区补偿 (hardware/motor_controller.py)
轻量化视觉与调度:弃用重载 YOLO 模型,改用 MobileNetSSD Caffe 轻量化网络置于 OpenCV DNN 后台异步推理。为控制功耗,开发了基于 RC 通道的按需唤醒调度机制:常规巡航切断视频流进程,仅在接收到指令时拉起摄像头激活 PID 追踪,整机续航提升约 40.3%。
↑ 视觉识别模型调试,锁定水面目标 IOU ≥ 0.75
↑ Web 网关限制并发并引入帧缓冲区覆写机制,保障了 PC/手机跨端通信稳定
5. 运行测试与演示
系统后台守护线程以 115200 波特率解析 i-BUS 数据,并加入 200ms 超时防飞车停机保护。以下视频记录了开发阶段的遥控链路测试及全功能系统实况演示。
↑ 阶段一:底层驱动与远程遥控基础功能验证
↑ 阶段二:系统全功能集成与水面工况操作演示
6. 总结与工程展望
本项目在低算力与严苛尺寸约束下验证了整套逻辑的可行性。当前原型机主要存在舱内飞线在长期震动下易接触不良、强直射光下视觉帧率下降等问题。下一阶段工作将聚焦于主板 PCB 定制(布设模拟地与数字地隔离),以及引入毫米波雷达实现多模态数据融合,弥补单一视觉的感知盲区。