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
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参数对应数值还是正确的。