Ask Slashdot: Learning Robotics Without Hardware?
An anonymous reader writes: I live in a Third World country with a more or less open Internet access. I'm thinking of learning robotics. I can access Github and other free software repositories, and I can read or watch online tutorials in English. My only problem is that we don't really have the money to buy robotics hardware. We can afford an Arduino or Raspberry Pi board but not the mechanical attachments. So is there any chance for me to learn robotics even if I don't have the hardware? Is it possible to program a robot using pure software simulation?
Arduino clones on eBay with a stepper motor shield and non-NEMA stepper motors shouldn't cost that much.
The cost can be much, much lower if you don't mind slow, low-precision, plastic-geared steppers made for controlling A/C vents (28BYJ-48). With an Arduino Pro mini, the setup could be around USD$10 for the Arduino and three motors with drivers.
You can also salvage from average to excellent stepper motors from old 8" and 5-1/4" floppy drives, old matrix/laser/inkjet printers and old scanners. If you can figure out how to use the built-in driver of the printer/scanner, you also save yourself from the trouble of finding power supplies and drivers for those motors.
Yes, you can learn a lot of robotics without actual hardware. I develop software for self-driving vehicles, and spend 95% of my time away from the hardware!
ROS + Gazebo will let you assemble a robotics software stack and explore different planning and control algorithms in simulation: http://gazebosim.org/ and http://www.ros.org/
If you want to explore perception and computer vision, take a look at OpenCV ( http://opencv.org/ ) and the tutorials there. The great thing about computer vision is you can run your software against the standard research sets or images you pull off Flickr.
Point Cloud Library is a nice package for looking at 3D laser data (but has some numerical quirks): http://pointclouds.org/
I would definitely take a look at some MOOCs, Andrew Ng's Machine Learning at Coursea (https://www.coursera.org/learn/machine-learning) or the MIT Courseware ( http://ocw.mit.edu/courses/ele... )