水下潜航器 · 中小学启蒙教程
适合小学高年级至初中学生,从认识水下机器人开始,了解深海探索的奥秘,通过动手组装和编程控制,完成你的第一台水下潜航器。
第一章 深海世界与水下机器人
1.1 为什么需要水下机器人
地球表面 71% 是海洋,但人类只探索了不到 5% 的海洋。深海有:
- 马里亚纳海沟:最深处 11,034 米,比珠穆朗玛峰还深
- 海底热泉:温度高达 400°C,却有生物存活
- 沉船遗址:泰坦尼克号在 3,800 米深处沉睡
人类无法直接潜入深海(水压太大),所以需要 水下机器人 代替我们探索。
1.2 水下机器人的分类
| 类型 | 全称 | 特点 | 应用场景 |
| ROV | 遥控水下机器人 | 有缆绳连接水面,实时遥控 | 海底管道检测、沉船探测 |
| AUV | 自主水下机器人 | 无缆绳,自主编程航行 | 海底测绘、海洋科研 |
| 水下滑翔机 | Underwater Glider | 靠浮力变化前进,超长时间 | 海洋环境监测 |
1.3 水下机器人与无人车/无人机的区别
| 环境 | 无人车(陆地) | 无人机(空中) | 潜航器(水下) |
| 介质 | 空气 | 空气 | 水(密度 800 倍空气) |
| 阻力 | 小 | 中 | 大 |
| 通信 | WiFi/蓝牙 | 无线电 | 声波/有线(无线电在水中衰减极快) |
| 定位 | GPS | GPS | 无 GPS(水下无卫星信号) |
| 浮力 | 无需考虑 | 重力 vs 升力 | 必须精确控制浮力 |
第二章 浮力与防水——水下机器人的核心挑战
2.1 阿基米德原理
浸在液体中的物体受到向上的浮力,浮力等于物体排开液体的重力。
公式:F_浮 = ρ_水 × V_排 × g
实验:
- 拿一个空瓶子按入水中——越往下按越费力(排开的水越多,浮力越大)
- 往瓶子里装沙子——装到刚好悬浮在水中 = 中性浮力
- 水下机器人就是通过调节自身重量/体积来实现上浮、下潜、悬浮
2.2 防水密封
水下机器人最重要的工程问题:防水
| 密封方式 | 适用场景 | 原理 |
| O 型圈 | 舱盖密封 | 橡胶圈受压变形填充缝隙 |
| 水密接插件 | 电缆穿舱 | 特殊橡胶密封 electrical connector |
| 灌封胶 | 电路板防水 | 环氧树脂完全包裹电子元件 |
2.3 动手实验:制作简易防水舱
材料:PVC 管、端盖、O 型圈、硅胶密封胶
步骤:
- 将电子元件(LED 灯 + 电池)放入 PVC 管内
- 用 O 型圈 + 端盖密封两端
- 涂硅胶密封胶加固
- 放入水中测试——不进水即成功
第三章 推进器与运动控制
3.1 水下推进器
水下机器人最常用的推进方式是 螺旋桨推进器(Thruster):
- 电机带动螺旋桨旋转 → 推动水流 → 产生推力
- 推力方向取决于推进器安装方向
3.2 典型 ROV 推进器布局
三推进器布局(最常见教育级 ROV):
[左推进器] [右推进器]
\ /
\ /
[防水舱体]
|
[垂直推进器]
- 左 + 右推进器:控制前进/后退/转向
- 垂直推进器:控制上浮/下潜
3.3 运动控制编程
# 简易 ROV 控制代码(Arduino/Python)
import time
def forward(left_power, right_power, duration):
"""前进:两个水平推进器同向"""
set_left_thruster(left_power)
set_right_thruster(right_power)
time.sleep(duration)
stop_all()
def dive(vertical_power, duration):
"""下潜:垂直推进器向下"""
set_vertical_thruster(vertical_power)
time.sleep(duration)
stop_all()
def turn(left_power, right_power, duration):
"""转向:两个水平推进器反向"""
set_left_thruster(left_power)
set_right_thruster(-right_power)
time.sleep(duration)
stop_all()
第四章 水下感知
4.1 水下不能用 GPS
GPS 信号是电磁波,在水中衰减极快(几厘米就消失了)。水下定位靠:
- 声呐(SONAR):发射声波,测回波时间 → 计算距离
- 深度传感器:测水压 → 换算深度
- IMU(惯性测量单元):加速度计 + 陀螺仪 → 推算位置
- 水下摄像头:视觉识别标记物
4.2 声呐测距实验
原理:声波在水中速度约 1500 m/s(空气中 340 m/s)
距离 = 声速 × 时间差 / 2
与超声波避障对比:
- 超声波在空气中工作(340 m/s)
- 声呐在水中工作(1500 m/s)
- 原理完全相同,只是介质不同
4.3 水下摄像头
水下摄像头是 ROV 的"眼睛":
- 帮助操作员看到前方情况
- 可以配合 AI 视觉做目标识别(如识别海底生物、管道裂缝)
- 水的浑浊度会影响可视距离
第五章 动手做:组装你的第一台 ROV
5.1 教育级 ROV 套件清单
| 部件 | 数量 | 说明 |
| PVC 防水舱 | 1 套 | 主舱体 + 端盖 + O 型圈 |
| 推进器 | 3 | 2 水平 + 1 垂直 |
| 控制板 | 1 | Arduino/STM32 + 电机驱动 |
| 摄像头 | 1 | USB 防水摄像头 |
| 深度传感器 | 1 | MS5837 水压传感器 |
| 电池 | 1 | 12V 防水电池包 |
| 框架 | 1 套 | 铝合金/亚克力框架 |
| 缆绳 | 1 | 有缆遥控用(10m) |
5.2 组装步骤
- 安装框架:将框架组装成矩形底座
- 安装推进器:2 个水平推进器固定在两侧,1 个垂直推进器固定在顶部
- 安装防水舱:控制板、电池放入防水舱,密封
- 接线:推进器 → 电机驱动板 → 控制板
- 安装摄像头:固定在前方,线缆穿过水密接插件
- 安装深度传感器:固定在舱外(需要接触水)
- 测试密封:放入水中 10 分钟,检查是否进水
5.3 编程控制
# ROV 基础控制程序
import serial
ser = serial.Serial('/dev/ttyUSB0', 115200)
commands = {
'forward': b'F200\n', # 前进,速度 200
'backward': b'B200\n', # 后退
'dive': b'D150\n', # 下潜
'surface': b'S150\n', # 上浮
'left': b'L180\n', # 左转
'right': b'R180\n', # 右转
'stop': b'X\n', # 停止
}
while True:
cmd = input("输入指令 (forward/backward/dive/surface/left/right/stop): ")
if cmd in commands:
ser.write(commands[cmd])
print(f"已发送: {cmd}")
elif cmd == 'quit':
ser.write(b'X\n')
break
第六章 水下机器人与脑电波
6.1 脑电波控制水下机器人
结合脑电波(BCI)技术,可以用"意念"控制水下机器人:
- 注意力集中 → ROV 前进
- 冥想放松 → ROV 停止
- 注意力等级 → 控制速度
6.2 实现原理
脑电头环 → 蓝牙读取 Attention/Meditation 值
↓
Python 程序解析脑电数据
↓
映射为 ROV 控制指令
↓
串口/蓝牙发送给 ROV 控制板
↓
推进器执行动作
推荐学习资源
- BlueROV2 官方教程:bluerobotics.com
- 海洋机器人教育套件:MATE ROV Competition
- B站搜索:"ROV 水下机器人 DIY"
- 竞赛:MATE 国际海洋机器人竞赛、全国水下机器人大赛