I have to buy a Jetson AGX Xavier for my project, however I should use 6 USB cameras on it, but I do not know how many USB ports does Xavier has, please let me know.
Also, any advice to connect cameras on Xavier will be welcomed. The camera should be accessible on Python.
If those cameras require USB3 bandwidth, and are not fully functional with USB2 bandwidth, then you will have to also get an external PCIe based USB3 expansion. There are several cameras which require solo use of a given USB3 root HUB, so the specific camera may also matter. Note that the dev kit Xavier has two USB3 ports exposed. One is via the USB-C, the other by the combination eSATA+USB port. The micro-OTG port can be used for keyboard/mouse type devices, and is USB2.
Someone else may have advice if you mention the specific cameras.
Yes, PCIe is available. If you change carrier boards, then what is available will also change. For the Xavier there is a regular PCIe slot, along with an m.2 key E and key M.
The key M is sandwiched between the dev kit carrier board and module, and would be useful for single sided NVMe, but not for a USB expansion. Some m.2 key E USB expansions would work there. The full-sized PCIe slot would work with most any expansion card if it has the drivers in Linux via the “standard” drivers (some manufacturers may require a custom driver, and many such custom drivers are not available for arm64/aarch64). I think the primary issue for a PCIe slot expansion is making sure you have a stable physical mount (the slot exists, but not the bracket to hold on to the card and prevent movement…any movement at all could cause failures).
Regarding the particular camera, I see this:
Hi-speed USB 2.0 certified
UVC compliant (no software installation required)
Several cameras running on a USB3 HUB will probably not need to worry about bandwidth (you might be able to use a USB3 HUB…preferably external power…and possibly won’t even need more USB ports). Sometimes latency will become an issue even with available bandwidth, but I would tend to believe that odds are this will work.
Regarding drivers, the use of UVC is standard and is already installed on Jetsons, and so the device special file should “just work” upon plugin.
If Logitech produces other software related to this camera, then that software may not work on arm64/aarch64, but I didn’t see any notes of other software. I had to find the camera on an English language web page, so I don’t know what was listed in the URL you posted…maybe it was different than what I saw in the USA.
Hello, we want to use 16 USB cameras (5 MPixel each) with the Jetson Xavier over USB 3.0. In your opinion, is this possible? We don’t need a high frame rate, so probably like 1 image every one or two seconds from each of the cameras.
We intend to use an USB hub with its own power supply as has been mentioned.
What is the actual amount of data a frame will need to transfer? If it is 5M pixel at 8-bit, then the required bandwidth will differ than if it is 24-bit. I don’t know from what you list if bandwidth would be sufficient on average. What is the exact resolution and depth?
There is also a possibility that having a frame arrive one after the other will work, whereas 16 randomly connected camerase which might or might not want to (possibly through coincidence) send at the same time could be an issue. Now if it turns out that if all cameras combined won’t exceed bandwidth requirements, perhaps it would work even if all run at the same time…but there would differences in latencies between all 16 and perhaps they would be staggered in when their data is available. Hard to say without actually testing.
We’ll do some testing as soon as we have the camera array ready. Currently latency should not be an issue as we have over 1 minute to process the images. They also don’t need to arrive at the same time.
And having tested 2 cameras at 70 fps over USB 3.0 already and having had no issue with those (5 MPixel at 24 bit) we’re optimistic that it should work.
Was just wondering whether anybody already has experiences they can share.