Behind the Bumpers - FRC 118 Robonauts Robot Breakdown One of the most iconic teams in FRC 118 Robonauts breaks down the design of their incredible Rapid React robot on Behind the Bumpers.



Thanks Tyler for coming by and interviewing us! Sumi, Jackie, Jack, and Jonathan did a great job going over the most important bits in (what feels like) such a short interview.

I thought I’d add in a couple of the most common questions we came across at tournaments this season:

Why is the intake so big and bulky?

Big: that’s how the packaging worked out once we found the benefits of a large wheel diameter. There simply wasn’t space to stow the intake in front of the shooter, so we had to stow it above and one-way deploy it over the shooter. This pushed the pivot point backward, and necessitated the long box tube arms. They are 1x1.5x0.125 aluminum box tubes. Bulky: we expected to be running quick cycles under defense and wanted to be able to survive hits from other robots and collisions with field elements without worrying about breaking or over-flexing a floppy intake. Having seen how our robot architecture turned out and how G204 was enforced, we may reconsider this philosophy in the future. We like rigid intakes from a reliability perspective, but the excessive length of these arms led to some bending after long practices and especially hard hits with the lower exits and hangar trusses. Shorter arms would have held up better, had we found a nice way to package them in the length of the robot. We often brought an entire spare intake to replace at competition.

Why SDS mk4 instead of mk4i?

We had both on hand and went for the lighter ones that were easier to swap, since it would be our first competition swerve drive to share the field with other robots in 13 years. We used mk3s successfully for the 2021 at-home challenges so we were familiar with the assembly and maintenance required. We brought 4 complete assembled modules to competitions, with CAN IDs already assigned and connectors set up for quick replacement of entire modules at the first sign of any trouble. After the only problems we saw were the main plates bending upward over time, and that not being an issue with the mk4is, we will likely move to those style of modules in the future.

Why 3 Falcon 500s for the climb?

We counted up the motors on the rest of the mechanisms, maybe around build week 3, and found there were 4 remaining once other subsystems were accounted for. Climb took 3 and left one to solve problems. We ended up using that last PDH slot for a Neo 550 to replace the lackluster pneumatic climb deploy we started out with. You don’t need 3 falcons to climb quickly. We geared rather aggressively, intending to briefly max-out current draw through the main breaker as well as individual breakers in the PDH, but ended up mostly running at lower speeds to keep the routine smooth and controllable. The climb worked nominally with 1/3 motors disconnected, which was our backup plan as went though a weigh-loss program leading up to nearly every tournament of the season.

Triple traversal? (Okay, maybe I just want to talk about this one as the lead mentor for our climber)

We built the upper structure and shooter head narrow such that Horizon takes up less than 14" of the traversal rung. We were stoked to finally get the opportunity to show this off at IRI thanks to 4499, 624, and 1987. End game points are essentially independent of your opponents, so we strived to maximize them. We can’t honestly say we expected every 3rd robot candidate at champs to be able to climb to the traversal (maybe a whoopsie for Everybot, but c’mon man…), but we’re glad we put some resources into being narrow. The Einstein round robin tie-breaker being hangar points made it almost silly not to plan for the possibility of getting a 3rd partner that could climb to the traversal.

I’m happy to track down answers from our students to any other specific questions about Horizon!


To start, I just want to say that the entire climber mechanism is one of the coolest mechanisms I’ve seen compete on a robot. You have no idea about the number of hours we (RUSH) were staring at your reveal video to try and analyze the geometry to achieve similar performance.

For a question, can you talk about how you decided the gearing for each mechanism? Specifically interested in mechanisms like the intake, ball transfer, and turret.


Clayton, thanks for the kind words and asking this question. It gives us a reason to finally document the trials and tribulations our team went through for each mechanism’s powertrain this season, as well as the lessons we learned.

As Sumi mentioned in the interview, we started the season with the L3 ratio, intending to build a light robot and to be fast. This was based mostly on SDS’s recommendation for the L3 ratio for light robots that want to go fast. Despite our best efforts to stay light, we ended up weighing in at 125lbs at every tournament we competed at. Following some incredible defense at FiT District Champs from teams like 4641, 8055, and 8749, we knew we had to finally address our lack of acceleration. We tested both L1 and L2 ratios on our practice robot and our drivers found a significant improvement in maneuverability around defense with either, but a marginal edge for the higher-acceleration ratio offered by the L1s. If there were more protected zones, longer sprints, or we built a robot that was less pretty, we may have been able to stick with a faster drive ratio.

The philosophy here was to go as fast as possible without stalling. Per Marcus, the student that CADed our intake, we started around 2x the linear speed of the base, with a Falcon 500 and a single stage belt reduction to the front wheel with a diameter of 6”. The front roller shaft is belted back to the secondary roller 1:1, which has smaller wheels, between 2” and 4”, carefully spaced to eliminate jams and dwell zones. Marcus thinks it ended up being a 12t to 40t 5mm HTD belt reduction, after slightly increasing the reduction following some stalling early in the season.

