Эта модель показывает, как опубликовать и подписаться на тему ROS с помощью Simulink®.
open_system('rosPubSubExample.slx')

Используйте Пустое сообщение и блоки Присвоения Шины, чтобы задать X и Y значения 'geometry_msgs/Point' тип сообщения. Откройте маску блока Blank Message, чтобы задать тип сообщения. Откройте маску блока Bus Assignment, чтобы выбрать сигналы, которые вы хотите присвоить. Удалите любые значения с '???' от правого столбца. Предоставьте блок Bus Assignment соответствующие значения для X и Y.
Питайте Bus выведите с блоком Publish. Откройте маску блока и выберите Specify your own как источник темы. Задайте тему, '/location', и тип сообщения, 'geoemetry_msgs/Point'.
Добавьте блок Subscribe и задайте тему и тип сообщения. Питайте выход Msg к Селектору Шины и задают выбранные сигналы в маске блока. Отобразите X и Y значения.
Прежде, чем запустить модель, вызовите rosinit соединяться с сетью ROS.
rosinit
Initializing ROS master on http://bat6302glnxa64:36985/. Initializing global node /matlab_global_node_31496 with NodeURI http://bat6302glnxa64:35791/
Запустите модель. Необходимо видеть xPosition Out и yPosition Out отображения показывают соответствующие значения, опубликованные сети ROS.
sim('rosPubSubExample')
Закройте сеть ROS.
rosshutdown
Shutting down global node /matlab_global_node_31496 with NodeURI http://bat6302glnxa64:35791/ Shutting down ROS master on http://bat6302glnxa64:36985/.