Go to Post You play your best, the refs do their best, and at the end of the day we are FIRST, collectively. - KenWittlief [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

 
Reply
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 09-10-2016, 20:32
maxwelly maxwelly is offline
Registered User
FRC #0254
 
Join Date: Oct 2016
Location: San Jose
Posts: 1
maxwelly is an unknown quantity at this point
Team 254 Presents: FRC 2016 Code

Hi everyone, Team 254 is happy to share the code base for our 2016 robot, Dropshot.

This year, for the first time, we provide detailed code documentation in the README file and in each Java class. We explain each class and its interactions with other components. In this repository, we also include the code for the CheesyVision computer vision app for Android.

Robot Code: https://github.com/Team254/FRC-2016-Public
Reply With Quote
  #2   Spotlight this post!  
Unread 09-10-2016, 20:49
thatprogrammer's Avatar
thatprogrammer thatprogrammer is online now
Registered User
AKA: Ahad Bawany
no team (None)
Team Role: Programmer
 
Join Date: Apr 2014
Rookie Year: 2014
Location: Florida
Posts: 604
thatprogrammer has a reputation beyond reputethatprogrammer has a reputation beyond reputethatprogrammer has a reputation beyond reputethatprogrammer has a reputation beyond reputethatprogrammer has a reputation beyond reputethatprogrammer has a reputation beyond reputethatprogrammer has a reputation beyond reputethatprogrammer has a reputation beyond reputethatprogrammer has a reputation beyond reputethatprogrammer has a reputation beyond reputethatprogrammer has a reputation beyond repute
Re: Team 254 Presents: FRC 2016 Code

Excellent code!
Just one immediate question:Why did you chose to just post this now despite this being public on your GitHub repo for quite some time now?
__________________
Takin' a break.
Reply With Quote
  #3   Spotlight this post!  
Unread 09-10-2016, 22:18
dirtbikerxz's Avatar
dirtbikerxz dirtbikerxz is offline
Captain | Driver | CAD | Junior
AKA: Rohit Gondi
FRC #3991 (KnightVision)
Team Role: Driver
 
Join Date: Nov 2014
Rookie Year: 2015
Location: Baton Rouge, LA
Posts: 438
dirtbikerxz has much to be proud ofdirtbikerxz has much to be proud ofdirtbikerxz has much to be proud ofdirtbikerxz has much to be proud ofdirtbikerxz has much to be proud ofdirtbikerxz has much to be proud ofdirtbikerxz has much to be proud ofdirtbikerxz has much to be proud ofdirtbikerxz has much to be proud ofdirtbikerxz has much to be proud of
Re: Team 254 Presents: FRC 2016 Code

COOL! Thanks for the CODE guys! Definitely useful too look at. Now all we need are the CAD files. Feel free to pm it to me any time .


Anyway, good job on this guys.
__________________

Team 3991: Driver since freshman (2015-), Captain since sophomore (2016-), CADer
"The human condition is not perfect. We are not perfect specimens, any of us. We're not robots." - Michael Ovitz
My posts may or may not reflect the views of my team, they are my opinions, and mine alone.
Reply With Quote
  #4   Spotlight this post!  
Unread 09-10-2016, 22:32
Bkeeneykid's Avatar
Bkeeneykid Bkeeneykid is offline
#wheatcoastneatcoast
AKA: Devin Keeney
FRC #1982 (Cougar Robotics); Season Long Fantasy FIRST (F3)
Team Role: Student
 
Join Date: Feb 2015
Rookie Year: 2015
Location: Lenexa, Kansas
Posts: 285
Bkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud of
Re: Team 254 Presents: FRC 2016 Code

I can't wait to give this to our programmers to ogle at. Awesome work every time, 254!
__________________

F4 Network Website Designer

2010-2012: A Whole Buncha FLL Teams; Team Spirit, Gracious Professionalism Award winner
2015-Current: FRC 1982, Captain, Electrical Lead
Beginning FIRST Volunteer

Moderator on the FIRSTwiki
Reply With Quote
  #5   Spotlight this post!  
Unread 10-10-2016, 00:08
Cothron Theiss's Avatar
Cothron Theiss Cothron Theiss is offline
Registered User
FRC #4462 (Full Metal Jackets)
Team Role: College Student
 
Join Date: Feb 2016
Rookie Year: 2013
Location: Kingston, Tennessee
Posts: 446
Cothron Theiss has a brilliant futureCothron Theiss has a brilliant futureCothron Theiss has a brilliant futureCothron Theiss has a brilliant futureCothron Theiss has a brilliant futureCothron Theiss has a brilliant futureCothron Theiss has a brilliant futureCothron Theiss has a brilliant futureCothron Theiss has a brilliant futureCothron Theiss has a brilliant futureCothron Theiss has a brilliant future
Re: Team 254 Presents: FRC 2016 Code

Quote:
Originally Posted by thatprogrammer View Post
Excellent code!
Just one immediate question:Why did you chose to just post this now despite this being public on your GitHub repo for quite some time now?
Quote:
Originally Posted by Poseidon5817 View Post
Same, I read all their code weeks ago
It looks like some of the CheezDroid code was updated recently. They may have wanted to do some final cleaning and get everything out there before doing the CD release.

Quote:
Originally Posted by dirtbikerxz View Post
Now all we need are the CAD files.
...

Quote:
Originally Posted by Travis Covington View Post
We have no plans to release the CAD of the robot but are happy to answer any questions you have.
I'd love to look through their CAD files, but I can understand why they don't release those.
__________________
"It's taking longer than expected, which was to be expected."
Reply With Quote
  #6   Spotlight this post!  
Unread 09-10-2016, 23:35
Poseidon5817's Avatar
Poseidon5817 Poseidon5817 is offline
"Cool" Squad
AKA: Mitchel Stokes
FRC #5817 (Uni-Rex)
Team Role: Mentor
 
Join Date: Aug 2013
Rookie Year: 2014
Location: Clovis, CA
Posts: 338
Poseidon5817 is a splendid one to beholdPoseidon5817 is a splendid one to beholdPoseidon5817 is a splendid one to beholdPoseidon5817 is a splendid one to beholdPoseidon5817 is a splendid one to beholdPoseidon5817 is a splendid one to beholdPoseidon5817 is a splendid one to beholdPoseidon5817 is a splendid one to behold
Re: Team 254 Presents: FRC 2016 Code

Quote:
Originally Posted by thatprogrammer View Post
Excellent code!
Just one immediate question:Why did you chose to just post this now despite this being public on your GitHub repo for quite some time now?
Same, I read all their code weeks ago
__________________
My FRC History:

2014 - Team 1671: Central Valley Regional Finalist and Chairman's Award Winner, Sacramento Regional Finalist, Archimedes Quarterfinalist
2015 - Team 1671: Central Valley Regional Semifinalist, Sacramento Regional Semifinalist and Chairman's Award Winner, Newton Winner, Einstein Winner
2016 - Team 5817: Central Valley Regional Finalist and Rookie All-Star, Orange County Regional Quarterfinalist and Rookie All-Star, Newton Division


Reply With Quote
  #7   Spotlight this post!  
Unread 10-10-2016, 00:15
kylelanman's Avatar
kylelanman kylelanman is offline
Programming Mentor
AKA: Kyle
FRC #2481 (Roboteers)
Team Role: Mentor
 
Join Date: Feb 2008
Rookie Year: 2007
Location: Tremont Il
Posts: 185
kylelanman is a name known to allkylelanman is a name known to allkylelanman is a name known to allkylelanman is a name known to allkylelanman is a name known to allkylelanman is a name known to all
Re: Team 254 Presents: FRC 2016 Code

The work you did around kinematics, poses, and latency compensation was truly remarkable and inspiring. Dropshot was my favorite robot to watch and the best designed robot for Stronghold in my opinion.

I do have one question. Why were JNI and the C++ OpenCV libs used oppose to the Java OpenCV libs? If I recall correctly Jared said at the world championship talk that the performance between the C++, Java, and python OpenCV libs were essentially the same.
__________________
"May the coms be with you"

Is this a "programming error" or a "programmer error"?

Reply With Quote
  #8   Spotlight this post!  
Unread 10-10-2016, 01:40
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,068
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: Team 254 Presents: FRC 2016 Code

Quote:
Originally Posted by kylelanman View Post
I do have one question. Why were JNI and the C++ OpenCV libs used oppose to the Java OpenCV libs? If I recall correctly Jared said at the world championship talk that the performance between the C++, Java, and python OpenCV libs were essentially the same.
3 reasons:

1) We found that of the various methods available for grabbing and decoding an image out of the camera buffer, this was the fastest.

