Эта модель показывает, как опубликовать и подписаться на тему 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.