I am a Computer Science student entering my last year of college. I'm pretty sure Robotics is what I want to eventually be doing based on my interests in AI and embedded systems. I've seen a lot of topics that covers Robotics such as: control theory, signal processing, kinematics, dynamics, 3D simulators, physics engines, AI, Big Data with machine learning. I'm hoping someone can point me in the right direction as to what I should be attempting to study in my interests of Robotics. I am not sure what other topics I have not mentioned that would be relevant. I would like to deal with the software side of Robotics, both AI and none AI.

My other question is about machine learning. I've seen researchers applying machine learning (deep learning/unsupervised learning specifically) to robotics but how do they do this? Is information and data transferred from the internals of the robot to an external computer that does the data processing? Machine learning requires a lot of data to predict. Is this the only way machine learning can be used in robotics (through an external computer)?

I hope someone can touch on some of the things I've mentioned, Thank you.

  • 1
    $\begingroup$ Welcome to the Robotics StackExchange. While a reasonable question there is not "correct" answer. As such this type of question is not considered a good fit for the question/answer format that Stack Exchange sites take and as such you can expect this question to be closed. However your second question is a good fit so I would suggest creating a separate question for it. With that said, I would suggest identifying the type(s) robotics problem(s) you are most interested in as that will guide your research. For instance motion planning requires strong knowledge of dynamics/differential equations. $\endgroup$ Jan 14, 2014 at 5:24
  • $\begingroup$ I second the notion that this question should be closed, and a new question should be created that just focuses on the part about machine learning. This site really isn't geared for answering questions like "what should I learn", because the answers will be more opinionated than factual. $\endgroup$
    – Ian
    Jan 14, 2014 at 16:55

1 Answer 1


To answer your first question: if you are looking merely into the software side of robotics, you might consider what aspect of software interests you the most considering the list you posted. One thing to remember in this regard when making a choice is to think on what platforms you could test those hypotheses you would generate while studying and how to set up an experimental verification. Generally speaking, a C language is the most common.

On your second question: machine learning is a vast subject. Personally, the global aspect of learning--leveraging, say, neural networks--is a good experience in itself. Understanding the state-of-the-art in NN programming, as well as following examples is a great start to both your questions.

If you have the interest to program, I would suggest keying into Google "neural networks c#" and visiting CodeProject for examples. C# has the shortest learning curve, I think, and has the most to offer you simply of the volume of people using it.


Not the answer you're looking for? Browse other questions tagged or ask your own question.