How can we predict the max speed of our robot when we design it?

Hey, I am Jackson from rookie team 6941. When we were attending an off-season of the 2017 FRC season, we found that our robot was moving at a relatively slow speed and we didn’t predict that at all. We thought the problem is that we only used 4 CIMs for the drivetrains but our robot was too heavy (nearly 100lb).

The question is, how do you guys predict your robot’s speed when you design the chassis? Are there any useful tools or formulae you guys are using? Moreover, are there any recommended tutorials for design a chassis?

Thx a lot~

There’s actually quite a bit of resources for what you’re looking for. I’d look at JVN’s mechanical design calculator. There’s a lot of great calculators for drivetrain specs in there that can tell you all sorts of info like current draw, top speed, and other useful info. Out of curiosity, what was your gearbox ratio at for this year?

+1!

And also wheel diameter!

Also, it isn’t entirely clear: do you mean that its top end speed was slow, or that its acceleration was slow?

This is wrapped up in the JVN and other calculators, but here’s the main rub:

Gearing too low (high N:1 ratios) will result in a well-accelerating robot that cannot reach a high speed, and gearing too high (low N:1 ratios) or too few/weak motors will result in a robot that does not accelerate well, and can never reach its top speed on the field. The key to building the “fastest” robot (in terms of accomplishing game objectives) is to find a gear ratio in the sweet spot between these - as well as having enough power to begin with, and a well-aligned construction which does not lose a lot of that power.

Your robot weight doesn’t have a lot to do with your top speed, given a set of motors and gearboxes and wheels, but it does heavily impact your rate of acceleration. Similarly, the number of motors you add has relatively little to do with your top speed, and has a lot of impact on your acceleration. “Add more motors to make it go faster!” is a bit misleading in that sense.

The only part of your chassis design that will influence your top speed is the size of your wheels - and that is just an extension of your gear ratio. For a given gear ratio, bigger wheels will move your robot more per rotation of the gearbox. This does NOT mean “oh, just get big wheels so we go fast!” - it just means, if you use smaller wheels, you can use a different gearbox with less gear reduction (and thus a lot less weight when you add it all up) to get the same results.

As I’m alluding to here, the really important thing is your Gear Ratio. This is the reduction in speed and increase in torque caused by the gearbox you attach the motors to. By changing this gearbox and/or the gears inside it, you can adjust the speed of your robot and its rate of acceleration, within reason.

You need enough torque to accelerate your robot at a reasonable rate, without tripping any breakers or burning anything out, so you can’t gear a robot for super fast speeds without considering that. This is why people add more motors (or lower their robot weight) - it reduces the torque you need to accelerate, so you can “get away with” a faster gear ratio. But if you don’t change that ratio you will not get a higher top speed just by lowering weight or just by adding motors. All that said, if you’re going too slowly, you can change your gear reduction to raise your top speed as long as you’re careful and you check your math with one of the many calculators available for this purpose.

Have you checked that all your wheels move freely?

A silly thing to have checked is to make sure there’s nothing screwy in the code that be artificially slowing down your robot.

If you block up the robot and do full speed on the joystick you should see your motor controller lights turn solid. If they don’t, there’s either something wrong or you need to calibrate the motor controllers.

But the problem is more likely to be either a gear ratio selection or unnecessary friction in the drive train as others have indicated.

An issue that 95 has helped fix numerous times is simply bad electrical connections. All the right gearing, motors, and low-friction drives in the world won’t help if the electrons aren’t flowing freely!

It would be of great help for you to list the motors, gear ratios, controllers, and other details about your drive setup to help in diagnosis/consulting.

The first thing to do is to understand the state equations of the brushed DC motors that move your robot. After you fully understand that, you should be able to interpret the spec sheets for the various motors used in FRC. I cannot emphasize strongly enough how important it is to first understand the equations before using any of the existing design tools; spreadsheets are there to take away the need for you to do the math by hand, not as a substitute for fundamental understanding of the system.

