Go to Post The events are not just a competition, but a celebration of 6 weeks of hard work. - ChristinaR [more]
Home
Go Back   Chief Delphi > Technical > Programming > NI LabVIEW
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 05-03-2011, 19:38
jrz126 jrz126 is offline
Registered User
no team
Team Role: Mentor
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Erie, PA
Posts: 12
jrz126 is an unknown quantity at this point
(Programming) Lessons learned from week 1?

Just wondering if anyone had programming issues which caused their bot to fail on the field?
Reply With Quote
  #2   Spotlight this post!  
Unread 05-03-2011, 23:17
JewishDan18's Avatar
JewishDan18 JewishDan18 is offline
Registered User
FRC #1700
Team Role: Engineer
 
Join Date: Feb 2009
Rookie Year: 2007
Location: Sunnyvale, CA
Posts: 185
JewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to behold
Re: (Programming) Lessons learned from week 1?

Dont use the CAN bus and make SURE your DS is properly configured if you aren't using a kit one.
Reply With Quote
  #3   Spotlight this post!  
Unread 06-03-2011, 04:02
biojae's Avatar
biojae biojae is offline
Likes Omni drives :)
AKA: Justin Stocking
FTC #5011 (BOT SQUAD) && FTC#72(Garage bots)&& FRC#0399 (Eagle Robotics)
Team Role: College Student
 
Join Date: Oct 2008
Rookie Year: 2008
Location: Lancaster
Posts: 276
biojae is a jewel in the roughbiojae is a jewel in the roughbiojae is a jewel in the rough
Re: (Programming) Lessons learned from week 1?

Quote:
Originally Posted by JewishDan18 View Post
Don't use the CAN bus.
Can you elaborate on that point a little for me?
Serial or 2CAN and which programming language you used?

My team used the CAN bus successfully last year (with Java), with only a few hiccups along the way.
We have only lost 2 Jags in the 3 years that they have been First legal, one (Black) which we will be RMA'ing shortly and the other (Tan) which was killed by metal shavings.

There are a few things that can still be improved with the libraries, (Exceptions and Error checking), but for the advantages that using the CAN bus have given my team out way the disadvantages.
__________________
FTC Team 72 - No site
FRC Team 399 - http://www.team399.org
2010 Rockwell Collins Innovation in Control Award - (Use of the CAN bus, among other reasons) Phoenix, Arizona!
Reply With Quote
  #4   Spotlight this post!  
Unread 06-03-2011, 13:53
DonRotolo's Avatar
DonRotolo DonRotolo is offline
Back to humble
FRC #0832
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2005
Location: Atlanta GA
Posts: 6,995
DonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond repute
Re: (Programming) Lessons learned from week 1?

It would be wise to use the CPU status monitor to verify you are not maxing out the CPU. We had a failure on the field once which we attributed to CPU overload.

The regular symptoms are all the outputs of the cRio go dark for about 1/2 second, at a random interval between 10 and 30 seconds or so. The lights on the cRio, DSC and PDB stay solid, but the jaguar/victor/spike indicators blink off in unison. During match play/driving it's hardly noticed, but once we feel it was responsible for a momentory loss of control at a critical moment.

We removed some unnecessary code, but have yet to really analyze the code for inefficiencies. Our code was completely student-written, and the adults can't easily discern how it works yet, but that'll happen this and next week. (Student coders often lack discipline, elegance and efficiency, often whacking problems with brute force in convoluted and hard-to-follow ways. Max.)

Greg from NI helped us understand what to look for, and my team and I are grateful to NI for sending him to NJ, and even more grateful to Greg for consuming one of his weekends to travel from comfortable Texas to frozen NJ just to help FRC teams.
__________________

I am N2IRZ - What's your callsign?
Reply With Quote
  #5   Spotlight this post!  
Unread 06-03-2011, 14:29
jmanela's Avatar
jmanela jmanela is offline
+1 is BIGGER than -1
AKA: Joshua Manela
FRC #2586 (Fondy Fire)
Team Role: College Student
 
Join Date: Aug 2008
Rookie Year: 2009
Location: Michigan
Posts: 314
jmanela is a splendid one to beholdjmanela is a splendid one to beholdjmanela is a splendid one to beholdjmanela is a splendid one to beholdjmanela is a splendid one to beholdjmanela is a splendid one to beholdjmanela is a splendid one to behold
Re: (Programming) Lessons learned from week 1?

For some reason, we were having trouble with the holomonic drive vi. During all of practice our drive was working fine. There were no troubles at all. Then all of the sudden, at the competition our robot begins to lose code every once in a while. We got an error message stating that we were starving the code, however when we got rid of all code that was unnecessary we were still getting the same problem. We decided to run a blank labview project just to test and see if it had worked out of the box, and it did. Then, I replaced the standard tank that the project comes with, with a mecanum Cartesian drive vi. We got the same message and received our robot would occasionally lose code as it ran like it used to. We ended up writing our own version of a tank using strictly motors and that worked. however, we still don't know why the mecanum drive would not work.

