What should someone study at university level if he/she wants to get into robotics and build robotics? So far 'Mechatronics' seems to be the field I'm looking for? I looked at a few plain 'robotics' courses but they seem to be only about the electrical and computer work, and don't include any details on building the mechanical components of robots?
-
You'd probably get better answers if you provide your current background in electronics, automation and similar stuff. – Gurzo Oct 31 '10 at 14:16
-
10 background in electronics and robotics, apart from knowing programming and building AI based computer programs – Ali Oct 31 '10 at 14:18
5 Answers
I'm a professional robotics research consultant, with 30 years of experience working for organizations like SRI International and JPL.
Like computers, robotics has quite a strong divide between the software and the hardware. Hardware is further subdivided into actuators and sensors.
If you'd said "I want to get into computers", I would explain that only a few hardware engineers actually design and build physical computers--most researchers assume that the hardware and firmware has been built already, and then they worry about the software--how to make the system actually work.
Similarly with robots, building the hardware is a job for the mechanical engineers (to design the structure and heat dissipation), with little bits and pieces for power electrical engineers (to spec the motors) and computer engineers (to design the firmware silicon). Next-generation robots also use industrial designers (to make the outsides look pretty, and the insides fit well together).
Research areas for actuator design include fingered hands; tentacles; hummingbird and other bird and insect wings; springy wheels; legs; non-electronic designs for high radiation areas; and surgical instruments.
With cameras in every cell phone, vision sensors are mostly a solved problem at this point. Research areas for sensor design include smart flexible tactile skin, brain wave sensors, and other biomedical sensors. There's still some room for good force sensors as well. These fall in the realms of materials engineering, computer engineering, mechanical engineering, and biomedical engineering.
In order to drive the actuators properly so they don't shake themselves apart, you need a control-theory engineer. Start with Fourier transforms so that you can then understand z-transforms. The learning curve on this mathematics is extremely steep, and careers are quite few, so either you have to be born to be a controls engineer or you should let someone else handle these lower-level details for you.
Signal processing, for the medium- and low-level sensor drivers, has been under the domain of the EEs historically. This works its way up to image processing, which falls under computer science, and then image understanding, which is in the A.I. branch of CS.
However, as I mentioned, the hardware, firmware, and drivers are all manufacturing details that you solve once and then sell forever. Anybody can buy a Lego or a Bioloids kit off the shelf now, and start working with motors. It's not like 2006, when the Fujitsu HOAP humanoid robot we were working with at JPL was a $50,000 custom-ordered special.
Most of what I consider the really interesting work starts by assuming the hardware and drivers have already been accomplished--and then, what do you do with the system? This is completely in the realm of software.
Robotic software control starts with 3D simulators, which in turn are based on forward kinematics; eventually inverse kinematics; dynamics, if you feel like it; and physics-engine simulations. Math here centers around locations [position + orientation], which are best represented by using [4x4] homogeneous coordinate transformation matrices. These are not very hard, and you can get a good background in them from any computer graphics textbook. Make sure you follow the religion of post-multiplying by matrices ending in a column vector on the right; this allows you to chain base-to-waist-to-shoulder-to-elbow-to-hand kinematics in a way that you'll be able to understand. Early textbooks proposed premultiplying using row vectors, because they thought it wouldn't make a difference. It does.
Of course the physics engines require a decent knowledge of physics.
Higher-level processing is accomplished using artificial intelligence, usually rules-based systems. Natural-language processing also can tie in linguistics and phonetics. Speech recognition and speech generation are again mostly signal processing, taught in EE and CS. Recent advances work on Big Data, which uses statistics, Bayesian reasoning, and bases vector spaces (from mathematics).
Robotics has not yet broken out. It is still at the level cell phones were at when Gordon Gecko was walking on the beach talking into a "portable phone" the size of a shoe. I don't see robots becoming ubiquitous before 2020. Around 2025, being a robot programmer will be in demand as much as being an app programmer is today. Study lots of A.I. Start early.
State-of-the-art humanoid robot system design as of 2006 [short movie]: http://www.seqcon.com/caseJPL.html
Very high level block diagram of components [graphic]: http://www.seqcon.com/images/SystemSchematic640.gif

- 20,030
- 7
- 43
- 238

