一个节点,单独run时,里面的printf之类的屏幕显示语句是正常的。但是如果把节点通过launch的形式启动,会导致有一部分输出语句不打印了。如果不知道这回事,调试代码的过程会以为程序出错了,很耽误时间。
两个方法恢复:
1,launch文件里,节点最后添加output="screen"
<launch>
<node name="icp" pkg="my_pcl_tutorial" type="icp" output="screen">
<param name="MaximumIterations" value="80"/>
</node>
</launch>
2,启动launch 的时候,用命令:$ roslaunch --screen package_name launch_file_name.