详细介绍:ROS2 调试笔记(一)

详细介绍:ROS2 调试笔记(一)

ROS2 调试笔记(一)

    • RCLCPP_INFO
      • 功能与用途
      • 基本语法
      • 示例代码
      • 与其他日志级别的比较
      • 配置日志级别
      • 注意事项
    • `get_logger()` 函数
      • 基本用法
      • 日志级别与输出
      • 日志配置
      • 日志记录器的作用域
      • 实际应用场景
      • 注意事项
    • `auto_declare`
      • 参数自动声明的作用
      • 使用场景
      • 基本用法
      • 支持的参数类型
      • 注意事项
      • 与 `declare_parameter` 的区别
      • 示例:结合 YAML 配置
      • 总结
    • `get_node()`
      • 常见使用场景
      • 注意事项
      • 参考链接

RCLCPP_INFO

RCLCPP_INFO 是 ROS 2(Robot Operating System 2)中用于输出信息级别日志的宏,属于 rclcpp 日志系统的一部分。它用于在节点运行时打印非关键性信息,帮助开发者调试或跟踪程序状态。

功能与用途

基本语法

RCLCPP_INFO(<logger>, "<格式化字符串>", ...);
  • <logger>:通常通过 this->get_logger() 获取当前节点的日志接口。
  • <格式化字符串>:支持 C 风格格式(如 %s%d)。

示例代码

#include "rclcpp/rclcpp.hpp"
class MyNode : public rclcpp::Node {

public:
MyNode() : Node("my_node") {

// 打印 INFO 级别日志
RCLCPP_INFO(this->get_logger(), "Node has started. Current count: %d", 42);
}
};
int main(int argc, char** argv) {

rclcpp::init(argc, argv);
auto node = std::make_shared<MyNode>();rclcpp::spin(node);rclcpp::shutdown();return 0;}

与其他日志级别的比较</