Вызовите ROS или сервисный сервер ROS 2 и получите ответ
отправляет сообщение запроса на обслуживание по умолчанию и ожидает сервиса response
= call(serviceclient
)response
. Сообщение запроса на обслуживание по умолчанию является пустым сообщением типа serviceclient.ServiceType
.
задает сообщение запроса на обслуживание, response
= call(serviceclient
,requestmsg
)requestmsg
, быть отправленным службе.
[
возвращает response
,status
,statustext
] = call(___)status
указание, ли response
был получен успешно, и statustext
это получает дополнительную информацию о status
, использование любого из аргументов от предыдущих синтаксисов. Если вызов перестал работать, status
будет false
с пустым response
по умолчанию обменивайтесь сообщениями, и эта функция не отобразит ошибку.
Сервисные серверы ROS 2 не могут передать ошибки в выполнении обратного вызова непосредственно клиентам. В таких ситуациях серверы только возвращают ответ по умолчанию без любой индикации относительно отказа. Следовательно, рекомендуется использовать блоки try-catch в функции обратного вызова и установить определенные поля в сообщении ответа передавать успех/отказ выполнения обратного вызова на серверной стороне.