Balancing robot competitiveness with team member involvement

Question: How does your team balance building a competitive robot while involving as many team members as possible in its design and construction?

There’s always a trade-off between building the most competitive robot possible and getting everyone on the team involved. Every team has members with different skill levels, and those skills usually follow a standard distribution. The more advanced the design, the fewer people who will have the experience to contribute to it, which means the robot might be more competitive but less of the team is directly involved. On the other hand, if more people are involved in building the final robot, the overall competitiveness of the design might go down.

If we think about this in general terms, a team’s abilities by member often line up with a standard distribution, kind of like how robot performance levels across a district do. So I’m going to be lazy and just steal a Statbotics chart of a random districts robot EPA distribution from last year, then overlay my thoughts :blush: I would say the distribution follows the same trend that our team normally sees in members year to year, as I’m sure many others do as well. Please don’t crucify me for accuracy of the chart below, its just a very generalized concept to hopefully get the idea across.

So how do you typically decide where the line is drawn in terms of what capability to design/build to?

I like to think we keep it simple when that question comes up and involve as many students as possible.

I see your post leaning heavily into a false dichotomy that I see my students lean into frequently as well… “We don’t want to take the time to teach the newbies, we just want to get it done as fast and as high quality as possible”.

There is literally too much to do to go it alone and end up in the place you want to be.

It taking longer to teach someone else than to do it yourself is only true in the minute of doing, it’s never true in the arc of the full day and gets even less true over the week, month, or year. The task will need to be done again later, do you still want to be the only person who can do it when it comes back around?

(And yes, sometimes i “just do it myself” at work or at robotics - I’m far from perfect, I just know that I’m picking the less optimal option)

23 Likes

This may be part of the problem. Not everyone on the team might be interested in Design or brainstorming possible mechanisms. Not sure if you have subteams or a ‘business/social media’ group but historically this group has asked to work on something else during the part of the kickoff/first week. I don’t mind this at all. It’s voluntary to contribute or participate.

The more people the better, but having people who don’t want to be there voting and making decisions they ‘dont care about’ doesn’t help anyone. It’s a wasted vote usually on a misinformed ‘popular’ idea. The people who have to do the designing, assembly might vote differently and since they care about the end result more I want them to have the most ‘say’.

If they don’t want to participate just because of a lack of knowledge that can be fixed, but if it’s a lack of interest in that whole part of the team don’t force it.

4 Likes

Everyone is capable of contributing something to robot competitiveness. The trick is for mentors and student leadership to figure out how. Great teams excel at identifying strengths students didn’t know they had.

14 Likes

Yes. We involve everyone in kickoff (what do we need/want/wont do), Monday (how do we do that, aka ideation). Then we start specializing — CAD-ers CADing, Programmers programming, etc). Much of the team helps with prototyping (wk 1) and over half the team is trained in some aspect of manufacturing. Once we get to assembly (wk 2 hopefully), pretty much anyone can contribute—anyone can do bolts and rivets and whatnot. However if your lead Impact presenter shows up to help assemble one evening, beware that the next morning Covid will shutdown the world. :wink:

2 Likes

As lead programmer on my team I take a lot of time to teach new members and make sure that I explain everything that I’m doing and why. Although I can only attest to what the programming section does, I think that it’s extremely important to teach new people because if you don’t, they won’t learn, won’t be able to participate, and won’t have a good time. My team as a whole is trying to get all of the training for new members done in the preseason before kick off and it’s going pretty well. That way everyone will be able to participate during the build season and we have more people to help work on the robot.

4 Likes

I think your post is based off a false trade-off.

I have been in the orbit of teams that operated with the (usually) unspoken mentality of, we would of course build a much better robot if we just locked mentors A, B, and C and top-tier students X, Y, and Z in the shop for 2 months and let them go to town while ignoring everyone else, but out of the goodness of our heart, because FIRST is about inspiration and teaching, we will make huge sacrifices to include other people even though it’s definitely a net negative for our competitive performance.

