ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
3

How to suppress the annoying gmapping messages (related to laser scans)?

asked 2011-06-17 17:51:53 -0500

Whenever I launch gmapping (even without the option output="screen"), I still get the annoying messages, such as:

Registering Scans:Done

Laser Pose= 0.886656 -0.155651 2.77905

Registering Scans:Done

Laser Pose= 0.886656 -0.155651 2.77905

This is a bit annoying since it fills up the screen with that info. Does anyone know how to suppress these messages?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2011-06-17 23:51:32 -0500

dornhege gravatar image

They are direct printouts to stderr. You could redirect stderr, but the proper way would be to exchange the calls to ROS_INFO/ROS_DEBUG in the source.

edit flag offensive delete link more

Comments

I'd happily accept a patch that disables those prints or converts them to ROS_* macro calls (the latter would mean building `gmapping` itself against part of ROS, which is a little strange, but should work).
Brian Gerkey gravatar image Brian Gerkey  ( 2011-06-20 04:44:16 -0500 )edit
printouts to stderr? Does this mean that these scans are erroneous? Why would gmapping output to stderr unless there is a problem?
ubuntuslave gravatar image ubuntuslave  ( 2011-06-21 08:40:31 -0500 )edit

One informal unix convention (violated by rosconsole, unfortunately) is that stderr is for all logging and diagnostic information, not just errors, while stdout is only for actual "output", e.g., stuff that might potentially be piped to another program.

bhaskara gravatar image bhaskara  ( 2012-05-08 10:39:51 -0500 )edit
1

answered 2012-05-08 10:27:42 -0500

To expand on what dornhege suggested:

Let's assume your launch file is called slam_gmapping.launch and it's in the slam_gmapping package. A quick way to suppress the messages is to launch it like this:

roslaunch slam_gmapping slam_gmapping.launch 2>/dev/null

I use that trick to launch any launch file which direclty or indirectly includes gmapping.

edit flag offensive delete link more

Comments

Hi, I am trying to redirect the stderr and so far, the only way that works is using your 2>/dev/null trick Now how could you do that in a .launch file? It doesnt seem to accept args in a launch include tag, and for nodes it doesnt seem to work. I could make a bash script for this, but thats ugly...

koenlek gravatar image koenlek  ( 2014-05-07 00:05:02 -0500 )edit

I know this is old koenlek, but did you ever find a solution?

Sebastian gravatar image Sebastian  ( 2015-08-18 01:18:09 -0500 )edit

You can make a bash script e.g. "gmapping_without_output.sh" with just this line: roslaunch slam_gmapping slam_gmapping.launch 2>/dev/null Put it in a package, usually in a 'script' folder, and you can run in like any node (from cmd line using rosrun, or from launch file using a <node> block)

koenlek gravatar image koenlek  ( 2015-10-25 10:15:18 -0500 )edit

Thanks for the info. I just downloaded the source and edited out all the error messages. That works too.

Sebastian gravatar image Sebastian  ( 2015-10-25 16:56:37 -0500 )edit
1

@Sebastien I know this post is really old, but do you remember which files you needed to change? Thanks

ncharron gravatar image ncharron  ( 2017-07-31 16:46:04 -0500 )edit

Just grep the error message,

Sebastian gravatar image Sebastian  ( 2019-02-27 16:55:05 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2011-06-17 17:51:53 -0500

Seen: 2,576 times

Last updated: May 08 '12