Calculation of Torque and RPM
Displacement and Velocity
We all know what velocity is, but how do you design a robot to go at a defined velocity? Of course you can put a really fast motor on your robot and hope that it will go fast enough. But if you can calculate it you can design it to go your required speed without doubt, and leave the rest of the motor force for torque.
So how to do this? For an example, suppose you have a wheeled robot that you want to run over old people with. You know from experiments that old people can run at 3 feet per second. So what motor rpm do you need, and what diameter should your wheels be, so they cant get away or hide their medicine?
Conceptually, every time your wheel rotates an entire revolution, your robot travels the distance equal to the circumference of the wheel. So multiply the circumference by the number of rotations per minute, and you then get the distance your robot travels in a minute.
Velocity = circumference * rpm
Velocity = diameter * pi * rpm OR Velocity = 2 * radius * pi * rpm
For example, if your motor has a rotation speed (under load) of 100rpm (determined by looking up the motor specifications) and you want to travel at 3 feet per second, calculate:
3 ft/s = diameter * pi * 100rpm
3 ft/s = diameter * pi * 1.67rps (rotations per second)
diameter = 3 ft/s / (3.14 * 1.67 rps)
diameter = 0.57 ft, or 6.89"
Robot Wheel Diameter vs Torque
You probably noticed that the larger the diameter of the wheel, or higher the rpm, the faster your robot will go. But this isn't entirely true in that there is another factor involved. If your robot requires more torque than it can give, it will go slower than you calculated. Heavier robots will go slower. Now what you need to do is compare the motor torque, your robot acceleration, and wheel diameter. These three attributes will have to be balanced to achieve proper torque.
High force is required to push other robots around, or to go up hills and rough terrain, or have high acceleration. As calculatable with statics, just by knowing your wheel diameter and motor torque, you can determine the force your robot is capable of.
Torque = Distance * Force
Distance = Wheel Radius
Force = Torque / Wheel Radius
But you also want to be concerned with acceleration. For a typical robot on flat terrain, you probably want acceleration to be about half to a third of your velocity. So if your robot velocity is 3 ft/s, you want your acceleration to be around 1.5 ft/s^2. This means it would take 2 seconds (3 / 1.5 = 2) to reach maximum speed.
Remember that:
Force = Mass * Acceleration
There is one other factor to consider when choosing acceleration. If your robot is going up inclines or through rough terrain, you will need a higher acceleration due to countering gravity. If say your robot was going straight up a wall, you would require an additional 9.81 m/s^2 (32 ft/s^2) acceleration to counteract. A typical 20 degree incline (as shown) would require 11 ft/s^2.
How do you calculate how much additional acceleration you would need for a specific incline?
acceleration for inclines = 32 ft/s^2 * sin((angle_of_incline * pi) / 180)
You must add this acceleration to what you already require for movement on flat terrain.
So now what robot wheel diameter should you use? Going back to an earlier equation,
velocity = diameter * pi * rps
OR
diameter = velocity / (pi * rps)
3 ft/s / (pi * 2/s) = wheel diameter = .48 feet = 5.73"
You are finished! You use motor B, with a wheel diameter of 5.73", and never again will your robot fail at plowing over the neighborhood cat.
Although the above equations are intended for robot wheels, they will also work for any other robot part. If you were say designing a robot arm, instead of using diameter use robot arm length. Then you can calculate how fast the arm will move with a certain weight being carried, for example.
Ever notice how heavier things are harder to push than lighter things? This is because of momentum. Knowing your robot's momentum is very important if you want high acceleration for your robot. If your robot is heavy, it will take forever for a weak motor to get it to go fast. How do you determine the momentum of your robot? Just multiply the mass times the velocity. Lower momentum is better for mobility and higher energy efficiency. Higher momentum is better for beating up other robots . . . and people.
Source: Society Of Robots