0
$\begingroup$

Rosanswers logo

I encountered a strange problem of losing some messages between roscpp node and rospy node. I can see my roscpp node publishing my defined message using rostopic echo, but the rospy node sometimes cannot receive them(sometimes it can). I tried to reproduce the problem but just end up with nothing.

The only clue I can get is when this happen, I use rxgraph to see the ros node graph, and it prints:

"unknown node reported: unknown node /XXX"

/XXX is the name of my rospy node. The rospy node uses 3 threads and it calls rospy.spin() in the main thread.

I am using electric under ubuntu 11.10. There are more than 10 nodes running when this problem happen.

Thank you for any help or suggestions.


Originally posted by K Chen on ROS Answers with karma: 391 on 2012-05-19

Post score: 0


Original comments

Comment by piyushk on 2012-05-19:
Could you provide more details or a reproducible example? Otherwise it is extremely hard to comment on what might be going wrong.

Comment by K Chen on 2012-05-19:
Unfortunately I cannot, the only clue is provided above. So what does this warning mean? (unknown node reported: unknown node). I will try to reproduce the problem as far as I can.

Comment by K Chen on 2012-05-20:
Finally I find out that it was not message dropping, but a latency of messages(about ~2 seconds or more), and my rospy node mistakenly drops them out because I thought it was old data. Thanks for helping.

Comment by K Chen on 2012-05-20:
Please help me close the question.

Comment by Eric Perko on 2012-05-21:
Please post your solution (or explanation of the problem) as an answer. After about a week or so, you should be able to "accept" that answer and it will show this question as answered. You may also want to try this on Fuerte and 12.04 and see if the problem is still present.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Finally I find out that it was not message dropping, but a latency of messages(about ~2 seconds or more), and my rospy node mistakenly drops them out because I thought it was old data.


Originally posted by K Chen with karma: 391 on 2012-05-22

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by Eric Perko on 2012-05-22:
What size was your subscriber queue and how long does your callback take?

Comment by K Chen on 2012-05-22:
I am using "message_filters::sync_policies::ApproximateTime" to sync kinect and 1394 camera data, the queue size of both I set are 5, and the Synchronizer's queue size is 3(because I want it to drop old images). The callback won't take time because it only pushes them into my own process queue

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.