I finally finished my first robot, using the plans from Popular Mechanic’s “Build Your First Robot” article. They have a great step by step instruction on their website, especially if you buy the pieces as a kit. This is the first in a series of posts that outlines enhancements and add-ons to the original design. All of the following posts use the same basic chassis, controller, and programming, and show how to expand on it with some inexpensive enhancements. Although it might be tempting to immediately upgrade to a more capable and expensive platform or controller (e.g. Arduino Mega), there is a lot of capability left in the Arduino Uno from the original design. Additionally, I find that trying to find a minimalistic solution can be a useful creativity/innovation exercise; and more rewarding than throwing hardware at a problem to solve it.
I originally wanted to build the chassis all myself, and not buy it as a kit and had delayed it many months while looking for plastic sheet material. True, I could have just used plywood, but that just seemed wrong for a robot. I finally found a local sign shop that sold me some expanded rigid PVC sheeting. In building it myself, I hit upon some enhancements to the design that you can make that I’d thought I’d share here.
As you look down the parts list, you may notice that there are several sources for the various parts, however there is no single source for all the parts. With a few modifications, you can fix this.
One thing to notice in the construction is the use of stand-offs to separate the two decks. First rule of engineering: Eliminate unnecessary parts! (Wait, or was that “if it ain’t broke, it doesn’t have enough features”? Depends what kind of an engineer you are.)
First issue: Looking at the design, you see that you don’t really need the four stand-offs, plus the associated hardware if you just make the servo mounts a little taller. Just take the original template, eliminate the cut-off corners on top, and make them a little taller and wider. A side benefit is that the structure is a bit more stable. Note that you can make the sides as tall and wide as you want, but they need to be at least tall enough to accommodate the height of the wheels. If there is interest, I can do a quick CAD sketch of the side panels.
Next issue: those pesky angle brackets. Budget Robotics seems to be the only source for those. Unfortunately they do not have a lot of the rest of the parts. You can get angle brackets from a hardware store, but in a larger and clunkier size. A better solution is to get threaded mounting brackets from Jameco. They fit the 4-40 hardware specified for the rest of the robot, they cut down on total part count by eliminating the need for separate nuts, and they save time and hassle by not having to install all those tiny nuts. Score! Note that you will need to use shorter machine screws, depending on the thickness of stock you use to build your chassis. Otherwise the machine screws collide with each other at the bracket.
Minor issue: Stand-offs for mounting the Arduino board. The thing is, you don’t need to use risers here. True, the Arduino is not perfectly flat on the bottom, and using risers allows you to position the piezoelectric speaker underneath the board. But there’s plenty of room on the top deck for the speaker, and you can use either double-sided tape, or screws with non-conductive washers between the Arduino and the top deck. When you have modified the BYFR to include a bunch more sensors, and real estate on the top deck starts getting scarce, you can always add in the stand-offs later.
Another minor issue: Front and rear skids. If you’re not going to go to the trouble to put in wheels, then it is not necessary to make the skid structurally sound (e.g. no need to use screws and acorn nuts). Depending on your floor surface, you get away with a variety of other materials. For our hard-wood floors I used double-sided tape and a thin piece of packing foam. It had the added bonus of cushioning your new little buddy against ‘whiplash’ from abruptly going from forward to reverse.
Here is my version of the “build your first robot” (beta version 🙂 ) I still have a few finishing touches, but it works.
Thanks for reading. I will highlight additional enhancements in subsequent posts.