This approach wasn’t good for anybody. Mentors A, B, and C and students X, Y, and Z grew resentful that they were being “held back” by spending time getting people up to speed, or implementing what they saw as inferior designs selected through an on-paper inclusive process like a group vote in the name of giving the maximum number of people some superficial sense of involvement. Team members outside that core group became extremely resentful and disengaged because they picked up on the fact that their presence was viewed as holding the team back, and they didn’t feel there was a pathway for them to meaningfully contribute, with things happening like students being assigned wild goose chase prototypes that the core group knew weren’t going to be pursued just to keep people busy and out of their hair. It closely parallels the dynamic that leads to toxic “student built, mentor built” debates, because it comes with the corollary of “of course all the best teams are good because they make the competitive choice and have some tiny subset of genius mentors doing everything because that’s obviously optimal, but we’re better than that, we make sacrifices to be inclusive.” When things didn’t work, there was a lot of finger-pointing about who forced some idea onto the robot. The robot quality suffered because of all the us vs. them, and because no member of the team was being utilized to their full potential. That’s the thing, if you view the optimal configuration of your team as only your highest performers, you’re leaving so much brainpower and labor capacity on the table.

That’s not to say that you should structure your design selection process around the off-chance that the freshman with no experience who shows up to 1/4th of your meetings and plays video games during most of them might have the most brilliant concept for your top-level robot design. Rather, you should aim to prioritize meeting every member of the team where they are at and tailoring a plan for how they can immediately contribute while building the next step of their skills, whether that’s top level design, nitty gritty CAD and code work, just cranking out rivets, or anywhere in between, rather than locking people out of the process if they don’t meet some fixed threshold. Because if you do this, you aren’t using your team’s manpower to its full potential, and you’re wasting your top-performing team members’ time by forcing them to also do low-level work!

I would say that the better way of looking at is “the more advanced the design, the more simple individual tasks will be required to pull it off, and the more the people who have the systems-level understanding of what this design will take will really need to be on the ball getting the most possible out of all their teammates.” Not everybody has to understand everything about a complex robot in order to pull it off, especially at first. And goodness knows, there are enough tasks in any reasonably sophisticated robot to keep a whole lot of people busy!

Most of the most successful build seasons I’ve been a part of from both a competitive and a student experience perspective started with a core group of hypercompetent students and mentors who “saw the vision” of what the robot could be and sold the team on it, even if at that “here’s the whiteboard sketch” stage, a whole lot of the student body didn’t really get the full implications of the concept that they’d agreed to or everything that it would require to the point where they could have debated every single nuance of the concept on equal footing with the people pushing it. Then, throughout the design and fabrication process, these less engaged members got a whole lot of “Oh, that’s why we did that part this way” learning moments along the way, where through contributing to small sections of the bigger project, and seeing the robot come to life before their eyes, they develop an understanding of the thought that goes into a full robot design, in a way that’s much more powerful than dumbing down the robot so that “their” questionable idea makes the cut.

Another very important skill for top-level designers to develop is to recognize the subsections of the design where the exact design used isn’t that important, which can be safely handed off to someone with much less experience, knowing that there isn’t really a super “wrong” way to do X component that would totally make or break the robot. Or at least, there are a lot of right ways. These are prime opportunities to promote inclusion and give a member a chance to “level up” into a proper design role while feeling genuine ownership over an aspect of the design, while freeing up a highly experienced student’s time to focus on something that they really need to get exactly right. A lot of times this is something pretty low level like a bolt pattern, but sometimes, these non-important choices can actually be super high-level, robot architecture ones! If you ever find yourself in a fierce debate between top-level concepts A and B, sometimes the wisest thing to do as a mentor or leader is to step back and go “…wait, both of these are super viable, and we’re 100% going to see dozens of high-performing robots based on both concepts. What’s more important, getting this decision exactly right, or moving forwards with one that the team can really rally around, get excited about, and feel proper ownership over?” Sometimes, the dynamics in the room can make that the best choice for the team’s chances to succeed.

Having a build season go this way requires a lot of trust-building in all directions. Trust that the people who have that ability to see a full robot from the top level know what they’re doing, and even if not everyone sees the full vision, that it will become clear with time. Trust that when those people are permitted to lead the top-level process, it’s because of a deeper level of understanding and not because they want “their” ideas to make the robot. Trust that the team as a whole will be able to pull off something with too big a scope for any small group of individuals to do themselves no matter how skilled they are. Trust that the work will be delegated effectively. Trust that people will rise to the challenge of what you delegate. Trust that necessary skills will be taught. Trust that students will be able to learn those skills. Trust that even the least engaged members of the team still want the project to succeed and can be counted on to perform tasks within their skillset rather than being shunned entirely.