- 6,395
- 4
- 36
- 38
-
Great answer. Thanks for the this overview. As someone who studied Computer Science and applied math in college and has worked as a professional developer over the past 6 years or so, what advice to you have for someone who wants to pony up on their robotics and ideally get a job in that field one day? I have dabbled with NXT, Netduino, ROS and the like, but I feel like my knowledge of the hardware limits what I can do. Should I go to school for master's in AI? Should I just go straight for mech engineering? – Jesse Roper Oct 19 '13 at 14:31
-
A.I. is a growth field that has yet to peak. MechE, even with the quadcopters and robot insects, is applying principles that have been used for a hundred years. Ken Salisbury built the mechE to a beautiful, working robot hand around 1982; we still don't have the brains to run it properly. The most important thing is what you feel called to do. Do you wake up at night dreaming of gears, cantilevers, and efficient resonance mechanisms? Does a really good heat-dissipating grease make you excited? If not, then you were probably not born to be a MechE. Follow your path to what you play at. – DragonLord Jan 07 '14 at 06:34
-
1With regard to the software, I'd start by learning forward kinematics using OpenGL. Build a C++ simulator of a simple two-joint elbow arm, even in 2D, and figure out how to animate it, frame by frame. Make it pick up an apple and move it. What high-level commands are required to drive it? If you were going to write your own robot controlling language, what would it have? See how far you can get. You can assume that the mechE guys will give you joints that you can position-control to a hundredth of a degree, this is a solved problem. Let hardware guys do hardware, & software guys do software. – DragonLord Jan 07 '14 at 06:59
-
1I am really have interest in Artificial Intelligence. I completed my B.E in computer science and engineering. Currently I am working as software developer from last 1 year and I want to switch my field to AI. Should I do ME/Mtech in AI or any other course? or with this degree I will get job in AI field and what should I do for that? – Mohini Mhetre Apr 11 '14 at 12:46
-
A.I. (software) is a completely different field from ME (hardware). The two main AI conferences are AAAI (aaai.org) and IJCAI (ijcai.org). Each year's proceedings is about 5cm thick, hundreds of 8-page papers. Go to your university library; find a recent year's proceedings; look at the section topics. Read through and find a topic that calls to you. Find which university groups and companies are publishing papers on that topic. Study nights and learn the math, or pick up an MS CS(AI). Or get an internship. Then apply at those groups/companies, and win. AI is algorithms, not structural design. – DragonLord Apr 12 '14 at 01:59
-
Nothing much happens in MS in field of robotics, to learn or get a job in AI phd is best solution. My perspective (Doing MS in AI) – Ruturaj Oct 17 '14 at 04:46
-
Great answer. Could you please update it as it is a bit dated now. Especially 1) how the advances in deep learning on computer vision and 2) reinforcement learning have helped the field. And 3) regarding your forecast for 2020/25 in the last part of your answer. – Abhi25t Apr 24 '21 at 12:12
I would highly recommend looking into Artificial Intelligence for Robotics on Udacity, it is very interesting course that covers the software and AI part. Also Coursera offers a free online robotics course, and other courses as well that are very relevant and useful to Robotics.

- 18,192
- 4
- 57
- 80
Mechanical and electrical engineering and computer science.
Mechanical engineering will inform choices about servos, linkages, gears, and all other mechanical components.
Control theory is the junction of mechanical and electrical engineering. You'll need that.
So much of control is digital these days, so EE and computer science will be a part of it.
It's a big field. Good luck.

- 305,152
- 44
- 369
- 561
Industrial robotics is usually handeled by Mechanical Engineers, and sport/team robotics by electical engr, electronics engr, or computer science majors. It all depends on what you mean by "robotics". Also, in case nobody else mentions it, a Masters degree is strongly encouranged.
As an added bonus the math used in industrial robotics, is directly linked to math for game development. There isn't really a clear cut line of who is supposed to be doing what in robotics.

- 28,472
- 11
- 77
- 133
Mechtronics is the current field of study for those interested in robotics. It combines mechanical, electrical, controls, and software as relates to robotics.
In the past we came from many different backgrounds, mechanical engineers, electrical, electronics, and software. I am an Application Engineer for robot manufacturer. I started out in Avionics, moved to automated test equipment, then to automated material delivery systems, I became a robotics service technician and manager then moved over to application programing and training.
One final note, be prepared to keep learning. This is a field that is constantly changing and evolving.

- 4,981
- 21
- 25