How To: Create a Robot Army
Let's keep in mind there is no substitute for engineering expertise, education in programming, or electronics experience. I'm going to point out some apps that will help you implement your designs, but there just isn't a widget that'll point-and-click you to a T1000.
Still, there are some handy apps out there that'll allow you to design darn near anything. From wood to printed circuit boards, there's an app for it. Also, I'll point out some resources and parts suppliers to get those parts fabricated.... Got your soldering iron ready? Great, set that down and click for more...
My personal fascination with robots came at an early age, while my dad finished his double major in chemical engineering and electronics engineering. There were loads of TAB books around the house like, "How to Build a Robot Pet." Back then you programmed your bots in assembly. Whoo boy, you've come a long way Robby.
The overall structure and components of a robot can loosely be categorized into three main systems: electronic, mechanical, and software. The electronics tie into all of this, the mechanics include an exoskeleton, and software make up the brains.
To completely build a robot from scratch you'll want to know how to design a printed circuit board. You'll need to know how digital and analog circuits work and get along together. It helps to understand power systems, and battery technology. Some mechanical engineering is involved too (especially for those mechs). And lastly, you'll need to program the darn thing to do your bidding.
Much of this is wrapped up in a neat little bundle at the Open Automaton Project. A very impressive open source initiative with this to say:
"The purpose of this project is to engineer modular software and electronic components, from which it is possible to assemble an intelligent PC-based mobile robot suitable for home or office environments."Awesome power! Poke around their site a bit. For one thing, you'll find the source code and parts list to actually build something. Very handy, and an excellent base to build upon. And if you feel like you can, please help them advance the project.
As I hinted at earlier, you might want to brush up on your electronics skills. To get started on your journey, none other than sister blog Hack-a-Day has a wonderful how to: getting started with microcontroller programming. Crawl before you run.
Still don't feel like you know enough about electronics? Here are a few more places to start:
- The adequate if clunky Electronics Tutorials
- The very popular Make magazine
- A free book on power electronics (converters, for instance)
OK, once you've edumacated yourself on electronics enough to figure out basic microcontrollers, it's time to start thinking about the shell to put all those wacky circuits in. You can make your robot out of wood by checking out the unbelievably comprehensive Woodworking Software Master List. Especially useful when you want to put your robot in kitchen cabinets. Keep looking on the list and you'll see some good apps for measuring and setting up a plan for your machine. Wood, however, is probably the worst material for anything but the bulkiest of bots.
I suppose you were wanted a plastic or metal shell? OK, hone those CAD skills. A number of kits and supplies can be found here, even if some of the links are dead. NASA has a resource page on all this too (naturally). There are also empty shells available from Smart Robots, Inc. Smart Robots has an entire platform as well, where you can use Java, Linux, and even networking to command your robot. Their shells look the most like R2D2, so that's a plus.
For all those drive systems you'll want to check out the wide variety of special-purpose calculators from MITCalc. They have nothing to do with the school— we're talking Mechanical, Industrial, and Technical Calculations. Test gears, drives, belts and more using their tools. Or you could just build stuff and see what happens. The eMachineShop is a good place to get custom parts made (with an accompanying steep price).
Several years later at this point, you should be assembling random components into a big wooden box, right? OK, take a breath and try some simulations for a bit. When the physical world gets crazy it's good to know we can retreat to a virtual world. Calm now? Keep reading.
If you can put together all the sensors, controllers, drive systems, and assorted fiddlybits into one big case you should be ready to give your robot it's brain. This involves programming. While the aforementioned list of simulations help teach you the general vagaries of robot programming, there's just no substitute for the real thing. Nothing motivates you more than taking your "AI" robot on a walk into the Grand Canyon.... Unless you are using a real computer to drive your robot (like the OAP or Evolution robots) you'll probably be stuck with a mess of tiny microcontrollers. One of the best solutions I've found is over at OOPic. OOPic is an object-oriented approach to programming those little controllers. You can use Basic, C, or Java programming styles to code your chips, which helps tremendously. For you cheaters, there are a number of kits you can purchase as well. Smart Robots use OOPic as well, if you go that route.
Another series of components with an accompanying codebase are the parts over at Acroname. Their Brainstem control module can be programmed with the Brainstem.NET Library. It's an exciting project that seems well supported. These are good times to get into robotics, n'est pas?
If you're looking for info on AI, because you just can't wait to put HAL into mech armor, check out the resources on the AAAI's site. That's the American Association for Artifical Intelligence. See, I told you we'd talk about software in here somewhere!
If all this seems like a glibly assembled list, well, maybe so. I think it's fascinating that you can do so much just getting free/cheap tools off the net. The array of open source robotic projects astounds me too. I think robots are definitely in our future, for better or worse, so you might as well get in on the ground floor.
Check out some other kits I failed to mention if you're in a hurry.
And to really skip the middleman you could always check out the projects available for hacking at Evolution Robotics. They hold great promise in their platform and products, at least for future consumer and business applications.
As a last resort you can always wimp out and get yer 'bot on with the LEGO Mindstorms universe. P053r!