Repolode
patrykcieslak

patrykcieslak/stonefish

一个 C++ 仿真库,结合物理引擎与渲染管线,面向海洋机器人与水下环境仿真。

Star
332
Fork
79
未关闭 Issue
21
最近提交
前天

这是什么?

Stonefish 是一个 C++ 仿真库,将物理引擎与轻量级渲染管线结合在一起。物理引擎基于 Bullet Physics 的核心功能扩展而来,用于真实模拟海洋机器人,面向海洋机器人研究人员,也可作为通用机器人仿真器使用。

水动力计算基于物体的实际几何形状,而不是符号化模型,能更好地逼近水动力作用。渲染部分覆盖大气、海面和水下场景,水下环境考虑了随波长变化的光吸收与散射,而非简单的蓝色雾效。

它既可以单独构建应用程序,也可以搭配 stonefish_ros 包接入 ROS 体系。目前仅支持 Linux,需要 OpenGL 4.3 支持,暂不支持 Windows 和 macOS。

核心功能

  • 01基于 Bullet Physics 扩展的物理引擎,适用于海洋机器人动力学仿真。
  • 02依据物体实际几何形状计算水动力。
  • 03渲染大气、海面和水下场景。
  • 04模拟水下随波长变化的光吸收与散射。
  • 05可通过独立的 stonefish_ros 包接入 ROS。

适用场景

  • 在实际水下试验前测试 AUV 和 ROV 的控制与导航算法。
  • 为感知研究仿真声呐和水下传感器。
  • 为机器学习实验生成合成水下场景。
  • 在基于 ROS 的工作流中进行通用机器人仿真。

快速上手

  1. 1

    安装依赖:GLM、SDL2 和 FreeType

  2. 2

    克隆仓库

  3. 3

    使用 CMake 配置并构建

    cmake .. && make -jX
  4. 4

    将库安装到系统中

    sudo make install

使用前须知

  • 主要在 Linux Ubuntu 上开发和测试,目前没有 Windows 版本。
  • 由于不支持 OpenGL 4.3,macOS 不受支持。
  • 需要支持 OpenGL 4.3 的较新 GPU,且计算量较大。
  • 采用 GPL-3.0 许可证,属于 Copyleft 许可。

收录于专题

标签

#robotics#simulation#marine#underwater-robotics#physics-engine#rendering#ros#auv#fluid-dynamics#research

常见问题

stonefish 是什么?
一个 C++ 仿真库,结合物理引擎与渲染管线,面向海洋机器人与水下环境仿真。 Stonefish 是一个 C++ 仿真库,将物理引擎与轻量级渲染管线结合在一起。物理引擎基于 Bullet Physics 的核心功能扩展而来,用于真实模拟海洋机器人,面向海洋机器人研究人员,也可作为通用机器人仿真器使用。
stonefish 可以免费使用吗?用的什么许可证?
stonefish 以 GPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
stonefish 还在维护吗?
活跃维护中。stonefish 最近一次提交是在 2026年11月5日。
stonefish 适合用来做什么?
在实际水下试验前测试 AUV 和 ROV 的控制与导航算法。 为感知研究仿真声呐和水下传感器。 为机器学习实验生成合成水下场景。 在基于 ROS 的工作流中进行通用机器人仿真。
stonefish 怎么安装和运行?
安装依赖:GLM、SDL2 和 FreeType 克隆仓库 使用 CMake 配置并构建: cmake .. && make -jX 将库安装到系统中: sudo make install
在哪里获取 stonefish?
源代码和安装说明在 GitHub 上:https://github.com/patrykcieslak/stonefish

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目