ROS 服务和参数:ROS Services and Parameters

1,ROS 服务是另一种节点通信方式;允许节点之间发送请求和接收回复。

2,rosservice命令可以很容易通过services建客户端/服务器通信架构(C/S);

      rosservice命令下有很多子命令可用:

rosservice list         print information about active services
rosservice call         call the service with the provided args
rosservice type         print service type
rosservice find         find services by service type
rosservice uri          print service ROSRPC uri

3,rosservice list查看服务清单命令:

$ rosservice list

4,rosservice type类型服务:

格式:

rosservice type [service]

举例1:

$ rosservice type /clear

举例2:

 (例2是针对我自己电脑服务中个例,命令细节可能不适合你)

$  rosservice type /rostopic_4115_1534565720508/get_loggers

扫描二维码关注公众号,回复: 4008596 查看本文章

5,rosservice call呼叫服务:

格式:

rosservice call [service] [args]

命令:

$ rosservice call /clear

就是调用清屏命令,可以发现前面轨迹被清除掉了(圆圈轨迹是清屏命令之后还在转圈产生的新轨迹)

再调一个机器人turtle2:
$ rosservice type /spawn | rossrv show
$ rosservice call /spawn 2 2 0.2 ""

6,rosparam 参数命令:

uu@uu-HP-EliteBook-6930P-Notebook-PC:~$ rosparam  
rosparam is a command-line tool for getting, setting, and deleting parameters from the ROS Parameter Server.

Commands:
    rosparam set    set parameter
    rosparam get    get parameter
    rosparam load    load parameters from file
    rosparam dump    dump parameters to file
    rosparam delete    delete parameter
    rosparam list    list parameter names

7,rosparam list:参数列表

$  rosparam list

uu@uu-HP-EliteBook-6930P-Notebook-PC:~$  rosparam list
/background_b
/background_g
/background_r
/rosdistro
/roslaunch/uris/host_uu_hp_elitebook_6930p_notebook_pc__39289
/rosversion
/run_id
uu@uu-HP-EliteBook-6930P-Notebook-PC:~$

8,rosparam set and rosparam get参数设定和获取

改变背景颜色:

$ rosparam set /background_r 150

调用刷新服务:
$ rosservice call /clear

获取背景参数:

$ rosparam get /background_g 

   $ rosparam get /background_r

获取参数:

   $ rosparam get /

***********************************************************************************

uu@uu-HP-EliteBook-6930P-Notebook-PC:~$ rosparam get /background_g
86
uu@uu-HP-EliteBook-6930P-Notebook-PC:~$ rosparam get /background_r
150
uu@uu-HP-EliteBook-6930P-Notebook-PC:~$ rosparam get /background
ERROR: Parameter [/background] is not set
uu@uu-HP-EliteBook-6930P-Notebook-PC:~$ rosparam get /
background_b: 255
background_g: 86
background_r: 150
rosdistro: 'melodic

  '
roslaunch:
  uris: {host_uu_hp_elitebook_6930p_notebook_pc__39289: 'http://uu-HP-EliteBook-6930P-Notebook-PC:39289/'}
rosversion: '1.14.2

  '
run_id: 61dd105e-a293-11e8-90ab-00216a949182

uu@uu-HP-EliteBook-6930P-Notebook-PC:~$

******************************************************************************

9,rosparam dump and rosparam load参数下载和加载:

格式:

rosparam dump [file_name] [namespace]
rosparam load [file_name] [namespace]

命令:

下载保存参数到*.yaml文件

$ rosparam dump params.yaml

加载参数

$ rosparam load params.yaml copy
$ rosparam get /copy/background_b

****************************************

uu@uu-HP-EliteBook-6930P-Notebook-PC:~$ rosparam dump uu.yaml
uu@uu-HP-EliteBook-6930P-Notebook-PC:~$ rosparam load uu.yaml copy
uu@uu-HP-EliteBook-6930P-Notebook-PC:~$ rosparam get /copy/background_b
255
uu@uu-HP-EliteBook-6930P-Notebook-PC:~$ rosparam get /copy/background_r
150
uu@uu-HP-EliteBook-6930P-Notebook-PC:~$ rosparam get /copy/background_g
86
uu@uu-HP-EliteBook-6930P-Notebook-PC:~$

*****************************************

通过上面下载保存加载后,可以看到RGB参数对应数值还是正确的。

猜你喜欢

转载自blog.csdn.net/uunubt/article/details/81809129
ROS
今日推荐