ros service
- Server部分:
- #!/usr/bin/env python
- import sys
- import os
- import rospy
- #from beginner.srv import *
- from beginner.srv import AddTwoInts
- def add_two_ints_client(x,y):
- rospy.wait_for_service('add_two_ints')# rospy.wait_for_service(‘service的tipoc’)
- try:
- add_two_ints=rospy.ServiceProxy('add_two_ints',AddTwoInts)#client请求(request)后server的返回值(response)add_two_ints 通过rospy.ServiceProxy的方式向service发送(request)请求
- resp1=add_two_ints(x,y) #将参数发送给server
- return resp1.sum
- except rospy.ServiceException, e:
- print "Service call failed: %s"%e
- def usage():
- return "%s [x,y]"%sys.argv[]
- if __name__=="__main__":
- if len(sys.argv)==:
- x=int(sys.argv[])
- y=int(sys.argv[])
- else:
- print usage()
- sys.exit()
- print"Resquesting %s+%s"%(x,y)
- print"%s+%s=%s"%(x,y,add_two_ints_client(x,y))
- Client部分:
- import rospy
- from beginner.srv import *
- #from beginner.srv import *
- #from beginner.srv import AddTwoInts
- def handle_add_two_ints(req):
- print("Returning[%s+%s=%s]"%(req.a,req.b,(req.a+req.b)))
- sum=req.a+req.b
- return AddTwoIntsResponse(sum)
- def add_two_ints_server():
- rospy.init_node('add_two_ints_server')
- s = rospy.Service('add_two_ints',AddTwoInts,handle_add_two_ints)#服务节点,服务类型,这里必须和AddTwoInts.srv的文件名一致,处理函数 处理函数调用和返回实例化的AddTwoIntsRes
- print"Ready to add Two Ints"
- rospy.spin()
- if __name__=="__main__":
- add_two_ints_server()
ros service的更多相关文章
- ROS TF——learning tf
在机器人的控制中,坐标系统是非常重要的,在ROS使用tf软件库进行坐标转换. 相关链接:http://www.ros.org/wiki/tf/Tutorials#Learning_tf 一.tf简介 ...
- 7、创建ROS msg和srv
一.msg和srv介绍 msg: msg文件使用简单的文本格式声明一个ROS message的各个域. 仅须要创建一个msg文件,就能够使用它来生成不同语言的message定义代码. srv:srv文 ...
- Gazebo機器人仿真學習探索筆記(七)连接ROS
中文稍后补充,先上官方原版教程.ROS Kinetic 搭配 Gazebo 7 附件----官方教程 Tutorial: ROS integration overview As of Gazebo 1 ...
- ROS 101
https://www.clearpathrobotics.com/blog/2014/01/how-to-guide-ros-101/ 什么是ROS ROS(robot operating syst ...
- ROS入门学习
ROS学习笔记 ROS入门网站; ROS入门书籍 ROS主要包含包括功能包.节点.话题.消息类型和服务; ROS功能包/软件包(Packages) ROS软件包是一组用于实现特定功能的相关文件的集合, ...
- ROS学习手记 - 7 创建ROS msg & srv
至此,我们初步学习了ROS的基本工具,接下来一步步理解ROS的各个工作部件的创建和工作原理. 本文的详细文档:http://wenku.baidu.com/view/623f41b3376baf1ff ...
- ROS学习手记 - 5 理解ROS中的基本概念_Services and Parameters
上一节完成了对nodes, Topic的理解,再深入一步: Services and Parameters 我不理解为何 ROS wiki 要把service与parameter放在一起介绍, 很想分 ...
- ROS教程
Learning ROS 学习ROS Depending on your learning style and preferences, you can take two approaches to ...
- ROS Navigation中的map_server地图包功能和使用
博客参考 http://wiki.ros.org/map_server 和 https://www.ncnynl.com/archives/201708/1897.html 1. 安装map_serv ...
随机推荐
- ZOJ 3210 A Stack or A Queue?
A Stack or A Queue? Time Limit: 1 Second Memory Limit: 32768 KB Do you know stack and queue? Th ...
- poj1722 SUBTRACT【线性DP】
SUBTRACT Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 2037 Accepted: 901 Special ...
- java web 打印(lodop)案例
应需求接触到lodop 打印. 首先在lodop官网下载相关文件(js.css等):http://www.lodop.net/download.html 在下载好的包里 除了html页面 其他的j ...
- 使用or展开进行sql优化(即sql语法union all代替or可以提高效率)
问题: 这样一条sql应该怎么优化? select * from sys_user where user_code = 'zhangyong' or user_code in (select grp_ ...
- HDU Today---hdu2112(最短路-_-坑在是无向图)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 spfa或者迪杰斯特拉都可以 注意公交车是有来回的--- #include <iostre ...
- 洛谷P1373 小a和uim之大逃离 dp
正解:dp 解题报告: 传送门! 同样是看到列表发的题解就想着跟着做下dp的题目趴 然后发现还挺难的,,,反正我只大概想到怎么转移但是初始化什么的都不会TT 所以还是大概说下QAQ 首先可以想到设f[ ...
- 小米范工具系列之四:小米范HTTP批量发包器
最新版本1.3,下载地址:http://pan.baidu.com/s/1c1NDSVe 文件名httpsender . 此工具使用java 1.8以上版本运行. 小米范HTTP批量发包器的主要功能 ...
- python分段算利润、税收
''' 题目:企业发放的奖金根据利润提成. 利润(I)低于或等于10万元时,奖金可提10%: 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%: 2 ...
- mysql float 浮点型
定点数类型 DEC等同于DECIMAL 浮点类型:FLOAT DOUBLE 作用:存储薪资.身高.体重.体质参数等 m,d 都是设置宽度 =============================== ...
- eclipse+maven+tomcat构建web工程
我们要利用Maven构建一个web应用,开发环境为eclipse+tomcat.构建过程如下: 1.工具准备 eclipse:版本为eclipse 4.2(Juno Service),maven插件的 ...