how to check bandwidth?

we are running off board vision processing on our laptop using a m1011 camera set to 320x240, compression 30. we were able to find the targets pretty easily from less than 25 feet away. on bag day, too late of course, we noticed that if we changed our res to 640 x 480 we could see the targets from about 40 feet away.

does anybody know if there is a way to check whether we would go over the bandwidth limit if we did the 640x480 res? is there a way to monitor how much we’ve used? want to experiment with different resolutions, compression, and fps to see what will best fit our needs.

in the name of procrastination, thanks!!

With the testing I’ve done you can run 640x480 0% compression and get really close to the 8mbp/s limit. I’m running those resolutions (with two cameras) at 70% compression and have a little over 4mbps on the cameras alone. So with perhaps a little more compression in your situation I would say you will be fine.

thanks for the quick reply. this gives me hope.

how would i go about measuring our bandwidth?

1 Like

As far as cameras go, the camera.vi’s take care of that when you output or read the mjpg out to the dashboard. Just attach an indicator to the dashboard that reads from the mbps output on the camera read.vi function. See attached for example.

Like so.PNG

Like so.PNG


Like so.PNG

Just putting this out there, the screensteps live documentation is quite good. Here’s one on bandwidth:

http://wpilib.screenstepslive.com/s/3120/m/8559/l/95886-measuring-bandwidth-usage

We need to shoot for a video bandwidth maximum of roughly less than 5Mb/s.

The field limit is 7Mb/s, but

  • The video has transmission overhead that isn’t being measured
  • The command packets for driving take ~1Mb/s
  • Network Tables to send/receive values between the Dashboard and cRIO will take some of the bandwidth too.
    *]We need some breathing room to accommodate transmission spikes and variations
    The default Dashboard already gives video bandwidth feedback on the screen as well as easy adjustment of resolution/fps/compression to immediately see what the effect is on the look of the video.

We have vision currently and are using a LED ring we have the bandwidth around 2mbps we are running robot and the camera and see the targets well is this to good to be true? We are using Labview, the default FRC code for the camera, compression at 60, the 320 X240. Will this work at the competition?

That sounds good, and normal.
Last year we ran two cameras at a combined ~1Mb/s, so it’s certainly possible.

It’s the unconstrained, uncompressed, over resolution raw video stream that’s really the problem bandwidth-wize.