It’s not easy, but when it comes together, it’s a beautiful thing.

33 Likes

Perhaps an approach to training where:

Brand new designer → designing a full mechanism is generally too much to take on reasonably, and you won’t end with a good result, but breaking that transition up over preseason work, maybe that’s doable.

Brand new designer → 3d printed part designed is something that I would target instead which is still some huge learning, but much more reasonable in scope, and can involve students that have less technical capability and still allows them to learn and grow for future seasons and extend their capabilities for future years.

Focus on building a robot that almost feels “too simple”, will help you design within your means as a team and execute well. As members gain skills/join/leave the team you can adjust what “too simple” is and maintain a competitive robot.

These days I don’t think designs are the things that really separate a team from being competitive, its more what you do with the robot after its built with reliability, autos, driver automation, practice, strategy, etc that makes the biggest difference.

12 Likes

The way I see it, team member involvement really stems from aquired interest. As you discussed, if the student does not have the interest, any contribution could likely be a “misinformed popular idea” which is when you get people in a team who don’t really contribute to anything.

If they don’t want to participate just because of a lack of knowledge that can be fixed, but if it’s a lack of interest in that whole part of the team don’t force it.

That is where my idea slightly diverges. The way I see it, lack of knowledge and lack of interest are mutually inlcusive. A truly interested member would for sure develop knowledge over time, of course at different rates, but at least to the extent where they can meaningfully contribute. Kinda like in a classroom setting, someone who interest in the subject would ask the teacher for more info after class, and with the extended knowledge the student would be more confident in speaking up in class. You can toss 15 freshmen into a lecture room, but not everyone retains the information equally. At school, you have the motivation to retain information for the sake of your grade, but at robotics sometimes people would rather watch reels. Parents can often treat robotics like a daycare, signing up their kid for something they may not be necessarily interested in. In essence, not every student has the same level of interest or motivation to do things, but interest enables one to learn more, and hence do more for their team.

On my team, our goal is typically to prioritize performance, so naturally students who are more engaged and knowledgeable get more opportunities to do stuff. In fact, students who are more engaged but less knowledgeable can often do more for the team that students who are knowledgeable, but disengaged. As I previously mentioned, being engaged drives the motivation to learn more.

don’t force it.

This is 100% true. If a student doesnt really want to do anything they of course would only put a haphazard effort into it. The real question is how to brew interest and engagement. The best way I think is to do offseason things that are low risk for doing bad, but high reward in regards to developing interest. In doing so, students who may not normally be allowed to participate as much during FRC are given the opportunity to do more, allowing them to develop that interest and motivation.

My team sometimes has an implicit distrust for freshmen, understandably so since they haven’t had as much experience. But if they never get to do anything due to that, how do they gain that experience? Offseason things.

We particiapte in the OCCRA offseason competition, and through this many students who had not done as much in the past FRC season really took a step up and became much more excited to get the job done. Furthermore, all the freshman had the opportunity to share parts of the prototyping, designing, and building process giving them that real-world experience of how a robotics competition is meant to run.

However, there is a key difference between how teams can approach offseason things. Is it a “screw it, throw the newbies to the deep end, I don’t really care about the outcome since its not FRC” or “let’s run this like FRC, where only the upperclassmen do anything”? It really needs to be a balance. In the past, we had took the former approach to OCCRA, basically leaving the blind following the blind. On the flip side, if upperclassmen only do the work, the blind do not get the opportunity to become un-blind. But this year we really reevaluated our approach. Our goal is to win. When we win, previously uninterested students have the opportunity to be more interested. After all, winning does feel good. In order to win, the former approach definitely does not work. On top of that, the former approach allows new students to teach themselves, leaving them with a different understanding of how design and build in FRC, causing lack of participation due to lack of knowledge.

How do we fix this? This year, upperclassmen were instructed by our mentors to “become” the mentors, and run the OCCRA season like how we would in FRC. Through this, the upperclassmen mentors had the final say in the design of the robot, where we would use prior experience to make a more informed decision as opposed to allowing democracy of those without that prior experience to guide them. However, the designing part was not all done by the upperclassmen. Rather, we guided the underclassmen in the direction of how to come up with a strategic design. Through the CADing and fabbing process, we wanted upperclassmen to work alongside the freshman, rather than doing it all themselves or only being teachers.
Overall, it really comes down to that fine balance of letting underclassmen do things to the extent where they develop the interest, but upperclassmen have to avoid letting them develop the wrong understanding of how to create a robot, in order to prevent them from being shafted into an unimportant role due to lack of knowledge. Again, lack of interest and lack of correct knowledge are the same things. By taking this approach to OCCRA, we were able to make a competetive robot archetype wise, but simultaneously allowing underclassmen to get hands-on. (Same thing applies to driving the robot, not just designing/building; our drive team for OCCRA was rotating at the first comp, and everyone but drive coach were underclassmen)

