I'm trying to get data from a ROS node at 100 Hz. Unfortunately, although the average is 100 Hz, it degrades sometimes to 25 Hz for a few samples. This wouldn't be a problem if it happened occasionally, but it happens about every 7th sample. My questions are as follows:
1)Is there a way to make the publishing more regular with standard ROS/Linux methods? (higher priority?)
2)Would using the ros realtime tools help at all and if so, can they be used without being run in the pr2_controller_manager?
Looking over documentation and other questions on this forum, it just isn't clear if the ros realtime tools can be used without having to modify the pr2_controller_manager for my specific robot.
I'm aware that orocos rtt is another option and I am already using it for a different part of the same controller. Any thoughts or suggestions would be very much appreciated. Thanks.
EDIT: As a side note, even without using a real-time kernel, if I use orocos rtt components, I get much less jitter and more determinism in my loop (they must be doing good things with the threading and priorities). I'm wondering if the benefit of using the ros realtime tools is the same even without having to install a patched kernel.
Originally posted by mkillpack on ROS Answers with karma: 340 on 2013-01-24
Post score: 1