Our programming mentor suspects it had something to do with the safety config vi, however, I read up on it and if i read correctly it would just stop the motors if they didn't recieve and input within a certain time period. However, our problem was quite the opposite where all the values on our robot would stick when we lost robot code for the quick times that we did.

Any ideas?
__________________
||2009|| Entrepeneurship Award, QF - Traverse City | Rookie All Star, QF - Detroit | Highest Rookie Seed, Rookie All Star, QF - Michigan State Championship | Finalist - MARC ||2010|| Engineering Inspiration, Website Award, SF- Kettering | Judges Award, Website Award, SF - Detroit | Website Award, Winner, Michigan State Champ //Thank you 469 and 1918!! | Finalist - MARC ||2011|| Engineering Inspiration, Website - Kettering | Entrepreneurship, Website, Finalist - Waterford | Website - MSC
Reply With Quote
  #6   Spotlight this post!  
Unread 06-03-2011, 20:32
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,751
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: (Programming) Lessons learned from week 1?

I had a great time in NJ and met quite a few people face-to-face that I otherwise wouldn't be able. It is good to mix things up.

The things I saw in week one which are easy to learn from... not necessarily code related...

1. Connect the dlink properly. Connect it to the boosted 12V on the end of the PD marked for the radio, not to a typical red/black fused 12V circuit. Also, I'd suggest using the voltage regulator. If you do not do this, your robot will lose communications whenever it starts pushing another robot and power droops.

2. Run your code through a practice match on the DS. A number of teams using Java or C++ had code which didn't leave auto. It worked fine if you only test tele. It may even work if you only test auto. The field sequence is what you care about and the DS practice match is a good approximation to that. We also saw teams who's auto managed to cause errors in tele.

3. If you are using CAN, pay attention to error handling and to cable termination. Errors that aren't handled well and aren't reported to the field may take out much of the robot and cause lots of debugging confusion.

4. Know what the latest update versions are and check to see if they have been applied. DS should be 1-05-11 or 2-27-11. Robot should be v28. You may need development tool updates as well, and I'm not listing all of those.

5. Don't disconnect the cRIO from the dlink. Direct cable the DS and development computers into the dlink. If you disconnect the cRIO, you will forget to reconnect. You know you will, so just leave it connected at all times.

6. Pay attention to the switch on the back of the dlink. It should stay in bridge mode for the competition. If it gets knocked to auto or AP, your robot will disconnect or not connect at all. Also pay attention to the barrel power connector to the dlink. If wiggling it causes the dlink to reboot, this will also happen on the field.

7. If you are using the M1011 camera with C++, be sure to get the WPILib patch.

8. If you use LV, and your CPU usage is high, move the compressor code to Begin. Turning it on each teleop packet adds more overhead than you think. The code was written to be started in Begin.

Greg McKaskle
Reply With Quote
  #7   Spotlight this post!  
Unread 06-03-2011, 20:44
biojae's Avatar
biojae biojae is offline
Likes Omni drives :)
AKA: Justin Stocking
FTC #5011 (BOT SQUAD) && FTC#72(Garage bots)&& FRC#0399 (Eagle Robotics)
Team Role: College Student
 
Join Date: Oct 2008
Rookie Year: 2008
Location: Lancaster
Posts: 276
biojae is a jewel in the roughbiojae is a jewel in the roughbiojae is a jewel in the rough
Re: (Programming) Lessons learned from week 1?

Quote:
Originally Posted by Greg McKaskle View Post
3. If you are using CAN, pay attention to error handling and to cable termination. Errors that aren't handled well and aren't reported to the field may take out much of the robot and cause lots of debugging confusion.
What errors are reported to the Field?
Could a change be made to the CAN library to report CAN errors to the Field?
__________________
FTC Team 72 - No site
FRC Team 399 - http://www.team399.org
2010 Rockwell Collins Innovation in Control Award - (Use of the CAN bus, among other reasons) Phoenix, Arizona!
Reply With Quote
  #8   Spotlight this post!  
Unread 07-03-2011, 13:46
BradAMiller BradAMiller is offline
Registered User
AKA: Brad
#0190 ( Gompei and the Herd)
Team Role: Mentor
 
Join Date: Mar 2004
Location: Worcester, MA
Posts: 588
BradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant futureBradAMiller has a brilliant future
Re: (Programming) Lessons learned from week 1?

This thread is great, it was very disappointing to see a team missing a match because of some software version mismatch or something else easily fixable.

We also started making a list of additional things here: http://firstforge.wpi.edu/sf/wiki/do...b/wiki/Lessons that might be useful to teams. This list will get updated as we get more feedback.

Good luck at the regionals!
__________________
Brad Miller
Robotics Resource Center
Worcester Polytechnic Institute
Reply With Quote
  #9   Spotlight this post!  
Unread 07-03-2011, 21:57
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,751
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: (Programming) Lessons learned from week 1?

What I meant by reported to the field was reported to the drivers via the driver station or dashboard. If CAN errors were printed to the dashboard or DS, it would have helped pinpoint the issues much quicker.

Greg McKaskle
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 09:32.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi