ROS使用教程-关于ros_info

原创 2016年08月30日 22:18:10

ROS_INFO output

The ROS_INFO message is probably directed to a ROS log file. In your roslaunch file there probably something like:

level

严重级别
日志消息分为五个不同的严重级别:

DEBUG
INFO
WARN
ERROR
FATAL
划分各种重要级别旨在提供一种区分和管理日志消息的全局方法,这些级别本身对系统不包含任何额外的影响。

rosout

rosout是一个综合工具,它既包含了一个rosout节点用来订阅记录和重新发布信息,一个rosout_agg topic.一个信息rosgraph_msgs/Log,它定义了标准域以及详细级别.
用户API以及一个GUI工具.

client API 可以使用roscpp和rosconsole,其中rosconsole提供了一个基于macro的接口,允许以print和流的方式输出,另外也封装了log4cxx,支持体系日志和配置文件.
rosout is the name of the console log reporting mechanism in ROS. It can be thought as comprising several components:

ROS_DEBUG_STREAM_ONCE("This appears only once.");
ROS_INFO_STREAM_ONCE("This appears only once.");
ROS_WARN_STREAM_ONCE("This appears only once.");
ROS_ERROR_STREAM_ONCE("This appears only once.");
ROS_FATAL_STREAM_ONCE("This appears only once.");
  • The rosout node for subscribing, logging, and republishing the messages.
  • The /rosout topic
  • The /rosout_agg topic for subscribing to an aggregated feed
  • rosgraph_msgs/Log message type, which defines standard fields as well as verbosity levels.
  • client APIs to facilitate easy use of the rosout reporting mechanism GUI tools,
  • like rqt_console, for viewing the console log messages.

The rosout package only provides the rosout node.

roscpp uses the rosconsole package to provide its client-side API. That API takes the form of a number of ROS_ macros:

rosconsole provides four different types of logging statements, at 5 different verbosity levels, with both printf- and stream-style formatting.

configuration

rosconsole能够从$ROS_ROOT/config/rosconsole.config在初始化的load配置文件.
rosconsole允许定义自己的配置文件用于log4cxx,被环境变量ROSCONSOLE_CONFIG_FILE定义.

<launch>
  <env name="ROSCONSOLE_CONFIG_FILE" 
       value="$(find mypackage)/custom_rosconsole.conf"/>
  <node pkg="mypackage" type="mynode" name="mynode" output="screen"/>
</launch>

Loging output

Output
There are four potential places a log message may end up, depending on the verbosity level:

  1. stdout
    DEBUG and INFO messages arrive on stdout if they are enabled. Note that this may not be sent to the screen depending on the value of the roslaunch/XML/node output parameter.
  2. stderr
    WARN, ERROR and FATAL messages arrive on stderr if they are enabled.
  3. Node log file
    Everything enabled goes into the log file. Your node’s log file will be in ~/.ros/log unless you override it with the ROS_HOME or ROS_LOG_DIR environment variables. If you are using roslaunch, you can use the roslaunch-logs command to tell you the location of the log directory.
  4. /rosout topic
    Everything enabled is sent to the /rosout topic. Note that until the node is fully started, messages will not be sent, so you may not see initial messages.

refer

  1. http://chenjunjun.bitbucket.org/2016/03/17/ROS-%E7%A8%8B%E5%BA%8F%E7%BC%96%E5%86%99%E4%B9%8B%E6%97%A5%E5%BF%97/
版权声明:本文为博主原创文章,未经博主允许不得转载。

ROS_INFO与printf的区别

讨论ROS_INFO和printf的异同
  • lircsszz
  • lircsszz
  • 2017年04月03日 15:20
  • 1225

ROS的学习(十四)用C++写一个简单的接收者

打开一个终端,进入到beginner_tutorials包下面: cd ~/catkin_ws/src/beginner_tutorials      编辑文件src/listener.cpp...
  • xiaocainiaoshangxiao
  • xiaocainiaoshangxiao
  • 2013年10月30日 20:49
  • 15722

ROS的学习(十二)用C++写一个简单的发布者

节点是一个可执行程序,它连接到了ROS的网络系统中。我们将会创建一个发布者,也就是说话者节点,它将会持续的广播一个信息。      改变目录到之前所建立的那个包下: cd ~/catkin_ws/...
  • xiaocainiaoshangxiao
  • xiaocainiaoshangxiao
  • 2013年10月30日 20:04
  • 21197

ROS编程示例---完整输出乌龟位姿

运行roscore,乌龟//订阅turtle位姿并输出到屏幕 #include #include #include //使用了turtlesim下的话题pose #include //使用判断输出...
  • qq_37193603
  • qq_37193603
  • 2017年06月11日 22:24
  • 374

ROS实践(6)-自建示例

1 创建路径~/dev/mytest,并加入环境变量: root@yangkai04-Inspiron-3650:~/dev# pwd /root/dev vim ~/.bashrc e...
  • yngki
  • yngki
  • 2016年12月07日 19:43
  • 359

ROS的学习(十四)用C++写一个简单的接收者

打开一个终端,进入到beginner_tutorials包下面: cd ~/catkin_ws/src/beginner_tutorials      编辑文件src/listener.cpp...
  • xiaocainiaoshangxiao
  • xiaocainiaoshangxiao
  • 2013年10月30日 20:49
  • 15722

ROS学习笔记五:理解ROS topics

ROS学习笔记五:理解ROS topics本节主要介绍ROS topics并且使用rostopic和rqt_plot命令行工具。例子展示roscore首先运行roscore系列服务,这是使用ROS所必...
  • mountzf
  • mountzf
  • 2016年08月25日 16:21
  • 6239

ROS学习笔记(一)补充篇 参考创客制造

我吧ROS的CPP部分分成7个部分: 1、基础的node param 2、动态调节参数 3、关于TF变换 4、actionlib 5、插件技术 6、movebase 7、nodelet技...
  • David_Han008
  • David_Han008
  • 2017年01月30日 16:02
  • 2616

rosbag--ROS中数据的记录与重放

将运行的ROS软件上的数据记录到一个.bag文件,然后重放数据再产生相同的效果。   1. 记录数据(创建一个bag文件) 从一个运行的ROS系统中记录topic的数据,这个topic数据会在一...
  • hustfzt
  • hustfzt
  • 2016年08月31日 14:37
  • 8049

ROS学习笔记十一:ROS中数据的记录与重放

本节主要介绍如何记录一个正在运行的ROS系统中的数据,然后在一个运行的系统中根据记录文件重新产生和记录时类似的运动情况。本例子还是以小海龟例程为例。记录数据(创建一个bag文件)首先运行小海龟例程:r...
  • mountzf
  • mountzf
  • 2016年08月28日 11:13
  • 2943
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ROS使用教程-关于ros_info
举报原因:
原因补充:

(最多只允许输入30个字)