ros - 使用 ROS 旋律服务 rospy.wait_for_service
问题描述
我正在学习 ROS,现在我正在使用服务器和客户端做一些示例,我不明白具体是什么时候 ros 阻止服务,我的意思是
rospy.wait_for_service("add_two_ints")
根据文档,它会阻塞直到名为 add_two_ints 的服务可用。但随后有必要创建一个句柄来调用服务
add_two_ints = rospy.ServiceProxy('add_two_ints', AddTwoInts)
我的问题是 rospy.wait_for_service() 会执行 n 次吗?直到服务完成它的工作?非常感谢我对此感到很困惑
解决方案
所以
rospy.wait_for_service("add_two_ints")
检查服务是否可用,只要它不能访问服务就阻塞。和
add_two_ints = rospy.ServiceProxy('add_two_ints', AddTwoInts)
创建与服务器通信的对象。
如果在调用 期间服务器可用rospy.wait_for_service()
,则该函数返回并且不再进一步检查。如果服务器在执行远程功能期间失败,则 try catch 块必须捕获错误。
推荐阅读
- scala - 分别处理spark中的多个目录
- spring-boot - 如何使用 Spring Boot JacksonTester 测试属性是否不存在?
- regex - 如何用数字和捕获组替换字符串?
- robotframework - 如何使用ssh在robotfamework中同时运行不同的机器人文件案例
- javascript - Contenteditable 光标在 ngfor 循环中移回到开头
- c# - 我需要从 datagridview 中删除选定的行
- docker - 如何检查谁创建了 Docker 映像?
- swift - 如何在火种风格的应用程序上只显示男性或女性用户
- java - 构建java kafka-stream应用程序的jar
- reactjs - 如何优化 React Photo Gallery 以加载大图像