The basic idea is that, neglecting friction, the top speed of the robot is determined by the “free speed” of the motor, i.e. the speed at which the back-EMF term in the “voltage balance equation” is equal to the applied voltage (in the case of an FRC robot, this is ostensibly 12V). From the free speed of the motor, you can (by considering the gearing between the motor and the wheels and the size of the wheels) determine the free speed of the robot.

However, in practice your top speed is somewhat lower than this, due both to the internal resistance of the battery preventing you from ever actually applying 12V to your motors, and friction in the drivetrain requiring that the motors output some torque to maintain speed (at free speed, as is clear from the equations, there is no torque output).

You also have the concern of being able to accelerate; if you gear your robot to move at 100fps, you will likely stall the motors and not go anywhere. Thus, the gearing you choose must “balance” torque and speed (shifting gearboxes can provide some additional flexibility here). The proper gearing is, of course, dictated by your design requirements and you must decide it for yourself.

I am guessing your team used the kit of parts chassis.
Here is the calculations that go into figuring the theoretical speed of the robot. This is purely theoretical, as previously stated, this speed is when the motors generate 0 torque so this is unattainable. Though this is the number most teams use to compare drivetrains.

6" Diameter Wheels
Toughbox Mini 10.71:1 Ratio
14/50 1st Stage Gearing 3.57:1
16/48 2nd Stage Gearing 3:1
3.57x3=10.71:1 overall ratio
4 CIM Motors

6" wheel=Wheel Diameter * Pi=6*3.1416
18.84" traveled per revolution of the wheel

18.84" / 10.71 * 5310 rev * 1 minute * 1 ft
1 rev 1 1 minute 60 secs 12"

= 12.97 feet/second

The actual speed can vary drastically due to power losses through the drive train system. This can vary due to wheel type, efficiency losses due to additional stages of gearing, bad gear mesh, too much tension in the belts or chains, just to name a few. Weight of the robot will also effect this value.

We were at 70% of our theoretical speed last year.
If your drivetrain losses were similar this year, this puts you at around 9.0 feet/second actual surface speed across the floor.
For reference we were at 13 feet/second actual surface speed last year.
This means we would have covered 1.5x more ground than you at full speed.

You can measure your actual speed by making two lines on the ground at a known distance, we use 20 ft between marks. Get the robot up to full speed before the first line and measure the time it takes the robot to travel the 20 feet between the two lines you have on the floor. Have multiple people do the timing, do multiple runs with your robot, throw out any values that are outside the norm and average your results between the good values. Then you can calculate the feet per second by dividing the distance and time.

20ft/2seconds=10 feet per second
Then you can divide your actual speed by the theoretical speed to get the percentage difference.

9ft/second (actual) / 12.97 feet/second (theoretical)
71% actual to theoretical
This can be used for future reference.

This all negates acceleration times for simplification.

For example, most teams do not exceed 20 feet/second theoretical speed.
Anything above 20ft/sec consumes more current to get the robot accelerating and slows the acceleration of the robot to a point where the top speed advantage is negated.

I hope this helps rookie teams learn a little.

Jackson -

Attached is a spreadsheet I have developed, over a series of years.
Various versions are posted, from time to time.

The results have not been validated; however, this should provide an analytical basis for trading your mobility options.

You might plug in your present drive train selection and see how the numbers compare. Make a change … motor, gearbox, wheel, robot weight, battery Voltage and see what the results indicate. Hopefully, this gets you moving along a path of improvement!!

Mobility sizing 171028.xlsx (2.79 MB)

Really grateful for all the replies from you guys!

Kevin was guessing right about our robot. We did use the standard chassis provided by AndyMark and for the wheels, we used four 6" Mecanum wheels.

