Stumped on camera feed not available at driver station but only in matches

Looking for ideas on a camera/driver station/field comms issue we had at our last match.

We use an Axis M1011W (with the wireless turned off). We had a repeated issues on the field in matches that the camera feed was not available in the driver station window nor to our python code (using openCV) on the driver station computer. In 2 days of matches we had success getting the image feed back to the driver station only 4 times. However, when it wasn’t working on the field we could ping the camera from the driver station as well as open a webpage to the camera but the live image was not displayed. After the matches we were provided an opportunity to test with the field comms and we had 100% success in 6 connections getting the feed to show up. We confirmed we were not anywhere near the bandwidth limitation (<1 vs 7) and we started up in several driver positions. We were also 100% successful running tethered and connecting via a router and radio provided on the practice field.

We have the camera, drive station and roborio all with static addresses. The ports for the camera were configured per the camera tool and checked against the documentation. It is interesting (odd?) that the issue was correlated with when we were on the field with the other robots.

We participated in a week zero event with the same camera and while we didn’t have our python vision code running, the team was able to get the image back for the drivers to use directly.

Clearly is was frustrating to the team that we didn’t have the problem except in matches so we weren’t able to troubleshoot and resolve the issue. We worked with the FTAs and they were not able to determine what the issue is either We have another match in 2 weeks and we don’t have a way to identify and resolve what the issue was.

Any thoughts on what we were experiencing ?

We use the M1011 (wired only), and don’t have problems.

Does the M1011 have a fixed IP Address? If not, set it to 10.TE.AM.12, where TE.AM is your 4 digit team number. My guess it is the mDNS that is messing you up. When in the field, it can’t find the camera.

Camera has a fixed IP of 10.TE.AM.11

Now that you mention it, .11 is the right number.

Is the Subnet mask of the camera and driver station set to 255.0.0.0?

I just saw that you could open a web page to the camera, but not a Smart Dashboard image. We had that same problem 2 years ago, and just used the web page image. I’ll have to ask our programmers how they fixed the problem this year. I think it had to do with getting the Smart Dashboard parameters right. Did you give Smart Dashboard the fixed IP address, and not let it look for the mDns address?

the driver station has a fixed ip also. we can connect to the camera web page but the live image doesnt show on the screen. just an empty box. some matches it does work however.

How is the camera addressed in the dashboard code? Is it assigned the fixed IP address or is it assigned by the network name?

In the 2015 season, we found we had to restart the dashboard before we went to the field or our USB camera would not show. The source of this issue was the dashboard grabbing using the IP address it picked up in the pits (172.22.11.2 or other) and not using DHCP to grab the new IP address on the field (10.X.X.X). You may be having a similar issue.

So you can access the web page of the camera, but that web page does not show the feed? Hmmm…

I’m guessing it is a setting on the camera. Or, an antivirus or other similar program interfering.

Also, there are specific UDP(?) sockets that the camera is supposed to be using. Make sure it is one of those. If it worked through FMS without any other teams on the field, this may not be the problem, but you might want to check anyway. FMS should block wrong usage regardless, but maybe not.

I have a vague memory from a couple of years ago about Axis cameras and the Java Smart Dashboard. Might you need to enable anonymous access in the camera’s web configuration?

I’ll second this.

My suspicion is that the code is trying to establish a connection, but the other side isn’t ready, so it gives up or doesn’t successfully continue trying to establish in the background.

The LV dashboard has a dedicated loop that twice a second checks the connection. If it isn’t valid or has an error, it closes anything it has and reopens the session. If the web browser works with the camera, and the SD client doesn’t, the issue is with the client.

You may also want to try the default dashboard in its IP mode. Bayou had a team that started with the default DB, established the connection, then closed and opened the SD. That was their self-discovered process for getting it to work on the field.

Greg McKaskle

I’m not much of a coder, so i don’t know half of what the suggested fixes are, but during my team’s regionals, the cameras would work when tethered at the pit, but would mysteriously not show up with FMS connected. For whatever reason “RIOsetting” (resetting the rio) just after setting up on the field fixed our problems.

TLDR: RIOset the bot prior to retreating to driver station

We isolated the issue to the specific lap top we were using for driver station and vison processing. There was an issue with the network chip/driver that we could recreate high occurance of dropped packets but in the end couldnt determine the specific issue. Changing to a duplicate laptop resolved the problem.