Go to Post The difference between a Tinkerer and an Engineer is that the Engineer will be able to tell you the results before you start. - DonRotolo [more]
Home
Go Back   Chief Delphi > Competition > Team Organization
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 14-04-2016, 00:36
FWinter FWinter is offline
Registered User
AKA: Francis Winter
FRC #4239 (WARPSPEED)
Team Role: Leadership
 
Join Date: Apr 2016
Rookie Year: 2015
Location: Minnesota
Posts: 7
FWinter is just really niceFWinter is just really niceFWinter is just really niceFWinter is just really niceFWinter is just really nice
Replacing graduating seniors

My team is relatively small (<20 students, 2 mentors) but looking to grow in the near future, as we only have 2 seniors this year and have had large freshman recruiting classes over the last few years. However, one of these seniors has been our sole programmer for 2 years. There have been 3 other students that have (sometimes half-heartedly) tried to learn from him, but one of these quit and of the other 2, one has mimimal experience and training and the other isn't particularly interested in programming. One thing I've figured out, even as a member of the build team, is that programming (and therefore, good programmers) is rather important. With this in mind, I'm looking for ways to get a head start on "replacing" him.
Neither of our mentors is a programming mentor and our team does not have extensive offseason programs in which to learn/teach more. Our school does have a newly formed "Coding Club" that we might look to for new members, but I don't foresee this being highly effective.
Could people please recommend some training resources and/or ideas for recruiting new programmers?
Thanks!

Last edited by FWinter : 14-04-2016 at 00:39. Reason: Edit: I neglected to mention, the little experience we have is in Java, which is the language we would like to stay with.
Reply With Quote
  #2   Spotlight this post!  
Unread 14-04-2016, 01:00
GDB's Avatar
GDB GDB is offline
Mentor
AKA: Garrett
FRC #2403 (Plasma Robotics)
Team Role: Mentor
 
Join Date: Mar 2014
Rookie Year: 2012
Location: Mesa, Arizona
Posts: 30
GDB is a jewel in the roughGDB is a jewel in the roughGDB is a jewel in the rough
Re: Replacing graduating seniors

Quote:
Originally Posted by FWinter View Post
My team is relatively small (<20 students, 2 mentors) but looking to grow in the near future, as we only have 2 seniors this year and have had large freshman recruiting classes over the last few years. However, one of these seniors has been our sole programmer for 2 years. There have been 3 other students that have (sometimes half-heartedly) tried to learn from him, but one of these quit and of the other 2, one has mimimal experience and training and the other isn't particularly interested in programming. One thing I've figured out, even as a member of the build team, is that programming (and therefore, good programmers) is rather important. With this in mind, I'm looking for ways to get a head start on "replacing" him.
Neither of our mentors is a programming mentor and our team does not have extensive offseason programs in which to learn/teach more. Our school does have a newly formed "Coding Club" that we might look to for new members, but I don't foresee this being highly effective.
Could people please recommend some training resources and/or ideas for recruiting new programmers?
Thanks!
What I would suggest is trying to find a programming mentor if you can, and if not you may have to find a member who is highly interested to learn coding over the summer.

You are right it is important to have programming! You just need interested students and you can get it done

There are tutorials online as well, so I do not think that is a bad way to start either.
__________________
Project Manger and Build Lead of Plasma Robotics - Team 2403 - 2015 season and 2016 season




Reply With Quote
  #3   Spotlight this post!  
Unread 14-04-2016, 07:13
angelah angelah is offline
Registered User
FRC #3547
Team Role: Mentor
 
Join Date: Jul 2013
Rookie Year: 2009
Location: Michigan
Posts: 89
angelah has a spectacular aura aboutangelah has a spectacular aura about
Re: Replacing graduating seniors

Make your lead programmer a drive team member. That gives incentive to a large and sometimes thankless role. It's also incredibly helpful at the field.
Reply With Quote
  #4   Spotlight this post!  
Unread 14-04-2016, 08:39
tr6scott's Avatar
tr6scott tr6scott is offline
Um, I smell Motor!
AKA: Scott McBride
FRC #2137 (TORC)
Team Role: Mentor
 
Join Date: Dec 2007
Rookie Year: 2005
Location: Oxford, MI
Posts: 510
tr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond repute
Re: Replacing graduating seniors

Look to the coding club, see what languages students already know. Our school does not teach programming, but students already interested in programming, already have a key ingredient, the ability to be self taught.

Look for parents that have of students that have IT background, to help mentor.

Keep, or build a running bot, so programmers can have 100% access to it in the off season.

I am probably one of the worst programmers on our team, and I am the mentor. I am a controls engineer by trade, look to see if parents in school have a controls background. They will bring a key element to know how a machine thinks, and sequences. We have a keen eye for recognizing the difference between something working, and something being controlled correctly. Look for a controls engineering company around, to support team, and mentor.

Look to the FTC program, as incoming freshmen will now have java experience from FTC. We are a labview team, but as our FTC feeder team moved to Java, (as all of FTC I think) it maybe time to move to Java?

Use a language that students and mentors are most comfortable with.

If you have a robot to program, and you have 1 mentor, and 3 students willing to do 16 hours a month, over the next 6 months, you will probably have one strong programming team ready for next years challenge.
__________________
The sooner we get behind schedule, the more time we have to catch up.

Reply With Quote
  #5   Spotlight this post!  
Unread 14-04-2016, 08:56
FWinter FWinter is offline
Registered User
AKA: Francis Winter
FRC #4239 (WARPSPEED)
Team Role: Leadership
 
Join Date: Apr 2016
Rookie Year: 2015
Location: Minnesota
Posts: 7
FWinter is just really niceFWinter is just really niceFWinter is just really niceFWinter is just really niceFWinter is just really nice
Re: Replacing graduating seniors

Thanks for the suggestions!

Quote:
Originally Posted by tr6scott View Post
Look for parents that have of students that have IT background, to help mentor.

I am probably one of the worst programmers on our team, and I am the mentor. I am a controls engineer by trade, look to see if parents in school have a controls background. They will bring a key element to know how a machine thinks, and sequences. We have a keen eye for recognizing the difference between something working, and something being controlled correctly. Look for a controls engineering company around, to support team, and mentor.
This is interesting, I didn't really know where to look for people with programming experience before, so I'll have to check on these options.
Reply With Quote
  #6   Spotlight this post!  
Unread 14-04-2016, 09:19
Tyler_Kaplan's Avatar
Tyler_Kaplan Tyler_Kaplan is offline
Mentor
FRC #1678 (The Citrus Circuits)
Team Role: Mentor
 
Join Date: Oct 2012
Rookie Year: 2011
Location: Davis, Ca
Posts: 62
Tyler_Kaplan is a glorious beacon of lightTyler_Kaplan is a glorious beacon of lightTyler_Kaplan is a glorious beacon of lightTyler_Kaplan is a glorious beacon of lightTyler_Kaplan is a glorious beacon of lightTyler_Kaplan is a glorious beacon of light
Re: Replacing graduating seniors

I would have your new people interested in programming look at all of the old robot code from your past years. And also, build an off season bot, or even just take an existing robot, and have them program that. It'll give them some experience with programming an actual robot, and with all of the old robot code to reference they should be able to figure it out.

Also, do you have any other teams in your area? If so, talk to them. Find a team with a solid programming mentor, and ask if they're willing to help out your students this off season. One of the most amazing things in FRC are the team's willingness to share their knowledge and resources.
__________________
Any threads/posts made do not necessarily reflect the views of any teams I am affiliated with, only my own.
Reply With Quote
  #7   Spotlight this post!  
Unread 14-04-2016, 09:30
tr6scott's Avatar
tr6scott tr6scott is offline
Um, I smell Motor!
AKA: Scott McBride
FRC #2137 (TORC)
Team Role: Mentor
 
Join Date: Dec 2007
Rookie Year: 2005
Location: Oxford, MI
Posts: 510
tr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond reputetr6scott has a reputation beyond repute
Re: Replacing graduating seniors

Sorry, forgot to mention. . .

Don't discount your existing programmers. Programming an FRC robot is a tricky thing, and it is really tough to be able to have multiple programmers working on code for different subsystems, all to coordinate and merge code into a whole project, without conflicts.

So your observation of "half-hearted" programmers, may just be that there wasn't much for them to do at that time. We have 3 strong programmers, and it can be a significant task to manage 3 people working on same program. We have found it typically not worth the added effort, and end up with only one person making code and changes at a time. For us this means we have one experienced programmer with a freshman looking over his/her shoulder, and 4 people not doing anything productive.

We worked this way for a couple of weeks, but with all the downtime, I tore the freshmen away and gave them a bot, and gave them programming challanges. I told them they could not ask a question unless they spent an hour being stuck, and researching the problem. The freshmen were happier, the experienced programmers were happier, and the freshmen will be ready to take on more advanced concepts next year.
__________________
The sooner we get behind schedule, the more time we have to catch up.

Reply With Quote
  #8   Spotlight this post!  
Unread 14-04-2016, 09:39
KrazyCarl92's Avatar
KrazyCarl92 KrazyCarl92 is offline
Registered User
AKA: Carl Springli
FRC #5811 (The BONDS)(EWCP)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2010
Location: Dayton, OH
Posts: 521
KrazyCarl92 has a reputation beyond reputeKrazyCarl92 has a reputation beyond reputeKrazyCarl92 has a reputation beyond reputeKrazyCarl92 has a reputation beyond reputeKrazyCarl92 has a reputation beyond reputeKrazyCarl92 has a reputation beyond reputeKrazyCarl92 has a reputation beyond reputeKrazyCarl92 has a reputation beyond reputeKrazyCarl92 has a reputation beyond reputeKrazyCarl92 has a reputation beyond reputeKrazyCarl92 has a reputation beyond repute
Re: Replacing graduating seniors

It seems that a likely scenario for next season is that your team will have a small number of inexperienced programmers with little mentorship support in that area.

Given that scenario, one way you can increase your chances of a successful season next year is through smart strategic design. If you check out Karthik's strategic design presentation, it basically walks you through how to go about building the best robot your team possibly can. Golden Rule #1 is to build within your team's resources.

Recognizing that your programming experience is a limited resource for the coming build season, simplicity in code may be weighted heavily in strategic or mechanical choices on how you build your robot. If it is not feasible for your programming squad to integrate fancy sensors and sophisticated control algorithms, then your particular resources may dictate selection of a simple single-trajectory pneumatic catapult for launching boulders instead of a Cheesy Poofs style adjustable-hood/turret/speed-controlled/automated-targeting fly wheel shooter. Maybe you also choose a shooting position locked in against the tower so you don't have to worry about targeting code, or use a flash-light to indicate where the robot is aimed instead of a camera?

A great example is 5811's robot this year. It was consciously designed to only require very simple code. It is quite literally a drive train (uses WPILib code), a single pneumatic cylinder (just true-false, doesn't get any easier), and one additional CIM motor (again...just on-off with the touch of a button). The design does not rely on sensors to perform its function. This made the job much more achievable for our Rookie FRC programmers, and there were still plenty of areas for our programming team to attempt some more challenging code: ded reckoning auto routines for crossing obstacles, using the PDP current sensing to automatically cut off the intake when a ball is collected, etc. Based on the experience the programming team gained this year, we will feel more comfortable in future seasons relying on sensors and controls to achieve advantageous functionality.

I've seen many teams this year that went with motor-driven arm solutions with limit switches, rotary position sensors, etc. to control the arm position that would have been better off with a single pneumatic cylinder raising and lowering the arm. No need to integrate sensors, fewer points of failure, and can come very close to achieving similar functionality. I'm not saying that the same solution is the best for all teams, but being honest and reasonable in assessing your own ability to execute different tasks or mechanisms will give you a better chance at success on the field.
__________________
[2017-present] FRC 0020 - The Rocketeers
[2016] FRC 5811 - BONDS Robotics
[2010-2015] FRC 0020 - The Rocketeers

Last edited by KrazyCarl92 : 14-04-2016 at 09:42.
Reply With Quote
  #9   Spotlight this post!  
Unread 14-04-2016, 10:05
Jon Stratis's Avatar
Jon Stratis Jon Stratis is online now
Electrical/Programming Mentor
FRC #2177 (The Robettes)
Team Role: Mentor
 
Join Date: Feb 2007
Rookie Year: 2006
Location: Minnesota
Posts: 3,744
Jon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond reputeJon Stratis has a reputation beyond repute
Re: Replacing graduating seniors

Also don't discount the resources of your other local area teams! I know your about 2 hours away from my team, but if you use java I'm sure we could work on some remote assistance to help you get people trained and help with debugging issues.

Also, make sure your programmers attend SPLASH in December - the programming sessions there are rather good.
__________________
2007 - Present: Mentor, 2177 The Robettes
LRI: North Star 2012-2016; Lake Superior 2013-2014; MN State Tournament 2013-2014, 2016; Galileo 2016; Iowa 2017
2015: North Star Regional Volunteer of the Year
2016: Lake Superior WFFA
Reply With Quote
  #10   Spotlight this post!  
Unread 14-04-2016, 18:58
Kingland093 Kingland093 is offline
Registered User
FRC #4215 (Trinity Tritons)
Team Role: Alumni
 
Join Date: Jan 2014
Rookie Year: 2013
Location: Minnesota
Posts: 107
Kingland093 will become famous soon enough
Re: Replacing graduating seniors

Hello,

My team has gone through the same thing just about every year so the biggest thing we do to minimize the frustration is that the graduating seniors will teach the underclassmen everything they know.

This is best done during the season but you could have meetings a couple times a week until school ends or during the summer. Try coding an old robot or maybe try tweaking the existing robot's software (add sensors, new features, etc). Alternatively you could try to build something for fun as a design exercise.
In the fall of 2014, we built a mecanum chassis (yes we did this voluntarily!!!). This was helpful for the build and design teams as it was something brand new for them. We ultimately used mecanum for Recycle Rush

Definitely try to find a programming mentor. Use connections of existing students and mentors (our programming mentor last year had a son on the team and our mentor this year has a student in our junior high)

If that doesn't work, reach out to local teams. We're about 2-3 hours away from you but I would be more than happy to remotely assist you (we use java). Shoot me a pm if you're interested.

You guys had a really cool robot this year! I talked with one of your mentors for awhile and you guys have a great program!
Hope to see you on the field sometime!
__________________
McGill University Mechanical Engineering Class of 2020
FRC 4215: Trinity Tritons 2013-2016 (Programmer, Strategy, Driver)


2015 MRI Winner (with 3130, 2052, and 2531)
2015 MN State Championship Winner (with 2512 & 3130)
2015 Double DECC'er Winner (with 3130 & 525)
2015 Northern Lights Winner (with 3130 & 525)
Reply With Quote
  #11   Spotlight this post!  
Unread 14-04-2016, 19:40
Philip Arola's Avatar
Philip Arola Philip Arola is offline
You can check out any time you like
AKA: KG7VAM
FRC #2898 (The Flying Hedgehogs), FRC #1510 (Wildcats)
Team Role: Alumni
 
Join Date: Feb 2012
Rookie Year: 2012
Location: Beaverton, Oregon
Posts: 82
Philip Arola is an unknown quantity at this point
Re: Replacing graduating seniors

Quote:
Originally Posted by tr6scott View Post
Keep, or build a running bot, so programmers can have 100% access to it in the off season.
Agreed, I cannot emphasize enough how important this is for programmers.
Reply With Quote
  #12   Spotlight this post!  
Unread 14-04-2016, 20:03
AlexanderTheOK AlexanderTheOK is offline
Guy
no team
 
Join Date: Jan 2014
Rookie Year: 2012
Location: Los Angeles
Posts: 146
AlexanderTheOK is just really niceAlexanderTheOK is just really niceAlexanderTheOK is just really niceAlexanderTheOK is just really nice
Re: Replacing graduating seniors