I think this is a good question for me, I didn’t realize there was a difference between slow acceleration and slow maximum speed. I checked the robot again and I thought maybe the problem is having too high N:1 gear ratios. If we gave the robot a very long distance for accelerating, the maximum speed of the robot is not as slow as we considered before. Also, I just learned that the top speed of the robot is not greatly affected by the number of motors I have on my drivetrains. I really appreciate these useful replies!

Yes, but your acceleration sure is. This is why people colloquially say “more motors to go faster” - it’s not that, for a given ratio, the top speed increases, but for a given ratio acceleration can increase, and thus they can more safely pick a smaller ratio to get a higher max speed.

There are diminishing returns on adding more motors to the drivetrain; eventually the voltage drop caused by the load of the motors will exceed the benefit in acceleration that the motors would theoretically provide. Plus there’s a certain amount of voltage drop you just can’t have or your electronics will start to brown out. It’s a difficult set of variables to juggle!

Generally, there’s no reason to use less than 4 CIMs of mechanical power in a drivetrain. 6 CIMs requires some care to make sure you don’t drop your voltage too much. 6 or 8 775Pros requires both care to avoid voltage drop as well as care to avoid stalling the motor at 12V. If you aren’t sure, use 4 CIMs and try to pick a gearbox such as the Toughbox Mini or the Ball Shifter, where you can try out multiple gear ratios to “guess and check” what seems to work best for you.

One thing I haven’t seen mentioned yet is that maximum speed isn’t really what you’re after - you want to optimize your robot for the distances you’ll be driving regularly.

For example, this year you might take the distance between the two airships as the distance for which you want to minimize time. Then, you can design your robot with a gear ratio and motors such that the time to drive that distance is minimized - taking into account acceleration.

Our team doesn’t set maximum speed as a robot design target. Instead, for games like Steamworks and Stronghold, we target “number of scoring cycles completed before endgame”.

This means that our goal for the drive train, and for driver training, is quickness rather than top speed. We study how successful teams have achieved quickness. Kevin’s team is a good example, although their commitment to advanced drive train development is beyond many teams’ capabilities.

Our solution for 2017 was a two-speed gearbox. We studied several, tried two of them, and ultimately selected the AM EVO. We used three CIMs (or two CIMs and one MiniCIM) per side and four inch Colson wheels. We tested and trained drivers with several ratios, and selected the 4.77:1 ratio for our high gear and the 10.86:1 ratio for our low gear. The results were good; our robot was pretty quick this year.

The basic equation to calculate drivetrain speed is:
(motor free speed)(gear ratio)(wheel diameter * pi)/(60 seconds * 12 inches)

so for the kitbot it would be:
(5300 rpm)(1:5.95)(6" * pi)/(60 seconds * 12 inches) = 23 fps

This calculation doesn’t take into account mechanical efficiency, torque, or current draw but it gives a pretty good idea of where your top speed will be. I generally use 80% efficiency for drivetrains so your actual speed would be around 18.5 fps.

I have used google sheets quite a lot to predict the motion of the robot. Its pretty easy to set up a spreadsheet to predict drivetrain speed, arm rotation, motor current draw, and other values.

Check out this video from 973 https://www.youtube.com/watch?v=KB5Zn_VpL1Y

JVN, West Coast Products, and Andymark all have their own calculators on their websites that are very easy to use and provide a ton of information.

I’d suggest you take look at The RoboSports Network video on drivetrains. I don’t recall if they go into detail about specific tools, but they’re all very experienced in FRC and brought up factors that I would never would have considered. I definitely would recommend to watch any of their videos that interest you.

This might not be what you are asking, but the theoretical top speed of your robot should be (motor max rpm)x(Gear ratio(should be less than 1))x(Wheel circumference). Basically, how long it takes your wheels to make a complete rotation X the distance the wheel travels in one rotation.

If acceleration is your issue, you should be able to calculate that by (((motor max torque)x(gear ratio(greater than 1))/(wheel radius))/(robot mass). Keep in mind your actual speed and acceleration will never be as high as the theoretical, because of things like friction and poor motor performance.

Hope that helps