Go to Post Don't date anyone on your team unless you are POSITVE that you will be able to handle yourself professionally, not only during your relationship, but even after it ends. - Jaine Perotti [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Events   CD-Media   CD-Spy   FRC-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rating: Thread Rating: 2 votes, 5.00 average. Display Modes
  #76   Spotlight this post!  
Unread 04-06-2010, 11:44 PM
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 7,801
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Send a message via AIM to Alan Anderson
Re: why blame the programmers??

For any of you programmers musing about the invisibility of software, here's a concrete suggestion to make it easier for the non-programmers to relate: give your software a way to show itself. You should at minimum be able to show the value of each sensor on either the Dashboard or the Driver Station "LCD screen" display. Any internal states should similarly be exposed for diagnostic purposes.

Consider it "defensive programming" -- done properly, you can quickly see if any sensors are not behaving properly, and tell the electrical team where to focus their attention before they start pointing fingers at the software.
  #77   Spotlight this post!  
Unread 04-07-2010, 10:19 PM
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: why blame the programmers??

Quote:
For any of you programmers musing about the invisibility of software, here's a concrete suggestion to make it easier for the non-programmers to relate: give your software a way to show itself. You should at minimum be able to show the value of each sensor on either the Dashboard or the Driver Station "LCD screen" display. Any internal states should similarly be exposed for diagnostic purposes.

Consider it "defensive programming" -- done properly, you can quickly see if any sensors are not behaving properly, and tell the electrical team where to focus their attention before they start pointing fingers at the software.
And if they still don't believe you, what i would do is show the non-programmers an example of example code that should be proven to work. (assuming you use LV, i'm not sure if they give examples for other languages, but you could always look on CD ). This is another great way to test out sensors and say, hey if this doesn't work, then something else is messed up.

Also, utilize those blinking lights on the C-RIO. For example, when we I was programming the kicker function (our kicker uses two solenoids and a latch to give a pressurized kick), and tested it, it worked the first few times. However, eventually it stopped working. If you look on the solenoid module on the c-rio, there is a set of lights for the solenoids and they light up when they are activated by the program. I showed everyone else (non-programming) that when the kicker worked, or did not, the lights would light up in the same pattern with the same timing. It turned out to be a mechanical problem.
__________________
||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
  #78   Spotlight this post!  
Unread 04-07-2010, 10:28 PM
bassoondude bassoondude is offline
1293 Awards and Rules Captain
AKA: Miller
FRC #1293 (D5 Robotics)
Team Role: Leadership
 
Join Date: Jan 2010
Rookie Year: 2010
Location: Irmo, SC
Posts: 51
bassoondude is a splendid one to beholdbassoondude is a splendid one to beholdbassoondude is a splendid one to beholdbassoondude is a splendid one to beholdbassoondude is a splendid one to beholdbassoondude is a splendid one to beholdbassoondude is a splendid one to behold
Re: why blame the programmers??

This is why my team doesnt have subteams of any sort. while not all of us are programmers (actually, most of us arent) we all work on just about every other part of the bot, so we never lay blame on anyone or any group of people. If we seriously cant find a problem, we then blame our programmer, who usually finds the lose wire or faulty circuit breaker that was the real cause of the problem. Moral of the story: ITS NEVER THE PROGRAMMERS FAULT! (unless it is)
__________________
2011 Palmetto Regional: Semi-Finalists
2010 Palmetto Regional: Semi-Finalists
2009 Palmetto Regional: Quaterfinalists
  #79   Spotlight this post!  
Unread 04-07-2010, 11:25 PM
TD912 TD912 is offline
Registered User
AKA: Chris Leung
FRC #1989 (Viking Robotics)
Team Role: College Student
 
