Highest Quality Camera Stream

Hi I a student programmer from team 2834, The Bionic Blackhawks.

For a few years we have not been able to create high quality streams from our cameras to our dashboard. We have tried using raspberry pi’s as co-processors with pi-cams and had many issues with bandwidth which caused us to have to greatly reduce image quality. This year we decided to use Microsoft Life Cam HD-3000 over USB. Fortunately, the issues with bandwidth are no more; however, we are now having issues with latency, frame rate, and dropouts during matches. A possible issue may be that our team is using a 15ft long USB camera because as our camera is on our elevator. We understand this stretches the capabilities of USB and would appreciate any suggestions remedy our issues. We are absolutely open to switching cameras, trying different connections, or any other suggestions.

(We are not using vision this year and do not that interesting in a camera’s vision processing abilities-- at least this year).

Thank you.

They are pricey but you could try axis ip cameras

Our team has had a very similar problem also using a raspberry pi. We could get around 5fps on 360p video. It was useless and we stopped using it overall. So I know how you feel.:mad:

I’m working on generating a video stream from a Jetson TX1 and displaying it on the dashboard as an Axis-like camera stream. So far, we can view it on Firefox/Chrome while streaming 640x480 @ 30fps when directly connecting to the robot’s radio (AP mode). I haven’t pushed my code to GitHub in a while (can’t access school WiFi on non-school devices), but an almost working version can be found on our GitHub.

FRC1559 seconds a vote for Jetson TX1 tied directly to radio

We are seeing high frame rates, but more importantly low lag (<0.5sec). To effectively use the TX1, you should also replace the “carrier board” with something less development oriented. We are using an Auvidea J140. The real power of the TX1 is the ability to use CSI cameras (like the raspberry pi) but the connectors are fragile. This year we are using MS 3000 USB camera with very acceptable performance. Also contributing to performance is using open source gstreamer software for capture and display.

We’re using a ConnectTech Orbitty carrier board. It has all the I/O we need (one USB, one Ethernet, one microSD) in a 87mm x 50mm package.

How have you implemented your stream viewing on the driver station? We tried making it appear as a normal camera source (just like any USB camera you plug into the RIO), but the framerates weren’t even close to the 30fps we were getting before. I think that instead of the stream going directly from the Jetson to the driver station, it went through the relatively slow RIO.

It works perfectly with SmartDashboard and (presumably) Shuffleboard, but SD doesn’t appear to have buttons for boolean toggles and Shuffleboard had many issues at competition this year. What did you use to view the Jetson’s stream?

In today’s testing, it turns out that this goes far past the 7mbps cap enforced by the FMS. I’ll probably tone it down to 480x360 @ 30fps until I figure out how to get the Playstation Eye camera working with the TX1.

We dont go through the RIO at all. We use open source video app called gstreamer on both the TX1 and on the driver station. https://gstreamer.freedesktop.org/features/ It is pipe based, and you just pipe one into the other, with very little compute overhead.

Do you just open another window on your driver station? I wanted to keep it built into the DS software, since desktop space is at a premium on a single display.

Alternatively, does anyone know from experience if the single power outlet at each driver station provides enough power for a monitor?

I believe they open another window and then full screen it during competition. You probably could install gstreamer on the raspberry pi and get better performance than the reported 5fps.