ROS в Simulink

Доступ к сетям ROS и сообщениям с помощью Simulink®

ROS Toolbox позволяет подключаться к ROS и ROS 2 в Simulink и отправлять сообщения по сети. Смотрите Начало работы с ROS в Simulink ®.

Можно также сгенерировать и развернуть код на целевой системе. Для расширенного примера создания автономного узла ROS смотрите Сгенерируйте автономный узел ROS 2 из Simulink ®.

Чтобы запустить, остановить или проверить состояние развернутых узлов ROS, доступных на устройстве ROS, используйте MATLAB® перечисленные функции. Создайте подключение к устройству ROS с помощью rosdevice.

Функции

расширить все

rosdeviceПодключение к удаленному устройству ROS
runNodeЗапустите узел ROS или ROS 2
stopNodeОстановите узел ROS или ROS 2
runCoreЗапуск ядра ROS
stopCoreОстановите ядро ROS
isNodeRunningОпределите, работает ли узел ROS или ROS 2
isCoreRunningОпределите, работает ли ядро ROS
ros2deviceПодключение к удаленному устройству ROS 2
runNodeЗапустите узел ROS или ROS 2
stopNodeОстановите узел ROS или ROS 2
isNodeRunningОпределите, работает ли узел ROS или ROS 2

Блоки

расширить все

Blank MessageСоздайте пустое сообщение с указанным типом сообщения
Call ServiceУслуга вызова в сети ROS
Current TimeИзвлечение текущего времени ROS или системного времени
Get ParameterПолучите значения от сервера параметров ROS
PublishОтправка сообщений в сеть ROS
Read DataВоспроизведение данных из файла журнала
Read ImageИзвлечение изображения из сообщения ROS Image
Read Point CloudИзвлечение облака точек из сообщения ROS PointCloud2
Set ParameterУстановите значения на сервере параметров ROS
SubscribeПрием сообщений от сети ROS
Header AssignmentОбновление полей заголовка сообщения ROS
Blank MessageСоздайте пустое сообщение ROS 2 с заданным типом сообщения
PublishОтправка сообщений в сеть ROS 2
SubscribeПрием сообщений от сети ROS 2

Темы

Сеть ROS

Поддержка и ограничения ROS Simulink

ROS Toolbox не поддерживает следующие функции ROS в Simulink:

Запуск с ROS в Simulink ®

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

Настройка сетевых адресов ROS

Диалоговое окно «Настройка сетевых адресов ROS»

Подключитесь к роботу с поддержкой ROS от Simulink ®

Можно использовать Simulink, чтобы подключиться к физическому роботу с поддержкой ROS или к роботу-симулятору с поддержкой ROS, такому как Gazebo.

Параметры ROS в Simulink

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

Подключение к устройству ROS

Параметры для подключения к устройству ROS.

Взаимодействие ROS Simulink

Обзор взаимодействий Simulink и ROS

Сообщения ROS

Работа с сообщениями ROS в Simulink ®

Этот пример иллюстрирует работу со сложными сообщениями ROS в Simulink, такими как сообщения с вложенными субсообщениями и массивами переменной длины.

Выберите темы, сообщения и параметры ROS

Описание диалогового окна для выбранных тем ROS и сообщений.

Управление размерами массивов для сообщений ROS в Simulink

Описание диалогового окна для управления размерами массивов в Simulink ROS

Сеть ROS 2

Запуск с ROS 2 в Simulink ®

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

Публикация и подписка на сообщения ROS 2 в Simulink

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

Подключитесь к роботу с поддержкой ROS от Simulink ® по ROS 2

В этом примере показано, как сконфигурировать модель Simulink для отправки и получения информации с отдельного симулятора на основе ROS, такого как Gazebo ® over ROS 2.

Приложения ROS

Сгенерируйте автономный узел ROS из Simulink ®

В этом примере показано, как сгенерировать и создать автономный узел ROS из модели Simulink.

Управление обратной связью робота с поддержкой ROS

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

Подписать следующего робота с ROS в Simulink

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

Автоматизированная парковка с ROS в Simulink

Распределите автоматизированное приложение парковочного клапана между различными узлами в сети ROS в Simulink ® .

Сгенерируйте код для ручного развертывания узла ROS из Simulink

В этом примере показано, как сгенерировать код С++ из модели Simulink для развертывания в качестве автономного узла ROS.

Приложения ROS 2

Сгенерируйте автономный узел ROS 2 из Simulink ®

В этом примере показано, как сгенерировать и создать автономный узел ROS 2 из модели Simulink ® .

Управление обратной связью робота с поддержкой ROS по ROS 2

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

Подписать следующего робота с ROS 2 в Simulink

Используйте Simulink ®, чтобы управлять моделируемым роботом, работающим на отдельном симуляторе на основе ROS по сети ROS 2.

Автоматизированная парковка с ROS 2 в Simulink

В этом примере показано, как распределить приложение Automated Parking Valet между различными узлами в сети ROS 2 в Simulink ® и развернуть их как автономные узлы ROS 2 .

Сгенерируйте код для ручного развертывания узла ROS 2 из Simulink ®

В этом примере показано, как сгенерировать код С++ из модели Simulink ® для развертывания в качестве автономного узла ROS 2 .

Выполнение модели

Включите режим external mode для моделей ROS Toolbox

Режим external mode позволяет Simulink на вашем хосте-компьютере общаться с развернутой моделью на робототехническом оборудовании во время выполнения.

Включите шагание модели времени ROS для развернутых узлов ROS

Можно включить выполнение развернутого узла ROS на основе времени, опубликованного на /clock тема в сети ROS.

Настройки параметров и просмотр сигналов на развернутых моделях роботов с использованием режима external mode

Режим external mode позволяет моделям Simulink на вашем хосте-компьютере общаться с развернутой моделью на оборудовании робота во время выполнения.

Обнаружение переполнения с помощью развернутых узлов ROS

Для развернутого узла ROS можно включить обнаружение переполнения.