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.