Even though it is Friday, I am not wearing my happy face. Nor am I performing my happy dance. In fact, if the truth be told, I am more than a tad miffed. The reason for my disgruntlement is that I just received an email from those little rapscallions at RobotShop.com saying that they cannot fulfill the order for my three-wheel omni-directional robot base.
The robot base I was going to use before my hopes were so cruelly crushed.
They didnít say why they couldnít fulfill my order, just that it was to remain unfulfilled. Suffice it to say that if I ever have occasion to meet anyone from RobotShop.com socially, I fear I shall be obliged to give them a most disapproving glare. (I will start practicing now to ensure it is a really good one.)
On the other hand… maybe this is a blessing in disguise. The reason I say this is that I had an interesting chat with a member of the EE Times community whose screen-name is Robot Developer. It probably wonít surprise you to learn that this gentleman "knows his onions" when it comes to topics of a robotics nature. One of the things Robot Developer mentioned is that it would be handy to have some form of rotary (shaft) encoder capability associated with my motors so that I can better calculate things like the speed, distance travelled, and position of my robot. This capability was not available with the platform from the folks at RobotShop.com. Maybe they've done me a favor, which is not to say that the radiance of my smile falls upon them, because it doesn't.
Actually, I'm quite excited by all of this, because it means I can design and implement a platform that is ideally suited to my somewhat esoteric requirements. But before I do anything else, I need to decide on my wheels and motors. I'm still determined to construct a three-wheel robot because it's almost as cool as Doctor Who in a bow tie and a fez.
I'm currently contemplating a circular platform somewhere around 12 inches (30cm) in diameter. This platform is primarily intended to run on a flat surface, for example the hardwood floor at my house. It may occasionally run on carpet. But if so this will be short and tight -- not a shag pile rug or anything like that.
One thing I'm going to need is the transwheels. These boast free-turning rollers, mounted perpendicular to the axle, arranged around the periphery of the wheel, thereby allowing the robot to move in any direction. Unless anyone offers a better suggestion, I'm looking at 4-inch-diameter FXA156 (4202) transwheels from the folks at Kornylak Corporation.
A 4-inch-diameter FXA156 (4202) transwheel from Kornylak Corporation.
But the really tricky area -- the thing with which I need the most help -- is the motors. I simply have no clue where to start. I'm pretty sure that I want something like 12 V DC motors that I can control with my Arduino Motor-Stepper-Servo Shield from Adafruit.com.
In order to keep my life simple, I want the motors to be geared and to have at least three mounting screw holes on the front -- perhaps looking something like the following:
Now, my robot is going to be a relatively lightweight affair -- all it's going to consist of is the motors, the base, the batteries (probably lithium batteries, because they are smaller and lighter than lead-acid ones), one or more Arduinos, a few Arduino Shields, and a bunch of sensors. Let's say it's 10 pounds maximum -- is that reasonable?
With regard to gearing, I really donít know what I should be looking at. I donít require my robot to be able to streak around the room like a gazelle on steroids, but neither do I want it to lug itself around laboriously, like a snoozing snail. Assuming 4-inch-diameter transwheels as discussed above, the circumference of the wheels would be approximately 12 inches (rounding down a tad). If the motors were geared to provide say 180 rpm at full speed, then this equates to three revolutions per second, which -- in turn -- equates to the robot beetling along at three feet per second. This sounds reasonable to me -- what do you think?
As I mentioned above, I would like to have some form of rotary (shaft) encoder capability associated with my motors. I'm not sure what types and accuracies are available here. Ideally I would like this capability to be included in the motor, but I could live with a bolted-on solution if that's what it takes.
So, there we are. Do you know anything about this? Is there a particular type of motor you would recommend? What entity would you purchase such a beast from? (Is there something like a Motors 'R' Us out there?) If you have any sage advice, please post it in the comments below -- it will be very much appreciated.