Hace poco más de 4 años, le dedicamos una oportuna publicación a un fabuloso software de código abierto para la robótica llamado ROS, el cual, describimos como un idóneo Sistema Operativo para Robots que ofrece un útil y flexible marco de trabajo (framework) para escribir software eficiente y eficaz para robots. Y además, que en general se trataba de un conjunto de herramientas, bibliotecas y convenciones cuyo objetivo es el simplificar la tarea de crear un comportamiento robótico complejo y robusto en una amplia variedad de plataformas robóticas. También, en esa oportunidad mencionamos que, el mismo tiene como proyectos asociados a otros bien importantes y conocidos como Gazebo, Moveit, OpenCV, Point Cloud Library (PCL) y Open Robotics. Por lo que, en esta oportunidad dedicaremos esta publicación a conocer un poco más y específicamente sobre el proyecto y software llamado Gazebo.
Y si nunca has oído hablar del mismo, vale destacar de entrada y de forma resumida, que el mismo no es más que un software que ofrece un simulador de código abierto para la robótica que destaca por ofrecer un enfoque innovador para la simulación mediante un conjunto completo de bibliotecas de desarrollo y servicios en la nube que facilitan la simulación. Así que, si la robótica industrial, científica o educativa es lo tuyo, pues sin duda alguna debes conocer, probar y aprovechar de usar tan genial y accesible proyecto de código abierto.
ROS: Sistema Operativo para Robots – Un framework de código abierto
Pero, antes de comenzar a comentar todo lo importante sobre este útil simulador de robótica de código abierto disponible para Linux llamado «Gazebo», les recomendamos explorar y leer nuestra anterior y más reciente publicación relacionada con el anterior software llamado ROS, al finalizar la misma:
Artículo relacionado: ROS: Sistema Operativo para Robots – Un framework de código abierto
Gazebo: Un útil simulador de robótica de código abierto para Linux
¿Qué es Gazebo?
Según su sitio web oficial, este desarrollo de software llamado Gazebo es descrito brevemente de la siguiente forma:
Gazebo (anteriormente conocido como Ignition) es un simulador de robótica de código abierto mantenido por Open Robotics. Por lo cual, ofrece a los usuarios la capacidad de poder tener acceso a física, renderizado y modelos de sensores de alta fidelidad. Además, ofrece a los usuarios y los desarrolladores de múltiples puntos de acceso a la simulación, incluyendo una interfaz gráfica de usuario, complementos, paso de mensajes asíncrono y servicios. Por último, ofrece un enfoque innovador a la simulación con un conjunto completo de herramientas de bibliotecas de desarrollo y servicios en la nube que facilitan la simulación. Lo que hace posible, por ejemplo, la iteración rápida de nuevos diseños físicos en entornos realistas con flujos de sensores de alta fidelidad. Favoreciendo así, la ejecución de estrategias de control en condiciones de seguridad, y la simulación en pruebas de integración continua.
Además, es importante destacar que, hoy en día y según su repositorio oficial de GitHub:
Existen dos versiones principales de Gazebo: Gazebo Classic y Gazebo (anteriormente Ignition). Las versiones de Gazebo Classic utilizan números para registrar las versiones, mientras que Gazebo utiliza nombres de versión con letras (por ejemplo, Fortress, Garden, entre otros). En consecuencia, recomendamos a los nuevos usuarios de Gazebo que comiencen con la última versión actual, Gazebo Jetty, de fecha del 30 de septiembre del 2025. Ya que, la última versión de Gazebo Classic en la versión 11, de fecha del 30 de enero del 2020.
Y entre sus características más destacadas destacan algunas como:
- Simulación distribuida: Gazebo soporta el uso de múltiples servidores para mejorar el rendimiento. El cálculo se distribuye de forma optimizada a varios servidores.
- Carga dinámica de activos: Utilizando información espacial, Gazebo puede cargar y descargar automáticamente activos de simulación para mejorar drásticamente el rendimiento.
- Rendimiento sintonizable: Facilita el control del tamaño del paso de tiempo de simulación para que se ejecute en tiempo real, más rápido o incluso más lento, que en tiempo real.
- Soporte multiplataforma: Disponible para su uso sobre Linux, macOS y Windows.
- Integración con la nube: Permite ver, descargar y cargar modelos de simulación y mundos sobre un propio servidor alojado en la nube, ubicado en la URL: app.gazebosim.org
- Integración con ROS: Gazebo está disponible en ROS Melodic. Este puente convierte automáticamente entre los mensajes protobuf de Gazebo y los mensajes ROS.
- Amplia gama de Sensores y Modelos de ruido: Cámaras monoculares, LIDAR, IMU, Sensores de contacto, altímetros y muchos otros más están disponibles, y en camino.
- Gráficos 3D avanzados: Ogre 2.1 está disponible en Gazebo Rendering, lo que proporciona acceso a las últimas técnicas de renderización, mapas de sombras mejorados y más.
- Física Precisa: DART es el motor de física por defecto en Gazebo Physics, lo que le proporciona un nivel de precisión que supera a mucho de los motores de juego más avanzados.
Instalación
Siguiendo las indicaciones oficiales y recomendados para su instalación sobre un sistema operativo Linux (Ubuntu), y utilizando su última versión estable disponible, estos son los pasos para su instalación utilizando directamente sus repositorios compatibles con Ubuntu:
Pasos previos recomendados
sudo apt-get update
sudo apt-get install lsb-release gnupg
Instalación del software Gazebo Jetty
sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] https://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] https://packages.osrfoundation.org/gazebo/ubuntu-prerelease $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-prerelease.list > /dev/null
sudo apt-get update
sudo apt-get install gz-jetty
Ya luego de esto, todas las librerías deberían estar listas para usarse y la aplicación gz-sim lista para ejecutarse.
El equipo de Gazebo se complace en anunciar la décima versión principal de Gazebo, cuyo nombre en código es Jetty. Esta es una versión con soporte a largo plazo (LTS), lo que significa que tendrá una vida útil más larga, concretamente hasta septiembre de 2030. Recomendamos a los usuarios de Gazebo que actualicen a Jetty como su versión de uso diario. Anuncio sobre el lanzamiento de la versión Jetty
Y para finalizar, vale mencionar que también puede ser instalado mediante la paquetería Snap y directamente instalado mediante la compilación de sus archivos fuentes. Además, existe una versión web no oficial llamada Gazebo web que también puede ser útil para muchos, y que está diseñada mediante el framework Angular (Versión 10), y requiere de node 14.x y npm 6.x para funcionar.
En resumen, esperamos que este útil simulador de robótica de código abierto disponible para Linux llamado «Gazebo» que hoy le hemos dado a conocer o recordar que existe, les sea muy útil y práctico a muchos, tanto en lo profesional y laboral, como para su posible uso científico y hasta lo educativo. Pero sobre todo, en este último enfoque, ya que, seguramente por ser gratuito, fácil de instalar y emplear, podría ser de gran utilidad como herramienta educativa para enseñar a grandes y pequeños sobre robótica a la par de masificar el uso de sistemas operativos libres y abiertos como Ubuntu. Y en caso de que desees sugerirnos o recomendarnos algún otro paquete o software similar, te invitamos a escribirnos vía comentarios para tenerlo en cuenta, para una futura publicación.
Fuente: desdelinux