ROS2 中调试经常发现 printf 并不会输出到屏幕上,No stdout logging output in ROS2 using launch 。这是因为 ros2 launch 把输出缓冲了,解决方法是添加一个emulate_tty=True

Node(
    package='package_name',
    node_executable='package_exec',
    output='screen',
    emulate_tty=True,
    arguments=[('__log_level:=debug')]
)