2) It let us minimize memory allocation and buffer copying in the most performance-critical part of the code.

3) We already had a working C++ vision prototype for the Tegra, so all we had to do was copy and paste.
Reply With Quote
  #9   Spotlight this post!  
Unread 10-10-2016, 01:58
Turing'sEgo Turing'sEgo is offline
Registered User
no team
 
Join Date: Jan 2016
Rookie Year: 2010
Location: Boulder
Posts: 47
Turing'sEgo can only hope to improve
Re: Team 254 Presents: FRC 2016 Code

This is an extremely large project in the scope of FRC (but excellently done). How does the team handle development? Do you follow a development methodology? I assume you have multiple students working on various parts at the same time, how does version control work? Check out with merge requests?

Non-sequitur question: Where do you programmers ultimately end up beyond frc? Year after year quality code is released (and has been since at least 2011), and the knowledge your graduated programmers must have is well beyond that of your typical freshman cs student.
Reply With Quote
  #10   Spotlight this post!  
Unread 10-10-2016, 14:27
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,068
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: Team 254 Presents: FRC 2016 Code

Quote:
Originally Posted by Turing'sEgo View Post
This is an extremely large project in the scope of FRC (but excellently done). How does the team handle development? Do you follow a development methodology? I assume you have multiple students working on various parts at the same time, how does version control work? Check out with merge requests?