+1 to putting a programmer on the drive team. Not related to the turnover issue, but still important to note. It shouldn't be a giant thing, but if two people of equal merit are under consideration to be the operator, its really helpful if the person who wrote the code for the buttons is pressing them.

I can't count how many times I've seen something wierd happen while operating, and simply known how to work around it because i knew the cause

And then was able to fix immediately afterwards.
Reply With Quote
  #13   Spotlight this post!  
Unread 14-04-2016, 20:11
Lady-of-Fandoms Lady-of-Fandoms is offline
Registered User
AKA: Lenna Weiss
FRC #4131 (Iron Patriots)
Team Role: Scout
 
Join Date: Feb 2016
Rookie Year: 2015
Location: Seattle, WA
Posts: 8
Lady-of-Fandoms is an unknown quantity at this point
Re: Replacing graduating seniors

My team is having largely the same problem, except we will still have one programmer by the year's end. I and a few others have been learning Java on Codeacademy, a free website for people to learn all manner of code. It does not cover the entire language, but it definitely encompasses most of the basics.
Reply With Quote
  #14   Spotlight this post!  
Unread 14-04-2016, 20:16
bombodail's Avatar
bombodail bombodail is offline
Registered User
no team
 
Join Date: Feb 2016
Rookie Year: 2015
Location: Toronto
Posts: 9
bombodail is a glorious beacon of lightbombodail is a glorious beacon of lightbombodail is a glorious beacon of lightbombodail is a glorious beacon of lightbombodail is a glorious beacon of light
Re: Replacing graduating seniors

In 2014 I knew nothing about programming a robot. I had a lot of experience programming but not much related to robotics. I had experience in C++, so I choose that, and I learned to program the robot on my own using the wpilib documentation. It's not difficult to create programs to control most aspects of the robot. It only gets difficult once you start using encoders and sensors, and vision. Since the control system is not changing, just have them reprogram this year's robot. If you have multiple programmers, it's not difficult to have them work together. My team(not robotics) uses our own git server that we host, but I think that FRC teams can get a free github repo if they want it.
__________________
"I am free of all prejudices. I hate everyone equally." W. C. Fields
Reply With Quote
  #15   Spotlight this post!  
Unread 14-04-2016, 20:19
Knufire Knufire is offline
Rose-Hulman Institute of Technology
no team
Team Role: College Student
 
Join Date: Sep 2009
Rookie Year: 2010
Location: Terre Haute, IN
Posts: 739
Knufire has a reputation beyond reputeKnufire has a reputation beyond reputeKnufire has a reputation beyond reputeKnufire has a reputation beyond reputeKnufire has a reputation beyond reputeKnufire has a reputation beyond reputeKnufire has a reputation beyond reputeKnufire has a reputation beyond reputeKnufire has a reputation beyond reputeKnufire has a reputation beyond reputeKnufire has a reputation beyond repute
Re: Replacing graduating seniors

Quote:
Originally Posted by KrazyCarl92 View Post
Given that scenario, one way you can increase your chances of a successful season next year is through smart strategic design. If you check out Karthik's strategic design presentation, it basically walks you through how to go about building the best robot your team possibly can. Golden Rule #1 is to build within your team's resources.
Pneumatics, pneumatics, pneumatics.

As a backup plan, make sure you fully understand how to utilize pneumatics on your robot if you aren't able to find/train new programmers.

I say this because a lot of common tasks (i.e. rotating a intake down, adjusting shooter pitch) that require moving a mechanism to a precise potion can be accomplished using either a motor or a pneumatic cylinder. Using a motor will generally require adding a sensor and some sort of control algorithm to ensure that the mechanism stops exactly where you want it to stop. Pneumatics limit that mechanism to two positions, but makes it significantly easier to ensure that the mechanism ends up in the correct two positions.
__________________
Team 469: 2010 - 2013
Team 5188: 2014 - 2016
NAR (VEX U): 2014 - Present
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 17:49.

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