ros service client 例程
时间: 2023-08-05 10:03:29 浏览: 91
ros中服务端与客户端通信案例
5星 · 资源好评率100%
以下为一个 ROS Service 的客户端例程,假设服务类型为 `MyService`,服务名为 `/my_service`:
```python
#!/usr/bin/env python
import rospy
from my_package.srv import MyService
rospy.init_node('service_client_node')
# 创建一个 ServiceProxy 对象,指定服务名和服务类型
my_service_proxy = rospy.ServiceProxy('/my_service', MyService)
# 等待服务可用
rospy.wait_for_service('/my_service')
# 构造请求消息
request = MyServiceRequest()
request.input = "hello"
# 发送请求
response = my_service_proxy(request)
# 处理响应
print(response.output)
```
需要注意的是,客户端需要 `import` 服务类型,并在请求时构造请求消息。在构造请求消息时,需要按照服务定义文件中规定的格式进行构造。在发送请求时,需要调用服务代理对象的方法,并将请求消息作为参数传入。在处理响应时,可以从响应对象中获取服务端返回的数据。
阅读全文