Join Date: Sep 2009
Rookie Year: 2009
Location: Vernon, NJ
Posts: 156
TD912 has much to be proud ofTD912 has much to be proud ofTD912 has much to be proud ofTD912 has much to be proud ofTD912 has much to be proud ofTD912 has much to be proud ofTD912 has much to be proud ofTD912 has much to be proud ofTD912 has much to be proud ofTD912 has much to be proud of
Re: why blame the programmers??

Quote:
Originally Posted by jmanela View Post
Also, utilize those blinking lights on the C-RIO.
We went to the practice field, and our pneumatic kicker didn't work when the joystick trigger was pressed. I start getting blamed for changing something in the code. I quickly looked at the lights on slot 8 of the cRIO, where the pneumatics bumper plugs in. Pressing the trigger caused them to turn on.

Turns out someone was working on the electricals and unplugged a solenoid...
__________________
Zip-ties, hot glue, and duct tape.

2008 New York City Regional Champions - (41/555/1989)
2009 Brunswick Eruption 8 Finalists - (1989/56/1807)
2010 PARC XIII Champions - (25/341/1989)

Over The Bump
  #80   Spotlight this post!  
Unread 04-07-2010, 11:58 PM
Robototes2412's Avatar
Robototes2412 Robototes2412 is offline
1 * 4 != 14
FRC #2412 (Robototes)
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2007
Location: Bellevue
Posts: 312
Robototes2412 is on a distinguished road
Re: why blame the programmers??

yeah, solenoids are a [pain],

make sure you call them formally as such:
Code:
Solenoid kicka = new Solenoid(8,1);
and not informally, or as such:
Code:
Solenoid kicka = new Solenoid(1);
Don't let the cRIO program for you, its a dumb terminal, it wont do stuff right.

Last edited by GaryVoshol : 04-08-2010 at 05:36 AM. Reason: removed euphamism
  #81   Spotlight this post!  
Unread 04-08-2010, 01:31 AM
timothyb89 timothyb89 is offline
code monkey
FRC #1977 (Loveland High Robotics)
Team Role: Alumni
 
Join Date: Oct 2008
Rookie Year: 2009
Location: Loveland, Colorado
Posts: 45
timothyb89 will become famous soon enough
Re: why blame the programmers??

I'd have to agree with something that's been said here a ton: The hardware guys don't see/understand the code most of the time, they're quicker to blame the thing they don't understand.

It naturally happened a lot this year for us and essentially it came down to a 50/50 split between being the code or not. Eventually the team learned to put up with it and the hardware guys got to be pros at checking wire conductivity when a motor/solenoid/sensor/whatever stopped working and we eventually were able to work out a good debugging processes between the mechanical and programming team.

But I think the most awesome thing that happened (cooperation-wise) was that (a week or two ago) a few people from the mechanical/drive team came to ask the programmers for coding lessons. Essentially, they had wanted to understand the code so they could figure out whether it was a mechanical or programming issue without jumping to conclusions.

As the programmers do most of the electrical work as well, I think most of our team understands what the others are doing. Short of teaching the non-programmers how to code, we've historically tried to make sure to explain important info about how the code workd to the mechanical team. At the very least we want to make sure everyone understands (and agrees!) with our reasoning when we say "it isn't the code!".

The communication really helps though. I know I'm probably wrong about half the time (*cough*), and running my reasoning by someone else- programmer or not- is a great way to see weed out logic problems and fix issues faster.
__________________
FRC-DB: A detailed, web-based scouting database for FRC teams with lots of interesting statistics.
  #82   Spotlight this post!  
Unread 04-08-2010, 10:52 AM
synth3tk's Avatar
synth3tk synth3tk is offline
The Voice
AKA: David Thomas
no team
Team Role: Alumni
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Ohio
Posts: 1,933
synth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond repute
Send a message via Skype™ to synth3tk
Re: why blame the programmers??

Quote:
Originally Posted by Robototes2412 View Post
and not informally, or as such:
Code:
Solenoid kicka = new Solenoid(1);
Don't let the cRIO program for you, its a dumb terminal, it wont do stuff right.
Worked fine for us. Is there any performance-hindrance reason not to use this call?
  #83   Spotlight this post!  
