Этот пример требует 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
. Создайте издателя для отправки ROS- Image
сообщение на '/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')
Запустите модель. The 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/.