Well, things are looking up with regard to my building an Arduino-powered robot. As you may recall, I had originally planned on using a three-wheel, omni-directional robot base from the little scamps at RobotShop.com. (See Do Arduinos Dream of Electric Sheep?)
The original robot platform that was not to be.
So I placed my order and started to hang out at the post box waiting for the postman to arrive. Sad to relate, however, after getting me all excited, the little rascals at RobotShop.com sent me an email saying that they were not in a position to fulfill my order. (See My Arduino Robot Bites the Dust! Oh, the Horror…)
Well, on the one hand I have to admit that I was a tad disgruntled. On the other hand, however, I also have to admit that I was not as disappointed as I might have been. This was due to the fact that -- following the placing of my order -- I had an interesting chat with a member of the EE Times community whose screen name is Robot Developer.
Originally, I'd been planning on doing things like running my motors for a fixed amount of time and measuring how far my robot moved or rotated. However, Robot Developer noted that this is notoriously inaccurate, because the speed and distance I will obtain from my DC motors will vary due to all sorts of factors, including the weight of the platform (motors, batteries, processors, sensors, etc.) the voltage of my batteries (which will vary over time), and so forth. One solution would be 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.
Unfortunately, this capability would have been a bit of a pain to add to the motors on the platform I'd originally selected, so the fact that the folks at RobotShop.com couldn’t supply that platform was probably a "blessing in disguise."
Initially, I didn't know which way to turn when it came to selecting motors, but the myriad comments to my earlier blogs gave me all sorts of clues. The bottom line is that I've discovered that selecting the right motors is a bit of a balancing act that involves all sorts of tradeoffs and considerations.
One of these considerations is the size (diameter) of your wheels -- larger wheels will make the robot go faster, but will require more torque from the motors. Increasing the gearing on the motors will give you more torque, but will slow things down. Increasing the size of your motors will give you more "oomph," but will also increase their weight... and round and round we go (no pun intended).
In the case of the wheels themselves, I like the tempting look of the omni-directional beauties from VexRobitics.com. These have a dual set of rollers mounted around the periphery of the wheel, thereby allowing the wheel to move in any direction. The really clever part is that these rollers are precisely shaped to that the overall contour of the main wheel is absolutely round.
A 4" omni-directional wheel from VexRobotics.com (I've ordered three).
These little ragamuffins are available with 4", 6", and 8" diameters. This was a hard decision for me. I typically go with the "bigger is better" philosophy, but in this case I decided that 4" is probably the optimal diameter for me to start out with.
In the case of the motors, I ended up boiling things down to two contenders (I reserve the right to change my mind later), both of which are available from RobotShop.com. These contenders are as follows:
In the case of the 100:1 gear ratio, at full speed -- if they were mounted at 90° to the direction of motion -- my 4" wheels would give me 4" x Π x (100rpm / 60) = ~20 inches a second. (The reason I say "if they were mounted at 90° to the direction of motion" is that at least two of my three wheels will always be mounted at some angle to the direction of travel of the main platform.) By comparison, the motors with the 50:1 gear ratio will give me a top speed of ~40 inches a second, so this is the option I opted for.
A 50:1 motor and encoder from RobotShop.com (I've ordered three).
Now, 40 inches a second may seem like a lot, but if you time yourself walking you will find that you travel at about two paces a second. Assuming a 3' pace, this gives a speed of 6' (or 72") per second. Thus, at top speed, my robot will be able to travel only about half as fast as I can walk. Of course, when I actually see everything working in action, I may decide that this is too slow, in which case it will be back to the drawing board (larger diameter wheels and/or faster motors).
So, now I'm eagerly awaiting the arrival of my motors and wheels, at which point I can start planning out the platform itself. In the meantime, I would like to mention that -- thus far -- the folks at VexRobitics.com have provided the most amazing service. It was literally no more than 30 to 45 minutes after I'd placed my order for three 4" wheels on the web that I received an email saying these little beauties had been shipped (to be fair, I also heard from the folks at RobotShop.com that my motors and encoders are on the way, but this was several hours later). Watch this space!
— Max Maxfield, Editor of All Things Fun & Interesting