Unread 04-08-2010, 11:22 AM
Radical Pi Radical Pi is offline
Putting the Jumper in the Bumper
AKA: Ian Thompson
FRC #0639 (Code Red Robotics)
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2010
Location: New York
Posts: 655
Radical Pi has a spectacular aura aboutRadical Pi has a spectacular aura aboutRadical Pi has a spectacular aura about
Re: why blame the programmers??

There isn't really any performance issues with that, it just re-calls the function with the slot explicitly defined. I think the point was that you are assumming the library has it right
__________________

"To have no errors would be life without meaning. No strugle, no joy"
"A network is only as strong as it's weakest linksys"
  #84   Spotlight this post!  
Unread 04-08-2010, 11:45 AM
synth3tk's Avatar
synth3tk synth3tk is offline
The Voice
AKA: David Thomas
no team
Team Role: Alumni
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Ohio
Posts: 1,933
synth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond reputesynth3tk has a reputation beyond repute
Send a message via Skype™ to synth3tk
Re: why blame the programmers??

Ahh, ok. Thanks for the explanation.
  #85   Spotlight this post!  
Unread 04-08-2010, 10:34 PM
Jason Law's Avatar
Jason Law Jason Law is offline
Team Captain
FRC #2834 (Bionic Barons)
Team Role: Mechanical
 
Join Date: Jan 2008
Rookie Year: 2008
Location: Michigan
Posts: 92
Jason Law is just really niceJason Law is just really niceJason Law is just really niceJason Law is just really niceJason Law is just really nice
Re: why blame the programmers??

Quote:
Originally Posted by jmanela View Post
And if they still don't believe you, what i would do is show the non-programmers an example of example code that should be proven to work. (assuming you use LV, i'm not sure if they give examples for other languages, but you could always look on CD ). This is another great way to test out sensors and say, hey if this doesn't work, then something else is messed up.

Also, utilize those blinking lights on the C-RIO. For example, when we I was programming the kicker function (our kicker uses two solenoids and a latch to give a pressurized kick), and tested it, it worked the first few times. However, eventually it stopped working. If you look on the solenoid module on the c-rio, there is a set of lights for the solenoids and they light up when they are activated by the program. I showed everyone else (non-programming) that when the kicker worked, or did not, the lights would light up in the same pattern with the same timing. It turned out to be a mechanical problem.
except when the example code doesn't work... Hn... Compressor code with solenoid week 4?! It's alright Josh, youlearned for next time.

Agreed the kicker was definitely programmed correctly. Notice how nobody blamed you? We found out quickly that it actually was an electrical, pneumatic, mechanical problem. So I took 99% blame and fixed all 3 areas.

Also, from my limited experience, everything goes a lot smoother If the lines between subteams are very small. For example, I am on the mechanical team, but I can adequately do all of the eletrical and pneumatics too. I even managed to figure out how to inverse things and call different joystick inputs and stuff in labview. When our much needed programmer was gone for the night, I "magically" rearranged some things in the program (yes I did know what I was doing). Of course, our programmer checked it first thing when he came back. Having a person who knows how to do multiple areas can avoid for a 10 minute battle of this subteam did it, etc.

And, no. If someone gave me a blank VI to program the robot, I would just look at them, laugh, and call Josh. Lastly, our team values oUr programmers. Without them, our robot would never work very well.
  #86   Spotlight this post!  
Unread 04-08-2010, 10:45 PM
Andrew Y.'s Avatar
Andrew Y. Andrew Y. is offline
FunYun
AKA: Andrew Yun
FRC #2415
Team Role: Mentor
 
