exponenta event banner

Знак после робота с АФК в Simulink

В этом примере показано, как использовать Simulink ® для управления моделируемым роботом, работающим на отдельном симуляторе на базе ROS.

В этом примере запускается модель, которая реализует алгоритм следования знакам и управляет моделируемым роботом, чтобы следовать по пути, основанному на знаках в среде. Алгоритм получает информацию о местоположении и информацию камеры от моделируемого робота, который работает в отдельном симуляторе на основе АФК. Алгоритм определяет цвет знака и посылает команды скорости для поворота робота на основе цвета. В этом примере алгоритм предназначен для поворота влево, когда робот сталкивается с синим знаком, и вправо, когда робот сталкивается с зеленым знаком. В конце концов робот останавливается, когда сталкивается с красным знаком.

Чтобы увидеть этот пример с использованием ROS 2 или MATLAB ®, см. раздел Sign Following Robot with ROS в MATLAB.

Запустить имитатор робота

Запустите имитатор на базе ROS для робота с дифференциальным приводом и настройте соединение Simulink ® с имитатором робота .

В этом примере используется виртуальная машина, доступная для загрузки на виртуальной машине с ROS 2 Melodic и Gazebo.

  • Запустите рабочий стол виртуальной машины Ubuntu ®.

  • На рабочем столе Ubuntu щелкните значок Gazebo Sign Follower ROS, чтобы запустить мир Gazebo, построенный для этого примера.

Открытие модели и настройка Simulink

Настройка настроек ROS Simulink для связи с имитатором робота.

Откройте пример модели.

open_system('signFollowingRobotROS.slx');

Настройка параметров сети для ROS.

  • На вкладке Моделирование в группе Подготовка выберите Сеть ROS.

  • Укажите IP-адрес и номер порта хозяина ROS в Gazebo. Для этого примера мастер ROS в Беседке 192.168.203.128:11311. Войти 192.168.203.128 в поле Hostname/IP address и 11311 в поле Номер порта.

  • Нажмите «ОК» для внесения изменений и закрытия диалогового окна.

На каждом временном шаге алгоритм обнаруживает знак из подачи камеры, принимает решение о повороте и гонит его вперёд. Обнаружение знака выполняется в подсистеме обработки изображений модели.

open_system('signFollowingRobotROS/Image Processing');

В подсистеме Sign Tracking Logic реализована диаграмма Stateflow ®, определяющая размер и координаты обнаруженного изображения с помощью функции обработки изображений и обеспечивающая линейную и угловую скорость для управления роботом.

open_system('signFollowingRobotROS/Sign Tracking Logic');

Запустить модель

Запустите модель и понаблюдайте за поведением робота в имитаторе робота.

  • Видеопросмотрщики показывают фактическую подачу с камеры и обнаруженное изображение знака.

  • В тренажере робот следует знаку и поворачивается в зависимости от цвета.

  • Моделирование останавливается автоматически, как только робот достигает красного знака в конце.