Unrepeatable CAN problems


449 got back from our first competition about a week ago and we were having a lot of controls problems throughout the entire competition. Note, the problems have to either be electrical or programming, not mechanical.

First, some background on our robot. We have 7 jaguars all controlled by CAN. CAN 1, 2, and 3 all were controlling the right side of our 6 CIM west coast drive. CAN 4, 5, and 6 all controlled the left side of the drive. CAN 7 controlled the roller motor. (Note: we had other problems with our roller motor, however these were due to a faulty crimp and were fixed). We also had 5 solenoids to control our roller, shooter, and catcher.

Ok, now our problem. We had two matches in question with problems that we were unable to determine the cause. In both of these matches the same thing happened:

  • Autonomous functioned completely fine. All 7 jaguars functioned along with the entirety of the pneumatics.
  • We has full motor functionality until we got bumped around and/or tried to make a sudden direction change.
  • The left side of our drive would stop functioning. (Three motors all proceeded to not work).

These problems were unable to be reproduced off the field either in the pits testing on blocks, or on the practice field driving around.

I am not 100% sure how CAN works, but I was under the impression that if one of the connections of the CAN chain is bad, then it will take down the entire CAN chain. However, we were still able to control the right side of the drive. Is it possible to lose only part of the CAN chain and have full control over another part?

I am going to include a short section from what our programmer wrote.

The only two times where it was repeatable was when we got knocked over in the match 4 replay, and after match 73. Both times when we tried to drive the robot in the pit right after, we notices the Jags indicated they had no signal.

We tried to change the main loop to a timed loop with a 50ms dt, which didn’t fix anything.

When we tried to tape/secure in all of the CAN network cables.

I’m inclined to think we had a loose CAN cable. The reason why it wasn’t repeatable in the pit sometimes is probably because the cable in question was only partially loose and when it worked itself loose, it could resettle in the socket and then seem fine in the pit. It’s unlikely that it was a FMS issue since we had 2 CSAs including the head tech monitor our robot failures, and they couldn’t find any comms/FMS issues,

I am not sure if I 100% agree with our head programmer that it was purely a wiring issue because we were still having problems even after we double checked the wiring and taped everything in.

We are buying new CAN wires to replace all the existing connections, however we were wondering if there could also be any other electrical problems or code issues that we should be looking out for.

Is this your first year running with this drive train? The 6 cim drive train can cause issues even for experienced teams. When you get into collisions and pushing matches the resistance on the motor increases and so does the the current. The draw may have been enough to pop a fuse. The fact that it happened during a quick change of direction is also a tell tale sign that you popped a fuse.

Also the fuse would reset, which would explain why you didn’t see the issue when you got back to the pit.

If your gearboxes are 1 speeds that are geared to reach high speeds, this is even more likely.

Also, try not to start the mechanical/electrical/programming debate. As soon as you “rule out” one of these sources, it may cause you to overlook the actual source of the problem. In this case it sounds like it could be all three.

This is our first year running this drive train. It is a 6CIM west coast drive using the WCP single speed transmissions geared for 14 feet per second.

However, we were very rarely changing directions at full speed. Also, why would the fuses on one side fail but not the other twice?

Sorry, I did not mean to start this debate. I only meant that because we are using the WCD version of the gearboxes, the center wheel of the drive is directly connected to the gearboxes. So it could not have been a mechanical failure that disabled the same side of our drive both times.

A portion of your CAN network can go down and the rest stay up, depending on the resistors used in termination.

The connectors on the Jags are notorious for causing CAN communication errors and usually need to be hot glued (not sure if that’s legal this year) or otherwise secured in the port. Typically this fault will only manifest itself when you take a hard hit on the field, not while testing in the pits on on the practice field.