Aravis + USB3 Vision Cameras on Jetson TX1

I’m curious about what results people are getting with Aravis + USB3 Vision Cameras.

My goal is to be able to use various Machine Vision Cameras in my project without having to do a lot of heavy lifting when switching cameras. So it’s as plug and play as possible. It’s also important because some companies like Basler don’t have 64bit versions of their SDK. It’s also a nice fallback in case there are issues with a Vendors SDK.

Here are the results I got with Aravis 0.5.7 running the arv-viewer. In this test I was using a USB Hub, and I set the usbcore.usbfs_memory_mb to 1000. I did try a PCI-Express USB 3.0 expansion card, and got the same results. As far as I could tell it neither improved or worsened the results.

Basler Pulse 1280x960 Monochrome Camera -> Worked well
Basler Ace Monochrome Cameras -> Worked well
Allied Vision Mako Monchrome Cameras -> Didn’t work
PtGrey Blackfly 1.3MP Mono -> Worked well (latest firmware)
PtGrey Chameleon3 1.3MP Mono -> Worked well (latest firmware)
PtGrey Flea3 Monochrome -> Worked well with some LIBUSB_Errors
PtGrey Flea3 3.2MP Color Camera -> Worked well if I changed the pixel format to RGB8
PtGrey Flea3 8.8MP Color Camera -> Didn’t work. Black Image
PtGrey Grasshopper 3 Monochrome Cameras (various) -> Worked well (latest firmware)

There was a weird glitch where on the PtGrey cameras I had to go back to the camera menu before exiting. If I didn’t it wouldn’t properly stream the next time I ran it. It didn’t do this on the Ubuntu x86 machine I tested.

All in all it seems to work well, but that’s only this version. I had been using the latest version on Github, and I was getting some latency issues with it. Where it would be delayed by a second or so then speed up. But, I may have done something wrong when installing it. There are a bunch of dependencies.


Regarding the latency issue, you could try to maximize the system performance to see if can improve.


Regarding the latency issue that was actually only with the latest version on github, and maximizing the system performance didn’t improve it. It also had the latency issue with the TX2 even with all the cores enabled, and maximum clocks.

I had written it off as not working, but then when I was trying to get the latest firmware version for the cameras from Ptgrey I mentioned the issue. Then they tested it with 0.5.7, and said it worked fine.

So then I started from scratch following their application note (written for x86, but it worked fine for the TX1) and it seemed to work fine without the horrible latency. There still seems to be more latency than x86 machine, but nothing unworkable. The viewer isn’t really optimized for the hardware.

My biggest issue now is convincing my boss to donate an NVidia TX1 or TX2 to the Aravis project. That way it improves the chances of it maintaining support.


Thanks for the update, good luck to you can get more devices to help on your projects.