Repositorio con los paquetes (ROS 2) correspondientes al workshop en Stonefish para la ROSCON25 llevada a cabo en Barcelona, España.
Tabla de contenido
| Responsables Workshop | Sebastian Realpe Rua | linkedin.com/in/sebastian-realpe-rua |
| Salvador Barajas Lopez | linkedin.com/in/salvador-lopez-barajas |
En este workshop buscamos introducir Stonefish, simulador para robotica marina, el cual puede ser integrado en el ecosistema de ROS con su paquete stonefish_ros2.
Patryk Cieślak, "Stonefish: An Advanced Open-Source Simulation Tool Designed for Marine Robotics, With a ROS Interface", In Proceedings of MTS/IEEE OCEANS 2019, June 2019, Marseille, France.
Ofrecemos un entorno contenerizado (Docker) con los recursos necesarios para participar de forma activa en el workshop.
Para poder usar el entorno se debe hacer lo siguiente:
-
Entornos Docker: Debes tener instalado Docker engine en tu ordenador para poder ejecutar el container: Install Docker engine for Ubuntu
-
Nvidia container Toolkit: Nvidia dispone de un toolkit espefico para que entornos contenerizados puedan acceder al hardware grafico del host, por lo que es necesarios instalar el toolkit en tu ordenador: Install Nvidia container toolkit
-
Clonar este repositorio Ya estas listo, puedes clonar este repo para ejecutar el Dockerfile asociado y utilizar los paquetes necesarios para el workshop.
git clone https://github.com/GitSRealpe/roscon25_es_stonefish_workshop.git
Procedemos ahora a ejecutar el container, para esto realizamos:
cd roscon25_es_stonefish_workshopdocker compose build: compilamos el docker el cual usa una imagen precompilada de Stonefish bajo una imagen con ROS 2 Jazzy../run.sh: Ejecutamos este shell script como utilidad para iniciar el containerros2 launch bluerov_stonefish bluerov_sim.launch
- En una pestana nueva de la terminal:
docker exec -it roscon25-stonefish-docker-dev-run-xxxxxx bashpara abrir otra terminal bash en la misma instancia del contenedor.ros2 launch roscontrol_test testcontroller.launch.pypara lanzar el stack de ros_control del robot.
- Nuevamente, en otra pestana nueva de la terminal:
docker exec -it roscon25-stonefish-docker-dev-run-xxxxxx bashpara una terminal adicionalros2 launch bluerov_stonefish slides_deck.launchpara lanzar las slides interactivas del workshop
Si tienes listo un workspace de ROS 2 en tu ordenador, tambien puedes hacer la instalacion manual de los paquetes, para ello sigue estas instrucciones:
Stonefish como tal es una libreria desarrollada en C++, independiente de ROS, por lo cual debe ser instalada como cualquier libreria.
- Instalar dependencias [OpenGL Mathematics library, SDL2 library, Freetype library]:
sudo apt install libglm-dev libsdl2-dev libfreetype6-dev
- Compilar e instalar
- Crear directorio para compilar
mkdir ~/libsycd ~/libs - Clonar Stonefish repo.
cd stonefishmkdir buildcd buildcmake ..make -jX(X es el numero de procesos a usar)- Instalar libreria en tu ordenador
sudo make install
- Crear directorio para compilar
Luego de esto procedemos a clonar y compilar el paquete que enlaza la libreria Stonefish con ROS 2.
