六、理解ROS服务和参数
ROS Services
服务(services)是节点之间通讯的另一种方式。服务允许节点发送请求(request) 并获得一个响应(response)
rosservice可以很轻松的使用 ROS 客户端/服务器框架提供的服务。rosservice提供了很多可以在topic上使用的命令,如下所示:
使用方法:
rosservice list:输出可用服务的信息。
$ rosservice list
rosservice call:调用带参数的服务。
$ rosservice call [service] [args]
rosservice type:输出服务类型。
$ rosservice type [service]
rosservice find:依据类型寻找服务find services by service type
rosservice uri:输出服务的ROSRPC uri
Using rosparam
rosparam使得我们能够存储并操作ROS 参数服务器(Parameter Server)上的数据。参数服务器能够存储整型、浮点、布尔、字符串、字典和列表等数据类型。
rosparam set:设置参数
$ rosparam set [param_name]
rosparam get:获取参数
$ rosparam get [param_name]
另:$ rosparam get /
显示参数服务器上的所有内容。
rosparam list:列出参数名
$ rosparam list
rosparam load:从文件读取参数
$ rosparam load [file_name] [namespace]
(把file的内容重载入namespace中)
rosparam dump:向文件中写入参数
$ rosparam dump [file_name]
rosparam delete:删除参数
七、使用 rqt_console 和 roslaunch
rqt_console属于ROS日志框架(logging framework)的一部分,用来显示节点的输出信息。
$ rosrun rqt_console rqt_console
rqt_logger_level允许我们修改节点运行时输出信息的日志等级(logger levels)(包括 DEBUG、WARN、INFO和ERROR)。
$ rosrun rqt_logger_level rqt_logger_level
日志等级按以下优先顺序排列:
Fatal
Error
Warn
Info
Debug
Fatal是最高优先级,Debug是最低优先级。通过设置日志等级你可以获取该等级及其以上优先等级的所有日志消息。比如,将日志等级设为Warn时,你会得到Warn、Error和Fatal这三个等级的所有日志消息。