I'm doing my Engineering in Electronics, what subjects which I need to specialize in order get into robotics and also suggest additional things I have to study

  • $\begingroup$ Welcome to Robotics:SE. You might find it helpful to review the site tour and Help Centre and, in particular, How to Ask. $\endgroup$ – sempaiscuba Feb 24 at 18:33

Robotics is an interdisciplinary field in which people from various backgrounds (such as mechanical engineering, CS, electrical engineering, machine learning, control systems...) work together. I guess it depends on you which part of it you are interested in.

You can choose perception and localization, or motion control, or machine learning etc. Then you should take courses based on your interested field.

Although you need basic computer programming skills and some understanding of simulation platforms like ROS or Matlab.

Hope it would help.


I would advise you to start with a basic robot controlled through Arduino (An Arduino Uno/Mega with 2 motors controlled or not by a motor-shield, a few sensors like ultrasonic ones...) like this frame. Arduino boards does an abstraction of the very specific electronics to control motors, you also have an easy language to control your board (with a good community to help you and lots of already existing libraries). This will help you focus on the control part (feedback control)... Then you will realize that for the next step you will need to go further in the code with a microprocessor (like an Raspberry Pi or something similar) and it will add some complexity with the hardware compatibility of your electronics components. Then you may also add image processing with opencv in python or C++ according to your skills and your aim to have an optimized system (if you feel uncomfortable with image processing, you can start it with Matlab, but you will need to pay while Opencv is free).

You will need to acquire a lot of knowledge on how to build an independent system (to think of the power-supply, the way it interacts with its environment, communicate with its internal components... etc). To do so I recommend you to start with the basic system-engineering knowledges (functional architecture, physical architecture, interfaces...). An other way to obtain some knowledges on this kind of competencies (and this is still interesting when you need to perform technologic intelligence) is to read reports made by robotics teams in challenges (some teams made it available when they compete), in my case I have read reports of teams which have been competing at Eurobot (it's a competition for universities and hobbyist).

ROS is a good choice to do some robotics because it is among the most up-to-date middleware to do robotics but before using it you need to understand why it is interesting to use a middleware by doing some low-level job (with micro-controllers). And you need to be very familiar with Linux (Ubuntu, Debian or Fedora are advised).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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