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

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