Свяжите с сервисным сервером ROS 2
Используйте ros2svcclient создать сервисный объект клиента ROS 2. Этот сервисный клиент использует связь, чтобы отправить запросы к и получить ответы из, сервисный сервер ROS 2. Для получения дополнительной информации смотрите Вызов и Предоставьте ROS 2 Услуги.
создает сервисный клиент заданного client = ros2svcclient(node,servicename,servicetype)servicetype независимо от ли сервисный сервер, предлагающий servicename доступно. Это присоединяет клиент к узлу ROS 2, заданному ros2node объект, node.
[ возвращает новое сообщение запроса на обслуживание в client,reqmsg]
= ros2svcclient(___)reqmsg, использование любого из аргументов от предыдущих синтаксисов. Тип сообщения reqmsg определяется входным сервисным типом. Сообщение инициализируется значениями по умолчанию. Можно также создать использование сообщения запроса ros2message.
ros2message | Создайте структуры сообщения ROS 2 |
call | Вызовите ROS или сервисный сервер ROS 2 и получите ответ |
isServerAvailable | Определите, доступен ли сервер ROS 2 ROS или сервиса |
waitForServer | Ожидайте ROS или сервисного сервера ROS 2, чтобы запуститься |
Сервисные серверы ROS 2 не могут передать ошибки в выполнении обратного вызова непосредственно клиентам. В таких ситуациях серверы только возвращают ответ по умолчанию без любой индикации относительно отказа. Следовательно, рекомендуется использовать блоки try-catch в функции обратного вызова и установить определенные поля в сообщении ответа передавать успех/отказ выполнения обратного вызова на серверной стороне.