ROS的学习(八)ROS的服务
来源:互联网 发布:高校网络教育统考 编辑:程序博客网 时间:2024/06/13 09:00
服务是节点之间通信的另一种方式,服务允许节点发起一个请求和接收一个响应。
打开终端在里面输入:
roscore
另外打开一个终端在里面输入:
rosrun turtlesim turtlesim_node
使用rosservice list可以查看一个节点提供的服务:
rosservice list
返回结果如下:
/clear/kill/reset/rosout/get_loggers/rosout/set_logger_level/spawn/teleop_turtle/get_loggers/teleop_turtle/set_logger_level/turtle1/set_pen/turtle1/teleport_absolute/turtle1/teleport_relative/turtlesim/get_loggers/turtlesim/set_logger_level
使用rosservice type可以查看提供的服务的类型,它的使用方法如下:
rosservice type [service]
实例:
rosservice type clear
查看clear服务的类型,返回结果为:
std_srvs/Empty
返回的结果是empty,这就说明当调用这个服务时,传递的参数为空,即没有参数。
我们可以使用rosservice call来调用一个服务,它的使用方法如下:
rosservice call [service] [args]
例如:
rosservice call clear
这条命令乌龟运动痕迹都清理掉了。
下面将演示一个带参数的服务spawn,我们首先查看一下它的类型:
rosservice type spawn| rossrv show
返回的结果如下:
float32 xfloat32 yfloat32 thetastring name---string name
spawn命令允许我们根据给定的坐标和角度产生另一个乌龟,并且可以给这个新产生的乌龟起一个名字,也可以不起名字。如:
rosservice call spawn 2 2 0.2 ""
在这条命令执行完成后,就会出现另一只乌龟。
ROS中的服务是基于请求和响机制的,在上面的例子中,我们通过终端发送请求,节点接收后,做出响应。
- ROS的学习(八)ROS的服务
- ros学习笔记--ros的服务
- ROS学习--(十一)创建ROS的信息和服务
- 【ROS学习】(八)ROS参数服务(2)
- ROS学习(八):ROS URDF->transmission
- ROS的初步学习(八)--远程传输到ROS主控,远程编译,运行
- ROS学习笔记(八):消息的发布与订阅
- ROS学习笔记(八)
- ROS Learning-012 beginner_Tutorials (编程) 创建自定义的ROS消息和ROS服务
- ROS的学习(七)ROS的话题
- ROS的学习(九)理解ROS的参数
- ROS的学习(十一)ROS的msg和srv
- ROS的学习(四)创建一个ROS包
- ROS学习--(三)浏览ROS文件系统的几个命令
- ROS学习--(九)使用rosed编辑ROS的文件
- ROS学习笔记(一):ROS 系统的概述
- ROS学习笔记(一)----ROS的框架
- ROS学习历程(2)-----ROS的文件系统
- sql server 2005导入数据表标识字段的配置
- jython jruby groovy 比较,java平台下还是用groovy 最好。
- iOS图片的下载
- awk
- db_name,instance_name,service_names,db_domain,dbid,oracle_sid等区别与联系
- ROS的学习(八)ROS的服务
- python 并行处理
- NSURLConnection异步发送HTTP请求
- 最长单调子序列(O(n^2) 和 O(nlogn) 算法)
- Hibernate+ehcache二级缓存技术
- MyEclipse8.6/MyEclipse9.0破解方法
- C语言
- for循环中i++和++i的区别
- filename=new String(filename.getBytes("iso8859-1"),"utf-8") 解决乱码