Go to Post "And we will transform our schools and colleges and universities to meet the demands of a new age. All this we can do. And all this we will do." - OScubed [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 08-01-2006, 09:15
Dave Flowerday Dave Flowerday is offline
Software Engineer
VRC #0111 (Wildstang)
Team Role: Engineer
 
Join Date: Feb 2002
Rookie Year: 1995
Location: North Barrington, IL
Posts: 1,366
Dave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond repute
R71: Can't re-use code that you've written before?

Quote:
Originally Posted by R71
Unaltered software modules developed during prior competitions may not be directly re-used. Just as designs for hardware COMPONENTS may be reused from one year to the next, software algorithms and designs may be reused. However, the specific lines of code must be customized for each robot each year.
I haven't seen any discussion on this one yet (please correct me if I missed it). The way I read this you are not allowed to reuse code that you've written for past competitions without "customizing" it. I'm not entirely clear what is meant by "customized" in this rule, but our team's initial impression was that this meant that it would have to be re-typed to be usable. Is that how others interpret it?
  #2   Spotlight this post!  
Unread 08-01-2006, 09:27
Joel J's Avatar
Joel J Joel J is offline
do you..
no team
 
Join Date: May 2001
Rookie Year: 2000
Location: San Jose, CA
Posts: 1,445
Joel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond repute
Re: R71: Can't re-use code that you've written before?

It seems you can just modify the code. In practice, you'll probably end up re-copying software components you want to reuse simply because it is general and stable, so there would be nothing that needed modification.

Sometimes FIRST makes some oddball rules when attempting to "level" the playing field.. this might be one of them.

Eh..
__________________
Joel Johnson

Division By Zero (229) Alumni, 2003-2007
RAGE (173) Alumni, 1999-2003
  #3   Spotlight this post!  
Unread 08-01-2006, 09:37
Andrew Blair's Avatar
Andrew Blair Andrew Blair is offline
SAE Formula is FIRST with Gasoline.
FRC #0306 (CRT)
Team Role: Alumni
 
Join Date: Feb 2005
Rookie Year: 2004
Location: Corry
Posts: 1,193
Andrew Blair has a reputation beyond reputeAndrew Blair has a reputation beyond reputeAndrew Blair has a reputation beyond reputeAndrew Blair has a reputation beyond reputeAndrew Blair has a reputation beyond reputeAndrew Blair has a reputation beyond reputeAndrew Blair has a reputation beyond reputeAndrew Blair has a reputation beyond reputeAndrew Blair has a reputation beyond reputeAndrew Blair has a reputation beyond reputeAndrew Blair has a reputation beyond repute
Send a message via AIM to Andrew Blair Send a message via Yahoo to Andrew Blair
Re: R71: Can't re-use code that you've written before?

Hmmm... Seems like their saying you can't cut and paste. Not really an enforcable or practical rule.
__________________
Reading makes a full man, conference a ready man, and writing an exact man.
-Sir Francis Bacon

"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
-Albert Einstein
  #4   Spotlight this post!  
Unread 08-01-2006, 09:50
Tom Bottiglieri Tom Bottiglieri is offline
Registered User
FRC #0254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Jan 2004
Rookie Year: 2003
Location: San Francisco, CA
Posts: 3,183
Tom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond repute
Re: R71: Can't re-use code that you've written before?

Is

y=mx+b;

the same as

y = b + (m * x); ?


You Decide.
  #5   Spotlight this post!  
Unread 08-01-2006, 10:42
Joe Johnson's Avatar Unsung FIRST Hero
Joe Johnson Joe Johnson is online now
Engineer at Medrobotics
AKA: Dr. Joe
FRC #0088 (TJ2)
Team Role: Engineer
 
Join Date: May 2001
Rookie Year: 1996
Location: Raynham, MA
Posts: 2,631
Joe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond repute
Re: R71: Can't re-use code that you've written before?

Wow, this is a change. It seems pretty clear. But I am sure it will get murky by the time we are done.

It seems to require retyping of last year's code to read encoder pulses or to navigate using the encoders or whatever.

As others have asked, does changing variable names count as altering?

I understand some of the concerns the rule is trying to address but I don't know how this rule will work out in practice.

Joe J.
__________________
Joseph M. Johnson, Ph.D., P.E.
Mentor
Team #88, TJ2
  #6   Spotlight this post!  
Unread 08-01-2006, 14:47
Joel J's Avatar
Joel J Joel J is offline
do you..
no team
 
Join Date: May 2001
Rookie Year: 2000
Location: San Jose, CA
Posts: 1,445
Joel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond repute
Re: R71: Can't re-use code that you've written before?

AND a retype of Kevin Watson's code. I mean, unless they further their attempt to be fair and make him a COTS vendor. Fair market value: $0.00.

I'm thinking if I change a line or two, then I have modified the code to be used for this game. I think if they are trying to make rules the same between programmers and mechanical engineers, then they have to introduce the other "mechanical" rules to allow everything to balance out and make sense.

__________________
Joel Johnson

Division By Zero (229) Alumni, 2003-2007
RAGE (173) Alumni, 1999-2003
  #7   Spotlight this post!  
Unread 08-01-2006, 19:09
Hutch Hutch is offline
NOTAG
FRC #0461 (Westside Boiler Invasion)
Team Role: Programmer
 
Join Date: Jul 2005
Location: Indiana
Posts: 69
Hutch will become famous soon enoughHutch will become famous soon enough
Re: R71: Can't re-use code that you've written before?

I think this is just something designed to make you do the right thing; I wouldn't worry about it. Just respect fix it windows and the such and don't do anything really dishonest.
  #8   Spotlight this post!  
Unread 08-01-2006, 19:52
kc8nod's Avatar
kc8nod kc8nod is offline
Registered User
AKA: Ted Hansen
FRC #1216 (Knights)
Team Role: Mentor
 
Join Date: Jan 2003
Rookie Year: 2003
Location: Oak Park Michigan
Posts: 43
kc8nod is on a distinguished road
Re: R71: Can't re-use code that you've written before?

Quote:
Originally Posted by Hutch
...our team's initial impression was that this meant that it would have to be re-typed to be usable.
The way I read it, if you just re-typed it, you would still be reusing the exact same code and therefore violating the rule.
It doesn't make a whole lot of sense, but that's the way it reads to me.

Why do they want to prevent code re-use?

Last edited by kc8nod : 08-01-2006 at 20:14.
  #9   Spotlight this post!  
Unread 08-01-2006, 19:58
eugenebrooks eugenebrooks is offline
Team Role: Engineer
AKA: Dr. Brooks
no team (WRRF)
 
Join Date: Jan 2004
Rookie Year: 2001
Location: Livermore, CA
Posts: 601
eugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond repute
Re: R71: Can't re-use code that you've written before?

*****
<R71> Unaltered software modules developed during prior competitions may not be directly re-used. Just as designs for hardware COMPONENTS may be reused from one year to the next, software algorithms and designs may be reused. However, the specific lines of code must be customized for each robot each year.
*****

Last year, we had to cease work on code "actually used in the robot" except for the build period, the fix-it windows, and the competitions. Module re-use from prior years was allowed. Questions were asked about this and it came down to re-typing any code what had been written outside of the appropriate time window, during an appropriate time window. The customization rule is new and has a potential downside impact depending on how you interpret it.

Re-use of code is more similar to re-use of a hardware design than it is to re-use of a hardware component, for example within the current rules it is perfectly fine for you to re-use a CNC program to produce a custom hardware component from year to year. The CNC program is in fact, software. You are taking advantage of software developed during a prior year to make the part, just as is the case when using a module from a prior year, our an outside source, when building your robot program.

The clear intent of FIRST is that work on custom robot code is performed during the appropriate time windows, but I do not think that FIRST intends to keep teams from using the code that is provided by Kevin Watson, or others who labor to provide FIRST teams with useful software modules. It can be quite unsafe to customize some of this code.

I spend quite a bit of effort documenting programming methods useful on FIRST robots. I have also provided code modules that are useful to enable teams to safely deal with the hazards involved for functionality that uses interrupts, the protections against these hazards being carefully tucked away in interface routines for wheel counters, gyro integrals, and so forth.

I hope that the customization rule does not cause programmers to customize the posted code in a manner that might get caught up in some of these hazards. Re-writing some of this code using expressions that seem to be equivalent can, in fact, run afoul of interrupt hazards and this could lead to unsafe robots, the code of which needs to trust the values returned by the access routines.

Perhaps the solution is to declare these code modules "standard software parts" for competition robots, and offer them for sale as software vendor. If that is the case, I'll offer them for the princely fee of $0. It is clear that teams can get as many copies as they want, as often as they want, whenever they want.

Yes, I think that we all should do that and rejoice in our efforts to help level the playing field...

Eugene

Last edited by eugenebrooks : 08-01-2006 at 21:21.
  #10   Spotlight this post!  
Unread 08-01-2006, 21:02
Astronouth7303's Avatar
Astronouth7303 Astronouth7303 is offline
Why did I come back?
AKA: Jamie Bliss
FRC #4967 (That ONE Team)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Grand Rapids, MI
Posts: 2,071
Astronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud of
Re: R71: Can't re-use code that you've written before?

I think this should be interpreted as the mechanical rules. You can cut & paste, but make sure you go through and change something.

This does bring up a question. There are teams that think of a strategy, and their sponsor come up with chasis that would fit it.

If a team develops a library of software that is reusable from year to year, would this not be the same thing?
  #11   Spotlight this post!  
Unread 08-01-2006, 22:02
geeknerd99's Avatar
geeknerd99 geeknerd99 is offline
Fire Hazard
AKA: Daniel Lin
FRC #0401 (Hokie Guard)
Team Role: Programmer
 
Join Date: Oct 2004
Rookie Year: 2005
Location: Blacksburg, VA
Posts: 276
geeknerd99 has much to be proud ofgeeknerd99 has much to be proud ofgeeknerd99 has much to be proud ofgeeknerd99 has much to be proud ofgeeknerd99 has much to be proud ofgeeknerd99 has much to be proud ofgeeknerd99 has much to be proud ofgeeknerd99 has much to be proud ofgeeknerd99 has much to be proud ofgeeknerd99 has much to be proud of
Send a message via AIM to geeknerd99 Send a message via MSN to geeknerd99 Send a message via Yahoo to geeknerd99
Re: R71: Can't re-use code that you've written before?

But what if copying and pasting produces the only code that will work or is satisfactory? For example, the dead zones on our joysticks were customized to my driving preferences, and there is a large possibility that I'll be driving again this year. Our design looks like it'll drive much like last year's, and I was anticipating using our modified 2-stick code again. Does this rule mean that I can't have the sticks set the way I had them set last year, even if I'm perfectly happy with it?

And really, how is FIRST or IFI going to enforce this? Not to sound like I'm purposely trying to reuse code (we don't have much code to reuse anyways), but if they can't enforce it, they might as well not include it. I'm expecting this rule to be clarified by the time ship date.
__________________
  #12   Spotlight this post!  
