08_Writing_the_Client_Node_in_Python

丁安宜
2023-12-01

机器人操作系统ROS1简要介绍,翻译自以下仓库:
ROS-Tutorials
原仓库是一系列的jupyter notebook,可以直接在jupyter环境下运行程序示例。

编写一个 Client 节点

保持上一节中的程序一直运行。

import rospy
from rospy_tutorials.srv import *

client节点更简单,无需调用 init_node(). 直接使用:

rospy.wait_for_service('add_two_ints')

这句代码会让此节点等待 add_two_ints 服务准备好。下面使用ServiceProxy去请求service:

add_two_ints = rospy.ServiceProxy('add_two_ints', AddTwoInts)

输出结果:

try:
    print( add_two_ints(5, 3) )
except rospy.ServiceException, e:
    print "Service call failed: %s"%e

因为我们已经声明服务的类型为AddTwoInts,所以请求服务的时候可以生成AddTwoIntsRequest对象. 返回值是一个 AddTwoIntsResponse 对象. 如果服务获取失败了, rospy.ServiceException 异常会被抛出.

 类似资料:

相关阅读

相关文章

相关问答