In doing so, we succeeded in making the students more engaged and interested, objectively making the team more competetive overall since there is a large class of students with a greater potential to learn the technical nitty gritty. At the end of the day, it is impossible to make everyone equally interested but there are definitely things you can do to bolster the overall interest. Remember, greater interest = greater potential to learn = greater overall knowledge = greater overall involvement = greater team performance, that is consistent over time and not just short lived.

Mightve written too much, but just wanted to get this off of my chest since our team has had a recurring issue of where there is just too much of a deviation between those who are interested and those who are not. This deviation results in classes graduating who are crazy dedicated, and other classes who still think robotics is daycare as a senior. This tracks with our highly inconsistent performance year-to-year. Being a consistently good team is a goal of mine, and I think it really stems from developing that interest and motivation early on.

7 Likes

Love this comment here. Thanks! I also agree that knowledge, experience, and skills are not a zero sum game; they’re additive, multiplicative even. Having higher skilled students and mentors allow the team to operate at a higher level and divvy up the work better, giving those simpler tasks to those who aren’t as far along the path. Note that this doesn’t mean rookies sort bolts all build season. You give them the tasks that you know are challenging for them so they can learn from them, level up, and get to do more exciting stuff after that.

1 Like

Not sure my question came across correctly, it wasn’t a case of teaching vs not teaching. Long term we keep educating the team as a whole as that’s what this is all about. We aren’t making that decision, and we aren’t a big enough team to make cuts, everyone who comes out and has interest and passion is along for the learning ride.

Guess an example would be, do we build a kitbot (12 people are capable of CAD’ing and building it), or do we build a mid-level robot with a climber (6 people can CAD it, 5 can build a reliable working robot), or do we do something like a vision guided turret shooter or (2-3 people on the team are capable of CAD’ing it, 1-2 people are capable of programming it).

Maybe our team runs differently, but with students and mentors with varying years of experience, the more a team tries to do, the more skill and experience that is required. We can always find alternate sub-teams and projects for members to suit their skill, whether its directly on the competition robot or not, but finding that sweet spot of who goes where is always a challenge.

Hence my question about how others typically handle it.

So pre/post season is for building skills/teaching.

Build season is for executing the abilities gained during those times.

Can everyone build/program/machine the entire complicated robot? No but those that can do

Everyone who doesn’t have the skills for the complicated aspects can still do other stuff. Shafts and drive rails can still be made by those who know the basics. Intermediate skilled individuals can make custom battery holders, CAD the electronics, upload the programing from libraries, and assign buttons to controllers.

The key is to find rewarding jobs for everyone at their current level not try to meet in the middle. That isn’t to say people shouldn’t explain what they are doing but there is a world of difference between “Oh Scouting Lead and I are updating the back end of our scouting system to work for this year’s game” and “Let me teach you what a vlookup is and how we use it right here and now”.

There is a time and place for everything and it is actually usually not the 6 week build season

13 Likes

Um…yeah.

Seriously though, seems like every year we run out of time to get everyone trained as much as we want before kickoff. C’est la vie.

3 Likes

I also always try to remind everyone that we are a team, and our robot is a team robot.

That doesn’t mean everyone has to be part of everything, but if you start to exclude people to be more competitive, you typically end up losing members and you’ll only end up with a few people doing the work, and they WILL burn out quickly. Hard to have a competitive robot when there’s a bunch of mistakes being made because the too few people working in the robot are tired and worried about all the stuff they haven’t gotten to because all their time was taken up working on the robot.

So in the end I think it’s something of a team culture. You have to be constantly reminding the team that we can only truly succeed as a team. We can only truly win as a team. And only by growing the team (aka teaching others) we can accomplish WAY more than we could ever do on our own.

8 Likes

Several people have echoed similar ideas, but I wanted to highlight a core premise of this post that I take issue with.

