FRC Outside of FRC

Something I’ve noticed more and more frequently these days has been bugging me more and more.

Seems like everybody who’s faced with a real-world problem reaches for the good ol’ FRC tools: CIM, 775Pro, Versa, AndyMark, you name it. And I’m guilty of that, too, on occasion.

But what if…
–The FRC tools aren’t available?
–There’s a cost constraint that is too tight to allow for your favorite FRC piece of equipment?
–You can’t use the 1/2HP motor because it’s just plain too big and bulky–even though you actually need the power?
–Everybody else is familiar with other things?

What then? Do you 1) panic call everybody just to find that '07 KOP gearbox? Or do you 2) redesign as necessary to get a replacement? Or do you 3) plan for multiple solutions? (Or do you realize quickly that you can’t use FRC stuff and focus on what you CAN use?)

What I’m seeing a lot of is “I really need XYQ component, it’s out of stock, does anybody have one I can obtain legally?” What I would really prefer to be seeing is a lot of “I designed for ABZ component, but it doesn’t fit parameter SLK. Does anybody have any suggestions?” What I’d really, really like to see is “I want to use component D, but I can see these problems cropping up. How do I plan for quickly changing to another component as late as possible?”

Yes, I know. The familiar is really tempting. But here’s the thing: When challenged to come up with a solution under $1K to a problem, I used FRC parts to find one, and could not quite fit under that budget. And I wasn’t sure the CIMs planned for would hold up… On another project (at a different place) I’d love to be able to use a CIM-type motor. But on that one, while I’m sure a CIM-type motor would hold up, I’m pretty sure that other constraints would cause a pretty big problem–if I used an FRC CIM-type motor (or even if I used a CIM motor that wasn’t FRC-legal).

In the bigger picture, I’m getting kind of worried. So much of FRC is COTS these days that I’m worried that the kids are getting “We can just bolt this together, from these sources, and we’re fine” rather than how to select the proper solution from a wide array of sources, and properly integrate that with what they’re working on. If they aren’t getting that experience, how can we expect them to go to college, graduate, go into the workforce, and suddenly deal with the fact that, let’s face it, various requirements will work against using FRC parts? Or familiar parts in general?

And the solution is NOT to eliminate COTS parts from FRC. Far from it. In my opinion, the proper solution is to have students explain how and why they’re choosing to use what they’re choosing to use. As a second option for teams that can do this, build an offseason robot using non-FRC-legal components (conspicuously and permanently marked as non-FRC-legal, please–your friendly inspectors) to see how things open up (or not).

Just some (semi-coherent) thoughts to spark discussion, and remind people that the world is bigger than just our experiences.

I have definitely encountered this problem, especially as I get more technically capable and start to work on things that, for instance, require handling stuff like brushless motors which you can’t do with FRC COTS stuff, really.

For instance, I’ve spent most of the time I spend doing technically exciting projects doing them for FRC. As a result, I basically got to enjoy discovering the entire world of microcontrollers that I now can use to solve problems that the RoboRIO is 100% too overpowered for. So I suppose it’s fair to say that I’m enjoying the greater freedom I have by not being locked into a single control system. That being said, I do tend to really miss the simplicity of having (for instance) all the power paths already laid out. I enjoy picking out and programming microcontrollers, not so much figuring out how to get them a steady supply of electricity from a battery. On the other hand, the challenge is always fun.

I am definitely concerned as FRC gets more and more COTS-focused. It’s nice that we have a massive catalog of things designed specifically for FRC that we can just pick from, “bolt together”, apply magic, and go. I also worry that as more and more features get wrapped up in COTS parts it will be harder to a) keep FRC generalizing to real-world engineering besides the engineering process, b) keep FRC from becoming too dominated by your ability to purchase advanced COTS parts, and c) prevent the marginal utility of innovation from being too low.

Of those, point a I think applies to what you’ve pointed out because, as you noticed as well, the more COTS FRC gets, the easier it is to sink into the mentality of being able to pull stuff off the shelf.

That being said, this definitely applies more to the electronics/programming aspects than to the mechanical design aspects.

I suppose it’s also worth mentioning that, while, to use your example, designing to fit a budget, yes you do need to know how to explore options other than the FRC ones. Being in a “bolt it together” sort of mindset isn’t necessarily a bad thing since a lot of topic areas in (especially electrical) engineering end up having a lot of bolting together, just with a different magazine to buy from.

I think this is a mentor-based problem more than anything else, which means mentors are the key. A few years ago (more than a few, actually), I noticed there was a tendency developing among the mentors on my team to just say “grab XYZ motor and ABC gearbox for this”. Yes, it was the right choice and yes, they did the math behind the solution quickly in their head. But all the students learned was to use those parts for that type of solution.

