To what scale are physics used in frc?

Hi, I’m a CAD design team head and I’m trying to learn and then teach how to also use physics (highschool level and maybe a bit beyond that) to plan how the subsystems should work and which components to use.
I just do it by looking at different types of systems and thinking what physical considerations they would require to work properly. So far we’ve been able to learn about the motor characteristics (Rpm, torque, efficiency…) which I assume are a must know, choosing gear ratios based on weight to lift and desired speed, using springs or surgical tubing to counterbalance or lift linear or rotary mechanisms, calculating pneumatic piston force (F = P*A), and understanding the torque needed for drivetrain wheels to not slip based on friction.
Next I would want to learn how to plan subsystems with wheels interacting with the game pieces, like conveyors, intakes, shooters. From what I’m guessing the calculations would be for the wheels’ tourqe needed to give the pieces a certain velocity, considering weight and friction etc. And I might need to include lessons about work and energy so we can understand the kinetic energy transmission.
But looking around the internet I get the impression that some of the best teams get these parameters correct in the code by just doing a lot of testing and changing until they settle on what they find works best. either that or they would need very complex calculations considering air drag, contact surface, inertia and more.
So am I digging way too much because it seems like common sense to me that for good design you would need to know the physical reason of why each component is used and placed in a specific place on the robot.
If I’m not then could someone link me to a good source going over those knowledge requirements or write about them here because it’s getting hard to guess these things. It would be very appreciated.


General physics concepts like torque (which you mentioned), stuff about center of gravity / tipping, stuff about not overloading structural components, that comes up a bunch.

