NT Freezing When Camera Is Unplugged

At competitions, when our camera is unplugged (and sometimes when its plugged in), we get an error on the driverstation that says something along the lines of “Camera not found at the specified ip address”. We’ve noticed a direct correlation between this and a ~6-10 second slowdown of the dashboard refreshing, which we believe can be attributed to network tables. Has anyone else had this problem or can anyone help us fix it? It makes our dashboard basically useless which causes significant problems for our drivers. Thank you.

We experienced the same behavior when the SD card popped out of our Raspberry Pi and failed to boot. Network Table variables and the whole Dashboard GUI become extremely slow to respond.

I have not been able to determine the root cause of this behavior, as the camera read is in it’s own loop, and when it’s not connected, it does not peg out the CPU utilization or anything weird like I would expect.

I know Joe Ross experienced this issue as well, as I asked him about the issue when I believed it was the mjpg-streamer read that he provided that was causing the issue. I have determined that his team’s code was not at fault, but I don’t know what is.

Thank you for your response. I will be in communication with you if we find anything going forward.

If you can give more details as to what you are using and a repeatable set of steps to cause this, I’ll happily look at it. But at the moment, this is a confusing bug report. Freeze is different from slow-down, and this probably has nothing to do with network tables, but more likely the vision client or server.

Greg McKaskle

Sorry I don’t have much information, it only started happening during competitions and we didn’t have any time for troubleshooting. We are unbagging tonight, if it happens again I will do more in depth troubleshooting and post in this thread

We have tried a few different things, and we think we have isolated the problem. Its not the dashboard thats slowing down, rather the rate of data being transmitted to the dashboard. It only happens if start up the robot with the camera unplugged and vision enabled. The numbers on the dashboard will freeze for a few seconds, then update quickly, then freeze. We also can repeatably cause a less dramatic and more consistent slowdown by starting up the robot, unplugging the camera, then changing the camera setting on the dashboard from “no camera” to “ip camera”. If you need us to do any more tests, we can do them tomorrow. Thank you.

That is a much better bug report and totally changes where we will start looking. Thanks.

Can we get just a bit more info. What is the robot programmed in, and what template was used to make it. Any details about the camera?

Greg McKaskle

Thank you for your help, this problem is really making my hair grey. We are programming in labview using the arcade drive template as the base. The camera is an Axis m1013.

Have you turned on Enable Vision on the Robot Main panel? Or set the Enable Vision global anywhere else in your code?

With the m1013 and other IP and USB cameras, you can have the DB display the images without the roboRIO doing processing. Except for knowing the IP of the camera, you really don’t even need a roboRIO for this to work – just the db and the camera.

I’m wanting to understand how the disconnected camera is affecting what is running on the roboRIO. If it is easier than answering questions, please get in touch with me via PM and tell me where to get your code or I’ll give you email to give me your code.

Greg McKaskle

I’m not sure how the disconnected camera is affecting the code, that’s what I’m trying to figure out. We can drive the robot fine, its only the data transmission to the dashboard that is affected. Tonight I’ll see if I can replicate the behavior with smartdashboard to rule out our dashboard being the problem.

By the way, we turn on vision in robot main.