For Inspiration and Recogintion of Science and Technology®or FIRST ® is an umbrella organization encompassing after-school robotics programs for various age groups from K–12. The competition and level of complexity scales with the age and ability of the students, but the core values carry across all the programs and beyond into the real world.
In a world increasingly dominated by technology, FIRST ® emphasizes the need for young people to develop a deep and sincere interest in science, technology, engineering, and mathematics (STEM) with careful consideration for its social impacts. FIRST ® does this by promoting and rewarding not only the teams that perform the best on the playing field, but also the teams that demonstrate exemplary conduct and a measurable impact on their community through STEM education and outreach initiatives.
The largest scale program in FIRST ® is theFIRST ® Robotics Competition(FRC) for high-school students. In FRC, students are given a completely new and unique challenge at the beginning of the calendar year. The game is played on a field about the size of a basketball court with robots of various sizes and shapes depending on the game, but usually weighing in at around 120 pounds.
Matches are played head-to-head by two alliances of three teams each, a 3v3 format where alliances are assigned randomly for the qualification rounds. That way, a team you compete against in one match might be your ally in the next one, and vice versa. This encourages a spirit of collaboration even in a competitive environment, so much so that there is never (truly never!) any booing amongst spectators, and students trade team-branded merch and design ideas freely at competitions. It's effectively team sports sans tribalism.
As for the acutal design challenges, students have to build a robust machine that can move itself around the field efficiently, pick up and index one or more scoring elements, place or launch said scoring elements into designated locations around the field, and maybe climb on a designated structure at the end of the match. One year, you might be stacking tote boxes; the next year you might be shooting dodgeballs, and you never know what the game is going to be until the kickoff broadcast in early January, at which point you have about six to eight weeks to build something from scratch.
Alright, so cool enough. It's a high-school program. How does any of this bear relevance to my life today? The answer is that the program heavily influenced my values as a teenager, it inspired me to become an engineer, and now I spend a lot of time giving back to the program by mentoring the students at my old high-school and teaching them both technical and professional skills they will take forward as I have.
I joined FRC Team 1671, The Buchanan Bird Brains Teams are identified by their unique numbers, assigned at the time of registration, so the Bird Brains were the 1,671st team to register with FIRST ®. Visit our website, built by students, to learn more about our team!in the summer of 2014 and hit the ground running. That summer, I learned about the control system and the basics of Java programming for FRC. I earned a chance to be on the drive team—a small group of students who actually operate the robot and represent the team on the playing field—at least for a single offseason competition. Experiencing the intensity of a real competition and seeing some of the most elite teams in the world fight for victory showed me how high the ceiling was in this high-school program.
My first real season on the team was in 2015, where teams built machines that could stack tote boxes and place a recycling container atop them for a point multiplier. The build season was a mess. The robot we bagged and shipped to competition was heavy, wobbly, and could not stabilize the tall stacks required to maximize scoring potential. But, we persevered and continued to develop fixes between competitions, and we were invited to the world championship even though we had not won any regional competition because of our extensive ourteach efforts.
This is where FIRST ® differs from other sports. The competition actually rewards well-roundedness, so even if you don't win the playoffs, if you build a good robot and have a robust culture of STEM education and outreach, you will be recognized with a prestigious award and invited to the World Championship for a chance to compete once more.
After making some less-than-reliable improvements, we ended up seeding a lot lower than we had hoped, but luckily, two of the teams near the top of the bracket had seen our performace at our regionals, and chose to ally with us and develop a killer strategy that would maximize our collective scoring potential. After an arduous bracket, we emerged as the 2015 FRC World Champions.
The next year, I served as the Director of Programming for the team. During the summer, I would be in charge of onboarding new members, teaching them the basics of Java for FRC, and overseeing the code base for the upcoming season. I also ended up being the robot co-driver, in charge of operating the robot's auxiliary mechanisms (i.e. everything but the drivetrain).
In January, the game was revealed to be a combination of shooting foam dodgeballs called boulders and traversing through various obtacles called defenses. Since the goal was relatively small and on the opposite side of the field, it was important for our team to develop autonomous tracking and shooting. To do this, we built a turret with a camera to track a retroreflective marker. This was a massive increase in mechanical and software complexity for our team, which had built pretty humble and dumb machines for many years.
The robot worked pretty well, but we struggled to adjust to varied lighting conditions at competition venues. Regardless, the programming team got exposure to C++, Linux/Unix, TUIs, the bash shell, computer vision using matrix manipulation and kernel convolutions, sensor latency compensation, and much more sophisticated controls alogorithms. We even experimented with 3D stereoscopy and visited NVIDIA®'s campus in San Jose after using their Jetson TX1 platform as a dedicated co-processor.
We made it to worlds under similar circumstances to the previous year and were knocked out in division quarterfinals, but we loved the robot we built and continued development well into the offseason. At its peak, the robot could aim and fire its payload within half a second while sitting still.
Between my junior and senior years, I got pretty burnt out with all the difficult courses and time-consuming extra-curricular activities, not to mention some interpersonal drama on the robotics team. I decided it was time for me to step up or step out, and I decided to step up by applying to be the team's Chief Technical Officer—our team's topmost technical leadership position and final say (besides adult veto) on matters regarding subordinate leadership and organization of time and resources. It's a pretty tough role, since the technical lead is usually wrangling 4–5 directors, each of whom manages a team of about 5–10 members.
The game that year was pretty difficult, with two unique and irregular scoring elements: wiffle balls called fuel and 11″ plastic gears. The amount of fuel on the field was absurd, numbering in the hundreds, and they had to be scored very high up. To be sucessful with fuel, teams had to score at least 120, so teams had to collect, index, and fire streams of these wiffle balls en masse all while preventing jams. Gears were comparatively easier to collect and score one at a time, but the shape was a lot more irregular. There was also an endgame phase where teams were challenged to climb up a rope.
The meta ended up such that fuel was pretty much worthless for the majority of the season, so although we tried a few designs, we largely abandoned it in favor of cycling gears and climbing. This strategy carried us to the fifth seed alliance captain at the world championship, the first time our team was an alliance captain at worlds, rather than being selected in the playoff draft.
That was a robot only a mother could love, and I felt a lot more like a disappointed father. It was surprisingly successful, but I was disheartened that we failed to come up with a good solution for scoring fuel efficiently when we had decided early in the season that it was a challenege we wanted to take on.
However, robot performance was not the only measure of success for me. The reason I had a step-up-or-step-out moment becoming CTO was because I felt like the culture of the team needed to change. Although we had made a splash in the FRC scene due to our community outreach and decent robot performance, internally there were a lot of problems. Workload would get concentrated into the hands of a skilled few, who would eventually burn out or abuse their power in the social pecking order. There was also a high degree of interpersonal drama between the technical and non-techncial sides of the team—truly a microcosm of the real world—so we execs focused hard on developing our directrors, bringing disparate subteams into collaborative efforts, and disincentivizing unprofessional behavior. These goals were much less tangible, but I believed they were just as important if not more important than our win-loss percentage.
For several years after graduating, I kept my distance from the program. It's not ususally appropriate for recent grads to stay involved or mentor their old team because the relationship between students who are still on the team and a recent grad can be tricky to navigate. Furthermore, as a college student, I was focusing on my own life and dealing with my own issues in a completely removed environment, so it wasn't until 2023 that I decided to volunteer as a Control Systems Advisor (CSA) at two FRC competitions in California.
FRC competitions are large, weekend-long events organized primarily by volunteers. Many of these volunteers are FIRST ® alumni; others simply stumbled across the program, believed in the mission, and got involved. At these events, volunteers manage the technical aspects of a playing field, referee during match play, queue and usher teams around, reset the field between matches, inspect robots for compliance with the rules, judge teams for non-technical award categories, and provide hands-on support for issues that arise during the competition. With as many as forty teams in attendance, hundreds of spectators, a large field to set up and tear down, and about a hundred matches to get through, the pace is blistering, so it can't be pulled off without a dedicated and skilled team.
My role as CSA was to help teams diagnose and resolve electrical and software problems that prevented teams from getting their robots on the field. The control system in FRC is a set of electronic components and software libraries that all teams are required to use at minimum. This includes the main processor, battery type and power distribution system, a wireless radio, and a core API for robot programs. Upon this platform, a few private vendors have developed a rich set of sensors, effectors, and mechanical components appropriate for use in FRC. Furthermore, teams are free to develop custom software and hardware as they see fit, provided they do not violate any rules outlined in the game manual. So, a good CSA is familiar with the workings of the core components as well as the most common third-party solutions.
It's definitely a stressful role. As teams roll in, there is a phase of ensuring teams comply with all the software, hardware, and safety requirements. Once matches start, the field staff will sometimes call out problems that occur during matches that might disqualify a team from participating, at which point a CSA can check in to make sure everything is in order.
There's almost always a team that surrounds their radio with metal, effectively creating a Faraday cage, or a team with a faulty CAN bus due to poor solder joints, or a team that is still assembling components of their robot at the very last minute. When students are asked to do so much in so little time, there are always going to be mistakes, and it's our job as volunteers, mentors, coaches, and parents to ensure those mistakes become learning opportunities and lasting memories.
On a whim, I decided to attend Team 1671's 2024 Kickoff event. I had recently quit my part-time job as a barista to focus on preparing for my final quarter at UCLA, and I thought maybe it could be a fun way to reintegrate into the world of engineering. I saw some old alumni friends and got excited about the new challenge like old times, but a lot had changed since I was last a part of Team 1671. I spoke with teachers and existing mentors about the challenges students faced in the post-COVID era, including a lack of drive or initiative, declining reading and math standards, and a feeling of disconnection from the team's history.
Furthermore, the team had never really had strong programming mentorship. I think this is a function of the Central Valley's geographic and economic situation. Despite its location in California and thereby its relative proximity to Silicon Valley and Los Angeles, the Valley doesn't really have a lot of tech jobs. It's a lot of agricultural business, some manufacturing, and a lot of small, local, everyday businesses. All that stuff is great, but the people who are the most educated and innovative don't really tend to stick around. I remembered feeling that same sentiment in high school—the feeling of suffocation and wanting to escape the Valley for something better. It was a symptom of the complacent suburban lifestyle, the sense that people didn't really grow and change here, that they moved here to “settle,” for better and for worse. Regardless of how accurate or inaccurate that portrayal is, it was a popular sentiment when I was in high school, and it is true that the Valley has a bit of a brain drain problem.
Figuring I could actually make an impact on these kids, I decided to stick around and mentor the team myself. At first, I felt a bit shy and out of place, maybe even a little embarrassed about my lack of success in the “real” world, but I soon realized that, as a young adult with most of an engineering degree, I had an opportunity to reach our students in a unique way. Teachers and senior mentors tend to come off like parents when dealing with students, and no teenager particularly enjoys dealing with parents. As a young adult—and an educated one at that—I can step into their worlds by joking with and relating to them much more like an older sibling than a parent. I can show them that I have the same brain-rot and proclivity for mischief while also having a broader contextual understanding of how they got here and what they need to learn to get something done or move past a setback or just grow as a person. Never underestimate how easily you can get someone to understand a lesson when you the frame it in a way they already want to hear.
The 2024 FRC challenge was called Crescendo and consisted of scoring 14″ foam rings called notes upwards into a thin goal called the speaker and downwards into a slot called the amp. The fundamental mechanic was that for every two notes scored in the amp, the speaker could be temporarily “amplified” for double points. There was also an endgame phase where robots had to climb on a swinging chain and score a note in a special location only accessible while climbed. Though simple, clever field geometry made scoring a note into all three locations a real challenge.
Since college, the meta in FRC had changed considerably. The control system had gotten updated several times, and stronger motors with more sophisticated controls had gotten popular. Specifically, a few manufacturers designed brushless motors with integrated controllers and much higher power densities, Compare common FRC motors using Reca.lc, a mechanical design calculator based on JVN.allowing for stronger, faster, and more efficient movement and scoring.
On top of that, a few manufacturers created off-the-shelf assemblies for what is known in the FRC community as a swerve drive system. Swerve is a type of holonomic drive system that allows for omnidirectional and independent translation and rotation by controlling a set of swerve modules, usually located at each of four corners for a quadrilateral chassis.
Each swerve module is comprised of two motors that together control the orientation and speed of a high-traction wheel. It's like a caster wheel but with both degrees of freedom powered. Many implementations are possible, but the fundamental interface for controlling such a module is independent control of its drive speed and direction.
Then, using a fairly simple set of kinematic equations, a desired translational and rotational velocity can be used to determine individual module states, and robot operators can remotely drive their robots without having to worry about pesky things like lining up just right or flipping left and right in their heads while driving backwards.