Non-sequitur question: Where do you programmers ultimately end up beyond frc? Year after year quality code is released (and has been since at least 2011), and the knowledge your graduated programmers must have is well beyond that of your typical freshman cs student.
It's pretty informal. We all worked on our various pieces and commit to head/email patches as we go (occasionally there's a long-running branch, but we try to avoid that). Typically in the lab or at competition, we had one person on a laptop and push all of the changes at the end of the night (and we take another computer and find a quiet spot to iron out a problem in parallel if it takes more time, then merge). We did occasionally have build breakages or regressions (most of our students are new to git) but nothing that was ever particularly impossible to iron out.

I can't really answer the second question very well - I have only worked with the team for 3 years so all of the programmers are either still on the team or in college. Perhaps someone else can speak to history before that. More generally, I can speak to the team's approach to programming the robot for the last 3 years. Programming an entire 254 robot to the level of performance the team demands is a challenge for experienced software engineers, let alone high school students (and on our team at least, it seems that the more capable and brilliant the student, the more other demands are made on their time by school, the team, or other activities). We try to divvy up tasks among the team based on interest, ability, and time commitment; both students and mentors make direct contributions to the code.

For younger students, it is expected that by and large their job is to learn, be self-starting/pursue additional learning opportunities, and make small contributions as they are able. The more experienced students should take ownership (or at least, co-ownership with a mentor) over some area of the code. For example, in 2014 we had a student (now in college) take ownership over our autonomous spline-following routine (deriving all the math and peer-programming the implementation with me). He definitely graduated high school knowing more about robot navigation than most college graduates. Similarly, a student last year made great contributions to our vision algorithm; he now knows more about computer vision than most college students.

Most of the programming students from last year are returning this season (and some of the mentors are stepping aside), so I'm looking forward to seeing what they do next year!

Last edited by Jared Russell : 10-10-2016 at 14:30.
Reply With Quote
  #11   Spotlight this post!  
Unread 10-10-2016, 14:47
Alon Alon is offline
Registered User
FRC #3075
 
Join Date: Mar 2016
Location: israel
Posts: 9
Alon is an unknown quantity at this point
Re: Team 254 Presents: FRC 2016 Code

Thank you guys for your great contribution to the FRC programming community.
We can all learn from you team
Reply With Quote
  #12   Spotlight this post!  
Unread 10-10-2016, 14:53
Tom Bottiglieri Tom Bottiglieri is offline
Custom User Title
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
Send a message via AIM to Tom Bottiglieri
Re: Team 254 Presents: FRC 2016 Code

A quick note on the vision app and the motivation behind using Android.

