Опубликуйте и подпишитесь на сообщения ROS в Simulink

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