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

简介:

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入门实践
本课程将基于基础设施即代码 IaC 的理念,介绍阿里云自动化编排服务ROS的概念、功能和使用方式,并通过实际应用场景介绍如何借助ROS实现云资源的自动化部署,使得云上资源部署和运维工作更为高效。
相关文章
|
Ubuntu 机器人 Linux
|
7月前
|
JavaScript 前端开发 机器人
【Azure Bot Service】在中国区Azure上部署机器人的 Python 版配置
本文介绍了在中国区Azure上使用Python SDK配置Azure Bot Service时遇到的问题及解决方案,涵盖参数设置与适配器配置,适用于希望在Azure中国区部署Python机器人的开发者。
203 8
|
数据采集 人工智能 算法
Seer:上海 AI Lab 与北大联合开源端到端操作模型,结合视觉预测与动作执行信息,使机器人任务提升成功率43%
Seer是由上海AI实验室与北大等机构联合推出的端到端操作模型,结合视觉预测与动作执行,显著提升机器人任务成功率。
641 20
Seer:上海 AI Lab 与北大联合开源端到端操作模型,结合视觉预测与动作执行信息,使机器人任务提升成功率43%
|
机器学习/深度学习 人工智能 自然语言处理
PeterCat:一键创建开源项目 AI 问答机器人,自动抓取 GitHub 仓库信息、文档和 issue 等构建知识库
PeterCat 是一款开源的智能答疑机器人,能够自动抓取 GitHub 上的文档和 issue 构建知识库,提供对话式答疑服务,帮助开发者和社区维护者高效解决技术问题。
988 7
PeterCat:一键创建开源项目 AI 问答机器人,自动抓取 GitHub 仓库信息、文档和 issue 等构建知识库
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
前言 最近开始接触到基于DDS的这个系统,是在稚晖君的机器人项目中了解和认识到。于是便开始自己买书学习起来,感觉挺有意思的,但是只是单纯的看书籍,总会显得枯燥无味,于是自己又开始在网上找了一些视频教程结合书籍一起来看,便让我对ROS系统有了更深的认识和理解。 ROS的发展历程 ROS诞生于2007年的斯坦福大学,这是早期PR2机器人的原型,这个项目很快被一家商业公司Willow Garage看中,类似现在的风险投资一样,他们投了一大笔钱给这群年轻人,PR2机器人在资本的助推下成功诞生。 2010年,随着PR2机器人的发布,其中的软件正式确定了名称,就叫做机器人操作系统,Robot Op
707 14
|
XML 算法 自动驾驶
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
【11月更文挑战第7天】本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。
747 6
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
【11月更文挑战第4天】ROS2的学习过程和应用,介绍DDS系统的框架和知识。
1361 1
|
存储 Ubuntu 安全
ROS2教程02 ROS2的安装、配置和测试
本文是关于ROS2(机器人操作系统2)的安装、配置和测试的教程。内容包括使用一键安装脚本快速安装ROS2 Humble版,手动安装步骤,设置语言环境、添加软件源、更新软件包、安装ROS2桌面版和开发工具,配置ROS2环境,创建工作空间,配置ROS2领域以避免网络冲突,以及如何删除ROS2。此外,还包括了测试ROS2是否安装成功的两个案例:基本的Topic通信测试和使用Turtlesim演示程序。适用于Ubuntu 22.04操作系统。
3886 1
ROS2教程02 ROS2的安装、配置和测试
|
网络协议 机器人 C++
KUKA机器人Socket通讯配置方法:技术干货分享
【10月更文挑战第7天】在现代自动化生产线上,KUKA机器人凭借其高效、灵活和精确的特点,成为众多企业的首选。为了实现KUKA机器人与其他设备或系统之间的数据交互,Socket通讯配置显得尤为重要。本文将详细介绍KUKA机器人Socket通讯的配置方法,帮助大家在工作中更好地掌握这一技术。
2004 2
|
机器人 测试技术 Shell
机器人多设备局域网可通调试
本文提供了一个Bash脚本,用于在指定的局域网段内查找可Ping通的所有设备,如机器人臂或激光雷达等,以便于在多设备局域网环境中进行通信调试。
173 1

热门文章

最新文章

推荐镜像

更多
  • ros