Is anyone using the Labview Dashboard during competition?

Hello everyone, I’m just trying to get an idea as to how many people are going to use the Labview Dashboard to transmit video from your cameras on your robots to your driver stations during competition?

That specific Ethernet (“virtual”) port will be blocked during competition. The Field will disable this feature to ensure that the fundamental control signals have sufficient bandwidth for reliability reasons.

Russ

You’ll be able to use the rest of the Dashboard but the video screen will show some sort of error message.

Russ

ah, ok, thank you

I can’t begin to guess how many teams plan to use vision feedback via the Dashboard during competition. However, the teams that actually do it will number very close to zero.

From one of the updates I was under the impression that we ARE ABLE to transmit video, but with the limited bandwidth the already low frame rate of the camera would slow down to close to nothing.

On a side note: My team had though of having a snapshot button on our OI board to take pictures: is there any flash memory on the cRIO that we could use to store images on there until we can download them onto our laptop?

My understanding is that the only way teams can get video during competition is to “compress” the image data into the 980ish user bytes and reconstruct the image on the Dashboard. It can be done but will be nowhere near “real-time” or “pretty”. THAT is the limitation that FIRST is describing.

Russ

You have something less than a thousand bytes each robot communication cycle. What you use it for is up to you. If you want to stream video through it, you’ll have to do it on your own, encoding and decoding on each end yourself. The example Dashboard program wants to see video on a separate port that is completely unavailable in competition.

On a side note: My team had though of having a snapshot button on our OI board to take pictures: is there any flash memory on the cRIO that we could use to store images on there until we can download them onto our laptop?

There’s 128 megabytes of solid-state disk with a reasonably standard filesystem. You can pretty much write anything you want to any file you want, and you can retrieve those files easily via ftp.

How would one go about saving an image from the camera though?
I see in AxisCamera files a GetImage() function - is there some way that you could use that to save a snapshot to the memory on the cRIO?
And I think I recall there being instructions for FTPing to the cRIO in the setup instructions, anyone know offhand where that is?

I was hunting around in the docs and came across this:


Image* cameraImage = frcCreateImage(IMAQ_IMAGE_HSL);
double timestamp; // timestamp of image returned
double lastImageTimestamp; // timestamp of last image, to ensure image is new
int success = GetImageBlocking(cameraImage, &timestamp, lastImageTimestamp);
int result = GetCameraMetric(CAM_NUM_IMAGE);

When you call that will the system automatically save that as IMG_Whatever on the cRIO for access with FTP later?

Eureka! One of the example files had exactly what I was looking for!
The CameraDemo example has a setup to configure all your camera settings and a snapshot function so you can save a picture onto your cRIO as “default.png” in the root folder by default.

Hopefully at least one!

We do believe that 160x120 @25 fps streaming will provide a competitive advantage, especially collecting balls.

We are planning to switch in real time from 640x480 for tracking to 160x120 streaming. But like you said, plans is one thing - what actually makes it past Thursday is another ;).

P.S. It’s not a labview dashboard - it’s a Python dashboard.