Ever since then, I’ve always tried to make sure the students are actually picking the motors and gearboxes used, which means taking them through the calculations. We figure out how much speed and torque is needed for an application, and I’ll pull out the motor specs for a few different motors. They’ll do the calculations to figure out which motor is most appropriate, and what the ideal gear ratio would be. Then we’ll talk about the possibility of overheating at stall and why that plays into the decision. Then we’ll search a couple of different websites to find the right gearbox (my favorite is looking at the gear ratio charts for the versa planetary, because that opens up a whole other discussion on how to judge between two different gearboxes that have the same reduction).

I don’t know if it solves the problem you mention Eric, but I think it definitely helps.

On my team, they always had a specific group of people do all of the complex things on my team specifically anything I did not already know. And the only building I got to do since I do not know much about engineering is bumpers, drilling, bolts and rivets. So now I know very little about engineering and as always we also stick with the same or similar parts and such no matter what even with our tiny budget. Oddly enough I’ve learned more about engineering from talking on chief delphi or on youtube than on my team. I still love my team though.

To build on Jon’s comments:
I’ll take it one step further, on my team we specifically do not use the KitBot, we do not use AM or VexPro gearboxes in our drivetrain, (we do use the gears though), choosing to design and manufacture our own. We specifically do not use any 80/20, any pre manufactured items where all you have to do is cut to length, insert of couple of fasteners and you’re done. The reason for this: because we can. We do have the capability of cnc machining up to 100" x 48", Part of the process, part of the inspiration is to have the student take their idea from brain to real part, as elegantly as possible.

I also realize not every team has the same opportunity, you build to your capabilities. I would rather see a rookie or under funded/under mentored team use pre made kitbots, AM or VexPro gearboxes, that not play at all.

In the real world, (not necessarily in my world, space and NASA, where we overdesign everything, and rightfully so) but in the commercial world, during he design of a product, if a commercially available motor. controller, widget is available and meets your requirement, then use it. Spend the extra time being your product prettier, more durable, add more capabilities.

Have you asked to be involved in the engineering decisions? I don’t know your team, but typically people are welcoming if you come to the table with initiative. If you can’t seem to insert yourself in these discussions, do some calculations on your own and present those people with a solution that is complete as you can make it. Hopefully, if you can prove that you have the initiative, you will be accepted in.

I like the COTS situation we’re in. Guess what? In real life there are loads of COTS options for many different industrial, research, and design situations.

Thousands of companies offer many more options as far as ratios, motor sizes, drive styles, etc. to take the gearbox examples. Things like google and amazon are your friend here! We need a lot of oddball stuff where I work, assembling print heads in clean rooms, and there is rarely a hand tool or machine that we can’t find OTS to work in our applications.

Designing custom stuff is cool and all, but far more often than not a custom solution is considerably more expensive than OTS hardware. When confronted with non-free machining expenses and the time required to create, edit, and release drawings for custom hardware within the constraints of a work-day those OTS options start to look mighty appealing. Not to mention generally shorter lead times for replacements or spares, customer support, and warranties.

While it can be tempting to stick with the familiar there is a multitude of readily accessible parts/products that cover an enormous variety of operation conditions and constraints. One merely needs to search for to find the right option. While making everything custom just ‘because I can’ has a certain appeal to it in creativity and elegance, it frequently is much more expensive than COTS solutions in industry where labor and machine time have costs and lead times associated with them.

I think of that as a feature not a bug. FRC puts a number of constraints on what teams can do. Those constraints tend to level the playing field and limit the scope of what kids have to do in a 6-week period. The rules also help limit the ability of mentors to take over using knowledge from their own jobs. (“We’re using these components at work, I’m familiar with them, so lets just use them instead.”)

Plus, the rules help ensure that teams can help each other. These forums get dozens of questions every season about individual motors, gearing and so on, and those questions are usually answered well. If teams weren’t limited to a half-dozen different motors, but could choose from hundreds that are out on the market, that help would largely disappear.

I get where the OP is coming from, but I agree with CEF. This isn’t really a problem. Sure, lots of “real life” mechanical and electrical engineering isn’t as nicely plug-and-play as the modern FRC COTS ecosystem, but FRC isn’t trying to be the real world, it’s a stepping stone. As such the easier it is to bash out mechanisms in 6 weeks, the easier it is to inspire students. You might as well complain that lego isn’t useful and fun because it snaps together too easily.

Besides which, what if students find FRC hardware actually helps them design something awesome in their post-secondary and adult careers? I had a student last year build a competition lunar rover from CIM motors, and I might be considering them for a future company product.

That’s the thing. It’s not a problem, but what I’m seeing is that people are limiting themselves to FRC-specific solutions for non-FRC problems. Can a non-FRC problem be solved with an FRC-specific solution? Sure. Is it going to be more work than doing a little digging and turning up a more appropriate COTS solution? Uh, YEAH!

