Эта модель показывает, как опубликовать и подписаться на тему ROS с помощью Simulink ®.
open_system('rosPubSubExample.slx')
Используйте пустые блоки Message и Bus Assignment, чтобы задать X и Y значения 'geometry_msgs/Point' тип сообщения. Откройте маску блока Пустого сообщения, чтобы указать тип сообщения. Откройте маску блока «Назначение шины», чтобы выбрать сигналы, которые вы хотите назначить. Удалите все значения с '???' из правого столбца. Поставьте блок «Назначение шины» с релевантными значениями для X и Y.
Подайте Bus выход в блок «Публикация». Откройте маску блока и выберите Specify your own в качестве источника темы. Задайте тему, '/location', и тип сообщения, 'geoemetry_msgs/Point'.
Добавьте блок Subscribe и укажите тему и тип сообщения. Подайте выходные Msg в селектор шины и задайте выбранные сигналы в маске блока. Отобразите X и Y значения.
Перед запуском модели вызовите rosinit для подключения к сети ROS.
rosinit
Launching ROS Core... Done in 0.66339 seconds. Initializing ROS master on http://192.168.0.10:49460. Initializing global node /matlab_global_node_87509 with NodeURI http://bat6315glnxa64:33735/
Запустите модель. Вы должны увидеть xPosition Out и yPosition Out отображения соответствующих значений, опубликованных в сети ROS.
sim('rosPubSubExample')Завершите работу сети ROS.
rosshutdown
Shutting down global node /matlab_global_node_87509 with NodeURI http://bat6315glnxa64:33735/ Shutting down ROS master on http://192.168.0.10:49460.