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

rospy logging not printing across computers

asked 2012-08-07 11:56:05 -0600

jker gravatar image

updated 2014-01-28 17:13:16 -0600

ngrennan gravatar image

The Setup: Two computers, both running various nodes. Computer A is the master where the launch file is run from that launched all the nodes being used. Computer B is a slave running several nodes as directed by Computer A.

The Problem: While running a python node, I noticed that none of the rospy.log*() calls print anything to the screen on A when it is called by a node on B. However calling the rospy logging functions while on A prints on A (I haven't tried checking B, as I'm not sure how to force ROS terminal output).

My Attempts: I've tried all of the logging levels, and manually setting the log level of the node, but no dice. As a workaround I've just been publishing debug information to a topic from the node in B and echoing the topic on A, but this is a messy way to get it done and it would be simpler to just have everything print in the main terminal the launch file is run from.

edit retag flag offensive close merge delete

Comments

What does rxconsole show?

joq gravatar image joq  ( 2012-08-07 14:01:58 -0600 )edit

I can only ssh into the computers, so I can't use and GUI interfaces.

jker gravatar image jker  ( 2012-08-08 03:29:19 -0600 )edit

Have you tried ssh -X?

joq gravatar image joq  ( 2012-08-08 04:10:05 -0600 )edit

That did the trick, and rxconsole does seem to receive the messages. Thanks.

jker gravatar image jker  ( 2012-08-08 08:34:46 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
2

answered 2012-08-08 06:37:41 -0600

bhaskara gravatar image

updated 2016-07-20 17:59:22 -0600

130s gravatar image

This is expected behavior: from http://www.ros.org/wiki/roslaunch/Arc... ,

"Remote processes do not forward their stderr/stdout to your local console. In general, nodes should be reporting important information using ROS' builtin logging mechanisms (i.e. rosconsole for roscpp, logout/logerr for rospy, etc...). This allows you to view this important information via the rosout tools."

On your local machine where you do have an X-server, start up a terminal, set the ROS_MASTER_URI environment variable to point to the master on computer A, then run rqt_console.

edit flag offensive delete link more

Question Tools

Stats

Asked: 2012-08-07 11:56:05 -0600

Seen: 860 times

Last updated: Jul 20 '16