news    views    talk    learn    |    about    contribute     republish     crowdfunding     archives     events

10 essential skills for roboticists

January 7, 2016
June 26, 2015 - The Tethered Robotic Explorer (TReX) robot being described by Patrick McGarey to a visiting group. The newly conceived platform was unveil to the public for the first time. TReX can climb many kind of steep terrain with the help of its onboard tether management system. It weighs roughly 90 kg and was built over a Husky from Clearpath Robotics. Photo credit: François Pomerleau - University of Toronto
June 26, 2015 – The Tethered Robotic Explorer (TReX) robot being described by Patrick McGarey to a visiting group at the University of Toronto Institute for Aerospace Studies (UTIAS) at the 2015 Field and Service Robotics conference. Photo credit: François Pomerleau – University of Toronto

What Type of Person Works in Robotics?

Roboticists are a combination of opposites. As specialists, we are skilled in the fine details of our respective specialisms. As generalists, we are able to see “the bigger picture” — something our broad knowledge base allows us to do.

Robotic engineers fall largely into the thinking (investigative) and doing (realistic) categories. This means that roboticists need to be a good mix between two opposing working styles. “Investigative” people generally like to solve problems by thinking, reading and studying. On the other hand, “realistic” people are practical – they like to solve problems by “getting their hands dirty,” so to speak.

Robotics is a delicate balance between hard study and “fiddling about” (as I like to call it), i.e. working on physical things.

10 essential skills for roboticists

In this list we’ve taken 25 career skills and grouped them into 10 essential skills for roboticists.

1. Systems Thinking

A project manager once told me that many people with robotics degrees turn out to be project managers or systems engineers. This makes a lot of sense, as robots are very complicated systems. We have to be good at mechanics, electronics, electrics, programming, sensing and even psychology and cognition.

A good roboticist is able to understand how all of these different systems work together and is comfortable with the theory behind all of them. Whereas, a mechanical engineer could reasonably say: “that’s a programming or an electrical problem, it’s not my job”, a roboticist must be well versed in all of the different specialisms.

2. The Programming Mindset

coding_computerProgramming is a pretty essential skill for robotics. It doesn’t matter if you’re involved in low-level control systems (only using MATLAB to design controllers) or if you’re a computer scientist designing high-level cognitive systems. Robotic engineers can be involved at any stage of the programming abstraction. The main difference between robotics and other programming disciplines is that robotic programming interacts with hardware, electronics and the (messy) real world.

There are over 1500 programming languages in the world. Although you clearly don’t need to learn all of them, a good roboticist will be have ‘the programming mindset’. They will be comfortable learning any new language if and when it is required. Which leads us nicely into the next one

3. Active Learning

There are so many topics within robotics that it is impossible to learn all of them before you need them for a project. Even after a 5 year undergraduate degree in robotics and a 3 year PhD, I had only scratched the surface of the topics in robotics.

Being good at active learning is an essential skill throughout your whole career. Therefore, having a good level of reading comprehension and a grasp of the learning strategies that work for you personally will help you to learn new things quickly and easily when the need arises.

4. Mathematics

There are not many “core” skills in robotics (i.e. topics that can’t be learned as you go along). One of these core skills is mathematics. You would probably find it challenging to succeed in robotics without a good grasp of at least algebra, calculus and geometry. This is because, at a basic level, robotics relies on being able to understand and manipulate abstract concepts, often representing those concepts as functions or equations. Geometry is particularly important for understanding topics like kinematics and technical drawing (which you’re likely to see a lot of in your career, even if it’s only on the back of a napkin).

5. Science or other Applied Mathematics

Einstein_Hubo_robotThere are some people (pure mathematicians for example) who only need to handle mathematics without applying the concepts to the real world. Roboticists are not this type of person. Skills in science and other applied mathematics are important for robotics, because the real world is never as exact as mathematics. Being able to decide when the result of a calculation is “good enough to actually work” is a key skill for a robotics engineer. Which leads us neatly to…

6. Judgement and Decision Making

Being a good roboticist means continually making engineering decisions. Should you program with ROS or another system? How many fingers should you give your robot? Which sensors should you use? Robotics is full of choices and there is almost never one correct solution.

Thanks to the wide knowledge base of roboticists, you might find yourself in a better position to weigh up certain problems than engineers from more specialized disciplines. Judgement and decision making are essential to make the most of your position. Skills in analytical thinking will allow you to analyze the problem from various angles while critical thinking skills will help you to use logic and reasoning to balance the strengths and weaknesses of each solution.

7. Good Communication

As a roboticist, your generalist knowledge will mean that you often have to explain concepts to non-specialists. For example, you might have to explain a high-level programming issue to a mechanical engineer, or a structural mechanics problem to a computer scientist. Good roboticists are a channel of communication between the different disciplines. Therefore, communication skills are vital. Being able to use your speaking and writing skills effectively is important. Also, if you have good instructing skills this is a big bonus.

8. Technology Design

Being proficient at technology design means being able to design things that actually work. It also means being able to figure out why something isn’t working properly and come up with possible solutions, meaning skills in repairing. Robotics involves a wide range of technologies, so skills in technology design mean you can effectively isolate the source of problems and propose effective solutions. An almost magical ability to “get it working” (whatever it is and however it is broken) is one of the marks of a truly talented roboticist.

9. Complex Problem Solving

As we’ve seen from the previous skills, a lot of robotics is about using your complex problem solving skills. This includes foreseeing problems, to fix the problems before they’ve even arisen, and troubleshooting them if they do arise.

10. Persistence

Finally, given the complex nature of robotics, persistence is a pretty essential skill. It might be persistence in trying to find the solution to a particularly difficult problem, or persistence in trying to explain a complex topic to others. Good roboticists will also support their persistence with dependability, proving themselves to be as knowledgeable and adaptable as robotics requires them to be.

 

 

Alex Owen-Hill Alex Owen-Hill is a freelance writer and blogger who writes about a large range of topics, including science, language, creativity and (of course) robotics. .. read more

Robotiq Inc. Robotiq's mission is to free human hands from tedious tasks so companies and workers can focus where they truly create value... read more


comments powered by Disqus


Zero Tillage Robotics
May 2, 2014

Are you planning to crowdfund your robot startup?

Need help spreading the word?

Join the Robohub crowdfunding page and increase the visibility of your campaign