Gazebo является основным инструментом имитационного моделирования (симулятор) для ROS. Gazebo поставляется вместе с ROS и не требует отдельной установки. Однако вместе с ROS могут работать многие другие симуляторы, такие как CoppeliaSim (V-REP), Unity, Unreal, Godot, Isaac Sim, Webots. Далее рассматривается взаимодействие ROS и Gazebo для разработки и тестирования программного обеспечения для роботов.
Наличие модели робота недостаточно для выполнения симуляции. Симулятору необходимо предоставить описание среды моделирования в формате SDF (Simulation Description Format). Несмотря на название формата, файлы с описанием модели имеют расширение .world.
Основной файл настройки мира (.world) – содержит основные элементы сцены. Например, ссылки на модели. На рисунке ниже показан пример добавления трех моделей из локальной базы данных моделей Gazebo.
Пример простейшего .world файла для Gazebo
В Gazebo могут использоваться различные системы расчета моделирования (также известные как "физические движки"), однако по умолчанию доступен только ODE (Open Dynamics Engine). Настройки физического движка также указываются в файле .world. На рисунке ниже показан пример с настройками физического движка.
Пример .world файла с настройками физического движка
При использовании симулятора исчезает необходимость в пакете joint_state_publisher, так как положения шарниров будут учитываться в имитационной модели робота на стороне симулятора. Однако симулятор не может напрямую взаимодействовать с ROS, все взаимодействие может проходить только посредством специальных плагинов для Gazebo.
Компоненты ROS и Gazebo для имитационного моделирования
Оставить комментарий