Go to Post Inspiration is created by a vision and is reinforced with success. - rourke [more]
Home
Go Back   Chief Delphi > Technical > Programming > Java
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 04-04-2012, 10:38 PM
IGM IGM is offline
Student Software Lead
AKA: Eric Rock
FRC #1126 (SparX)
Team Role: Programmer
 
Join Date: Mar 2012
Rookie Year: 2009
Location: Webster
Posts: 2
IGM is on a distinguished road
1126 Reference Manual and Competition Code

This has been my fourth year on team 1126, my third consecutive year on software. I have always taken pains to fully integrate myself into the code-writing process, but I know that it will not last. When I go, I have to hand over the torch, so to speak.

For many years, our team has taught our students by word of mouth, by wading through undocumented or semi-documented code, by giving random tasks and implementing solutions. There were no documented examples to go on, no repository of implemented functions, and only a few scattered comments to read if we ever wanted to re-implement a feature.

Well, consider this post to be handing over the torch.

Our high school requires that our seniors undertake a major task, and this year I strove to document our code. I mean *really* document it. During the project, I strove to include as many documentation comments as possible, later I compiled a reference manual for the code, and provided explanations and examples for many programming techniques our team used. Some techniques developed over two years, some three, some dating way back before I was ever a student. Set on paper. Documented.

But if the point is to educate, then why be selfish? I've consulted with the mentors on our team, both software and not, and decided that there are enough people on these forums that would like real examples, not just explanations. Would like some explanations, not just some code tossed at them.

We're providing both. Attached in this thread is a word document containing the documentation of this year's game, our robot hardware, our software techniques, and our major robot subsystems. Also attached is our Finger Lakes competition code, which currently sits deployed on our cRIO in a box somewhere.

If you're interested in what we do and how we do it, need an example of how to implement something, or are just interested in what our team can do, it's all here.

If there is any one person out there who will read this post, delve into our bits and extract something useful from it all, then I will consider this mission accomplished.

Until then, I remain your faithful servant.
~Eric Rock, FIRST Team 1126
- Software Lead

P.S. Thank you to all of those who contributed to both this manual and our code. A special thank you to my project mentor, Tim.
Attached Files
File Type: docx Software Manual.docx (70.0 KB, 121 views)
File Type: zip SparX 2012 Finger Lakes Competition Code.zip (60.3 KB, 92 views)
__________________
"Nothing is true. Everything is permitted." - Altair, Assassins' Creed
"I'm trying to free your mind." - Morpheus, The Matrix
Reply With Quote
  #2   Spotlight this post!  
Unread 04-08-2012, 11:48 AM
Lalaland1125 Lalaland1125 is offline
Registered User
AKA: Ethan Steinberg
FRC #2429
Team Role: Programmer
 
Join Date: Jan 2012
Rookie Year: 2011
Location: La Canada
Posts: 29
Lalaland1125 is an unknown quantity at this point
Re: 1126 Reference Manual and Competition Code

Wow, that autonomous code is pretty impressive. Never thought of creating a sort of mini-language to help code autonomous.
Reply With Quote
  #3   Spotlight this post!  
Unread 04-30-2012, 06:38 PM
Spectare Spectare is offline
Team Hacker
AKA: Benjamin Pylko
FRC #3181 (Pittsford Panthers)
Team Role: Programmer
 
Join Date: Feb 2011
Rookie Year: 2011
Location: Rochester, New York
Posts: 16
Spectare is an unknown quantity at this point
Re: 1126 Reference Manual and Competition Code

That autonomous code IS very interesting, it kind of reminds me of logo, but with commands to fire and such.

Last edited by Spectare : 04-30-2012 at 06:55 PM.
Reply With Quote
  #4   Spotlight this post!  
Unread 05-02-2012, 07:00 PM
joelg236 joelg236 is offline
4334 Retired Mentor & Alumni
AKA: Joel Gallant
no team
Team Role: Mentor
 
Join Date: Dec 2011
Rookie Year: 2012
Location: Calgary
Posts: 733
joelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond repute
Re: 1126 Reference Manual and Competition Code

Very impressive code. I appreciate you posting it along with the software manual. This is extremely useful to new programmers, and I will no doubt keep this for new programmers next year.
__________________
All opinions are my own.
Reply With Quote
  #5   Spotlight this post!  
Unread 05-10-2012, 01:25 PM
gixxy's Avatar
gixxy gixxy is offline
Programming and Arduino Mentor
AKA: Gustave Michel III
FRC #3946 (Tiger Robotics)
Team Role: Mentor
 
Join Date: Nov 2011
Rookie Year: 2012
Location: Ruston, LA
Posts: 207
gixxy is on a distinguished road
Re: 1126 Reference Manual and Competition Code

I agree. Very nice and informative.

I will be using this to train our recruits for next year.
__________________
Programmer - A creature known for converting Caffeine into Code.
Studying Computer Science @ Louisiana Tech University
Associate Consultant @ Fenway Group

2012-13: 3946 - Head of Programming, Electrical and Web
2014 - 3468 - Programming Mentor
2015 - Present - Lurker
Reply With Quote
  #6   Spotlight this post!  
Unread 05-16-2012, 03:55 PM
Tom Line's Avatar
Tom Line Tom Line is offline
Raptors can't turn doorknobs.
FRC #1718 (The Fighting Pi)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 1999
Location: Armada, Michigan
Posts: 2,509
Tom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond repute
Re: 1126 Reference Manual and Competition Code

I think you'll find that many of the top teams use a script or command based auto system.

We switched over to it for the first time this year. The flexibility it gives you is astounding.

In 2011, we had a 'standard' state machine autonomous, where changes required you to go in, change portions of the program, and recompile each time. That resulted in a horrible failure where we were on the practice field trying to complete 2-tube-auto but could not because we would only get one or two repetitions of program - deploy - run auto each time due to the field time constraints.

In 2012, we went to a script system. We took pointers from teams like 33 who were gracious enough to post their code.

As a result, changing autonomous is as easy as changing a comand or number in a text file, and clicking 'save'. The widget we built ftp's it to the robot, and the robot program re-reads the auton files each time it executes auto-mode so it updates any changes. Writing an entirely new autonomous routine literally takes a minute. No new programming, just a text file.

It's worth the time to spend an offseason working on it.
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 08:56 AM.

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