We started the year under the mindset that we could build a protected zone shooter, but quickly realized with some prototypes and strategy sessions there was serious value to be had by building a small robot that could both go under the bar and shoot from anywhere near the tower. We knew this would require a very good vision system for our robot and got to work trying to make something to run on the NVIDIA Jetson board. This board proved to be very capable of processing frames (in fact, the best performance we got all year was an early prototype running on this board), but had some issues with power up/down reliability. We debated using a computer with a battery built in, but settled on Android because it was cheaper and "cooler".

The app was designed to work well on the hardware we selected for the robot (Nexus 5), but we have seen weird bugs on other devices. For instance, the framerate is worse and the picture is upside down on my Nexus 5X. I'm sure there is a perfectly reasonable cause for this, we just haven't felt the need to fix bugs for platforms that weren't on our robot. If you find bugs in the app or make it work on a new platform, feel free to submit a pull request and our students will review it.
__________________
Team 254 | San Jose, CA | Mentor (2010 - Present)
Team 125 | Boston, MA | College Student (2007 - 2011)
Team 195 | Southington, CT | Student (2002 - 2006)
Reply With Quote
  #13   Spotlight this post!  
Unread 10-10-2016, 17:07
Eugene Fang's Avatar
Eugene Fang Eugene Fang is offline
The Blue Alliance
no team
Team Role: Alumni
 
Join Date: Jan 2007
Rookie Year: 2000
Location: Bay Area, CA -> Pittsburgh, PA
Posts: 763
Eugene Fang has a reputation beyond reputeEugene Fang has a reputation beyond reputeEugene Fang has a reputation beyond reputeEugene Fang has a reputation beyond reputeEugene Fang has a reputation beyond reputeEugene Fang has a reputation beyond reputeEugene Fang has a reputation beyond reputeEugene Fang has a reputation beyond reputeEugene Fang has a reputation beyond reputeEugene Fang has a reputation beyond reputeEugene Fang has a reputation beyond repute
Re: Team 254 Presents: FRC 2016 Code

Quote:
Originally Posted by Tom Bottiglieri View Post
the picture is upside down on my Nexus 5X.
Apparently the camera module in the 5X is upside down due to packaging reasons. There's a software flag that apps are supposed to read to get camera orientation, but many (like the Augmented Reality feature in eDrawings) don't do it right...
__________________
Eugene Fang
2010 Silicon Valley Regional Dean's List Finalist

Various FLL Teams - Student (2000-2006), Mentor (2007-2010)
FRC Team 604 - Student (2007-2010), Mentor/Remote Advisor (2011-2015)
FRC Team 1323 - Mentor/Remote Advisor (2011-2014)

The Blue Alliance | TBA GameDay | TBA Android App
Reply With Quote
  #14   Spotlight this post!  
Unread 19-10-2016, 15:26
kingca kingca is offline
Registered User
FRC #0108 (SigmaC@ts)
Team Role: Programmer
 
Join Date: Feb 2016
Rookie Year: 2015
Location: Florida
Posts: 16
kingca is an unknown quantity at this point
Re: Team 254 Presents: FRC 2016 Code

How were you guys able to calculate the traction?
Reply With Quote
  #15   Spotlight this post!  
Unread 21-10-2016, 02:40
kiettyyyy's Avatar
kiettyyyy kiettyyyy is offline
Registered User
FRC #1538 (The Holy Cows)
Team Role: Engineer
 
Join Date: Mar 2006
Rookie Year: 2005
Location: San Diego, CA
Posts: 181
kiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond repute
Send a message via AIM to kiettyyyy
Re: Team 254 Presents: FRC 2016 Code

Quote:
Originally Posted by Jared Russell View Post
I can't really answer the second question very well - I have only worked with the team for 3 years so all of the programmers are either still on the team or in college. Perhaps someone else can speak to history before that.
I might not be the best person to answer this as well, however, I have had one of their students end up as one of my interns within Qualcomm's Corporate R&D group back in 2013.

He ended up being one of my top interns, able to keep up with the PhD candidates in programming, control theory and hardware concepts... without taking a single college course.
__________________
-Kiet Chau

2004-2008 - Software Developer/Driver on Team #968
2008-2011 - Software Developer/Coach/Mentor/"Engineer" on Team #968
2011-Present - Mentor & Engineer on Team #1538
www.team1538.com
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:50.

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