patrykcieslak/stonefish

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

Stonefish – 海洋ロボットシミュレーションライブラリ

概要 – Stonefishは、物理エンジン(Bulletベース)とカスタムレンダリングパイプラインを組み合わせ、海洋ロボットをシミュレートするためのオープンソースC++ライブラリです。リアルな流体力学(物体の実際の幾何学形状を使用)と、視覚的に正確な水中シーン(波長依存の光の吸収と散乱)に重点を置いています。

主な機能

  • 物理演算: 水中航行体向けに拡張された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の幾何学ベースの流体力学とリアルな視覚レンダリングは、汎用ロボットシミュレーターよりも忠実なテストベッドを研究者に提供し、海洋ロボットの制御アルゴリズムや機械学習モデルの開発を加速させます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト