ROS学习之关于服务的一些命令_总结

1、rossrv

            该命令针对的是静态的服务文件*.srv

            1)语法格式
            rossrv show <pkg_name>/srv_name            显示服务类型的所有信息
            rossrv list                                                             显示所有服务类型信息
            rossrv md5  <pkg_name>/srv_name             显示服务类型的md5sum信息
            rossrv package <pkg_name>                         列出一个程序包中的所有服务类型

            rossrv packages <srv_name>                         列出包含服务的所有程序包


            2)使用方式举例

sl@sl-desktop:~/m_ros_ws$ rossrv show m_pkg/SetFollowState  #m_pkg/srv/SetFollowState.srv文件生成
uint8 STOPPED=0    #request有 两个常值变量
uint8 FOLLOW=1
uint8 state                   #一个请求参数
---
uint8 OK=0                 #response 有两个常值变量
uint8 ERROR=1
uint8 result                 #一个响应参数

sl@sl-desktop:~/m_ros_ws$ rossrv list    #列出当前系统中所有ros服务类型
control_msgs/QueryCalibrationState
control_msgs/QueryTrajectoryState
diagnostic_msgs/SelfTest
dynamic_reconfigure/Reconfigure
gazebo_msgs/ApplyBodyWrench
gazebo_msgs/ApplyJointEffort
gazebo_msgs/BodyRequest
gazebo_msgs/DeleteModel
gazebo_msgs/GetJointProperties
gazebo_msgs/GetLinkProperties
gazebo_msgs/GetLinkState
……

sl@sl-desktop:~/m_ros_ws$ rossrv md5 m_pkg/SetFollowState  #显示服务类型的md5sum信息
6095eaec0ed61c547340fdc2200c8372


sl@sl-desktop:~/m_ros_ws$ rossrv package m_pkg  #列出m_pkg包中所有的服务类型
m_pkg/AddTwoInts
m_pkg/SetFollowState

sl@sl-desktop:~/m_ros_ws$ rossrv packages SetFollowState   #列出所有包含SetFollowState服务类型的程序包
control_msgs
diagnostic_msgs
dynamic_reconfigure
gazebo_msgs
laser_assembler
m_pkg
map_msgs
nav_msgs
……


2、rosservice

             该命令针对的动态的服务service,在节点中发布的service名字,它的服务类型是*.srv定义的

            1)语法格式
            rossevice args             打印服务的参数
            rosservice call             以命令行的形式调用服务,可以指定具体参数
            rosservice find             根据服务类型寻找当前服务
            rosservice info             打印服务信息
            rosservice list              列出当前服务类型
            rosservice type            打印服务类型    
            rosservice uri               打印服务的ROSRPC uri


            2)使用方式举例

            rosservice命令主要在节点运行时使用,这里先启动一个节点,该结点提供一个名为change_state服务,该服务的消息类型是m_pkg/SetFollowSate

sl@sl-desktop:~/m_ros_ws$ rosservice args change_state #显示服务的参数信息
state

sl@sl-desktop:~/m_ros_ws$ rosservice call change_state 0   #以命令行调用某个服务,并传入参数
result: 0
sl@sl-desktop:~/m_ros_ws$ rosservice call change_state 1
result: 0

sl@sl-desktop:~/m_ros_ws$ rosservice find m_pkg/SetFollowState   #根据服务的类型寻找以类型的当前服务
/change_state

sl@sl-desktop:~/m_ros_ws$ rosservice info change_state  #打印服务的具体信息
Node: /sevice_server_track                           #提供服务的节点名字
URI: rosrpc://sl-desktop:37554                      #服务的ROSRPC uri
Type: m_pkg/SetFollowState                         #服务的类型srv
Args: state                                                         #该服务所需要的请求参数

sl@sl-desktop:~/m_ros_ws$ rosservice list  #列出当前ros系统中所有的服务名字(使用全局名字)
/change_state                                                  #我们关注的这个change_state服务
/rosout/get_loggers
/rosout/set_logger_level
/sevice_server_track/get_loggers
/sevice_server_track/set_logger_level

sl@sl-desktop:~/m_ros_ws$ rosservice type change_state  #打印服务的类型
m_pkg/SetFollowState

sl@sl-desktop:~/m_ros_ws$ rosservice uri change_state  #打印服务的ROSRPC uri
rosrpc://sl-desktop:37554



  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值