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