Specific physics stuff like “how fast does this wheel with this surface need to spin to make a foam ball (with this many millimeters of compression) (against a surface) launch at some given velocity (oh by the way, the surface, ball, and wheel all have their respective coefficients of friction”… doesn’t come up very often, if at all. It’s incredibly complicated to calculate, whereas you can put together prototypes, test, and iterate pretty quickly.

I have heard of some teams using physics for advanced robot features—one example that comes to mind is 1690’s shoot-while-move code from this year. You can watch the 1690 Behind the Bumpers to get an explanation of all that went into it. However, that isn’t something every team needs to do, imo—iterating and converging on the right values may be a lot more effective.


This year, some teams, including mine, used physics equations to determine how fast/what angle to shoot the ball. However, a lookup table with interpolation would probably have worked better.


Basic force and torque calculations are great for things like arms, climbers, elevators, etc. We usually design these exclusively in CAD and it (generally) works first try.

For more dynamic systems like shooters, intakes, etc. we usually do a rough calculation to get a sense for what are reasonable speeds using rules of thumb like surface speed = 2x drive speed for intakes, or using basic shot calculators to get shooter surface speed, but ultimately the final sizing, dimensions, and gearing are determined by prototyping. Basically any time that you have to worry about friction or drag, it’s easier and more reliable to prototype.

As a last note, your programmers might benefit from having some calculus/physics/dynamics knowledge to help them understand what exactly the code is doing - that said, it’s not as necessary since WPILib does most of the heavy lifting.


Teach concepts relating to levers, wedges, pivots etc. You should be able to find relevant curricula by searching for “simple machines”. It’s always good to start with the fundamentals.

1 Like

I like this “Mechatronics” reference which provides some of the science background related to parts and mechanisms in FRC.


Generally speaking, anything that relies on a coefficient of friction is too much - we just aren’t at a place where those numbers can be known accurately in most cases, and often things like wear and tear or ball inflation plays a larger role.

So, things I’ve focused on:

  • General F=MA applications with free body diagrams. Very useful for calculating torque requirements for arms and elevators!
  • Torque/speed ratios with gears and motors, and how to calculate your output free speed/stall torque with a given motor/gearbox. We don’t get into specifics (losses due to friction, motor performance at different power ranges, etc) - do the base calculations and build in a 30%-50% “safety factor” to account for those and call it good enough.
  • General projectile motion - launching a ball at X speed and Y degrees, where will it go? You can use that to get a solid ballpark for your shooter speed, but it’s not going to be perfect.
  • Understanding center of gravity, although we don’t do much calculation around it.
  • Understanding air pressure - how do we answer the questions of “how much storage do we need on the robot?” and “How big does that piston need to be?”
  • Prototyping is definitely useful! Even in a situation where you can do the math, prototypes can help students understand how different parts work together. They also help you account for losses that your basic equations (friction, drag, etc) aren’t taking into account. It’s one thing to sit down and do some math, build something and see it “just work” - it’s something else entirely to change some variables and actually experience how that impacts your mechanism.

Finally, I’ll say this: Physics obviously has a big impact on how robots work. But as mentors, our job isn’t necessarily to teach the physics. I focus on “exposure and inspiration” - show them how the physics applies to the robot, let them have some fun playing with the prototypes. Hopefully doing that helps them get more excited about the classroom work they do when they eventaully get into physics!



I don’t feel like there is much appreciation or understanding for how long it takes (or how much force it takes) to get to a static measurement (robot speed, elevator speed, RPM of a swerve’s azimuth, etc.) Static calculations are easy to dialog and write out on a chalk board and everyone can wrap their head around them. (i.e. RPM x RATIO x WHEEL circumference is, at least for me, easy to picture in my head and convey to others)

Time to get to said goal can be calculated, of course, but looking at it written on the board just doesn’t seem to excite people as much. This normally boils down to saying “O.K folks, make sure “F” is as big as it can be and “m” is as small as it can be because we want “a” to be really big.”

Just as important than understanding different parts of the physics is being able to graph information. We are a big fan of graphing. I love this picture and I’ve posted multiple times and it never gets old. It’s graphed wheel speeds, motor currents and some PID info during a hole shot of the 2020 robot geared for 11FPS for 1 second.

There is a cornucopia of physics that can be discussed at nauseam in this single graph.

  1. F=ma… how long the green lines took to get to steady state (wheel speeds). What would it look like if we were at 22FPS? What if we where using 775s? How does current limit effect things?

  2. Traction/Friction… the little flat spot on 2 of the green lines (changing wheel speeds over time). We wouldn’t even know this was happening without the graph!

  3. Motor currents (blue lines) and how it relates to what is happening with the green lines (less current on the spinning wheels due to “D” of the PID decreasing the output with extreme prejudice).

I digress, got kinda excited there.

I feel that F=ma is pretty important.


Very nice post Mark!

1 Like

Physics is still great for prototyping angles though.

Physics is great for determining how your robot will hang. Especially if you are not using two support arms.

There’s a limit to applying high school physics and physics formulas to building robots because it’s not ever going to get you a real world solution, at best a guesstimate.

It’s really just the concepts taught in physics are the key to understanding and problem solving. Free body diagrams are great, but rarely are robots still.

The empirical test result is the best way to arrive at an answer. Some call it prototyping. Others call it a 6 week build season.

Even in real life mechanical engineering in my professional experience, I’ve relied on established research, which by the way is just empirical results tested by others and compiled, and factor of safety to make sure something passes a requirement or ends up as a valid solution.

By far the mathematical principals I can apply and teach as a mentor the most are geometry (planes, parallelism and symmetry, shape definitions like right triangles and hexagons) and trigonometry (finding angles, importance of triangles), especially for CAD. I feel like you apply these concepts on such a basic and regular basis, it simply becomes second nature, and inspiring that this “math” is being used in real life.


I guess that takes you far along, but I also ran into someone today that is an engineer for an industrial machine fabricator, who does stress/strain analysis for work, and said how before he started that machines that engineers designed were just falling apart. In FRC and some cases, you can get away with less calculating using more established practices, but the equations will help figure whether it will hold up.

Doing the math will almost certainly get you close. Things like motor and gear selection, torque calculations, elevator speeds, even modeling the controls system can get you close. I usually give ourselves a factor of safety of 1.3-1.5 to make up for things like unaccounted for efficiency losses, and that pretty much just works. Maybe our elevator is slightly faster than predicted, but I’d rather err on the side of having too much speed or power.

Maybe I’m not good at communicating, but you seem to want to disagree with what I said, yet I don’t disagree with what you said. So not sure where the disconnect is.

I use equations at work. With researched values. And factors of safety. And test it to pass.

Use whatever “physics” equation applicable, to get you started. But you still need to test it. Often I find solutions aren’t what we first calculated, which I’m never surprised because of the limitation of high school physics, doesn’t account for anything real world, just explains the concepts.


Curious how your code looks, is it public?

We rapidly came to the same conclusion. We found the best rpm to shoot at starting at our closest possible shoot out to our longest possible shot in 1 foot increments. We were then going to calculate the distance to the target based on trigonometry and the limelight elevation angle and then use that distance to index into our interpolation data … until we realized that we could just also record the angle at each of the test distances distances and then index the interpolation table by elevation angle and directly obtain the correct motor speed!


I’m just going to add here that my AMB Calculator uses a lot of fundamental physics in the derivation of its equations, and all of those derivations are documented and explained. If you’re interested in seeing how physics is used in FRC, the docs might be an interesting read.


Thank you all so much, the replies helped me get a much clearer image of where I stand and what direction I should take, So I believe my team is covered enough in the basic physics required for predesigning, for the wheel interaction systems I should teach estimation tools and calculators rather than real equations. and then we could leave more room and experience for iterating and testing as well.


To provide my team’s version of physics, I’d say our practice is the best equation we could use, doesn’t fit the game piece and exact real world scenario as well as a rapid prototype. We guestimate compression, grip, torque, speed, etc, then adjust to get the best result as well as creating lines of best fit for things like speed on a shooter. I asked our head mentor this exact question last week so I could prepare myself for the season better and he had a good outlook in the sense of we can control our shop variables and make the ball pressure, grip, etc, as close to perfect for an equation, but what will we actually play with? it’s better to just safely do most of the time and see what actually works over several trials.