Эта модель показывает, как опубликовать и подписаться на тему 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
Launching ROS Core... Done in 0.92219 seconds. Initializing ROS master on http://192.168.0.10:51096. Initializing global node /matlab_global_node_52549 with NodeURI http://bat1071901glnxa64:38237/
Запустите модель. Необходимо видеть xPosition Out и yPosition Out отображения показывают соответствующие значения, опубликованные сети ROS.
sim('rosPubSubExample')Закройте сеть ROS.
rosshutdown
Shutting down global node /matlab_global_node_52549 with NodeURI http://bat1071901glnxa64:38237/ Shutting down ROS master on http://192.168.0.10:51096.