Эта модель показывает, как опубликовать и подписаться на тему ROS с помощью Simulink®.
open_system('simulinkPubSubExample.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
Селектор Шины и задайте выбранные сигналы в маске блока. Отобразите значения Y
и X
.
Прежде, чем запустить модель, вызовите rosinit
, чтобы соединиться с сетью ROS.
rosinit
Initializing ROS master on http://bat6320glnxa64:39221/. Initializing global node /matlab_global_node_68011 with NodeURI http://bat6320glnxa64:34663/
Установите время остановки симуляции на Inf
и запустите модель. Необходимо видеть xPosition Out
, и отображения yPosition Out
показывают соответствующие значения, опубликованные сети ROS.
Закройте сеть ROS.
rosshutdown
Shutting down global node /matlab_global_node_68011 with NodeURI http://bat6320glnxa64:34663/ Shutting down ROS master on http://bat6320glnxa64:39221/.