Go to Post Judging the Championship CA must be the hardest thing to do in FIRST. I'd rather try to stop an alliance of 1114, 111, and 25 from scoring 3 pointers than to judge the CA between these teams. - Andy Baker [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 23-04-2011, 14:34
basicxman basicxman is offline
Emily Horsman
FRC #2200 (MMRambotics)
Team Role: Programmer
 
Join Date: Oct 2007
Rookie Year: 2007
Location: Burlington, Ontario
Posts: 971
basicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant futurebasicxman has a brilliant future
Send a message via AIM to basicxman Send a message via MSN to basicxman Send a message via Yahoo to basicxman
Please open source your code!

We saw a lot of interesting robots this year and of course CMP will bring some interesting improvements to these already great robots. We've seen things from multi tube autonomous modes to camera tracking - it's been an exciting year for programmers.

We've found a lack of teams open sourcing their code. The FIRST community involves a lot of sharing, but so few teams are sharing code.

If you have some interesting code, especially the power house teams who are doing some extremely neat things with the help of professional software engineers - please open source!

We'd be happy to host code for other teams if you do not already have it up on a site like GitHub or Google Code.
  #2   Spotlight this post!  
Unread 23-04-2011, 14:47
Chris_Elston's Avatar
Chris_Elston Chris_Elston is offline
Controls Engineer
AKA: chakorules
FRC #1501 (Team THRUST)
Team Role: Engineer
 
Join Date: Feb 2004
Rookie Year: 2001
Location: Huntington, Indiana
Posts: 751
Chris_Elston has a reputation beyond reputeChris_Elston has a reputation beyond reputeChris_Elston has a reputation beyond reputeChris_Elston has a reputation beyond reputeChris_Elston has a reputation beyond reputeChris_Elston has a reputation beyond reputeChris_Elston has a reputation beyond reputeChris_Elston has a reputation beyond reputeChris_Elston has a reputation beyond reputeChris_Elston has a reputation beyond reputeChris_Elston has a reputation beyond repute
Re: Please open source your code!

Team THRUST 1501 has posted code to all our robots since 2005.

You can find our source code here. www.frcsoft.com

Enjoy...
__________________
Team T.H.R.U.S.T. 1501
Download all of our past robot's source code here:Repository

Favorite CD quote:
"That can't be their 'bot. not nearly enough (if any) rivets to be a 1501 machine." ~RogerR: Team #1369
  #3   Spotlight this post!  
Unread 23-04-2011, 15:02
WEHickok WEHickok is offline
Registered User
AKA: Walt Hickok
FRC #0067 (Heroes Of Tomorrow (HOT))
Team Role: Mentor
 
Join Date: Mar 2005
Rookie Year: 1997
Location: Milford, MI
Posts: 44
WEHickok has a brilliant futureWEHickok has a brilliant futureWEHickok has a brilliant futureWEHickok has a brilliant futureWEHickok has a brilliant futureWEHickok has a brilliant futureWEHickok has a brilliant futureWEHickok has a brilliant futureWEHickok has a brilliant futureWEHickok has a brilliant futureWEHickok has a brilliant future
Re: Please open source your code!

The HOT Team makes their source code available on our website after the season is over. The code from last year is on the site right now.
http://frcteam67.dyndns.org/Programming.htm

The HOT Team allows the students to develop our code. We divide the programming group into two groups--one develops in LabView and the other in C++. The mentors guide them but do not develop code. We find that this method provides a healthy competition between the groups to be the best.

During the season we use one group's code at two events and the other at the other two events. So we used LabView at the Michigan State Championship and we will be using C++ at the Championship.

By the way, you will also find some of the drawings of our robots on our website.

After the Championship, we open everything and put it on the website in the hope that this will help make FIRST even better.
__________________
Walt

Member FIRST Hall of Fame
2005 Champion Chairman's Award
2005, 2009, & 2010 World Champions
  #4   Spotlight this post!  
Unread 23-04-2011, 15:13
apalrd's Avatar
apalrd apalrd is offline
More Torque!
AKA: Andrew Palardy (Most people call me Palardy)
VRC #3333
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,347
apalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond repute
Re: Please open source your code!

Last year I posted my code here.

I am planning on posting my code after Championships.

For the past two years, all of our code has been written by me (current Junior at NDP).

This years code has a lot of goodies - beescript 1.0 (autonomous scripting), multi-tube autonomous (basically just base functions that drive and turn reliably, and a script to set the sequence/distances), elevator state-machine capable of state lookup and special state handling (e.g. score sequencing, over-the-back anti-death, and a few other special moves), and drivetrain speed control with position holding.

