exponenta event banner

Вызов услуги ROS в Simulink

Блок обслуживания вызовов используется для вызова услуги на сервере услуг ROS.

Подключение к сети ROS.

rosinit
Launching ROS Core...
Done in 0.80556 seconds.
Initializing ROS master on http://192.168.0.10:53257.
Initializing global node /matlab_global_node_04714 with NodeURI http://bat6315glnxa64:40377/

Настройка roscpp_tutorials/TwoInts тип сообщения сервера службы и укажите пример функции обратного вызова помощника. Предоставленная функция обратного вызова суммирует A и B элементы roscpp_tutorials/TwoIntsRequest сообщение. Перед вызовом сервисного клиента необходимо настроить сервисный сервер.

sumserver = rossvcserver('/sum','roscpp_tutorials/TwoInts',@exampleHelperROSSumCallback);

Откройте модель Simulink ® с блоком обслуживания вызовов. Используйте блок «Пустое сообщение» для вывода сообщения запроса с помощью roscpp_tutorials/TwoIntsRequest тип сообщения. Заполните шину двумя значениями для суммирования.

open_system('ros_twoint_service_simulink_example.slx')

Запустите модель. Вызов службы должен возвращать 0 в выводе Resp как часть ответного сообщения. Код ошибки 0 указывает на успешное выполнение вызова службы. Можно игнорировать предупреждения о преобразовании типов данных.

sim('ros_twoint_service_simulink_example.slx')
Warning: The property "A" in ROS message type "roscpp_tutorials/TwoIntsRequest" has an unsupported datatype (int64). This property will be converted to datatype "double" in the Simulink bus.
Warning: The property "B" in ROS message type "roscpp_tutorials/TwoIntsRequest" has an unsupported datatype (int64). This property will be converted to datatype "double" in the Simulink bus.
Warning: The property "Sum" in ROS message type "roscpp_tutorials/TwoIntsResponse" has an unsupported datatype (int64). This property will be converted to datatype "double" in the Simulink bus.

Для отключения выключите сеть ROS.

rosshutdown
Shutting down global node /matlab_global_node_04714 with NodeURI http://bat6315glnxa64:40377/
Shutting down ROS master on http://192.168.0.10:53257.