patrykcieslak/stonefish

Stonefish - an advanced C++ simulation library designed for (but not limited to) marine robotics.

Stonefish – 海洋机器人仿真库

简介 – Stonefish 是一个开源 C++ 库,结合了物理引擎(基于 Bullet)与自定义渲染管线,用于仿真海洋机器人。它专注于逼真的流体动力学(使用物体的实际几何形状)以及视觉上精确的水下场景(与波长相关的光吸收与散射)。

主要功能

  • 物理引擎: 基于 Bullet 的动力学扩展,专为水下航行器设计,具备先进的流体动力计算。
  • 图形渲染: 实时 OpenGL 4.3 渲染,支持大气、海面及水下环境。
  • ROS 集成: 随附的 ROS 软件包 (stonefish_ros) 提供仿真器节点,使该库能于 ROS 生态系统中使用。
  • 文档说明: 通过 Doxygen 提供的 API 参考,以及使用 Sphinx 生成的用户指南(在线网址为 readthedocs.io)。

目标用户 – 从事自主水下航行器 (AUV)、遥控潜水器 (ROV) 或任何在海洋环境中运行,且需要高保真仿真以进行控制、规划或机器学习实验的机器人研究人员与开发者。

如何开始

  1. 安装必要的系统库:OpenGL Mathematics (GLM)、SDL2 与 FreeType。
  2. 克隆仓库,创建 build 目录,执行 cmake .. 与 make。
  3. 使用 sudo make install 进行安装。
  4. 若需要代码层级的 API,请使用 Doxygen 构建文档。
  5. 对于基于 ROS 的项目,请拉取独立的 stonefish_ros 仓库并遵循其集成步骤。

平台注意事项 – 于 Ubuntu Linux 上开发;需要支持 OpenGL 4.3 的 GPU。不提供 Windows 或 macOS 构建版本。

授权条款 – GPL-3.0,您可以在相同授权下使用、修改并重新分发代码。

重要性 – 精确仿真水下物理环境极具挑战性。Stonefish 的几何流体动力学与逼真的视觉渲染为研究人员提供了比通用机器人仿真器更忠实的测试平台,有助于加速海洋机器人控制算法与机器学习模型的开发。

相关

  • 项目
  • 项目
  • 项目
  • 项目