theoretical acceleration of a drive train

Often people talk about the top speeds of a robot but rarely do they talk about the rate that it achieves the top speed. Which lead me to wonder how would you go about calculating the theoretical acceleration of a drive train from a design.

People don’t talk about the acceleration of a drive train because it’s difficult to assign a single meaningful number, and people generally don’t know what 1 m/s^2 looks like.

A robot’s acceleration is proportional to how fast the robot is going. If you’re going full speed forward, you will have no acceleration. If you’re going half speed forward, you will have half of your acceleration at stall. If your robot is stopped, you experience “full” acceleration. This trend of increasing acceleration continues when you consider a robot that’s moving backward and accelerating forward. However, you will eventually reach a point where this relation becomes nonlinear and levels off because the rotor becomes saturated, but we don’t have enough information about CIM motors to find out where saturation begins.

These accelerations are also difficult to estimate because you will never actually get the rated stall torque out of the CIM. The internal resistance of the battery, the speed controllers, and all of the wiring/connectors will cause the motor to see less than 12 volts, and draw less than stall current.

Perhaps a better metric for measuring drive train performance would be time to travel a certain distance.

Yes, drivetrain acceleration is a function of current velocity. If you’re familiar enough with calculus, you’d recognize this as a differential equation.

Here’s a Maple sheet calculating the equations of motion for a typical FRC drivetrain and then optimizing a gear ratio for a specific sprint speed. Our team has developed something similar with SageMath that we will likely be using for ratio selection this year. You’re particularly asking about just the beginning section of this but I went in further.

https://drive.google.com/file/d/0B_lA0xR4_viqbTJYanE4X3VnWE0/view?usp=sharing

The equations are very complicated, but check out the bottom graphs. They demonstrate velocity and position as a function of time. The basic is this: higher gear ratios allow for faster acceleration, but lower max speed, and vice versa. The optimal gear ratio for a sprint is somewhere in the middle.

This is using some intro-college level mathematics, and software to solve the equations (these are not trivial to do by hand; in fact, they cannot be solved symbolically, only numerically), so you could see pretty quickly why this isn’t done very oftenly.

Oh, and as stated, this doesn’t even factor in brownouts. :wink:

Darn. Not in calculus. Next year though.

To find the instantaneous acceleration from a standstill is relatively straightforward. If you know the mass of the robot, all you need to know is the force the drivetrain can exert. Then you can use Newton’s 2nd Law to calculate acceleration. In FRC, robots are nearly always geared so that the force required to stall the motors is greater than the maximum friction force the wheels can exert against the ground. So for the instantaneous case, the force we care about is just the weight of the robot times the coefficient of friction between the wheel and the ground. (Actually, this approach is valid not just for the instantaneous case, up to but up to whatever speed corresponds to a torque on the motors’ performance curve that is insufficient to “slip the wheels.”)

As others have said, it gets more complicated if you want to understand the robot’s motion as it accelerates. The difficulty comes from the fact that as the robot’s speed increases, the amount of torque the motors can provide decreases, and so does acceleration. In other words, the available torque from the motor depends linearly on the robot’s velocity, so an analytical solution would involve a differential equation.

Solving that problem would be enough of a leap from high school math, but it gets worse. There are inefficiencies in any gearbox, between the wheels and the carpet (or whatever the playing surface is), and losses in the electrical system, all of which may depend non-linearly on velocity, making the differential equation that needs to be solved more complex.

Instead, rather than solve this analytically, it may make more sense to simulate what happens as the robot accelerates. If this interests you, you should absolutely pursue it - I know I’ve seen white papers on Chief Delphi estimating acceleration in a “drag race.” If you understand a little kinematics and how to read a motor’s performance curve, you might be able to set up something quick-and-dirty in Excel and get decent results, at least for making qualitative comparisons between possible reduction options.

While I don’t want to scare you away from doing the math, another way would be to load up a test chassis to 150 or so pounds, and then just swap out gear ratios and use a stopwatch. While possibly more expensive, that approach does have the advantage of being more empirical, eliminating any guesswork about the non-linear or unknown factors described above.

More easy to understand might be saying the robot can go from 0 to x in y seconds. For comparison, nobody says their car has a max acceleration of 40 mph/s, but rather that it can go from 0 to 60 in 2.5 seconds.

From a standstill, acceleration is limited by three things:

  • Torque/gearing
  • CoF of the wheels on the carpet/floor
  • Stability: determined by the height of the CoG compared to wheelbase

A bit more detail:

  • Torque: Calculate the combined torque of the drive motors at the maximum current you’re willing to draw. Multiply by the gear ratio. Divide by the wheel radius. Divide by the mass of the robot. About 80% of this is the maximum acceleration you can achieve without popping breakers or browning out.
  • CoF: Multiply the CoF of your driven wheels by the fraction of the weight of the robot carried by those wheels, and multiply that by the acceleration of gravity. If you try to accelerate faster than this, the wheels slip on the carpet/floor.
  • Stability: Divide the horizontal distance from the rear (front) wheels to the CoG by the vertical distance from this axle to the CoG, and multiply by the acceleration of gravity. If you try to accelerate (decelerate) faster than this, the robot winds up laying on its back (face).

Once you’re moving, the maximum acceleration is reduced, as noted by several previous posters.

Thanks for all of the replys, i think using acceleration from a stand based on torque will be a decent way to contrast two different gear ratios accelerations.

The spreadsheet I’ve been using for this: http://www.chiefdelphi.com/media/papers/3195

Other good CD papers:

Hill drivetrain simulator with lots of useful plots including time to distance, current draw, shifting (for 2 speed gearboxes)

Drive train theoretical equations

-matto-

Sweet.

Funny anecdote, when I was on 766 I started to calculate using time to distance in 2003. I know 766 used this up to 2011. That sheet has evolved into the sheet that 3476 uses to calculate “time to distance” today.