CAN communication randomly dropping

Our team is having issues that when we are driving our robot, it will randomly have the CAN network drop and the RSL light will stay solid for a sec. This happens periodically every 1-10 seconds. When this happens all the motors stop receiving power and continue when it stops dropping. Does anyone have any ideas? We had this issue 2 weeks ago and I tried lots of things and I was able to resolve the issue but it’s back again and I don’t know what I did to resolve the issue. I’m trying to retrace my steps, but currently, the robot is undrivable. Things I’ve done so far: Re-image the Rio, update Rio firmware, re-install phoenix software through tuner, and checked all the wiring. Devices on can: 4 SparkMax, 3 TalonSRX, 1 PCM, 1 PDP.

Look at your PC for any third party software running in the background.
Autodesk, for instance, has an update service that will interrupt wifi/Ethernet communications every 10 or 20 seconds or so to try to check their servers for updates (and discovers it can’t and retries 10 seconds later). That disables the robot (solid RSL).

Also take a look at your Driver Station log files for logged error messages, long packet times, dropped packets, etc.

You checked the wiring, so check your CAN terminations too. Improper termination can give intermittent operation. With power off, use a multimeter to measure from yellow to green with everything plugged in. 50-70 ohms Is correct. Disconnect your Roborio and the measurement will jump to 100-140 ohms. Unplug the PDB and the measurement should rise to well over 1000 ohms. If any of those 3 show wrong readings you have bad CAN hardware, either cabling or a device.

If the robot signal light has gone solid, that suggests you have temporarily disabled. If this is from a watchdog not being fed, you should see error messages in the driver station status window. If this is from packet loss, you should be able to look at your driver station logs to see that.

As Mark suggested, it may be packet loss. Something else is blocking the driver station from sending messages to the robot often enough. This can be caused by other software on the driver station (which you shouldn’t have). In the past Autodesk has been a common culprit.

Can you verify what type of failure you are seeing through the methods I listed above?

Security code (antivirus, etc) is also notorious for this sort of thing.