I am trying to publish some data from two realtime loops (running as two seperate processes each with its own rosrt publisher). There is also a subscriber that connects to both these topics to log the data. When looking at the logged data, there are some messages that are published twice while skipping the actual message at that iteration. This problem appears sporadically and I am unable to reproduce the problem consistently. The two realtime processes publish one after another every 2.5 ms (I tried changing it to 5 ms, but with no improvement. Ideally we need a 1 kHz publishing rate). Would you be able to offer some tips on tracing the problem?
I tried recording with rosbag, but rosbag had similar issues at low rates or could not keep pace with the publishing at higher rates. Additionally, I tried using different transport hints, but the problem still persists. I also tried multi threaded spinners and separating the callback queues with no improvement.
I am aware that the rosrt api is experimental, but are there implementation issues that I am not considering.
This is running on Ubuntu 10.04 64 bit patched with PREEMPT_RT realtime patch, ROS diamondback running on a Intel core2 quad processor.
Post score: 0
Comment by sglaser on 2011-07-21:
Could you post some code that reproduces the problem? That would be helpful.