CIM motors, BTW, are a commercial solution. Just make sure you get the right one–FRC-type CIMs aren’t the only ones out there. Just sayin’. (As I’ve pointed out in the past when someone asks.)

@CEF: I’m not talking about within FRC. I’m talking about when somebody goes into “the real world” and uses FRC stuff wherever they can because “that’s what I’m familiar with”. In FRC, stuff goes together “easily” because of certain “standard” features. Get into the real world, and you might be trying to match two different standards… and neither one has anything to to with the FRC hardware you’re trying to slide in.

I’m with Jon on this. Choosing components is an engineering process, and we should teach it as such. If we do that well, students should be able to look at their requirements and constraints, then find what they need, whether it’s an FRC part of not. If anything, more COTS parts in FRC is better: more differing options, more opportunities to teach, more similar to real life engineering (where companies or divisions usually restrict themselves to certain engineering problems and outsource the rest).

I honestly don’t think this is that big of a problem for the most part. For one, students after graduating will be forced to adapt after dealing with the first project that they have to pay for themselves or have a limited budget for. I also think it is fine that they learn this later on in college and/or industry. A lot of college students in general don’t even get to the building skills that certain FRC graduates have. It’s not that they aren’t smart but a lot just haven’t gotten much hands on experience on projects.

We are currently designing our off-season robot, which will be a football throwing bot that does multiple 50-yard passes (or whatever distance below that) from midfield for the Denver Broncos. It requires a lot of non-FRC parts, so far including the control system, the shooter wheels, the batteries, and perhaps the motors. Our constraints are different, so we are working to find out what we need and either procure it or build it ourselves. I’d say that off-season is the time to familiarize oneself with non-FRC stuff.

I love COTS.

Familiar can be more than good, familiar can mean success.

My work once bought $10k+ of Versaplanetaries for a batch of robots we were making. We regularly use VexPro parts to prototype kick-$@#$@#$@# solar panel cleaning robots. Many of these parts won’t see the production model but the familiarity we have with VexPro means we can prototype faster than the competition.

What some may see as a crutch, I see as a tool.


I think this is really more of a symptom of students leaving FRC without learning how to find a solution that best meets the constraints. The proliferation of COTS parts for FRC isn’t the underlying an issue; an ignorance of how to select the right tool is. When all you’ve got is a hammer, every problem tends to look like a nail.

I agree. Its even more difficult when your dealing with trying to raise funds, have enough mentorship/expertise support, and deal with school bureaucracies. Might as well turn this into a business class also.

I can’t wait to see this. :ahh:

Outside of very high-end R&D gigs, what engineering jobs don’t use lots of COTS components?

While I don’t fully agree with OP, this is missing the point. If you aren’t using lots of COTS, you’re doing R&D pretty much by definition. The issue is in limiting one’s COTS choices exclusively to those used in FIRST, even when the project is neither explicitly nor implicitly* subject to FIRST rules.

I think 3946 is pretty good about this. Once we figure out what we need for a non-competition function, we first check this against FRC devices, because

  • we might have it in stock
  • we might be able to use the parts for competition later

However, once we determine that our requirements really fall outside of the FRC allowable devices, we do a broader search. Our air cannon uses an AM Nanotube chassis because it is, after all, about the same size and weight as a 2012 FRC robot, but the pneumatics feature some scuba equipment, galvanized pipe, a cast iron tank, 3/4" brass solenoid valves, and utterly non-FRC standard 12V relay modules. More years than not, we’ve had an arduino-based control system.

A number of our proof-of-concept-not-intended-for-immediate-competition prototypes have used non-FRC motors and wheels and gearboxes, most commonly at a smaller scale for proof of concept.

A great number of our sensors through the years have come from outside of the regular FRC channels. This year we used three of these programmed in parallel (OR logic) to detect a gear in the holder, and four of these wired in parallel to detect when we were pushing against the touchpad, and a completely generic limit switch to tell us when our climbing winch was not securely stowed.

  • An example of an implicit case would be when you’re doing a mock game, and using the controls rules from the previous year.

I try not to limit myself to FRC components, but honestly, every time I need to do something on a budget (which is all the time) I always rely on two sources: The RC hobby market and FRC. Some things like sensors are easier to source from places like Ebay or Aliexpress, but if you’re looking for something that’s more robust than that FRC is extremely affordable. Industrial-level sensors, gearboxes, and motors are all extremely pricey and well beyond what I would consider spending for regular college-level projects. Most of the time, I’m limited to FRC COTS components as a matter of necessity.
Once I get into the “real world” I expect to need to look at those industrial level components, but as it stands I’m quite confident in being able to select the right tool for the job. Even using just regular FRC components has taught me how to do that much.