Modelos en Gazebo

Archivos .world

Los archivos world contienen una descripción del entorno a ser simulado en Gazebo . Este describe el diseño de robots, sensores, fuente de luz, componentes de la interfaz de usuario, y demás. El archivo world también se puede usar para controlar algunos aspectos del motor de simulación, tales como la fuerza de gravedad o los pasos temporales de la simulación.

Los archivos world de Gazebo estan escritos en XML lo que permite crearlos y modificarlos usando un editor de texto.

Conceptos claves

El mundo consiste principalmente de delaraciones de modelos . Un modelo puede ser un robot (por ej. Pioneer2AT), un sensor (por ej. SICK LMS200), una característica física del entorno (por ej. el terreno) o algun objeto manipulable.

Otros elementos dentro del archivo world indican como renderizar la escena mediante la declaración ogre (Open source 3D Graphics Engine), atributos del GUI mediante declaración gui , y propiedades físicas del motor mediante declaración ode (Open Dinamics Engine); estas declaraciones se refiere a secciones del archivo xml.

Sintaxis del modelo

Un modelo (model) es una entidad física dentro del mundo. Esta consiste de uno o mas cuerpos (body), cada uno conteniendo una o mas geometrías (geom).

Los modelos pueden estar escritos en archivos separados e incluirlos dentro del .world.

<include embedded="true"> <xi:include href="models/sicklms200.model" /></include>

(embedded : False if the included file does not need parameters overwritten.)

Controladores e Interfaces

Un modelo puede contener uno o mas controladores. Se utiliza un controlador para leer datos desde sensores o manipular cuerpos. Cada controlador hace uso de una o mas interfaces. Una interfaz define que datos se exportan mediante libgazebo , por ejemplo el controlador pioneer2dx_position2d puede utilizar la interfaz position.

Creación de modelos

Los modelos son archivos xml (Ver )

<?xml version="1.0"?><model:physical name="default_pioneer_model"........</model:physical>

El ejemplo incorporado en la instalación de Gazebo del robot !Pioneer2DX esta creado a partir de sus partes importado dentro del arhivo .model (xml) en formato .mesh binarios compatibles con OGRE (estos archivos .mesh forman la sección geom del modelo). Las partes móviles (ej. ruedas) y fijas se unen mediantes uniones (joints).

Exportar archivos .mesh compatibles con ogre desde blender

Los archivo mesh puede ser exportados desde blender utilizando un script de python BlenderExport creado por Ogre (motor 3D de Gazebo) que puede descargarse desde aquí ; este script exporta archivos .mesh en formato xml. El script puede utilizar la herramienta OgreXMLConverter para convertir los mesh xml a binarios, dicha herramienta se encuentra dentro del paquete ogre-tools de debian.

Para instalar BlenderExport hay que copiar el script y subdirectorios a ~/.blender/scripts/