Симулятор
Симуляционная среда Техника предназначена для разработки, тестирования и отладки программного обеспечения дрона в виртуальном окружении. Она позволяет выполнять пользовательский код в условиях, максимально приближенных к работе на реальном устройстве. В качестве автопилота используется PX4 в режиме SITL, при этом применяется тот же ROS-стек и те же программные модули, что и на физическом дроне. Значительная часть аппаратных компонентов эмулируется программно.
Функциональные возможности
Устанавливаемая пользователем среда симуляции включает следующие элементы:
модель дрона Техник;
набор Gazebo-плагинов для эмуляции аппаратных подсистем (включая светодиодную ленту и другие периферийные устройства);
описания кинематической и динамической модели дрона в формате
xacro, пригодные для модификации;примеры Gazebo-миров и моделей для тестирования различных сценариев;
конфигурационные файлы
roslaunchдля автоматизированного запуска компонентов симуляции.
Дополнительно предоставляется образ виртуальной машины, содержащий предварительно настроенное окружение, повторяющее программную конфигурацию реального дрона.
Характеристики виртуальной машины:
минимизация времени развертывания среды симуляции;
предустановленная и сконфигурированная среда разработки ROS в Visual Studio Code;
встроенный HTTP-сервер Monkey, используемый браузерными плагинами Клевера;
постоянно работающий мастер ROS (
roscore);инструменты визуализации и диагностики (
rviz,rqt).
Состав и архитектура симулятора
Симулятор построен на следующих программных компонентах:
Gazebo — физический движок и среда моделирования, отвечающая за симуляцию динамики, сенсоров и взаимодействия с окружением;
PX4 — автопилот с поддержкой режима SITL (software-in-the-loop);
пакет
sitl_gazebo, обеспечивающий интеграцию PX4 с Gazebo посредством специализированных плагинов;набор ROS-пакетов, реализующих обмен данными между симулятором, автопилотом и пользовательским кодом, а также дополнительные Gazebo-плагины.
Данная архитектура обеспечивает единый программный контур для симуляции и реального дрона, что позволяет переносить разрабатываемое ПО без изменений.
Видео
Краткий видеоматериал, демонстрирующий работу симулятора: