Simulador de robots de código abierto para modelar, programar y simular robots, vehículos y sistemas mecánicos.
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
Instala las dependencias: GLM, SDL2 y FreeType
- 2
Clona el repositorio
- 3
Configura y compila con CMake
cmake .. && make -jX - 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
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
Plataforma de simulación para robótica e IA incorporada que combina un motor de física múltiple, un renderizador fotorrealista y un compilador multiplataforma mediante una interfaz Python.
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.
Lista seleccionada de libros, cursos, simuladores, bibliotecas de software, conferencias, revistas y competencias de robótica.
Simulador 2D de robots para ROS, centrado en el rendimiento y que ejecuta modelos de robots en entornos planos y ligeros.
Simulador multihilo basado en física para enjambres de robots a gran escala, capaz de ejecutar varios motores de física a la vez.