Robotics StackExchange | Archived questions

How to make rostest launch rosout?

I have a node that analyzes rosoutagg messages to benchmark the robot's performance. I'd like to incorporate these benchmarks into a test, but it seems that the rosout node is not started under rostest, and so rosoutagg is never published. (If I subscribe directly to rosout, my node works the same under rostest and roslaunch.)

Is this the intended behavior? Is there a way to tell rostest that I do want rosout launched?

Asked by JohnStechschulte on 2020-06-01 12:37:33 UTC

Comments

Well, it is starting, because when I try to start one myself in the .test file, I get the duplicate-node-name error. So I'm pretty lost at this point.

Asked by JohnStechschulte on 2020-06-01 18:20:46 UTC

Answers

I found a workaround. In the test script, simply launch a rosout node, but with a different name:

<node name="rosout_test" pkg="rosout" type="rosout" />

This occurred to me while elbow-deep in debugging rostest and roslaunch. I'm suspicious that somehow rostest thinks it launched rosout but in fact did not. If someone out there can explain all this to me, I'd really appreciate it.

Asked by JohnStechschulte on 2020-06-03 23:01:46 UTC

Comments