Join Date: Feb 2005
Rookie Year: 2004
Location: Marietta, GA
Posts: 292
Andrew Y. has much to be proud ofAndrew Y. has much to be proud ofAndrew Y. has much to be proud ofAndrew Y. has much to be proud ofAndrew Y. has much to be proud ofAndrew Y. has much to be proud ofAndrew Y. has much to be proud ofAndrew Y. has much to be proud ofAndrew Y. has much to be proud of
Re: why blame the programmers??

from a mentors point of view:

(WARNING...im a mechanical type of guy)

we usually hated on electrical...until we found out they could put pretty lights that flash on our robot...so now programmers are to blame for all things.
  #87   Spotlight this post!  
Unread 04-08-2010, 10:58 PM
Robototes2412's Avatar
Robototes2412 Robototes2412 is offline
1 * 4 != 14
FRC #2412 (Robototes)
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2007
Location: Bellevue
Posts: 312
Robototes2412 is on a distinguished road
Re: why blame the programmers??

i remember making lights flash on and off on my team's robot, controlled by a button. I claimed they activate when an error occurs, i had a lot of programming bugs, and had to take the lights off
  #88   Spotlight this post!  
Unread 04-08-2010, 11:03 PM
BigJ BigJ is online now
Registered User
AKA: Josh P.
FRC #1675 (Ultimate Protection Squad)
Team Role: Engineer
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Milwaukee, WI
Posts: 806
BigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond repute
Re: why blame the programmers??

To go with what other posters are saying:
  • Program defensively. Make sure you can put your numbers where your mouth is.
  • Make an effort to understand exactly what your code is doing so that you are usually not in a situation where you go "Oh... I never thought of that."
  • Make an effort to understand exactly what the intended mechanics/pneumatics/etc are supposed to be doing. Sometimes you can meet them in the middle way easier than making them do it over. Remember, mechanical are your friends, no matter what lack of hours they let you have on the robot.
  • Never assume it isn't the code. I can't tell you how many times it WAS the code. *sigh*...
  • Always strive to improve your methods. Come up with a good documentation and output setup so that new programmers can be easily integrated into your team's development. That way when mechanical asks the rookie programmer something, they don't always have to point at you.
  #89   Spotlight this post!  
Unread 04-09-2010, 08:09 AM
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: why blame the programmers??

Quote:
Originally Posted by Jason Law View Post
except when the example code doesn't work...
Solenoid Test Vi was just a freak of nature...
__________________
||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
  #90   Spotlight this post!  
Unread 04-09-2010, 08:32 AM
BACONDUDE1902's Avatar
BACONDUDE1902 BACONDUDE1902 is offline
Registered User
AKA: MEHDI (BETTY)
FRC #2757 (B.A.D)
Team Role: College Student
 
Join Date: Mar 2010
Rookie Year: 2007
Location: ORLANDO
Posts: 48
BACONDUDE1902 is an unknown quantity at this point
Send a message via AIM to BACONDUDE1902 Send a message via MSN to BACONDUDE1902 Send a message via Yahoo to BACONDUDE1902
Re: why blame the programmers??

but programmers got the power!!!!!!!!!!!!!!
__________________
2011-Present BAD Mentor
FTC Volunteer (ref at all the comps in FL)
2007-2011 Bacon Student
2010: North Carolina Regional Champions thanks to 1086 and 48 (E.L.I.T.E. Bacon and Blue!!)
2010: Florida Regional Chairmans
Closed Thread


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Improving the experience of programmers and the effectiveness of code kamocat Programming 18 12-25-2009 07:33 AM
Placing Blame ExarKun666 Chit-Chat 17 04-24-2008 05:24 PM
Who to blame for the creation of the Trackball. Chuck Glick General Forum 7 01-12-2008 09:35 PM
I blame robotics for... JBotAlan Games/Trivia 12 12-04-2007 11:30 PM
blame it on the doggy robot Andrew Rudolph Chit-Chat 0 10-26-2003 12:02 PM


All times are GMT -5. The time now is 08:31 AM.

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


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