OH - I almost forgot - I have code to talk to a FRC-CMUcam2 from the cRio, although it isn't used due to lack of need during teleop and the time it takes to align automatically.
__________________
Kettering University - Computer Engineering
Kettering Motorsports
Williams International - Commercial Engines - Controls and Accessories
FRC 33 - The Killer Bees - 2009-2012 Student, 2013-2014 Advisor
VEX IQ 3333 - The Bumble Bees - 2014+ Mentor

"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack

Last edited by apalrd : 23-04-2011 at 15:15. Reason: Forgot something.
  #5   Spotlight this post!  
Unread 23-04-2011, 17:44
GGCO's Avatar
GGCO GGCO is offline
Registered User
AKA: Grant
FRC #3357
Team Role: Alumni
 
Join Date: Jan 2008
Rookie Year: 2004
Location: Michigan
Posts: 406
GGCO is a splendid one to beholdGGCO is a splendid one to beholdGGCO is a splendid one to beholdGGCO is a splendid one to beholdGGCO is a splendid one to beholdGGCO is a splendid one to beholdGGCO is a splendid one to beholdGGCO is a splendid one to behold
Send a message via AIM to GGCO
Re: Please open source your code!

I'd also like to see more open source code in FIRST, but you got to remember that there's already so much code given to us that I don't think every team needs to go open source.

Maybe only the teams with the most complex drive trains or best auton, but certainly not every team who just has drive forward for x, turn, etc.
__________________
"Great spirits have always encountered violent opposition from mediocre minds" - Albert Einstein
The FIRST Alliance
COMETS Robotics
Website

  #6   Spotlight this post!  
Unread 23-04-2011, 17:55
BigJ BigJ is offline
Registered User
AKA: Josh P.
FRC #1675 (Ultimate Protection Squad)
Team Role: Engineer
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Milwaukee, WI
Posts: 947
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: Please open source your code!

I'll throw out a link to our bitbucket -- it isn't kept updated very well as we can't access it from our build site. The commit history isn't very nice either because we started using it near the start of competition season. I'll be sure to update it after Championships.

Our documentation is horrible... need to work on that with the kids.

https://bitbucket.org/team1675/team1675-2011
  #7   Spotlight this post!  
Unread 23-04-2011, 18:28
demosthenes2k8's Avatar
demosthenes2k8 demosthenes2k8 is offline
Graduated but not gone
AKA: Matt Soucy
FRC #0166 (Chop Shop 166)
Team Role: Mentor
 
Join Date: Jan 2009
Rookie Year: 2007
Location: Merrimack, NH
Posts: 589
demosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to behold
Send a message via AIM to demosthenes2k8 Send a message via Yahoo to demosthenes2k8
Re: Please open source your code!

Team 166 hosts all our code on Googlecode, so it's constantly available at http://code.chopshop166.com - It contains code for our main robot (chopshop11) as well as a bunch of random code in paradebot10 - we never changed the name of it - to run different things on our demonstration robot - drive and grill.
The main body, though is the competition code, which runs on top of our Framework that we've developed over the last two years. The entire system runs in parallel, and has a special class set up to read data from each task as well as from the "physical" joysticks, which allows us to override joysticks with ease, simply by simulating them like so:
Code:
proxy->set("joy1bt", true); // This sets the trigger (JOYstick 1, Button Trigger) to true
We've also been working on improving our logging system to make it as simple to use as possible, as well as some other neat things, like automatic newpress checking and TWO different ways to create a Task with more safety and useability than the default VxWorks tasks. (One of which plays very nicely with C++0x's Lambda functions...or it would if we could use them...)
__________________


GSR Dean's List Finalist 2011
  #8   Spotlight this post!  
Unread 24-04-2011, 15:08
byteit101's Avatar
byteit101 byteit101 is offline
WPILib maintainer (WPI)
AKA: Patrick Plenefisch
no team (The Cat Attack (Formerly))
Team Role: Programmer
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Worcester
Posts: 699
byteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of light
Re: Please open source your code!

451 has ours at https://bitbucket.org/byteit101/logo/src
We have our very good line following code in LineFollowing.cpp with the control in Main.cpp. The strait line code worked 11 of 12 matches at Knoxville (the 1 was my fault, I made it go faster instead of slower), and with tweaking of the height, it works with forking also.
We also have one really nice CAN loop, the minibot deployer motor has two limit switches set up near the end of Main.cpp, and we had a pot control before we removed it due to many issues with the mech (in Forklift.cpp at revision dca663151f5d )
__________________
Bubble Wrap: programmers rewards
Watchdog.Kill();
printf("Watchdog is Dead, Celebrate!");
How to make a self aware robot: while (∞) cout<<(sqrt(-∞)/-0);
Previously FRC 451 (The Cat Attack)
Now part of the class of 2016 at WPI & helping on WPILib
  #9   Spotlight this post!  
