Publish debug info
时间: 2023-08-09 11:08:34 浏览: 59
Jenkins插件:Publish Over SSH
在 ROS 中,可以使用 ROS 的日志系统(`ros::console`)来发布调试信息。ROS 的日志系统支持多个不同的日志级别,包括 `DEBUG`、`INFO`、`WARN`、`ERROR` 和 `FATAL` 等级别。可以根据需要选择不同的日志级别来发布不同级别的调试信息。
下面是一个示例,演示如何使用 ROS 的日志系统发布调试信息:
```cpp
#include <ros/ros.h>
int main(int argc, char **argv) {
ros::init(argc, argv, "debug_info_example");
ros::NodeHandle nh;
int a = 10;
double b = 3.14;
ROS_DEBUG_STREAM("a = " << a << ", b = " << b);
ROS_INFO_STREAM("a = " << a << ", b = " << b);
ROS_WARN_STREAM("a = " << a << ", b = " << b);
ROS_ERROR_STREAM("a = " << a << ", b = " << b);
ROS_FATAL_STREAM("a = " << a << ", b = " << b);
return 0;
}
```
在上面的示例中,我们使用 ROS 的日志系统发布了五个调试信息,分别是 `DEBUG`、`INFO`、`WARN`、`ERROR` 和 `FATAL` 级别的信息。在每一条调试信息中,我们使用 `ROS_DEBUG_STREAM`、`ROS_INFO_STREAM`、`ROS_WARN_STREAM`、`ROS_ERROR_STREAM` 和 `ROS_FATAL_STREAM` 宏来指定调试信息的级别。在这些宏中,`STREAM` 后面的部分表示传递给宏的参数可以是一个 `std::ostream` 对象,可以使用 `<<` 运算符将多个变量的值输出到调试信息中。
在运行程序时,可以使用 `rosrun` 命令行工具启动该节点,并使用 `rosconsole` 工具查看该节点发布的调试信息。例如,可以使用以下命令查看该节点发布的所有调试信息:
```
rosrun my_package my_node __name:=my_node __log_level:=DEBUG
rosconsole view
```
其中,`__log_level:=DEBUG` 参数表示将日志级别设置为 `DEBUG`,这样就可以查看所有级别的日志信息。
阅读全文