|
Re: Unexplained intermittent CAN / 2CAN Jaguar problems at GSR
I'm all in favor of trying to standardize information and see if any picture emerges.
1) Correct/Proper wiring both CAN and Power.
CAN wiring is correct, and has proper termination
2) Ground isolation of components.
Not sure about this.
3) CAN Interface used, Serial or 2CAN
2CAN connected to port 2 of CRIO. Currently running firmware 2.1, but think that updating to 2.5 would be a good idea.
4) Type of JAGS used, Black, Grey, Both
9 Black Jags all running firmware 92.
5) The programming language used
C++
6) The control mode(s) used.
Voltage mode
7) encoders, pots, limit switches are being used.
limit switches are connected to 3 Jags
We built two robots, and so I've been playing with our B bot to see if I can find the root cause of our timeouts.
Some observations:
1) Even in disabled mode, I occasionally see timeouts. Now there is some polling done in disabled mode to check the status of the limit switches, but the traffic should small, and there really shouldn't be any problem at all.
2) I did accidentally make the problem worse, and this lead me to believe that it was a CAN bus bandwidth issue. Instead of using the Jaguars to implement a PID loop for our lifter, we are using the CRIO. I created a separate task to monitor the setpoint, and speed adjustments. Originally, the task ran 100 times a second. This triggered a large number of timeout messages. Slowing down the task down reduced the timeout messages. But after reading through this thread, it's not clear to me why this should be the case.
3) Autonomous mode seems to be much more sensitive to timeout issues than teleop.
And finally one question: I've seen posts in this thread that suggest adding capacitors to reduce noise. Is there any consensus on doing that? What size capacitors? How exactly should they be wired?
Thanks.
|