[ros-users] swissranger_camera Issues

Bill Morris morris at ee.ccny.cuny.edu
Thu May 6 20:25:14 UTC 2010

On Thu, 2010-05-06 at 13:34 +0200, Ulrich Friedrich Klank wrote: 
> Hi Bill,
> I made the experience that image transport over USB usually introduces a 
> relatively high lag. Given your camera is on a bus with lower latency 
> (like firewire), you might just have an constant temporal offset.

The camera is also USB, so that's why the lag doesn't look like a bus or
cpu issue. 

> In dev_sr.cpp at line 196 the assumption is made, the the image is 
> acquired synchronously, meaning, that function SR_Acquire trigger the 
> acquisition of an image on the swissranger and transport this image back 
> to the pc, which might not be correct. More probably SR_Acquire just 
> copies the last image on the usb communication stack of the driver to 
> the user memory, or waits for the next arriving image, if there is 
> nothing in queue.

Yes, I believe the swissranger_camera driver is only setup for
continuous mode operation. Our communications with Mesa so far seems to
indicate that there is some queuing happening with the transmission.

> You most probably can fix your problem by adding a constant offset to
> timestamp at this point in the file depending on the overall framerate 
> and the transportation time over the usb-bus.
> A Calibration of this offset would require most probably a lot of 
> accurate hardware to produce a unique signal in the the swissranger for 
> a precisesly known time. Sorry to not be able to tell anything about 
> this delay, since we currently use the swissranger only under a static 
> world assumption.

I'm just trying to figure out where the delay is coming from at this
point. Mesa Imaging seems pretty responsive so far and hopefully can
help sort this out.

> Please keep us informed if you find out about this latency.
> Good luck,
> Ulrich Klank

I'll submit patches when we fix the problem.

Also, here is a video showing the issue we are having.


More information about the ros-users mailing list