In working through planning for the controls work that will need to be done during the Diff Swerve Beta2, The Controls & Software Boogaloo project, the problem of timing delays for CAN messages in the FRC control system has come to my attention.
So… this Austin Schuh guy at least seems to think it is a big deal (or can be).
What do others have to say on the matter?
For my own selfish reasons (relating to trying to control my favorite flavor of diff swerve), I am particularly interested CAN issue arising when trying to implement LQR control with Falcon 500s (in current control mode). Oh, and there are CANcoders in the sensor mix.
Assuming CAD delays (or rather non deterministic delays) are indeed an impediment to implementing the best version of a well behaved robot, what are our options? Do we just add a CPU to tame the CAN delay problem and leave the rest of the control code running on the RoboRIO? Do we throw up our hands, and move the entire control code over to a Co-processor (save for the required enable signal from the RoboRIO)? Is there another option behind Door #3?
Dr. Joe J.