Slashdot Mirror


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?

12 of 78 comments (clear)

  1. We'll give you some hardware, where do we ship? by spiritplumber · · Score: 5, Interesting

    http://www.robots-everywhere.c... mkb@robots-everywhere.com

    --
    Liberty - Security - Laziness - Pick any two.
    1. Re:We'll give you some hardware, where do we ship? by KGIII · · Score: 2

      Well, I opened this thread with the intent of finding an appropriate place and asking if they'd be willing to share an address. I've got a few bucks and I like doing stuff to help people out. If they get in touch with you and you decide you need financial assistance to accomplish this goal, let me know. From the looks of things, you've got it covered. I'll probably just make it a point to buy some hardware in the future - as I just so happen to be playing with a robot that I've named Rex.

      I should add, Rex is stupid and lazy. He still does not come when called BUT he reliable moves when called. Now, if I could just get him to follow the sound of my voice or even use the damned camera (someone has to have a library in C) then I'd be happier. But, alas, Rex is stupid and lazy - he's also probably high. Maybe I'll just make him flash a light so I can go find him. He's supposed to bring the remote to me. The remote is to control T. T is Rex's sister. She's not a robot. She just sits there and is supposed to play media on command - via a remote. She doesn't do anything yet but she should be easy. Her brother, on the other hand... Like I said, he's lazy and stupid.

      --
      "So long and thanks for all the fish."
  2. You can probably afford hardware by soft_guy · · Score: 3, Insightful

    You should buy a something like a SBC (Pi or Arduino) and get a breadboard and some motion control chips and a a stepper motor. All of that together will cost about $60. (Breadboard maybe $10, chips maybe another $10, stepper motor maybe another $10, Raspberry Pi maybe $30). You could at least learn the basics of working with the chips and working with a motor.

    --
    Avoid Missing Ball for High Score
    1. Re:You can probably afford hardware by U2xhc2hkb3QgU3Vja3M · · Score: 3, Informative

      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.

  3. Yes and No by goombah99 · · Score: 3, Insightful

    I teach a robotics class and every design works perfectly up until you build it. Approximately 20% of the class is learning enough java to edit a pre-exiting program for an andorid. 20% is brainstorming ideas for task solutions. 20% is building it and 40% is figuring out why your ideas failed and coming up with simpler ones.

    Your best bet might be to do something like "turtle" graphics or write games that move icons around and respond to bouncy inputs.

    That said once you have the pi is it really that hard to get a few components? isn't there some old toy with a DC motor somewhere that could be recycled? You clearly have a computer access and computers break or get replaced. THere's motors in those things. Even a cell phone has a motor (the vibrator).

    I am reminded of a student who had just come from China several decades ago. She new fortran perfectly but had never actually used a computer or run a program. Turns out she could not program at all when it came to actually do something original. I nearly fell off my chair when she told me she had never written a program. She could read them just fine.

    --
    Some drink at the fountain of knowledge. Others just gargle.
    1. Re:Yes and No by CastrTroy · · Score: 2

      When I was in university doing a robotics class, I actually simulated a the robot we were using for our assignments in software. We only had a limited amount of time in the lab working with the robots, so I made a crude model of the robot from the lab using OpenGL, in order to test that the inputs we gave to the robot would provide the right behaviour by the robot. It was a basic robotic arm similar to this one. We had to take a picture and get the robot to pick up a block in the picture by analyzing the picture, figuring out where it was, and moving the arm there. The robot had to be controlled by telling it how much to move each individual motor. I found the project very interesting for something that seems relatively simple from an outside perspective.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  4. Gazebo, ROS, OpenCV, Point Cloud Library by Xerotope · · Score: 4, Informative

    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... )

  5. Why not by NEDHead · · Score: 3, Funny

    Hack into any of the connected cars that are being sold, program them to your liking, and then watch the news for feedback?

  6. You can get everything you need for free... by Bearhouse · · Score: 4, Insightful

    I've worked in "third world" countries, (how I hate that term).
    On the downside, most things are run into the ground and then thoroughly scavenged for everything possible of value.
    And then the rubbish dumps are hand-sorted. Because lots of young people plus no money = lots of hungry manpower
    But I'm sure you can get people interested in your project, and get things of very, very little value for your projects.
    Because everyone is thirsting for knowledge, (as well as clean water)
    Get creative! Get the community involved, trade teaching hours for hardware...
    Cars will yield fuses, voltage regulators, thin wire of little value for copper for the recyclers, switches and - in more moderns ones recently crashed - plenty of tiny electric motors again of zero value to a recycler but fine for your projects.
    Almost anything can get you started - old TVs are of course the absolute best, just jammed full of stuff!
    But washing machines are pretty good too, and even an old coffee machine can get you an electric thermostat plus the power supply.
    Look on the web - there are dozens of sources that will help you turn old stuff into some magnificent steampunk robotics!
    You don't have to buy an expensive kit of parts to make a robot.

    Oh, and by the way, you don't have to buy a Pi either - you can get started by using a washing machine controller as your program control unit.
    (Sadly now banned in many parts of the world, since they make excellent bomb timers)
    Not everything has to be digital...
    Have fun!

  7. Re:Very theoretical by spiffyspiff · · Score: 4, Insightful

    I studied Cybernetics @ Reading Uni 30 years ago - not many robots around then! :-)

    Control Theory is really, really useful to understand - go take look at that.

  8. Re:Robotics Simulator by Bratch · · Score: 2

    Yes, I do most of my robotic software work on a simulator, first over two serial ports using a null modem cable, where both programs run on the same machine. Later I do it across two machines (VM and/or physical), and finally I test on a controller from the robot, which is a small piece of the entire hardware setup. You may need to build your own simulator, but it does save lots of time.

    --
    Beware of the Redittor who loans you a Sharpie.
  9. Robotics withotu a real robot is pointless by Miamicanes · · Score: 2

    You could, but it would be largely pointless. In the real world, unless you're an entity like NASA (with resources to match), hardware almost never behaves exactly the way it's officially supposed to. Electronics can be simulated perfectly. Mechanical devices? Not so much. Your simulated stepper motor makes certain assumptions about torque, inertia, etc. that are mostly guaranteed to be invalid once you try it in a real device with worn bearings operating running across a shag carpet or wet floor.

    The sad fact is, robotics isn't a hobby for poor people. The electronics part is cheap thanks to Arduino and RasPi (and Edison, and ...), but once it's time to start adding hardware, all bets are off. Sure, you can make a sub-$100 robot that can follow lines and avoid running into walls, but the moment you get bored and want to add real sensors & stuff, prepare to fork out some SERIOUS cash.

    Just to give one example: Crustcrawler.com's AX12-AHW robotic arm kit. It's $399... not counting the 7 Robotis AX-12A digital servos you'll have to buy for around $45 apiece, and the power supply, and the controller, unless you already have them. Now, this is an awesome, kick-ass robotic arm. It's well-designed, and can probably be used to do useful things. But damn, it's expensive.

    All kidding aside, the iRobot Create is one of the best platforms to get started with... it's under $100 at Amazon, and gives you not only the ability to detect walls and collisions, but also gives you the ability to avoid running down stairs & furnishes data about its actual, measured motion.

    If you really want to do something meaningful without a real robot, get a cheap webcam for your PC and learn how to use OpenCV. If you ever get to work on a real robot someday, OpenCV programming knowledge will be very useful... especially since RasPi-based robot controllers can use the same cheap webcams as desktop PCs (assuming they support Linux & have open-source drivers you can build for the Pi).

    Big tip to programmers who want to get into robotics: if you anticipate needing hardware that can't be purchased off-the-shelf, become friends with a mechanical engineer. They understand things like drivetrains the same way you understand things like recursion & objects... and he (or she) probably finds programming to be about as frustrating and alien as you find trying to bolt things together (dropping screws & nuts into the carpet, gouging your finger with the screwdriver, etc). There's a tiny bit of overlap between the electronic and mechanical realms, but most people who develop robots are teams of two (or more) with complementary skill sets.