From self-driving lawn mowers for our homes to smart cocktail makers in bars, robots and automation are changing our lives in a myriad of different ways. At the forefront of this revolution we see robotics engineers innovating in every industry imaginable.
If you’re interested in changing the world or just love working with futuristic tech, then a career in robotics engineering may be for you. Read on as we explore what it is that robotics engineers do.
What is Robotics Engineering?
Robotics engineering employs aspects of mechanical, electrical, and software engineering to design and build robots for specific use cases. Often, these uses involve mimicking the role of humans’’ roles in activities such as household vacuuming, pick-and-pack in warehouse order processing and even autonomous vehicles, which can assist or replace human drivers. The scope of a robotics engineer can encompass the entire spectrum of human activity and perhaps beyond, in cases where robots exceed human capabilities.
Companies like Myomo and Boston Dynamics are pushing the boundaries of robotics. BD had their creations appear on hit TV shows like HBO’s Silicon Valley, while Myomo is revolutionizing robotic prosthetics by translating neurological signals in patients’ limbs into natural movement.
Meanwhile, rather than augmenting human movement, Boston Dynamics is in the business of creating humanoid and animal-like robots with physical abilities rivaling their biological counterparts. It’s companies like these that pave the way for ground-breaking innovation in the robotics industry now and in the future.
A Day in the Life of a Robotics Engineer
A robotics engineer’s day can look very different depending on the company they work for, the project they’re working on, and their role on a given team. Nonetheless, robotics engineers have many daily activities in common.
Before they can deploy the robots that are their final products, robotics engineers must design and write the robots’ software according to specifications, on time, and within budget. Next comes rigorous testing in simulation environments: They collect and analyze test data to determine the robot’s performance and suitability for the given use case and root out any errors in the process. If tests check out clean, they can deliver the project.
We can divide the workflow of a robotics engineer into three stages: build, test, and deploy, all of which occurs iteratively. The engineer works on small chunks of the robot’s functionality at a time, building, testing, and implementing as they go until their product is ready to ship.
After a project has been delivered, robotics engineers change up their roles, from designers and builders to support staff. Their primary responsibilities become debugging software, fixing issues by interacting with maintenance teams, and providing technical support for robotics software. Looking after a project is just as important as creating it.
The Skillset of a Robotics Engineer
Robotics engineering combines the disciplines of electrical, mechanical, and software engineering. Consequently, their skillsets are vast and multifaceted. Below, we explore some of the essential skills a robotics engineer needs.
Robots consist of a myriad of electrical components: circuits, motors, microprocessors, and more. Robots meant to perform complex movements like spinning, driving, or grabbing require their engineers be proficient in designing and working with electrical systems and components.
Physical instrumentation like sensors, control valves, and pressure detectors act as the nervous system that allows robotics circuits to interact with the world. An engineer must choose the right set of instruments for their robot to accomplish a given task. How can this car detect pedestrian movement? Is a LIDAR system better than a series of cameras?
Robots are expensive and time-consuming to build and test in the real world. Before deploying a live robot prototype, it’s more efficient to build a simulated model using software like Gazebo. A significant part of a robotics engineer’s workflow involves designing models, testing algorithms, and training AI in simulation environments that can be tailored to suit any use case.
Embedded software engineering
Unlike pure software engineers, robotics engineers write software that interfaces with electrical hardware to interact with the physical world. They’re not developing software that runs on a computer; they’re building robots that move and learn. Using languages such as C, C++ and Python or robot-specific variants like Kuka, robotics engineers write instructions for hardware, for example, telling a robot vacuum cleaner to stop and turn around when it approaches a wall.
Distributed control systems
Distributed control systems allow groups of robots to be individually controlled. At the top of a hierarchy of computers sits a central computer overseeing all automation processes at a high level while, at the lower levels, other computers coordinate, supervise and even directly control groups of robots.
Jobs designing these control systems using technologies like Siemens’ PCS7 will find more demand as robots play an increasingly major role in business processes.
Robots aren’t computers, but computers control them. Those computers run operating systems like Linux or robot-specialized frameworks like ROS that provide engineers with interfaces between the robots’ software and hardware.
In a role centered on autonomous vehicles, engineers must learn how to interpret visual information (like the difference between a pedestrian and a traffic light) and to elicit the appropriate response from hardware.
To accomplish this goal, robotics engineers use AI-assisted computer vision to identify and classify objects using vehicle sensors or cameras. Then they employ neural networks to simulate the actions of real drivers and respond intelligently to changing environments.
Safety, scalability, and maximizing production efficiency are of utmost importance when designing robots intended to function in a manufacturing context. Software like Delmia and Tecnomatix helps engineers design robots and observe their performance in a simulated factory setting. Just as important as good design is compliance with safety policies, industry-specific requirements, and risk assessments before deployment.
High maintenance costs and disruptive downtime are just some of the consequences of an unreliable design.
To manage reliability in robotics, techniques like root-cause analysis are used continuously throughout the design process to either minimize the likelihood or severity of failure. Root cause analysis involves asking a series of “why” questions until the source of a surface issue is found. For instance, if a robot stops moving, the resulting inquiry may reveal the problem arose from a connectivity issue with the main server. As part of this process, engineers collect and analyze data to troubleshoot potential points of concern well before they occur. You can’t wait for a problem to show up in deployment; by then it’s too late.
No engineer can escape the task of documenting their work, and robotics engineers are no exception. The multifaceted nature of robotics requires good quality documentation to allow the various participants in a project to more effectively maintain and communicate their work.
All of a robotics project’s documentation needs can fall into mechanical, electrical, and software contexts. Robotics engineers working on the mechanical side must produce spec sheets, prototype kit handbooks, and assembly guides while their electrical counterparts are busy creating wiring diagrams, instrumentation briefs, and calibration guides, among other project-specific documents. These are complemented by project requirement docs and testing plans on the software side.
There is scarcely a career as multifaceted and rewarding as that of the modern robotics engineer. Should you choose this career path, you’ll be applying the skills learned in mechanical, electrical, and software engineering and contributing to a nascent revolution in automation. On any given day, you might be building, testing, and deploying robots or providing support to your already deployed project. But the real value of a career in robotics engineering lies in the potential to learn a wide range of valuable skills in areas like project management and embedded software engineering, among many others.
If you found this article particularly interesting, consider enrolling in Udacity’s Robotics Software Engineer Nanodegree to begin exploring the world of robotics software algorithms and fast-track your progress towards a job in the robotics engineering field. If autonomous vehicles are what caught your eye, Udacity also has a Self-Driving Car Engineer Nanodegree that teaches you robotics in the context of self-driving car technology and features world-class experts from Uber and Google.