Unread 08-01-2006, 22:15
Rickertsen2 Rickertsen2 is offline
Umm Errr...
None #1139 (Chamblee Gear Grinders)
Team Role: Alumni
 
Join Date: Dec 2002
Rookie Year: 2002
Location: ATL
Posts: 1,421
Rickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant future
Send a message via AIM to Rickertsen2 Send a message via Yahoo to Rickertsen2
Re: R71: Can't re-use code that you've written before?

Umm WHAT? O well, I am doing a rewrite/refactoring of our code this year anyway. I think this rule is absurd.
__________________
1139 Alumni
  #13   Spotlight this post!  
Unread 08-01-2006, 22:18
KenWittlief KenWittlief is offline
.
no team
Team Role: Engineer
 
Join Date: Mar 2003
Location: Rochester, NY
Posts: 4,213
KenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond repute
Re: R71: Can't re-use code that you've written before?

FIRST has no power to enforce any of its rules (well, maybe a handfull can be enforced).

It looks like the intention of this rule is that FIRST wants this years students to write the actual code that will be used in the robot. If you have some really great code from previous years that does PID loops, or tweaks the user interface inputs, what does a new student learn this year if you copy it?

This rule goes back to the age-old question that comes up every year: Do you want your team to have the absolutely most-competitive robot possible, or do you want your students to be involved in every aspect of its design and implementation?

