机器人操作系统ROS1简要介绍,翻译自以下仓库:
ROS-Tutorials
原仓库是一系列的jupyter notebook,可以直接在jupyter环境下运行程序示例。
保持上一节中的程序一直运行。
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
异常会被抛出.