ROS机器人程序设计(原书第2版)3.2.3 为特定节点配置调试信息级别

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
资源编排,不限时长
简介:

3.2.3 为特定节点配置调试信息级别

默认情况下,系统会显示INFO及更高级别的调试信息,并使用ROS默认级别来过滤特定节点输出的信息。要实现这一功能有很多方法。其中有些是在编译时设定,而其他的可以在执行前使用配置文件进行更改。另外,也可以动态地改变级别。下面将介绍使用rqt_console和rqt_logger_level来实现这一功能。

在编译源代码时可以设置日志级别,但不推荐这么做,这需要我们修改源代码定制日志级别,如果你想这样做,请参考《ROS机器人程序设计》(第1版)。

然而,在一些时候,我们需要删除低于设定级别的日志。这时,我们希望看到那些消息后,将它们删除而不是禁用。为此需要将ROSCONSOLE_MIN_SEVERITY设置为期望的最低严重级别或者避免任何消息(甚至是FATAL)。宏如下:

 

 

ROSCONSOLE_MIN_SEVERITY宏在<ros/console.h>中默认定义为DEBUG级别。于是可将它作为一个编译参数(使用-D)传递或把它放在头文件前。例如,若想仅显示ERROR或更高级别的调试信息,在源代码中加入下面代码:

 

或者,在CMakeLists.txt中使用下面代码设置包中所有节点的宏:

 

除此之外,还有一个更灵活的方法就是在配置文件中设置最低日志级别。用文件创建一个名为的config文件夹和名为chapter3_tutorials.config的文件,文件内容如下(从它设置为DEBUG级别开始编辑给定文件):

 

然后,我们设置ROSCONSOLE_CONFIG_FILE环境变量指向我们的文件。我们可以使用一个启动(launch)文件来替代配置环境变量,但这样做会直接运行节点。因此,我们可以通过env(环境变量)字段扩展launch文件,如下所示:

 

如上所述,环境变量会找到之前显示的配置文件,其中包含每个已命名日志的日志级别说明。在这个例子中是功能包名称。

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
[ros] --- 配置ros主从机
[ros] --- 配置ros主从机
557 0
|
机器人 C++
ROS问题汇总以及vsode配置问题
ROS问题汇总以及vsode配置问题
ROS问题汇总以及vsode配置问题
|
3月前
|
XML 存储 机器人
06 ROS配置launch文件
本文介绍了如何在ROS(机器人操作系统)中配置launch文件,包括设置节点、参数、局部变量、重映射以及嵌套launch文件的方法,并通过XML格式实现了多节点的一键配置与启动。
63 0
|
1月前
|
网络协议 机器人 C++
KUKA机器人Socket通讯配置方法:技术干货分享
【10月更文挑战第7天】在现代自动化生产线上,KUKA机器人凭借其高效、灵活和精确的特点,成为众多企业的首选。为了实现KUKA机器人与其他设备或系统之间的数据交互,Socket通讯配置显得尤为重要。本文将详细介绍KUKA机器人Socket通讯的配置方法,帮助大家在工作中更好地掌握这一技术。
199 2
|
3月前
|
存储 Ubuntu 安全
ROS2教程02 ROS2的安装、配置和测试
本文是关于ROS2(机器人操作系统2)的安装、配置和测试的教程。内容包括使用一键安装脚本快速安装ROS2 Humble版,手动安装步骤,设置语言环境、添加软件源、更新软件包、安装ROS2桌面版和开发工具,配置ROS2环境,创建工作空间,配置ROS2领域以避免网络冲突,以及如何删除ROS2。此外,还包括了测试ROS2是否安装成功的两个案例:基本的Topic通信测试和使用Turtlesim演示程序。适用于Ubuntu 22.04操作系统。
288 1
ROS2教程02 ROS2的安装、配置和测试
|
3月前
|
机器人 测试技术 Shell
机器人多设备局域网可通调试
本文提供了一个Bash脚本,用于在指定的局域网段内查找可Ping通的所有设备,如机器人臂或激光雷达等,以便于在多设备局域网环境中进行通信调试。
36 1
|
3月前
|
Ubuntu 机器人 测试技术
奥比中光 Femto Bolt相机ROS配置
这篇文章介绍了奥比中光Femto Bolt相机在ROS1 Noetic和ROS2 Humble环境下的配置过程,包括自动脚本和手动配置方法,适用于Ubuntu 20.04/22.04系统和Jetson Orin平台。
150 0
奥比中光 Femto Bolt相机ROS配置
|
3月前
|
机器人 Shell 开发者
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
这篇文章是关于ROS2(Robot Operating System 2)中功能包、依赖管理、工作空间配置和编译的教程,涵盖了ROS2工作空间的概念、如何获取和安装功能包的依赖、构建工作空间的步骤,以及如何创建和管理ROS2功能包,包括使用命令行工具对功能包进行操作的方法。
410 0
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
|
3月前
|
传感器 NoSQL 算法
ROS Moveit 配置全网最详细教程
本文是关于ROS Moveit配置的全网最详细教程,提供了一键安装脚本,以及如何使用Moveit进行机器人运动规划的详细步骤和说明。文中还深入解析了Moveit的配置包文件、Moveit的源码,以及如何使用不同的运动规划算法(如CHOMP、LERP、STOMP)进行路径规划。
279 0
ROS Moveit 配置全网最详细教程
|
3月前
|
Ubuntu 机器人 虚拟化
Ubuntu22.04配置ROS2 Humble
这篇文章是关于如何在Ubuntu 22.04系统上配置ROS2 Humble的详细教程,包括虚拟机安装、环境配置、网络设置、软件源更换、ROS1和ROS2的安装步骤。
287 1

推荐镜像

更多
下一篇
无影云桌面