多波束声呐海底地形采集仿真数据集
收藏资源简介:
本工具用于实现多波束声呐对海底地形的模拟采集。通过仿真AUV运动并模拟多波束声呐扫测过程,生成适用于水下SLAM研究的仿真数据集。
This tool is designed to perform simulated seabed topography data acquisition using multi-beam sonar. By simulating the motion of Autonomous Underwater Vehicles (AUVs) and the survey process of multi-beam sonar, it generates simulated datasets tailored for underwater SLAM research.
MB-TerrainSim 数据集概述
数据集简介
MB-TerrainSim 是一个用于多波束声呐海底地形采集仿真的工具,通过模拟AUV(自主水下机器人)的运动和多波束声呐的扫测过程,生成适用于水下SLAM(同步定位与地图构建)研究的仿真数据集。
主要功能
- 路径处理:对AUV轨迹进行降采样和坐标变换,并模拟INS(惯性导航系统)误差。
- 多波束仿真:基于声呐参数(扇面角度、测距等)进行扫测仿真。
- 子图生成:将采集数据分割为多个子图,并进行坐标系转换。
- 数据导出:生成TXT和PCD格式的点云数据,便于后续处理。
运行方法
方法一:一体化处理(推荐)
使用main.m进行一站式处理,配置参数后运行主程序。
方法二:分步处理
- 数据预处理:运行
dataPreproccess.m。 - 多波束仿真:运行
main_multibeamSimulink.m。 - 后处理生成子图:运行
dataPostproccess_createSubmap.m。
输入数据要求
- 地形数据:
MapPoint_900_900.mat(包含X、Y、Z三个矩阵)。 - 路径数据:
PathFollowing_1.mat(包含AUV轨迹点)。
输出说明
程序运行后在Data目录下生成以下文件:
YYMMDD_Processed_path_data.mat:处理后的AUV路径。YYMMDD_Ins_path_simulated_data.mat:模拟的INS路径。YYMMDD_recoder.mat:多波束采集记录。YYMMDD_sub_maps/:子图数据。TXT_sub_maps/:TXT格式子图。PCD_sub_maps/:PCD格式子图。
依赖项
- MATLAB R2020a或更高版本。
- Computer Vision Toolbox(用于点云处理)。
参数配置说明
路径处理参数
params.target_points:降采样后的目标点数,影响采样精度。params.scale_factor:坐标缩放系数,用于调整地图尺度。
INS误差模拟参数
params.error.line_std:直线段x/y方向标准差。params.error.turn_std:转弯段x/y方向标准差。params.error.cumulative:x/y方向累积误差因子。params.error.turn_factor:转弯误差x/y方向系数。params.error.no_error_fraction:起始无误差段比例。params.error.window_size:平滑窗口大小。
多波束声呐参数
SONAR_DEPTH:声呐深度(米)。SONAR_RANGE:最大探测距离(米)。SONAR_ANGLE:单侧扇面角度(度)。SONAR_BEAM_NUM:波束数量。
版本管理
v1.2.2 (250111)
- 新增功能:角度到四元数的转换函数。
- 优化改进:更新README.md、优化多个函数的误差生成算法。
- 问题修复:修复子地图四元数异常的问题。
v1.2.1 (250104)
- 新增功能:完整的INS误差模拟模块、PCD格式点云数据输出。
- 优化改进:重构路径处理模块、优化子图生成算法。
- 问题修复:修复坐标转换中的精度损失问题。
v1.2.0 (241230)
- 新增功能:基于实验数据的INS误差模拟、数据预处理模块。
- 优化改进:改进降采样算法、优化数据存储结构。
v1.1.0 (241219)
- 新增功能:子图自动生成、数据后处理模块、TXT格式数据导出。
- 优化改进:优化多波束模拟算法、改进数据输出格式。
v1.0.0 (241216)
- 初始版本发布:基础多波束声呐仿真功能、简单路径处理、基本数据可视化。
文件结构
shell ├── main.m # 主程序入口 ├── simulateMultibeam.m # 多波束仿真核心函数 ├── preprocessData.m # 数据预处理函数 ├── postprocessData.m # 数据后处理函数 ├── utils/ # 工具函数目录 │ ├── multibeam.m # 多波束模型实现 │ ├── generateSimulatedInsPath.m # INS误差生成 │ ├── createSubmap.m # 子图生成算法 │ └── ... └── Data/ # 数据目录 ├── MapPoint_900_900.mat # 地形数据 └── PathFollowing_1.mat # 路径数据
使用建议
- 参数调优:根据实际需求调整
target_points、error参数、SONAR_ANGLE和SONAR_BEAM_NUM。 - 数据预处理:确保输入地形数据范围合适,检查AUV路径是否覆盖目标区域。
- 性能优化:增加内存分配、通过并行计算加速处理、调整子图大小。
常见问题
- 内存不足:减小
target_points、降低地形数据分辨率、分批处理大型数据集。 - 精度问题:检查坐标系统是否统一、确认INS误差参数合理性、验证声呐参数设置。
- 数据导出:确保输出目录具有写入权限、检查磁盘空间是否充足、验证PCD文件格式兼容性。
联系方式
- 作者:Chihong(游子昂)
- 邮箱:
you.ziang@hrbeu.edu.cn - 项目地址:MB-TerrainSim




