exponenta event banner

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

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

open_system('rosPubSubExample.slx')

Используйте блоки «Пустое сообщение» и «Назначение шины» для указания X и Y значения 'geometry_msgs/Point' тип сообщения. Откройте маску блока «Пустое сообщение», чтобы указать тип сообщения. Откройте маску блока назначения шины для выбора сигналов, которые требуется назначить. Удалить все значения с помощью '???' из правого столбца. Поставьте блок назначения шины с соответствующими значениями для X и Y.

Подача Bus вывод в блок «Публикация». Откройте маску блока и выберите Specify your own в качестве источника темы. Укажите тему, '/location'и тип сообщения, 'geoemetry_msgs/Point'.

Добавьте блок подписки и укажите тему и тип сообщения. Подача выходного сигнала 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.