七、ROS常用命令(二):rosservice、rossrv、rosparam

文章目录

  • 1、rosservice:列出和查询相关服务
    • 1. rosservice list
    • 2. rosservice args 服务名
    • 3. rosservice call 服务名 参数1 参数2
    • 4. rosservice find 包名/消息类型
    • 5. rosservice info 服务名
    • 6. rosservice uri 服务名
    • 7. rosservice type 服务名
  • 2、rossrv:显示ros服务类型消息信息的相关命令
    • 1. rossrv list (| grep -i 包名/检索名)
    • 2. rossrv packages
    • 3. rossrv package 包名
    • 4. rossrv show 数据类型名
    • 5. rossrv info 数据类型名
    • 6. rossrv md5
  • 3、rosparam:参数服务器的有关参数操作,查询
    • 1. rosparam list
    • 2. rosparam set 键 值
    • 3. rosparam get 键
    • 4. rosparam delete 键
    • 5. rosparam load xxx.yaml
    • 6. rosparam dump xxx.yaml

1、rosservice:列出和查询相关服务

1. rosservice list

  • 列出所有活动的service
  • 返回结果:
    rosservice list
    /add_int
    /rosout/get_loggers
    /rosout/set_logger_level
    /server/get_loggers
    /server/set_logger_level
    

2. rosservice args 服务名

  • 打印服务参数
  • 返回结果:
    rosservice args add_int
    num1 num2
    

3. rosservice call 服务名 参数1 参数2

  • 调用服务
  • 返回结果:
    rosservice call add_int 12 12
    sum: 24
    

4. rosservice find 包名/消息类型

  • 根据消息类型获取话题
  • 返回结果:
    rosservice find server_client/add 
    /add_int
    

5. rosservice info 服务名

  • 获取服务话题详情
  • 返回结果:
    rosservice info add_int
    Node: /server
    URI: rosrpc://d102-W65KJ1-KK1:50671
    Type: server_client/add
    Args: num1 num2
    

6. rosservice uri 服务名

  • 获取服务器uri
  • 返回结果:
    rosservice uri add_int
    rosrpc://d102-W65KJ1-KK1:50671
    

7. rosservice type 服务名

  • 获取消息类型
  • 返回结果:
    rosservice type add_int
    server_client/add
    

2、rossrv:显示ros服务类型消息信息的相关命令

1. rossrv list (| grep -i 包名/检索名)

  • 列出所有的srv消息,加上括号中的内容,可以显示某个包中的消息类型,加上检索名,可以显示包含检索名的相关包
  • 返回结果
    rossrv list 
    control_msgs/QueryCalibrationState
    control_msgs/QueryTrajectoryState
    control_toolbox/SetPidGains
    controller_manager_msgs/ListControllerTypes
    
    检索的功能:
    rossrv list | grep -i add
    diagnostic_msgs/AddDiagnostics
    rospy_tutorials/AddTwoInts
    server_client/add
    topic_tools/DemuxAdd
    topic_tools/MuxAdd
    
    rossrv list | grep -i server_client
    server_client/add
    

2. rossrv packages

  • 列出包含服务消息的所有包
  • 返回结果:
    rossrv packages
    control_msgs
    control_toolbox
    controller_manager_msgs
    

3. rossrv package 包名

  • 列出某个包下的所有msg
  • 返回结果:
    rossrv package server_client 
    server_client/add
    

4. rossrv show 数据类型名

  • 显示消息描述
  • 返回结果:
    rossrv show add
    [server_client/add]:
    int32 num1
    int32 num2
    ---
    int32 sum
    

5. rossrv info 数据类型名

  • 显示消息描述
  • 返回结果:
    rossrv info add
    [server_client/add]:
    int32 num1
    int32 num2
    ---
    int32 sum
    

6. rossrv md5

  • 未知
  • 返回结果:

3、rosparam:参数服务器的有关参数操作,查询

1. rosparam list

  • 列出所有参数
  • 返回结果:
    osparam list
    /nh_bool
    /nh_double
    /nh_int
    /nh_int_param
    

2. rosparam set 键 值

  • 设置参数,有的话,进行覆盖,没有的话,进行新建
  • 返回结果:
    rosparam set nh_int 10
    

3. rosparam get 键

  • 获取键值
  • 返回结果:
    rosparam get nh_int
    10
    

4. rosparam delete 键

  • 删除参数
  • 返回结果:
    rosparam delete nh_int
    

5. rosparam load xxx.yaml

  • 加载参数
  • 返回结果:
    rosparam load test.yaml
    

6. rosparam dump xxx.yaml

  • 将参数写出到外部文件
  • 返回结果:
    rosparam dump test.yaml
    

你可能感兴趣的:(ROS学习笔记,c++,python,ROS)