Ask Slashdot: How To Begin Simple Robotics As a Hobby? 166
First time accepted submitter nedko.m writes "I would describe myself as more of a 'software guy' rather than somebody who likes to play with hardware much, but I've wanted to start doing basic robotics projects as a hobby for quite a while now. However, I was never sure where to start from and what the very first steps should be in order to get more familiar with the hardware aspects of robotics. For instance, I would like to start off with a simple soccer robot. Any suggestions on what low-budget parts should I obtain, which would provide me, subsequently, extensibility to a bit more elaborate projects?"
Lego Mindstorms kit (Score:5, Informative)
Get a kit, start building/programming. Work from there.
A "Robotics" project sounds way to generic (Score:4, Informative)
Arduino (Score:5, Informative)
Robot toy shops (Score:3, Informative)
Everything you need:
http://www.sparkfun.com
http://www.pololu.com/
http://www.jameco.com/
https://code.google.com/p/ardurover/
Re:Lego Mindstorms kit (Score:5, Informative)
There's only one main LEGO Mindstorms [lego.com] kit.
It all depends... (Score:5, Informative)
Robotics generally consists of 3 disciplines -
Mechanical (structures, wheels, chassis, arms, etc.)
Electronics (hardware - resistors, sensors, motors, power, etc.)
Software (the programming)
If you want to focus mostly on the software, since that's where you have experience - then I'd suggest finding something where the mechanical + electrical is already taken care of for you in the form of a kit robot, and you just focus on the software side. Something like a small "Mini sumo" kit is a great place to start. It'll get you used to the whole "Sense-Decide-Act" control loop theory. Other options here are the Lego Mindstorms or the Vex kits, but you might find them a bit annoyingly limited.
If you want to delve a bit into the electronics, then pick up something like the Arduino Inventor's Kit from Sparkfun, which will include all you need (including some instructions) to get you started with basic electronics with a programmable microcontroller. Arduino is REALLY easy to get started with.
Another suggestion is to see if there's a local hobby robotics club. I learned a LOT from the folks at the Atlanta Hobby Robotics Club (botlanta.org). There are several really good robotics for beginners websites out there as well....
Good luck!
Re:Arduino (Score:2, Informative)
Arduino is great for a software guy. They've got libraries that do everything to make the hardware piece much easier to handle. You don't have to write the modulated signal to control the motor's rotation, but just use a library that already does it. There's even an Arduino expansion circuit that adds wifi so you can communicate with your computer as the "robot" is running (does one motor count as a robot? I say yes!)
VEX Robotics (Score:3, Informative)
Re:Lego Mindstorms kit (Score:5, Informative)
Actually, there are at least five I'm aware of, centered around 5 different "brains" that can all talk to each other over infrared.
RCX 1.0, RCX 1.5, NXT 2.0, NXT 2.5, and Scout. RCX/Scout modules all use the same sensors and motors, and NXT is backwards compatible with the proper cabling. RCX/NXT can accept and store programming, Scout can only either use built in programming or accept commands directly from a computer or another smart brick.
If you are going for cost- I'd suggest RCX 1.0/1.5. If you are going for complexity, get all 5, though this will run you close to $1000, it will give you the most flexibility.
There are also tons of add on modules/home built sensors and motors out there to use with these brains.
I tech getting started with robotics (Score:5, Informative)
And here's what I recommend to get started on this long and rewarding journey. First of all, if you want to be successful, you need to make friends that are into this subject to learn from, and get inspired by. I teach at the local Makerspace. A Makerspace is where people go who like to build things congregate. Mine is called the Qc Co-lab, and you can view information about us on facebook or at qccolab.com to get an idea of the sorts of things we do. Makerspaces are also often called hackerspaces.
Next, you'll need a point of entry, a place to get started, and parts. Now, you've got a long road with many disciplines to master in order to actually create a soccer robot yourself. You can get started on the programming/electronics side or the mechanical/servo/motor side. In any case, I don't consider a soccer robot a good starting point unless you have help.
If you want to play with the programming and digital electronics, things like sensors and and control, I suggest you get an Arduino ($35). Get an Arduino kit with a good book and some toys to plug in and play with. Learn the electronics. Learn the C programming. "Getting Started with Arduino" is a good foot in the door of a very long hallway.
Next up is the mechanical/servo/motor stuff. Picking up a radio control hobby is a good way to get started with this. Remote control Styrofoam trainer plains can be purchased for $30. A good remote control can be purchased for $30. (Don't let them sell you a $200 control off the bat. By the time you're good enough to want a $200 control you'll decide you don't like the one you bought because of X, where X is some random reason related to your favorite parts of the hobby). Often these plains require you to do some assembly. You'll get experience with servo's, electric motors, batteries, and how all these things come together. Remote control cars are also very fun and exciting if you find those more interesting. (Make sure you get one that requires assembly and is customizable).
If you do want to buy a robot kit to knock around, I recommend the Arduino version of the boebot. I use this as a teach aid because Parallax produces very good documentation and training materials. See http://learn.parallax.com/ShieldRobot. I do not recommend the basic stamp version, because if you get into this hobby you're going to need to learn C, so don't waste your time learning some other language. What I linked is for the Arduino version. The Arduino uses C/C++ on an industry standard chip. It's important to develop skills that are going to give you the most bang for you buck because the rabbit hole you're heading into is deeper than any one person can ever plumb the depths of alone. The downside here is this kit is expensive at $120. For the people in my class I build them a clone of the kit for $40. Maybe your local Makerspace has something similar going on, check them out.
Best of luck. I'll keep an eye on this thread, so if you have questions I'll try to help.
Re:Lego Mindstorms kit (Score:4, Informative)
"Get a kit, start building/programming. Work from there."
Definitely not, in my opinion. Lego Mindstorms are toys designed for children, not something for someone serious about either robotics or programming.
For the mechanical components, FischerTechnik [fischertechnik.de] is vastly superior, and has been for decades. It is used at universities for mechanical engineering and robotics projects.
For real-world programming and automation that are suitable for both hobbyists and professionals, few things beat the Arduino family of devices.
Re:Lego Mindstorms kit (Score:5, Informative)
Get a kit, start building/programming. Work from there.
NO! STOP!! WAIT!!! Lego is coming out with a major upgrade to Mindstorms. It is called EV3 [wikipedia.org].I had a chance to play with it at a recent Maker Faire and it was really slick. It is definitely worth waiting a few months.
Also, if you are a "software guy" you will quickly outgrow the built in GUI programming environment. I used brixcc to help my son build a solar robot for his science fair project. Brixcc allows you to develop on Linux or Mac, and write code with any editor, and also gives you access to stuff like homebrew voltage sensors that the GUI can't handle (we needed this to keep the panels pointing at the sun). There are also APIs for java, python, etc.
Re:Lego Mindstorms kit (Score:3, Informative)
Next generation Lego Mindstorms EV3 will be out soon -- better CPU, Linux OS under the hood -- supposed to be backward compatible for sensors etc. Don't know about the "stock" programming environment -- it may be just as bad as NXT-G has always been -- who creates a programming environment without arrays? -- no easy averaging signals for you in NXT-G.
If you are going to use NXT 2.x then get the free LabView+Mindstorms and skip over the NXT-G software if you can.
The alternative is to look at something like the VEXRobotics stuff.