5 Must-Have Features in a t robot

09 Apr.,2024

 

What makes a robot a robot and not just another machine? In this article, we define some of the key characteristics of a robotic system

What is a robot?

A key feature of robots is that they interact with the world, making changes to the world through their actions and responding to events in the world. Robots perform useful tasks, extend the capabilities of humans and reduce our risks when operating in hazardous environments.

Robotic systems can be defined as interconnected, interactive, cognitive and physical tools that are able to:

  • perceive the environment using sensors
  • reason about events
  • make plans using algorithms implemented in computer programs
  • perform actions enabled by actuators

This ‘feedback loop’ of autonomous sensing, perception, cognition and action is what distinguishes the robot from other machines (see figure 1).

A robot or autonomous system consists of the entity itself and its interaction with the world including other RAS and humans. The key elements of any RAS are the ability to sense and perceive the world, make intelligent decisions and take appropriate actions.

Example: a driverless car

The driverless car is an example of a typical robotic system:

  • Sensors: the car has a number of sensors that allow it to perform autonomously, including LIDAR (light detection and ranging), video cameras, RADAR (radio detection and ranging), wheel encoders (which measure wheel rotation to estimate distance travelled) and GPS (global positioning system) which is used to measure the car’s location in the world.
  • Perception: perception algorithms transform the raw data into labelled objects e.g. other cars, pedestrians and road signs.
  • Cognition: cognition algorithms allow the car to plan actions based on current perceptions and goals (i.e. desired destination and route, avoiding obstacles).
  • Action: the actions are implemented by low-level control algorithms that manipulate the steering wheel, accelerometer and brake to move the car, and take account of the vehicle dynamics, road surface and environmental conditions.

A driverless car with labelled sensors. Photo: John Greenfield (CC BY 2.0)

Key challenges to solve for the future

For robots to make an impact on human society in future, they need to be able to operate safely and effectively amongst humans. Most conventional robots operate successfully in structured environments such as factories. These are controlled spaces where the general public are not allowed to venture, or only under supervision.

A key challenge for future robots, therefore, to bring them out of the factories, is to make them more robust to unstructured environments, where the environment is unknown and unexpected events can occur.

The challenges for robots in unstructured environments extend across all the robotic elements of sensing, perception, cognition and action.

If you’d like to learn more about building a future with robots, check out the full online course from The University of Sheffield, below.

Just like any career, robotics demands a unique set of hard and soft skills.

You might be good at electronics, but do you have a head for "systems thinking"?

Can you make informed decisions in a wide range of different disciplines?

Are you an active learner who can communicate ideas effectively?

Good roboticists have a range of skills, which support our wide technical knowledge across different engineering disciplines.

You might just be at the beginning of your career in robotics and looking for how to get started. Or you might have worked with robots for a long time. Whichever stage you're at, you should realize that roboticists are a unique type of engineer. The path to a career in robotics exposes you to various engineering disciplines.

Unlike other types of engineering, you have to be reasonably proficient in a variety of technical areas, even though you don't have to be an expert in all of them. To be effective in such a diverse range of disciplines, good roboticists support their technical knowledge with various hard and soft skills.

What type of person works in robotics?

Roboticists are a combination of opposites — we are both specialists and generalists in equal measure.

As specialists, we are skilled in the fine details of our specialisms. As generalists, we can see "the big picture" — something our broad knowledge base allows us to do.

This combination can give us roboticists a great advantage. As author David Epstein says in his recent book Range "generalists triumph in a specialized world." And roboticists are a type of specialized generalist. 

Every career requires a different balance of skills. One system of categorizing careers, used by vocational psychologists, is the Holland Codes. These present people's vocational choices based on their personality types and skill-sets.

According to the Holland Code theory, 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. On one hand, "Investigative" people generally like to solve problems by thinking, reading and studying. On the other hand, "Realistic" people are highly practical — they like to solve problems by "getting their hands dirty". 

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

You can find out your own Holland Codes by doing a quiz (like this one) which will ask you some questions and give you a rating for the different categories. Note that your ratings can change over time so even if you don't perfectly match a robotics engineer, you could still have the right skills to work in robotics. For example, in the past, my score matched a robotics engineer quite closely. More recently, my job has become more creative and human-centered, so my score has changed. 

10 Essential Skills All Good Roboticists Have

To be effective as both specialists and generalists — whilst also being both practical and investigative — roboticists need a good set of supporting skills.

In this list, we've taken 25 career skills that are required for robotics engineers and are often looked for by hiring managers. We've then grouped these 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. Robots are very complicated systems and working with them requires knowledge in a varied set of disciplines. 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. This is what makes us good project managers and systems engineers.

A mechanical engineer could reasonably say: "that's a programming or an electrical problem, it's not my job". An electrical engineer could say: "that's a mechanical problem, it's not my job." A roboticist, on the other hand, must be well versed in all of the different specialisms.

Therefore, skills like Systems Analysis and Systems Evaluation are key to being a great roboticist.


2. The Programming Mindset

Programming is an essential skill for robotics. It doesn't matter if you're involved in low-level control systems — e.g. 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 don't need to learn all of them, a good roboticist will have 'The Programming Mindset'. They will be comfortable learning any new language if and when it is required. Here's a list of the top programming languages for robotics to get you started.

Which leads us nicely onto…

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. Every time I began a new project, I needed to learn one or two new skills. 

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.

A good grasp of Geometry is particularly important for understanding topics like kinematics and technical drawing (which you're likely to use a lot of in your career, even if it's only sketching a system on the back of a napkin).

5. Science or other Applied Mathematics

There are some people (pure mathematicians for example) who only need to handle mathematics without applying the concepts to the real world. This is certainly not the case in robotics. 

Skills in Science and other Applied Mathematics are important for robotics because the real world is never as exact as mathematics. A roboticist needs to have the ability to decide when the result of a calculation is "good enough to actually work."

Which leads us neatly to…

6. Judgment and Decision Making

Being a good roboticist means continually making engineering decisions. For example:

What method should you use to program your robot?

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 their wide knowledge base, as a roboticist you might find yourself in a better position to weigh up certain problems than engineers from more specialized disciplines.

Judgment 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 systems that actually work, which is obviously important when you're building a robotic system. It also means being able to figure out why something isn't working properly and come up with possible solutions, requiring skills in Repairing. These are both vital skills for a roboticist. 

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. Truly great roboticists have an almost magical ability to "get it working" (whatever it is and however it is broken).

9. Complex Problem Solving

There's an old Laotian proverb (i.e. from the country Laos) that says: "If you like things to be easy, you will have difficulties. If you like problems, you will succeed."

This is certainly true with robotics. As we've seen from the previous skills, a lot of robotics is about using your Complex Problem Solving skills. If you enjoy solving problems, you will enjoy robotics!

Problem solving requires skills like 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 an 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. 

 

Which of the key skills do you most, or least, identify with? Are there any other skills you think are important for roboticists? How have any of these skills helped you in a particular situation? Tell us in the comments below or join the discussion on LinkedIn, Twitter or Facebook.

5 Must-Have Features in a t robot

10 Essential Skills That All Good Roboticists Should Have