Этот пример требует Computer Vision Toolbox® и Robotics System Toolbox®.
Запустите сеть ROS.
rosinit
Initializing ROS master on http://ah-rhosea:11311/. Initializing global node /matlab_global_node_45601 with NodeURI http://ah-rhosea:49292/
Загрузите демонстрационные сообщения, чтобы отправить включая демонстрационное сообщение изображений, img
. Создайте издателя, чтобы отправить Image
ROS обменивайтесь сообщениями на
'/image_test'
тема. Задайте тип сообщения как '/sensor_msgs/Image'
. Отправьте сообщение изображений.
imgcell = load('imgdata.mat','img'); img = imgcell.img; pub = rospublisher('/image_test','sensor_msgs/Image'); send(pub,img)
Откройте модель Simulink® для подписки на сообщение ROS и чтения в изображении от ROS.
Убедитесь, что Subscribe
блок подписывается на '/image_test'
тема. В меню под Инструментами> Операционная система Робота> Управляет Длинами массива, проверяет Data
массив имеет максимальную длину, больше, чем демонстрационное изображение (921 600 пикселей).
open_system('read_image_example_model.slx')
Запустите модель. Video Viewer
показывает демонстрационное изображение.
Остановите симуляцию и закройте сеть ROS.
rosshutdown
Shutting down global node /matlab_global_node_45601 with NodeURI http://ah-rhosea:49292/ Shutting down ROS master on http://ah-rhosea:11311/.