Unread 25-04-2011, 08:44
MaxMax161's Avatar
MaxMax161 MaxMax161 is offline
Allegedly Useful
AKA: Max Llewellyn
FRC #2791 (Shaker Robotics), FRC #1676 (Pascack π-oneers)
Team Role: Mentor
 
Join Date: Nov 2009
Rookie Year: 2008
Location: Montvale NJ\Troy NY
Posts: 174
MaxMax161 has a reputation beyond reputeMaxMax161 has a reputation beyond reputeMaxMax161 has a reputation beyond reputeMaxMax161 has a reputation beyond reputeMaxMax161 has a reputation beyond reputeMaxMax161 has a reputation beyond reputeMaxMax161 has a reputation beyond reputeMaxMax161 has a reputation beyond reputeMaxMax161 has a reputation beyond reputeMaxMax161 has a reputation beyond reputeMaxMax161 has a reputation beyond repute
Re: Please open source your code!

This gave me an idea. What if a few teams got together and over the course of 6 weeks developed a very similar code in parallel all the time publishing it to the web. Open source development. I don't think I personally would want to do this because of the time requirement getting the code out there, commenting it, ect but it's an idea.
__________________
2791 Shaker Robotics (2013-present)
--Control Systems Mentor 2013-present
--Drive coach 2015-present

1676 The Pascack π-oneers (2010-2013)
--Drive coach 2011-2013
--Lead Programmer 2011-2013
  #10   Spotlight this post!  
Unread 25-04-2011, 09:32
demosthenes2k8's Avatar
demosthenes2k8 demosthenes2k8 is offline
Graduated but not gone
AKA: Matt Soucy
FRC #0166 (Chop Shop 166)
Team Role: Mentor
 
Join Date: Jan 2009
Rookie Year: 2007
Location: Merrimack, NH
Posts: 589
demosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to beholddemosthenes2k8 is a splendid one to behold
Send a message via AIM to demosthenes2k8 Send a message via Yahoo to demosthenes2k8
Re: Please open source your code!

