Tons o' Torque:
I could get a motor with a ton of torque, such as a window motor, and just have it overpower the friction.
From FIRST Wiki
These are the motors that lift and drop automatic car windows. I have experience using them in robots for the FIRST Robotics Competition. They're strong enough to handle moderately heavy loads, though maybe not strong enough to steer the robot with all of the frame's friction.
While this may have been the easiest solution, requiring that I only purchase a window motor and possibly gear it down, using brute force would merely cover up the problem instead of actually solving it.
I could modify the frame and turn it into a reverse tricycle design, much like a K'NEX robot I built to mess around with a while back,
K'NEX are a phenomenal prototyping (and in some cases, build) material. I made this robot as a simple test bed for project ideas. It's driven by two K'NEX motors in the front.
My friend and I actually discussed this option for a while. There were a lot of benefits to switching to this system.
- Having only one wheel in the back would greatly increase the mobility of the robot
- The rear wheel could be used as a sort of rudder to direct the steering of the robot, but by turning the wheel perpendicular to the front wheels, differential drive could be used on the two front wheels, greatly increasing the mobility of the robot
- Front wheel drive is generally more controllable in cars
- Three points are always guaranteed to be in the same plane, meaning that each wheel of the robot would always be on the ground, eliminating any "wobble"
- A triangle is the most inherently stable shape, and therefore the frame would also be very stable, at least in the plane of the base.
As ideal as the reverse trike design seems to be, I decided not to go with it due to several reasons, most having to do with the third, unpowered wheel. For starters, the back wheel of the robot would either have to be a type of caster (a wheel that follows the direction it's pulled in), an omniwheel (wheel that can roll in any direction) or a steerable "rudder" type of wheel.
Right off the bat the first two options can be eliminated due to availability. Power Wheels Jeeps are known for their "offroad" capabilities, which I would like to extend to the robot. However, most casters and omniwheels are small and made for smooth surfaces, meaning I would have to build my own for either option. In addition to this major reason, casters are more difficult to use because, as anyone who had those plastic unpowered cars when they were a kid will know, they make turning more difficult. For example, if the robot is going forward, the caster will be following this direction with it trailing behind its axle. However, if the robot were to move in reverse suddenly, the caster would need time to swivel around so it was trailing in front of its axle. While this isn't too much of a problem for small casters, the larger the wheel gets the larger the radius that the wheel has to swivel at, and the more difficult changing direction becomes.
As for the steerable rudder option, the turning of the rear will would still take a decent amount of torque to turn, especially since one less wheel means the weight that the fourth wheel was holding is placed on the other three. Because of this required torque, I would still need to get a window motor and possibly even gear it down, resulting in a robot that has to wait for the rear wheel to rotate before it can make any significant turns.
And last but certainly not least, I could spend a bunch of money on a set of two more Power Wheels motors and gearboxes, hope that they run the same speed as the set I already have, and change the robot from car steering to differential steering.
Differential steering is when the wheels on the left side and the wheels on the right side are independent from one another and can either work together or with one another to steer. For example, if the left wheels are moving backwards and the right wheels are moving forwards, the robot will steer to the left, and vice versa. In addition to running in opposite directions, one set of wheels running at a higher or lower speed than the other set will have a similar, but smaller, effect, a useful idea that can be used for slight adjustments in direction.
While this is certainly one of the more expensive risky solutions to the steering problem, I'm confident that it's the best option at this point in time, mostly due to the great maneuverability of differential steering. Differential steering provides the smallest turning radius of all steering methods. The turning radius of a vehicle is actually the diameter of the circle that is created when making a turn.
For example, the turning radius of a car is proportional to the amount that the steering wheel is turned. The more turn on the wheel, the sharper the turn and the smaller the turning radius. A smaller turning radius means more maneuverability because the vehicle requires a smaller amount of space to turn or change direction.
As for the detriments of setting up differential steering, I managed to find a pair of Power Wheels motors and gearboxes online for $75. In the event that the two sets I have don't run at the same speed, I could always do some slight modifications to solve this problem, such as varying the voltage to the faster motor to make it run slower, or increasing the wheel radius of the slower motor so it covers more distance with each turn. While neither of these solutions are elegant, there's still a chance they won't even be needed and it is certainly worth the risk to increase the maneuverability of the robot (I also never really liked the idea of car steering, kinda stupid and ugly for a robot, in my opinion).
However, it'll be about a week before the motors arrive for me to work on, at which point I'll need to figure out how to couple them with the wheels, build an axle, possibly rework the chassis, etc. In the mean time, it's time to take a welcomed break from the mechanical engineering and start back to work on some of the embedded systems I've been working on.