Ask HN: How can I Contribute to Robotics?

  • What you mean by "robotics" ?

    You want to move a robotic arm so that it is fast and accurate (eg. don't break the crystal shield it is moving), that is automation. To study automation you need a lot of math, matrix and vector, complex calculus, geometry, trigonometric and transformation (Fourier Laplace) and a lot of other stuff that I do not know.

    You want a robot to recognize human face so it can make some particular action ? Now you should be looking into AI, computer vision and classification. You will need a lot of math, matrix and vector, calculus in more variable and a lot of stuff that I don't know.

    You want to control n-thousand little robot so they can cooperate to make something great ? Now you should look at parallel computation and distribute system.

    You will need a lot of math, matrix and vector, probably fuzzy logic.

    What I am try to say is that "Robotics" means pretty much nothing and everything, however if you study a lot of math and matrix and vector you are pretty much covered...

  • Like many other complex systems, a full-blown robot is comprised of several separate systems working in tandem. For one person to be or become an expert in all would be unreasonable, at least for a standard mortal. Depending on your particular inclinations, different areas may be more or less suitable for exploration. There is also the question of specialisation versus broad-oversight, as well as that of making custom components versus using ready-made ones. Some particular areas to consider are:

    (a) Vision systems, which further subdivides into hardware and software components. The industry could use some better performing cameras (think low-light, high frame-rate) with reasonable prices, so that is one area needing development. Popular software systems, such as the open source OpenCV, definitely need work.

    (b) Audition systems. Since there is already quite top-notch audio hardware available at reasonable prices, I opine that the software side is more in need of serious help, particularly in the areas of speech recognition.

    (c) Vocalisation systems. More natural and emotional voice-production systems would be nice, particularly if available open source.

    Note: Both audition and vocalisation have open areas for less-popular languages. These systems really ought not be limited to English.

    (d) Basic mechanical systems, which subdivides into functional and aesthetics. There is certainly room for improvement here.

    (e) Electrical systems, such as wires, motors, and relays. There are also interesting developments here such as synthetic-electric muscle fibres -- both mechanical and electrical.

    (f) Testing. Like many other complex systems, there is often a need for testing.

    (g) Psychology. If the machine interacts directly with humans or other animals, there is an element of psychology involved, even in simple systems such as automated tellers.

    (h) Environmental impact, both in production and deployment.

    (i) Security. If the system is accessible to the public in one way or another, then security probably matters.

    (j) Artifical intelligence and other broad-level perspectives. This area is related to game AI, and it applies to both robots and fully-virtual systems alike.

    ... And quite a few other areas.

  • Take a look at the project I work on: bitbloq.bq.com it is mostly to teach robotics to kids and how a program works. It is also a gentle introduction to arduino.