水下机器人 SLAM 与三维重建技术路线
水下机器人 SLAM 与三维重建技术路线
更新日期:2026-08-16
1. 项目目标
系统面向载人潜水器或水下机器人,覆盖两个主要场景:
- 水下实时作业:在没有 GPS 信号的环境中实时估计机器人六自由度轨迹,并生成可用于观察、导航和覆盖检查的稠密点云。
- 岸上离线重建:保存水下采集的完整原始数据,回到岸上后利用全局优化轨迹、TSDF 和 3D Gaussian Splatting(3DGS)等技术生成高质量三维模型。
目标不是依赖单一算法解决所有问题,而是把实时定位、传感器融合、可靠记录和高质量离线重建拆分成相互衔接的模块。
2. 总体架构
水下实时系统
ZED 双目图像与深度 ─┐
ZED IMU / 工业 INS ─┤
DVL 速度 ───────────┤
压力深度计 ─────────┤──> 时间同步与多传感器融合 ──> 实时位姿
声学定位(可选)────┘ │
├──> 实时轨迹
ZED 深度 ─────────────────────────────────────────┘
└──> 局部稠密点云
同步数据记录
左右原图 + 深度 + IMU/INS + DVL + 压力 + 标定 + 时间戳 + 实时位姿
│
v
岸上离线处理
回环检测与全局图优化 ──> 优化轨迹 ──> 点云/TSDF ──> 3DGS/表面重建
3. 第一阶段:水下实时 SLAM
3.1 视觉与深度前端
使用 ZED 2i 提供:
- 同步双目图像;
- 双目标定参数;
- GPU 深度图和点云;
- 内置 IMU 数据;
- ZED SDK 位置跟踪结果,可作为基线或辅助里程计。
ZED SDK 的官方 Spatial Mapping 示例采用以下流程:
双目图像 -> 深度估计 -> 视觉/惯性位置跟踪
-> 将深度变换到世界坐标系 -> 融合 Mesh 或稠密点云
该方案数据链路短、显示稳定,适合作为实时稠密建图性能基线。但其回环、图优化和状态估计内部实现不透明,不应单独承担长航程生产定位。
3.2 SLAM 后端
当前验证阶段继续使用 RTAB-Map:
- 输入 ZED 彩色图、深度图和标定数据;
- 生成视觉里程计、轨迹和稠密点云;
- 通过回环检测及位姿图优化降低累计漂移;
- 使用数据库保存地图和关键帧,便于回放与分析。
应优化目前的 ROS 2 图像链路:
- 使用统一的 RGB-D 同步节点,只同步一次彩色图、深度图和 CameraInfo;
- 避免
rgbd_odometry、rtabmap和监控界面重复订阅多路原始大图; - 监控界面优先使用压缩图像;
- 实际建图优先选择稳定的 15 FPS,而不是不稳定的 30 FPS;
- 明确相机、SLAM 节点启动顺序,减少 DDS 发现和按需发布造成的启动同步超时。
3.3 多传感器融合
水下生产系统不能只依赖双目视觉。建议逐步融合:
- IMU/INS:提供高频姿态、角速度和短期运动约束;
- DVL:提供相对海底或水体的速度,是抑制水下位置漂移的重要传感器;
- 压力深度计:稳定约束垂直方向;
- 声学定位:USBL/LBL 等设备可提供稀疏绝对位置;
- GNSS:仅在水面或上岸后提供绝对位置和全局坐标对齐。
推荐使用基于 GTSAM、因子图或成熟滤波框架的融合层,而不是把所有传感器直接塞进视觉 SLAM。视觉里程计、DVL、压力、INS 和声学定位分别作为测量因子进入统一状态估计器。
4. 第二阶段:可靠数据记录
实时系统必须优先保证原始数据可恢复,即使实时建图暂时失败,岸上仍能重新计算。建议同步保存:
- 左、右原始图像及校正图像;
- ZED 深度图和置信度信息;
- ZED IMU、外部 INS 原始数据;
- DVL 速度与质量状态;
- 压力深度、温度等环境数据;
- 声学定位和水面 GNSS;
- 相机内参、双目外参、相机到机器人机体的外参;
- 所有传感器原始时间戳、同步状态和时钟偏差;
- 在线估计的轨迹、TF、诊断信息和算法配置。
ZED 建议同时录制 SVO,ROS 2 侧使用 rosbag2/MCAP 记录其他传感器和算法结果。任务开始前进行磁盘余量、写入速度和掉帧检测。
5. 第三阶段:岸上离线优化与重建
5.1 轨迹优化
离线阶段重新运行视觉特征匹配和回环检测,并融合完整的 INS、DVL、压力及可能的声学/GNSS约束,生成质量高于实时结果的全局一致轨迹。
5.2 几何重建
优先输出具有明确尺度和可测量性的几何成果:
- 优化后的融合点云;
- TSDF/Voxel Hashing 融合结果;
- 三角网格;
- 相机轨迹、覆盖范围和质量报告。
TSDF 或点云是工程测量与质量检查的基础。3DGS更适合高质量外观展示,不应替代可测量的几何模型。
5.3 3D Gaussian Splatting
3DGS处理链路建议为:
原始高质量图像
+
校正后的相机模型
+
离线全局优化轨迹
+
深度/点云几何先验
↓
3DGS训练与优化
↓
可视化模型 + 与点云/Mesh对齐的工程成果
水下需要额外处理颜色衰减、浑浊散射、悬浮颗粒、人工照明变化和观察窗折射,否则这些变化可能被3DGS错误地建模为场景结构或浮点伪影。
6. pySLAM 的定位
pySLAM 是一个混合 Python/C++ 的研究型视觉 SLAM 框架,支持单目、双目和 RGB-D,并提供:
- 多种经典与现代局部特征;
- BoW、NetVLAD、CosPlace、Megaloc 等回环方案;
- g2o 和 GTSAM 优化;
- 稀疏地图、轨迹保存和重定位;
- TSDF、体素哈希及语义稠密融合;
- 增量 Gaussian Splatting;
- DUSt3R、MASt3R、VGGT 等多视图重建方法。
6.1 适合承担的工作
- 对比不同视觉特征与匹配器;
- 验证不同回环检测方法;
- 使用 ZED 数据测试双目/RGB-D SLAM;
- 研究 TSDF、语义地图及增量3DGS;
- 作为岸上离线重建和算法选型平台。
6.2 当前不适合作为生产主系统的原因
- 项目明确定位为研究框架和持续开发中的系统;
- IMU集成仍在 Roadmap,不是成熟视觉惯性管线;
- ROS 1/ROS 2支持仍在 Roadmap;
- 没有现成的 ZED SDK实时输入接口,需要自定义适配;
- 没有成熟的 DVL、压力计、INS 和声学定位融合;
- Python与大量研究依赖增加部署、版本管理和长期维护成本;
- 采用 GPLv3,闭源商业产品需提前进行许可证审查。
因此,pySLAM适合作为算法实验和离线重建平台,不建议当前直接替换 RTAB-Map或充当水下生产定位的唯一核心。
7. 各组件建议分工
| 组件 | 推荐定位 |
|---|---|
| ZED SDK | 相机驱动、双目深度、IMU读取、SVO记录、短程位置跟踪基线 |
| ZED ROS 2 Wrapper | 将 ZED 数据接入机器人 ROS 2 系统 |
| RTAB-Map | 当前阶段实时 RGB-D SLAM、回环、图优化、地图数据库 |
| 多传感器融合器 | 融合视觉、IMU/INS、DVL、压力、声学和GNSS |
| pySLAM | 特征/回环算法研究、稠密融合、3DGS和离线实验 |
| 自研监控界面 | 展示视频、稠密点云、轨迹、覆盖率和设备状态 |
8. 推荐实施阶段
阶段 A:陆上基线验证
- 固化 ZED SDK Spatial Mapping 的帧率、轨迹和点云基线;
- 优化 RTAB-Map RGB-D同步和数据链路;
- 对比 ZED轨迹、RTAB-Map轨迹及建图质量;
- 建立可重复播放的 SVO + MCAP测试数据集。
阶段 B:pySLAM 离线验证
- 在独立环境安装 pySLAM,避免污染 ROS 2环境;
- 先用官方数据集跑通 stereo、RGB-D和回环;
- 编写 ZED SVO/图像序列适配器;
- 对相同采集序列比较 RTAB-Map与pySLAM轨迹;
- 测试 TSDF和增量3DGS,记录速度、显存、模型质量和失败模式。
阶段 C:水池与近岸试验
- 完成防水舱条件下的双目标定和折射验证;
- 增加压力深度计、INS和DVL;
- 测试低纹理、浑浊、悬浮物和不同灯光条件;
- 评估实时轨迹连续性、漂移率、回环成功率和点云重影;
- 验证原始数据记录的完整性和离线可恢复性。
阶段 D:生产化
- 将关键实时路径迁移到稳定的 C++组件;
- 建立进程看护、传感器健康检查和自动重启;
- 建立配置版本、标定版本和任务元数据管理;
- 设计实时降级策略,例如视觉失败时由 INS+DVL+压力维持状态;
- 建立标准数据集、精度指标、回归测试和现场验收流程。
9. 关键风险
- 普通空气标定不能直接代表防水观察窗后的成像模型;
- 浑浊、反光、悬浮颗粒和动态生物会破坏特征与深度;
- 仅靠 IMU不能长期消除位置漂移,DVL和绝对约束很重要;
- 实时点云看起来正常不等于轨迹全局一致;
- 3DGS外观质量高不代表模型具有工程测量精度;
- ROS 2传输大量原始图像时,重复订阅与时间同步可能造成数据饥饿;
- GPLv3及第三方模型许可证可能影响商业闭源发布。
10. 当前建议结论
当前最合理的路线是:
以 ZED SDK负责稳定采集和深度,以 RTAB-Map完成当前实时 SLAM验证,以独立融合层逐步接入 INS、DVL和压力信息;完整记录原始数据,岸上通过全局优化获得高质量轨迹,再使用 TSDF和3DGS进行离线重建。pySLAM作为算法研究与离线重建平台引入,而不是直接作为生产实时定位核心。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)