Создайте сервисный сервер ROS
Используйте rossvcserver
или ros.ServiceServer
создать сервисный сервер ROS, который может получить запросы из и отправить ответы на, сервисный клиент ROS. Необходимо создать сервисный сервер прежде, чем создать сервисный клиент (см. ROSSVCCLIENT).
Когда вы создаете сервисный клиент, это устанавливает связь с сервером. Связь сохраняется, в то время как и клиент-сервер существует и может достигнуть друг друга. Когда вы создаете сервисный сервер, он указывает себя с ведущим устройством ROS. Чтобы получить список сервисов или получить информацию о конкретном сервисе, который доступен в текущей сети ROS, используют rosservice
функция.
Сервис имеет связанный тип сообщения и содержит пару сообщений: один для запроса и один для ответа. Сервисный сервер получает запрос, создает соответствующий ответ на основе функции вызова и возвращает его в клиент. Поведение сервисного сервера является по сути асинхронным, потому что это становится активным только, когда сервисный клиент соединяется с сетью ROS и издает приказ.
Используйте ros.ServiceServer
синтаксис при соединении с определенным узлом ROS.
создает сервисный серверный объект с заданным server
= rossvcserver(servicename
,svctype
)ServiceType
доступный в сети ROS под именем ServiceName
. Объект службы не может ответить на запросы на обслуживание, пока вы не задаете коллбэк указателя на функцию, NewMessageFcn
.
задает функцию обратного вызова, которая создает ответ, когда сервер получает запрос. server
= rossvcserver(servicename
,svctype
,callback
)callback
задает NewMessageFcn
свойство.
server = ros.ServiceServer(
создает сервисный сервер, который присоединяет к узлу ROS, node
, name
,type
)node
. Сервер становится доступным через заданное сервисное имя и тип, если указатель функции обратного вызова задан в NewMessageFcn
.
server = ros.ServiceServer(
задает функцию обратного вызова, которая установлена в node
, name
,type
,callback
)NewMessageFcn
свойство.
rosmessage | Создайте сообщения ROS |