kauailabs / kauaibotsfirst2010

Automatically exported from code.google.com/p/kauaibotsfirst2010
1 stars 0 forks source link

Software tool to calculate robot drive performance parameters #4

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Here's the purpose of the software:

We want to know:

- Torque (in oz-in) required to get the robot moving
- Max RPMs we can expect at given robot mass/gear_ratio
- What Gear Ratio we should use to reach Peak Pushing Power at given robot mass
- What Gear Ratio we should use to reach Peak Efficiency (Speed) at given robot 
mass

Here's how to calculate this stuff:

Force_of_friction = static_coefficient_of_friction * robot_mass * gravity [in 
units of Newtons, which is same as Kg meters/second^2]

Torque = Force_of_friction * Radius_of_wheel [in units of Newton meters]

static_coefficient_of_friction = .7 (forward direction) OR .6 (sideways) [from 
andymark.com gearbox spec sheet]

robot_mass = [variable, up to 160lbs w/bumper and battery] - user should input 
this, it will change based on design]

To convert pounds to kilograms:  x pounds * 0.45359 Kg

gravity = 9.81 meters/second^2 - this should be a constant

Radius_of_wheel is 4" (from andy mark spec sheet of the mecanum wheel) - this 
should be a constant

To convert inches to meters:

1 in = 0.0254m

The result is the "torque_require_to_get_the_robot_moving" - in units of Newton 
meters.

But the Andy mark motor spec sheet is in units of oz-in, so you have to convert 
newton meters to oz-in.

1 oz-in = 1 Newton meter * 141.6

Further, there are four wheels on the robot, so you divide the 
torque_to_start_the_robot_moving by number_of_wheels.

Further, the gear ratio has to be taken into account:

Per the andymark spec sheet for the gearbox, the standard gear ratio is 12.75 : 
1 [this should be a constant]

So divide the torque_to_start_the_robot_per_wheel by curr_gear_ratio (12.75).

[this yields the torque_to_start_the_robot_per_geared_wheel - the minimum 
torque to get the robot moving]

*****

Next, we want to calculate the maximum rpms we can expect for a given torque.

The motor specs give us info on how many RPMs to expect at a given torque.

Per the CIM motor spec sheet response curve on the FIRST website (these should 
be constants in the software):

Free Speed:  (Max RPM of motor shaft BEFORE gear ratio is taken into account, 
if robot weighed 0 pounds) = 5310 RPM
Stall Torque:  The Max Torque (in oz-in) the motor can generate - to push it 
any farther would burn out the motor! = 344 Oz-in.  If you want a slow, but 
very strong "pusher" robot, this is what you'd want.
so at torque 0 oz-in (the minimum torque), the Max RPMs is 5310 RPM

At stall torque 344 oz-in (the maximum torque),the Max RPMs is 0.

There is a linear equation which can therefore relate the 
torque_to_start_the_robot_per_geared_wheel to a maximum RPM, as follows:

  Max RPM = 0 RPM + ((5310 RPM / 344 oz-in) * torque_to_start_the_robot_per_geared_wheel)

*****

From the motor specs, we also get this info:

Peak Pushing Power:  ~175 oz-in @2500 RPMs.  THis is the sweet spot for a 
strong robot.
Peak Efficiency:  ~35 oz-in @4700 RPMs.  This is the sweet spot for a very fast 
robot (but weak pushing power because of low mass/low torque).

To calculate what Gear Ratio we should use to reach peak pushing power at given 
robot mass:

   curr_gear_ratio / (peak_power_rpm / Max RPM)

Next, to calculate what Gear Ratio we should use to reach peak RPM at given 
robot mass:

   curr_gear_ratio / (peak_efficiency_rpm / RPM)

Original issue reported on code.google.com by scottlib...@gmail.com on 21 Nov 2011 at 7:24

GoogleCodeExporter commented 8 years ago

Original comment by scottlib...@gmail.com on 9 Mar 2012 at 7:49