Hi all, I was wondering if I could get some help with randomly dropping communication. We have double, triple, quadruple checked our wiring. We have tried with multiple laptops and still get random drops in communication. Some times we are able to run for more than 90 seconds before the communication drops. Our robot is programmed in labview and we are mainly using periodic tasks to control everything (loops with wait statements 40 or greater). I feel like we have tried all of the typical trouble shooting approaches (turn off wifi, tether to the robot, disable firewalls, run as admin, etc.). When we look at the logs in the dashboard we are not getting any brownouts, and their is not error message other than the one telling us that we lost communication. I am curious if there are additional things that people know of / could try. I will also mention that we are using a limelight, but the problem persists even with the limelight unplugged.
Seems that you have gone a long road, so I will skip to a simple suggestion: start simple. It might be faster to understand under which conditions this problem is present if we start from a basic and known setup.
- Disconnect all I/O (PWM, CAN, etc) from the roboRIO
- Connect by USB
- Create a LabVIEW roboRIO project from the template in the splash screen
- Run it
- Enable the robot from the Driver Station. Nothing will move because you disconnected all the I/O. Let it run for a while. Do you see the disconnection event? Which is the behavior? Can you post a log file/screenshot?
Once we understand how a very basic setup as this one behaves, then we start adding complexity (such as your code, ethernet connections, limelight, and whatnot) or continue troubleshooting if the problem is still present.
One more thing: you mention that the disconnection is random. Have you noticed any pattern at all? Is the robot moving too much when this happens? Is it every time you enable or once per our/couple of period of testing?
Hi! Thanks for reaching out to help. I apologize for taking so long to respond. Unfortunately there does not seem to be any consistent pattern for when/why communication is dropping. We just made our more permanent controls plate and are still having the issue. We have pulled all the breakers and it appears we are stilling have the communication dropping problem. I am attaching a screenshot of the logs from when we were testing the drive motors (on blocks). This log file is from when the robot was tethered with ethernet (the problem is the same over USB). Here is another one that happened shortly into the run (while their was no robot input). We do have a navx attached but I don’t know why that would be a problem?
All of the errors on the side are talon’s that are in the code and not plugged in (i.e. not responsible the communication drop)
Thank you so much for all of your help
Interesting. Thanks for sharing those. I am unsure why the disconnection would happen under the circumstances you describe. I thought of maybe a loose connection in the Ethernet port, or a faulty Ethernet cable, but I am discarding that since you mention this also happens by USB.
Were you able to test with the simple case I suggested here? The main goal is to confirm or discard that the behavior is related to your code. It will provide more guidance on “where to start searching” and hopefully get to an explanation of why it’s happening.
I also think there might be a background process in the computer that is blocking the connection or changing network settings for a brief moment, and causing this disconnection. However, you mention seeing this in multiple machines, which makes me skeptical about this theory. Are all of these computers under a school policy, using the same antivirus software or have a common service/app running in the background (besides the regular NI and Windows processes)?
We are dealing with the same problem,
We did everything you suggest in your post and we still have those communication problems.
what do you recommend us to do?
Not a super expert on this, but to get the entire robot out of the equation, I recommend first that you run the rio through a power supply
we already took new roborio image it ,connect with usb and we still had those problems.
Have you tried replacing the plastic power connector on the RoboRIO? My team recently had a roboRIO that would intermittently loose connection without any obvious indication as to why on both wireless and USB connections. We later discovered that the plastic power connector was damaged and that replacing it solved our issues.
I noticed you have a point in teleop where your roboRIO CPU gets to over 90%, maybe you have something taking a bunch of CPU? I would look at print statements first - they are likely culprits as each print statement makes a call to Netcomm and uses some CPU. Try disabling them and trying again.
Disclaimer: I use Java so I’m not super well versed in LabVIEW so I’m just going on my experiences
What mode is your driver station in? Teleop? Test? Etc?
Uber - the print statements are more of a Java thing. Though, it’s important to note the CPU spike you’re referencing here doesn’t appear near the communication loss. If we were seeing a problem as a result of the CPU spiking, we’d expect to see the loss near it, not after it stabilizes.
I do notice the first log has a low measurement of voltage just before the disconnection. The second doesn’t, but those don’t always appear if the voltage drops quickly.
The flat line until that point suggests you are just running code without actually doing anything to draw current. Is that an accurate guesstimation? If so, what else is going on? Are you bumping the robot? Just standing and staring? Etc. If we’re seeing that kind of voltage drop, there’s potentially a loose connection somewhere. But, we’d typically find those while driving rather than sitting still. Is there a fan in your shop that blows back and forth and could potentially move a small wire just a little?