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
Original issue reported on code.google.com by
scottlib...@gmail.com
on 21 Nov 2011 at 7:24