Isnt this the same thing that happens in computer science classes? Every year students have to write code to solve some problem, and usually its the same sort of problem every year. But the teacher /professor doesnt give you code that some student wrote 8 years ago and say "here, run this". Right?

Most students already know what <CRTL><C> and <CTRL><V> do. Learning how to write the SW from scratch is more interesting.

My take on this is, if you wrote the code last year, teach a freshman the concepts and let them write the code this year.

Last edited by KenWittlief : 08-01-2006 at 22:21.
  #14   Spotlight this post!  
Unread 08-01-2006, 22:31
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,979
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: R71: Can't re-use code that you've written before?

Quote:
Originally Posted by geeknerd99
But what if copying and pasting produces the only code that will work or is satisfactory? For example, the dead zones on our joysticks were customized to my driving preferences, and there is a large possibility that I'll be driving again this year. Our design looks like it'll drive much like last year's, and I was anticipating using our modified 2-stick code again. Does this rule mean that I can't have the sticks set the way I had them set last year, even if I'm perfectly happy with it?
If you use the entire 2-stick code, verbatim, again then you've violated the rule. But, using the parameters you've determined, along with a line here and there, in a new piece of code (that may perform the same function), then, well, it;s a new piece of code, isn't it? Face it, this year's bot will not be exactly the same as last year's.

It comes down to this: You may certainly use components of previous code, but not a mechanism (which is a collection of components that perform a larger function) of code. A component might be joystick deadzone settings, or a compressor control routine - a line here or there. A mechanism would be a whole subroutine, or maybe even more.

I think Ken's point above is probably the best spirit of the rule.

Don
__________________

I am N2IRZ - What's your callsign?
  #15   Spotlight this post!  
Unread 10-01-2006, 17:31
Rick Thornbro Rick Thornbro is offline
Registered User
#0217 (ThunderChickens)
Team Role: Engineer
 
Join Date: Mar 2005
Location: Sterling Heights, MI
Posts: 17
Rick Thornbro will become famous soon enoughRick Thornbro will become famous soon enough
Re: R71: Can't re-use code that you've written before?

Let's remember spirit of the rule. Let's use this time to teach new programmers the art of taking a hunk of metal and making it come alive. Taking code from a previous year and dumping it, is fast but doesn't teach anything.
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
Out of the Box Camera Code russell Programming 9 21-10-2009 05:28
Code suddenly fails to initialize miketwalker Programming 11 19-02-2005 15:23
Team THRUST - Kevin's Code and Camera Code Combine Chris_Elston Programming 3 31-01-2005 22:28
Sourceforge for Code Repository and other stuff SilverStar Programming 9 15-01-2005 21:16
heres the code. y this not working omega Programming 16 31-03-2004 15:18


All times are GMT -5. The time now is 13:41.

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