pcl ExtractIndices nodelet
I am using the perception_pcl nodelets. I have a point cloud being fed to a SACSegmentation nodelet. That nodelet works fine and I am able to see the output at the expected 30Hz.
However, when I feed the inliers from the segmenter and the original point cloud into a pcl/ExtractIndices nodelet, I get no output, or perhaps one frame randomly every 1 - 2 minutes.
This appears to be caused by some recent update as it has worked before and still works on another, unupdated computer. Has there been a change of this node or the way to use it or should I file a ticket?
EDIT: I dug a little deeper and found out the cause of my problem. The extractIndices filter uses a Synchronize message filter with an exact timestamp policy to match the input point cloud and the indices found by the segmenter. The segmenter is NOT producing an inlier message with the same timestamp as the original pointcloud on my updated computers. Therefore, the extractIndices callback never gets called. The original point cloud has a stamp that is more precise than the indices.
For example, the pointcloud will have a stamp of
secs: 1438114448
nsecs: 434060100
while the indices will have
secs: 1438114448
nsecs: 434060000
So the segmentation nodelet loses precision when it reads the input point cloud. Not so in my unchanged computer. I noticed the segmenter uses a pointcloud rather than a pointcloud2, but I still can't find the place where things changed to cause my error. Anybody know where the change was?