Вызовите сервис ROS в Simulink

Используйте блок Call Service, чтобы вызвать сервис на сервисный сервер ROS.

Соединитесь с сетью ROS.

rosinit
Launching ROS Core...
...............................Done in 1.2997 seconds.
Initializing ROS master on http://192.168.0.10:53397.
Initializing global node /matlab_global_node_02794 with NodeURI http://bat1072001glnxa64:37251/

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

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

Откройте модель Simulink® с блоком Call Service. Используйте блок Blank Message, чтобы вывести сообщение запроса с 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_02794 with NodeURI http://bat1072001glnxa64:37251/
Shutting down ROS master on http://192.168.0.10:53397.
.........