(I forgot to mention that 166's code is only C++, but we DO use a little bit of python to parse the memory logs)

Max, are you suggesting creating (basically) the same code but for all four languages? As awesome as that sounds, there are a couple of problems with it, namely, different languages might make it easier to do some things than others. For example, I haven't seen any way to create multiple "tasks" in Labview like you can in C++, but the way the language itself is set up you might not even need them - just stick the code in parallel lines and it'll execute round-robin style multitasking. (I'm not an expert in Labview, so I may be wrong)
This just boils down to "what would this open source code do that would be better than the default code for that language?" Remember, we wouldn't be able to write too much code the same unless the robots were the same.

That said, if there are some actual guidelines written up by the teams participating, and the goals clearly stated, then it MAY work.
__________________


GSR Dean's List Finalist 2011
  #11   Spotlight this post!  
Unread 25-04-2011, 09:41
apalrd's Avatar
apalrd apalrd is offline
More Torque!
AKA: Andrew Palardy (Most people call me Palardy)
VRC #3333
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,347
apalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond repute
Re: Please open source your code!

Quote:
Originally Posted by demosthenes2k8 View Post
For example, I haven't seen any way to create multiple "tasks" in Labview like you can in C++, but the way the language itself is set up you might not even need them - just stick the code in parallel lines and it'll execute round-robin style multitasking.
Dragging down another While loop is a LabVIEW task.
You can also use Timed Loops which are RT tasks (they will always be called exactly at the interval you specify)
You can also use a Static Ref + Call By Ref Node to call a function by ref, and you can set one of the properties of Call By Ref to not wait before continuing (calling the ref in a new thread)
__________________
Kettering University - Computer Engineering
Kettering Motorsports
Williams International - Commercial Engines - Controls and Accessories
FRC 33 - The Killer Bees - 2009-2012 Student, 2013-2014 Advisor
VEX IQ 3333 - The Bumble Bees - 2014+ Mentor

"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack
  #12   Spotlight this post!  
Unread 25-04-2011, 09:58
kgzak's Avatar
kgzak kgzak is offline
Registered User
AKA: Kris
FRC #4392 (Decievers) FRC #2075 (Enigma)
Team Role: College Student
 
Join Date: Dec 2008
Rookie Year: 2008
Location: Grand Rapids, Michigan
Posts: 418
kgzak is a splendid one to beholdkgzak is a splendid one to beholdkgzak is a splendid one to beholdkgzak is a splendid one to beholdkgzak is a splendid one to beholdkgzak is a splendid one to beholdkgzak is a splendid one to behold
Re: Please open source your code!

We have a really nice autonomous that we will probably be using again next year (doesn't matter the game it will work) so we have to post it somewhere. I'll talk to our other programer and see if he wants to post all our code somewhere. We've been working on a Library of our own VIs that will eventually get posted on our Website.
  #13   Spotlight this post!  
Unread 25-04-2011, 10:37
Robby Unruh's Avatar
Robby Unruh Robby Unruh is offline
*insert random dial-up tone here*
FRC #3266 (Robots R Us)
Team Role: Coach
 
Join Date: Feb 2010
Rookie Year: 2010
Location: Eaton, OH
Posts: 338
Robby Unruh will become famous soon enough
Re: Please open source your code!

Quote:
Originally Posted by kgzak View Post
We have a really nice autonomous that we will probably be using again next year (doesn't matter the game it will work) so we have to post it somewhere. I'll talk to our other programer and see if he wants to post all our code somewhere. We've been working on a Library of our own VIs that will eventually get posted on our Website.
How strict is this open source rule? Would you get penalized for essentially writing a previous years code? (ie; same task, written differently)
And how would a team that uses the default code every year end up?

All that being said, 3266's code is extremely messy, but I'll release it how we used it at Buckeye. Maybe I'll put up a cleaner version along side it, just so you guys won't associate me as the kid who writes nested ifs EVERYWHERE!
__________________
[Robots R Us #3266]
2015: Georgia Southern Classic (Winners / Thanks 1319 & 1648!), Queen City
2014: Crossroads, Queen City
2013: Buckeye, Queen City, Crossroads
2012: Buckeye, Queen City

2011: Buckeye
2010: Buckeye
  #14   Spotlight this post!  
Unread 25-04-2011, 11:02
virtuald's Avatar
virtuald virtuald is online now
RobotPy Guy
AKA: Dustin Spicuzza
FRC #1418 (), FRC #1973, FRC #4796, FRC #6367 ()
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2003
Location: Boston, MA
Posts: 1,086
virtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant future
Re: Please open source your code!

We open source our code every year. It's a bit amusing to see the evolution from year to year, honestly.

This year our code was written in python. http://www.virtualroadside.com/FRC
__________________
Maintainer of RobotPy - Python for FRC
Creator of pyfrc (Robot Simulator + utilities for Python) and pynetworktables/pynetworktables2js (NetworkTables for Python & Javascript)

2017 Season: Teams #1973, #4796, #6369
Team #1418 (remote mentor): Newton Quarterfinalists, 2016 Chesapeake District Champion, 2x Innovation in Control award, 2x district event winner
Team #1418: 2015 DC Regional Innovation In Control Award, #2 seed; 2014 VA Industrial Design Award; 2014 Finalists in DC & VA
Team #2423: 2012 & 2013 Boston Regional Innovation in Control Award


Resources: FIRSTWiki (relaunched!) | My Software Stuff
  #15   Spotlight this post!  
Unread 25-04-2011, 11:35
imac256 imac256 is offline
Registered User
AKA: Ian McInerney
FRC #2022 (Titan Robotics)
Team Role: Mentor
 
Join Date: Jun 2009
Rookie Year: 2009
Location: Aurora, IL
Posts: 30
imac256 is a glorious beacon of lightimac256 is a glorious beacon of lightimac256 is a glorious beacon of lightimac256 is a glorious beacon of lightimac256 is a glorious beacon of light
Re: Please open source your code!

Quote:
Originally Posted by Robby Unruh View Post
How strict is this open source rule? Would you get penalized for essentially writing a previous years code? (ie; same task, written differently)
And how would a team that uses the default code every year end up?
In my interpretation of the rule, as long as the code you are using is available for other FRC teams to use the rule is satisfied. Therefore open-sourcing a library which you developed this year would allow you to use it in future years (at least that is how my team has understood the rules).

My team has placed all of our code and documentation into one place located here: http://tinyurl.com/frc2022docs. This site contains all of our code since our founding in 2007 under the area called "Programming Documents" and it contains our documentation area which we are in the process of creating. We saw a need for the documentation from year to year because releasing the code isn't enough to teach people how to program it, so we are creating little tutorials to help with that.
__________________
- Ian McInerney
Alumni & Mentor, Team 2022 Titan Robotics
Junior, Iowa State University majoring in Electrical Engineering
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


All times are GMT -5. The time now is 23:30.

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