Repolode
patrykcieslak

patrykcieslak/stonefish

Biblioteca de simulação em C++ que combina um mecanismo de física e um pipeline de renderização para robótica marinha e ambientes subaquáticos.

Estrelas
332
Forks
79
Issues abertas
21
Último commit
ontem

O que é?

Stonefish é uma biblioteca de simulação em C++ que combina um mecanismo de física derivado do núcleo do Bullet Physics e adaptado para robôs marinhos com um pipeline de renderização leve. Ela é voltada a pesquisadores de robótica marinha e também pode servir como simulador de robôs de uso geral.

As forças hidrodinâmicas são calculadas com base na geometria real dos corpos, e não em aproximações simbólicas. O renderizador abrange cenas atmosféricas, oceânicas e subaquáticas, com absorção e dispersão da luz que variam conforme o comprimento de onda na água, em vez de uma simples névoa azul.

Stonefish pode ser usado para criar aplicações independentes ou combinado com o pacote stonefish_ros para integração com ROS. Ele funciona no Linux e requer suporte a OpenGL 4.3; Windows e macOS não são compatíveis.

Recursos principais

  • 01Mecanismo de física derivado do Bullet Physics e adaptado à dinâmica de robôs marinhos.
  • 02Cálculo das forças hidrodinâmicas com base na geometria real dos corpos.
  • 03Renderização de cenas atmosféricas, da superfície do oceano e subaquáticas.
  • 04Absorção e dispersão da luz subaquática que variam conforme o comprimento de onda.
  • 05Integração opcional com ROS por meio do pacote separado stonefish_ros.

Casos de uso

  • Testar algoritmos de controle e navegação para AUVs e ROVs antes de testes em campo.
  • Simular sonar e sensores subaquáticos para pesquisas em percepção.
  • Gerar cenas subaquáticas sintéticas para experimentos de machine learning.
  • Executar simulações gerais de robôs em um fluxo de trabalho baseado em ROS.

Início rápido

  1. 1

    Instale as dependências: GLM, SDL2 e FreeType

  2. 2

    Clone o repositório

  3. 3

    Configure e compile com o CMake

    cmake .. && make -jX
  4. 4

    Instale a biblioteca em todo o sistema

    sudo make install

Antes de usar

  • Desenvolvido e testado no Linux Ubuntu; não há versão para Windows.
  • O macOS não é compatível porque não oferece suporte ao OpenGL 4.3.
  • Requer uma GPU recente compatível com OpenGL 4.3 e exige bastante da CPU.
  • Licenciado sob a GPL-3.0, uma licença copyleft.

Em coleções

Tópicos

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

Perguntas frequentes

O que é stonefish?
Biblioteca de simulação em C++ que combina um mecanismo de física e um pipeline de renderização para robótica marinha e ambientes subaquáticos. Stonefish é uma biblioteca de simulação em C++ que combina um mecanismo de física derivado do núcleo do Bullet Physics e adaptado para robôs marinhos com um pipeline de renderização leve. Ela é voltada a pesquisadores de robótica marinha e também pode servir como simulador de robôs de uso geral.
stonefish é gratuito? Qual é a licença?
stonefish é open source sob a licença GPL-3.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
stonefish ainda é mantido?
Manutenção ativa. O último commit de stonefish foi em 5 de nov. de 2026.
Para que posso usar stonefish?
Testar algoritmos de controle e navegação para AUVs e ROVs antes de testes em campo. Simular sonar e sensores subaquáticos para pesquisas em percepção. Gerar cenas subaquáticas sintéticas para experimentos de machine learning. Executar simulações gerais de robôs em um fluxo de trabalho baseado em ROS.
Como instalar stonefish?
Instale as dependências: GLM, SDL2 e FreeType Clone o repositório Configure e compile com o CMake: cmake .. && make -jX Instale a biblioteca em todo o sistema: sudo make install
Onde consigo stonefish?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/patrykcieslak/stonefish

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados

Ambiente de simulação baseado em Gazebo e ROS 2 para testar veículos de superfície não tripulados em cenários marítimos, com tarefas inspiradas na competição RobotX.

762+1 esta semana295C++Apache-2.0Atualizado há 3 meses