Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Cómo funciona la simulación con Gazebo para Robotics System Toolbox

Robotics System Toolbox™ proporciona un marco de cosimulación que permite utilizar algoritmos de robótica en MATLAB® y Simulink®, y visualizar su rendimiento en un entorno de simulación virtual. Este entorno utiliza el simulador Gazebo.

Comprender cómo funciona este entorno de simulación puede ayudar a resolver problemas y personalizar los modelos.

Comunicación con un entorno de simulación en 3D

Cuando se utiliza Robotics System Toolbox para ejecutar algoritmos, MATLAB o Simulink cosimulan los algoritmos en el entorno de simulación.

En el equipo host, Simulink o MATLAB envían datos de accionamiento y establecen comandos en el complemento de cosimulación Gazebo en el equipo Linux de destino. El complemento pasa esta información al simulador Gazebo, que devuelve datos del sensor e información del modelo a través del complemento a Simulink o MATLAB en el equipo host.

El diagrama resume la comunicación entre MATLAB o Simulink y el entorno de simulación.

MATLAB or Simulink communication with Gazebo Simulator

Sincronización de tiempo

Durante la cosimulación, puede pausar Simulink y el simulador Gazebo en cualquier momento usando Pause. Gazebo se detiene una unidad de tiempo antes de la simulación.

Time Synchronization between Simulink and the Gazebo Simulator

La diferencia se debe a la secuencia de tiempo de cosimulación:

Simulink and Gazebo co-simulation time sequence

Los datos del sensor y los comandos de accionamiento se intercambian en la unidad de tiempo correcta. Primero se ejecuta Gazebo y luego Simulink. Cuando está pausada, la ejecución de la simulación todavía está en la unidad de tiempo ejecutada por Gazebo, pero Simulink permanece en la unidad de tiempo anterior hasta que reanude el modelo.

Recomendación para mejorar el rendimiento

  • Real-Time Factor: aumente el factor de tiempo real (para la interfaz gráfica Gazebo o un archivo .world) a más de 1 si la precisión no es un requisito.

  • Simulink Sample Time: aumente el tiempo de muestreo (en el bloque Gazebo Simulink) a más de 1 ms para obtener una simulación más rápida.

  • Use Custom Messages to Improve Performance with Simulink Block Reduction: si varios bloques Gazebo Read o Gazebo Apply están realizando tareas similares, reduzca el número de bloques combinándolos en uno o varios bloques Subscribe y Publish con mensajes personalizados.

  • Run MATLAB and Gazebo on Same Machine: para mejorar el rendimiento de la simulación, ejecute MATLAB y Gazebo en el mismo equipo.

Temas relacionados