View Single Post
  #3   Spotlight this post!  
Unread 04-29-2012, 11:55 AM
Levansic's Avatar
Levansic Levansic is offline
Registered User
AKA: Len Evansic
FRC #0585 (Cyber Penguins)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2008
Location: Tehachapi, CA
Posts: 185
Levansic has much to be proud ofLevansic has much to be proud ofLevansic has much to be proud ofLevansic has much to be proud ofLevansic has much to be proud ofLevansic has much to be proud ofLevansic has much to be proud ofLevansic has much to be proud ofLevansic has much to be proud ofLevansic has much to be proud of
Re: CAN on the entire 2012 robot

We at team 585 used CAN exclusively, at first. At our first regional in Seattle, we had some connectivity issues, and a few mentors from other teams were adamant that we had too many jaguars on our CAN bus. We use a 2CAN, and these mentors ignorantly (and belligerently) believed that the hard limit of CAN jaguars was only four nodes. They also suggested that using CAN was pushing our CPU utilization to 100%. Our small onsite team was pushed by them into changing four over to PWM.

In fairness, the problem in reality was the lack of robustness in the RJ-11/12 on the jaguars. Losing a PWM connection only takes out that single motor. Breaking the daisy chain on CAN takes away the termination, and usually loses everything. When this happens, acknoledgements don't come back to the cRIO. This may hang up the networking code on the cRIO. I'm only speculating on this last part.

Between Seattle and Las Vegas, our students were split on whether to go back to all CAN. The student who did the most CAN specific work decided to go back to all CAN. I supported her reasoning. We went through our LabView project, and combed everything. We enabled reentrant code, disabled debug code, and enabled in-lining on every sub-vi we could. This greatly optimized our code.

We also put together a backbone for the CAN bus, that had high quality RJ-12 modular connectors attached to continuous wires, similar to this. This changes the topology to a star, instead of a daisy chain. Our backbone had three modules with four ports each, rather than the two rows of six.

In Las Vegas, we were back on all CAN. We had found that one of our older beige jaguars had changed its address after a few matches (thoroughly befuddling). By the end, everything was working great. All 10 of our jaguars were working without issue on CAN. We did have a few communication drops, but I'm unconvinced that CAN had anything to do with that. Bad luck had our two final qualification matches against the thoroughly impressive one-robot alliance that is the 987 High Rollers.

Our robot shipped to the championship with everything working. When our team unpacked it, our shooter no longer worked. We found (again) that it was the RJ-11/12 connection on the Jaguar. They got it working pretty quick, as they had seen this problem enough, by now. Had our best performance all season at the championship, balancing every match, I'm told.

-- Len

Last edited by Levansic : 04-29-2012 at 12:01 PM.
Reply With Quote