The indexer/feeder belonged to the shooter subsystem and ended up coming together pretty painlessly. The philosophy was to gear it fast, but reasonably, based on how quickly we wanted to feed cargo through, remembering that the ball will go at half the linear speed of the roller since it’s only driven on one side. It’s packaged very tightly with a 1-stage 32dp gear reduction from a Neo 550, I believe a 12:40 to 2” omni wheels. We never adjusted the gearing on the feeder, opting to simply slow it down by commanding less than max output.

The turret gearing was mostly based on heritage from our previous robots. Our 2012, 2017, and 2020 robots felt like their turrets were geared down too much in hindsight. We wanted a snappy action that kept up with the turning rate of the drivetrain, giving us the possibility of shooting on the run. The turret gearbox uses a Neo 550 through a 32dp gear reduction, designed to be swappable with larger gears for a higher reduction, finally ending in a large 20dp hollow gear allowing game pieces to pass through. The fastest ratio, which we started and stuck with, has a free speed of ~600deg/sec; 2-3x faster than any of our past turrets. The purely inertial loading seen in this joint was easy to accelerate with such a ratio, and it may even be possible to run with less reduction.

Hood Angle adjustment:
The philosophy here was to package something around the same free speed as the turret into a small space to keep the shooter head’s sweep small. Us mechanical engineering mentors only knew that if we went too fast the software squad may not be able to precisely control the mechanisms. The structure that the hood lifts is only a couple of pounds, and a Neo 550 could lift and control this joint with only a very light spur gear reduction to a large sector gear.

Shooter Main Wheel:
2 Falcons; Free speed makes shots from the terminal, found through prototyping. We never used this shot and were able to get up to speed for nearer shots even with significant voltage drop down to 8v.

Shooter Hood Wheel (separately geared from the main wheel):
We had to change this ratio and motor type the week before champs as we found that we were commanding the Neo 550 to max output for many of our shots, and it was not reaching the desired speed. We had tuned our shot table to basically the free speed of the Neo 550 in order to eliminate backspin, and when voltage dropped to ~8-10v regularly during matches, it just wouldn’t get up to speed and we missed shots. We lowered the ratio such that a battery voltage of 8v would still allow the free speed of the motor at that voltage to yield the speed required for long distance shots. We also swapped to a Falcon 500 to be sure there would still be enough torque to accelerate up to speed in a reasonable amount of time.

Climb Deploy:
This one-time actuator was geared aggressively, knowing that a high current draw would be fine for such a short period of time. David, a Senior and our Mechanical Chief Engineer, designed this joint to draw a maximum of 30A through a Neo 550, based on the weight of the already-built arm and length from the pivot. It’s so fast we ended up commanding it to half max output to keep from smashing so hard into the latches and its single-use per match still takes well under a second. There was no need to have a high ratio for this mechanism, as the latches took all the load during the actual climb.

Climb Rotary Joint:
The climb powertrain was designed to not trip the main breaker, or individual PDH fuses, based on their published time-current graphs. We threw 3 Falcon 500s at it because we wanted to climb fast and had the PDH slots available after allocating the rest to every subsystem. We didn’t bother considering any dynamic loading and instead just looked at the max robot weight at the radius of the windmill-arm. Looking at the main breaker’s graph, we knew we could draw 180A for 10 seconds safely (we better make it to the traversal in under 10 seconds with a 3-peak-horespower actuator). That’s 60A per motor. Rev’s 40A breakers can handle 200% of rated amperage for 5 seconds and 135% of rated amperage for 30 seconds. A Falcon 500 draws 60A when it experiences a torque of 1.2 Nm. The ratio was picked based on this single point on the Falcon 500’s graph from This led to a 120:1 ratio including a final #35 chain reduction of 12:48.

Overall lessons learned this season:

  • Gear for acceptable performance at 8v. With so many slots on the PDH, which we are going to fill all of, we will see 8v at some times in some matches. The intake shouldn’t jam, the shooter shouldn’t miss, and the climb shouldn’t fail when that condition happens.
  • In controlled sequences like a climb routine, some simple math gives a good sense of expected performance. Be reasonably conservative and trust the math, even if it tells you your climb will take 1.5 seconds.
  • Use good batteries. We got a couple of bad batches of Interstate batteries during the season and had to run with them. Never again. After trying out Duracell batteries at IRI, and not seeing any more brown-outs or horrible voltage drop, we’re sold.
  • Don’t use a motor that isn’t a Falcon 500. The integrated and reliable controllers rock when compared to SPARK MAXes. The encoders have high enough resolution that we rarely need external sensors, as long as we can initialize at a known location. The only sensor we still have on Horizon is a multi-turn potentiometer on the turret. Every other positional mechanism just starts the match smashed up against its hard stop.

Smart people explaining their cool robots are my favorite posts on CD.


What about sassy one-liners screamin’ for likes, tho? Respect the game.


Hey! We can have both.

I know which ones I appreciate more though.


Thanks for the deep dive into each subsystem, this is an excellent showcase to others what kind of factors to consider when designing these sorts of mechanisms.

This is by far the most thought-provoking point you brought up, and is something we’ll have to consider going forward. Far too many teams missed climbs this year (including us once) because the battery was dead or nearly dead at the end of the match.