1678’s success doesn’t come from coaches designing the robot (we don’t) or from an army of genetically modified super students (project on hold due to ethical concerns), it comes from our ability to engage a large number of students at once. Every robot is made up of parts, and more complex robots are made up of more parts (usually, I know that counterexamples exist).

Most parts are pretty simple, and any student with some basic CAD training can design spacers, gussets, and shafts. There is always a need to edit existing parts and make drawings, all of which have to be done more and more often as your design gets more complex. Those easier tasks way outnumber the harder ones. By putting your newer students on the easy stuff you open up your more experienced students to spend more of their time on harder tasks, and also give your newer students extra experience to help build their own skills.

27 Likes

The paradigm you’re thinking in is really limiting you here.

None of the individual tasks for building even a pretty good FIRST robot need to be particularly hard.

For your group of 12, I’d suggest the mid level robot and maybe sketch in an interface where you could bolt on an extra degree of freedom like a shooter hood or turret for a later comp date or offseason. Your 2 highest complexity tolerance students need to break down the tasks well enough for all twelve of the team members to add value for the whole season. If the other ten can nail it down, then yeah, go have those highest complexity tolerance students turn on a hood angle or a turret angle as well.

The season will be really awful for your mid and low complexity readiness students if the team bolts on a 2-DOF turret that never works and the three highest-complexity-ready students are too busy stressing about it’s failures to dole out good tasks to the rest of the team.

Conversely, those 2-3 students could be bored if you build a Kitbot and then are satisfied with middling operations performance… If you go Kitbot, put it on a swerve, and chase operational excellence in every way, that might be fun for them? You can probably get a banner that way, if blue banner is a goal that matters to your team more than mechanical authorship. It depends on what motivates those core team members, since their engagement and satisfaction will drive the team morale.

Like you said, it’s a tricky balance every year.

Can I ask what year you are? This conversation is very similar to a conversation I had with one of my current seniors in the Fall.

7 Likes

Sam, you’ve got such a good grasp on this topic and this part particularly resonates with me.

There’s definitely a key line you want to walk in terms of robot complexity based on your team. I think about it like this:

  1. Ensure that your most senior students will have enough breathing room to get your robot across the finish line when it comes down to it, while having enough excess capacity to delegate and manage tasks throughout the season.
  2. Ensure that your middle-experienced students are able to understand every aspect of the robot following a 10-15 minute conversation with said senior students. This goes both ways; can they explain it well, and is it planned out well. Crayola CAD / mastersketches etc. can help here.
  3. Ensure that your newer students roughly understand the robot archetype but mainly, focus on giving them tasks within a specific subsystem. Can they help with prototyping, assembly, wiring? These things help to build familiarity with the FRC ecosystem without being too overwhelming.

Sometimes we’ll have students who want to do something specific- fabrication, electrical, etc. We really try to let these students self-separate in season, eg. by having a particular fabrication subteam. That can also help to engage people who don’t have the time or interest to learn the more holistic details; and by having everyone present at our all-team coordination meetings, they feel just as connected to the team culture and season as anyone else.

4 Likes

@CyberClone calls out a lot of concrete tactics for keeping our kids engaged which are super useful. The larger context that I think allows us to be able to operate this way at all is that we have a very structured training system that we’ve been running since early August which we hope puts our students in a place where they can be effective at one of these levels.

We’ve struggled since our founding with the general question on the thread - whose experience do we prioritize if we’re forced to choose? What we’ve settled on is that the training season is for prioritizing getting everyone up to speed so they can be effective. Once we hit comp, we’re going to prioritize effectiveness and efficiency as much as we can. We try hard to make sure that training (which as of this year is supported by a mandatory attendance policy) means everyone can take part in that.

7 Likes

This was very well written and very much how I like to view things as well. I’ve always seen my job as a coach and my mentor’s jobs to act as the level to a team’s overarching goals. Some years, we are able to step back farther than others but in the end, it is our responsibility to maintain the overall quality level that our team should maintain. Even this fluctuates as our mentor crew comes and goes but overall by creating a sense of consistent expectations that are helped through mentor support we are able to maintain the level of competitiveness that our team, sponsors, and community desires.

1 Like

Great writeup and well laid out set of points, hit the nail on the head! I like the end point about really letting students self-separate based on their interests (especially when its a student who might not feel able to do this on other types of school teams), as we use this method as well to help hold engagement. Appreciate the response!