Repolode
patrykcieslak

patrykcieslak/stonefish

Una biblioteca de simulación en C++ que combina un motor de física y un sistema de renderizado para la robótica marina y los entornos submarinos.

Estrellas
332
Forks
79
Issues abiertos
21
Último commit
hace 24 horas

¿Qué es?

Stonefish es una biblioteca de simulación en C++ que combina un motor de física derivado del núcleo de Bullet Physics y ampliado para robots marinos, con un sistema de renderizado ligero. Está pensada para investigadores en robótica marina y también puede usarse como simulador de robots de propósito general.

Las fuerzas hidrodinámicas se calculan a partir de la geometría real de los cuerpos, en lugar de recurrir a aproximaciones simbólicas. El sistema de renderizado abarca escenas de la atmósfera, la superficie del océano y el entorno submarino; bajo el agua, simula la absorción y dispersión de la luz en función de la longitud de onda, en vez de aplicar una simple niebla azul.

Stonefish puede usarse para crear aplicaciones independientes o combinarse con el paquete stonefish_ros para integrarse con ROS. Funciona en Linux y requiere compatibilidad con OpenGL 4.3; no es compatible con Windows ni macOS.

Funciones clave

  • 01Motor de física ampliado a partir de Bullet Physics para simular la dinámica de robots marinos.
  • 02Cálculo de las fuerzas hidrodinámicas a partir de la geometría real de los cuerpos.
  • 03Renderizado de la atmósfera, la superficie del océano y escenas submarinas.
  • 04Simulación de la absorción y dispersión de la luz bajo el agua en función de la longitud de onda.
  • 05Integración opcional con ROS mediante el paquete independiente stonefish_ros.

Casos de uso

  • Probar algoritmos de control y navegación para AUV y ROV antes de las pruebas de campo.
  • Simular sonar y sensores submarinos para investigar la percepción.
  • Generar escenas submarinas sintéticas para experimentos de machine learning.
  • Ejecutar simulaciones de robots de propósito general con un flujo de trabajo basado en ROS.

Inicio rápido

  1. 1

    Instala las dependencias: GLM, SDL2 y FreeType

  2. 2

    Clona el repositorio

  3. 3

    Configura y compila con CMake

    cmake .. && make -jX
  4. 4

    Instala la biblioteca en todo el sistema

    sudo make install

Antes de usarlo

  • Desarrollado y probado en Linux Ubuntu; no hay una versión para Windows.
  • macOS no es compatible porque no admite OpenGL 4.3.
  • Requiere una GPU reciente compatible con OpenGL 4.3 y consume muchos recursos de CPU.
  • Está bajo la licencia GPL-3.0, una licencia copyleft.

En colecciones

Temas

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

Preguntas frecuentes

¿Qué es stonefish?
Una biblioteca de simulación en C++ que combina un motor de física y un sistema de renderizado para la robótica marina y los entornos submarinos. Stonefish es una biblioteca de simulación en C++ que combina un motor de física derivado del núcleo de Bullet Physics y ampliado para robots marinos, con un sistema de renderizado ligero. Está pensada para investigadores en robótica marina y también puede usarse como simulador de robots de propósito general.
¿stonefish es gratuito? ¿Qué licencia tiene?
stonefish es open source bajo la licencia GPL-3.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿stonefish sigue mantenido?
Mantenimiento activo. El último commit de stonefish fue el 5 nov 2026.
¿Para qué puedo usar stonefish?
Probar algoritmos de control y navegación para AUV y ROV antes de las pruebas de campo. Simular sonar y sensores submarinos para investigar la percepción. Generar escenas submarinas sintéticas para experimentos de machine learning. Ejecutar simulaciones de robots de propósito general con un flujo de trabajo basado en ROS.
¿Cómo se instala stonefish?
Instala las dependencias: GLM, SDL2 y FreeType Clona el repositorio Configura y compila con CMake: cmake .. && make -jX Instala la biblioteca en todo el sistema: sudo make install
¿Dónde consigo stonefish?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/patrykcieslak/stonefish

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados

Entorno de simulación basado en Gazebo y ROS 2 para probar vehículos de superficie no tripulados en escenarios marinos, inspirado en las pruebas de la competición RobotX.

762+1 esta semana295C++Apache-2.0Actualizado hace 3 meses