0
$\begingroup$

Rosanswers logo

Hello,

I'm trying to store selected topics being published from various sensors sources (velodyne, monocular camera, IMUs) in a large bag file. I'm able to record the bagfile without seeing any errors. However, when I play back the file, I'm seeing the following errors:

  1. Some of the frames of the Velodyne data are being dropped. I've tried recording multiple bagfiles but I see this behavior in all of them

  2. From the monocular camera, I'm just recording the camera/image_raw topic . However, after about a minute into the bagfile, the camera input image splits into 2 unequal part and one of the parts get displaced (as seen in the pictures below). I'm seeing this behavior in most of the bagfiles and the time of split is random.

Original Image:

image description

Corrupted Image

image description

A few details about my setup:

  1. I have tried recording files at 2 buffer sizes 1024 and 0 (infinity) and I see these problems in both cases
  2. I have tried recording bagfiles on and Odroid XU4 and a high-performance laptop but that did not help
  3. I'm running ROS indigo on Ubuntu 14.04

Rosbag info:

image description

I will be happy to provide any relevant info that may be required. Thanks in advance!


Originally posted by gautam2410 on ROS Answers with karma: 71 on 2016-08-02

Post score: 1


Original comments

Comment by ahendrix on 2016-08-02:
rosbag will drop messages if the disk is not fast enough for all of the data. It's surprising that your image data decodes at all with those errors; is it possible the error is actually in the camera driver? Do you see the same issue if you view the camera image live while recording?

Comment by gautam2410 on 2016-08-02:
it's very unlikely that the error is in the camera drivers as I'm using widely used pointgrey camera drivers without any modification. Yes, I see the issue in the Rviz window while the bagfile is recording. However, I'm yet to see this issue when the bagfile is not being recorded.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

First: widely used is not an argument for or against bugs. rosbag, rviz and the pointgrey drivers are all "widely used" and we need to be logical and methodical in our debugging. Intuition and reputation can guide the debugging process, but ultimately you have to follow the facts and the data.

If rviz shows corrupt data while recording and the data in the recorded bag file is the same, that points to a common failure somewhere upstream.

I see a couple of possibilities:

  • bug in the pointgrey driver itself
  • bug in the pointgrey library
  • subtle incompatibility between your camera and the pointgrey library
  • bug or dropped packets in the linux USB stack (possibly interacting with other active USB devices)
  • hardware bug on your camera

As a start, I would examine the images in the pointgrey camera viewer, while you record the rest of your data (without running the pointgrey ROS driver). That will tell you if the bug is in the ROS driver or not, while providing similar traffic on the network and USB.

You can also easily rule out interference from other USB drivers by running the pointgrey viewer without your recording setup running.


Originally posted by ahendrix with karma: 47576 on 2016-08-02

This answer was ACCEPTED on the original site

Post score: 2


Original comments

Comment by gautam2410 on 2016-08-02:
Thank you for outlining the possibilities. I'll start with your suggestion to view the images separately and then cross-check each possibility. I'll update you once I'm done with that. Do you have any suggestion/possible explanation for the drop in Velodyne frames? Thanks!

$\endgroup$

Your Answer

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