These industrial robots come in many shapes and sizes, depending on the applications they are going to work on. The smallest robots can only lift loads of about a kilogram or two. The largest ones can easily move loads exceeding a couple of tons.
Their mechanical structures are usually very rigid in order to guarantee high accuracy and simplify the control algorithms, especially at high speed. Their movements are fast and precise, but they usually lack any intelligence. In fact, the majority of their applications are focused on simple, repetitive tasks: for instance, cutting, welding, and painting metal pieces in the automotive industry; packaging or palletizing in food or medical industries; and assembling in consumer electronics production lines.
Adding sensors and cameras to the robots makes them able to solve increasingly complex tasks and makes them more aware of their surroundings. The additional information is input in smarter algorithms and allows the control system to adapt its behavior to different situations. Typical examples are robots autonomously sorting packages in warehouses or collaborative robots (cobots) able to detect and soften collisions with human operators.
Nomenclature
Before we start learning more details about the world of industrial robots, we need to introduce a few technical terms to make sure we all understand what their parts and features are called.
The field of physics that describes the position of linked objects in space is called kinematics. This description only considers the geometrical position of the links and does not account for the forces acting on them. In Part 1 of this book, we will study how to write and solve the kinematic equations for a robotic arm.
Using a kinematic model is the most common approach of controlling a robot in the industry, by using position-based commands. However, in some cases, taking into account the forces acting on the individual links is also required: either to improve the quality of the motion control or to solve force control applications. For example, screw tightening and bottle capping are performed with force commands, not position control. The field of physics that describes the movement of objects under the action of forces is called dynamics. We will briefly introduce the dynamic model of industrial robots in Chapter 8.
Serial kinematics consist of an open chain of links, similar to a human arm: from the shoulder, to the elbow, down to the wrist and fingers.
Parallel kinematics, on the other hand, are composed of links positioned parallel to each other, somewhat similar to a group of legs or to a tripod.
No matter what kind of kinematic chain we are dealing with, we call the point at the end of the structure the mounting point (MP) that is where a tool is normally mounted to perform certain tasks (a gripper, a drill, a welding gun). The point at the very end of the tool is called the tool center point (TCP). That is a fundamentally important definition because the TCP is the point where the robot interacts with the environment. Learning how to control the position, orientation, speed, and force of the TCP is the ultimate goal of this entire book.
The range of all the possible positions in space that can be reached by the TCP is called the workspace of the robot. Serial kinematics normally offer larger workspaces when compared to parallel kinematics, which means they can reach objects farther away from their base. However, larger workspaces also increase the risk of collisions with other robots or other objects in the surrounding environment. Workspace monitoring and collision detection are important topics that will be covered in Chapter 6.
The TCP, even though called point, is defined not only by its position but also by its orientation, naturally derived from the tool body. As an analogy, think of how you can reach for an object with your hand from different angles. The target position is the same, but the orientation is not. In the field of robotics, the combination of position and orientation of a target point is often called a pose.
The ability to position and orient the TCP along and around different axes is measured by the number of degrees of freedom (DoFs) of the robot.
In practice, not all industrial robots offer six DoFs because the applications they are designed for do not require them. Think, for example, of a typical use case for industrial robots: picking cookies off a running conveyor and placing them in a box for market distribution. If the cookies are round, then they can fit in the box at any angle. The robot is required to reach the correct target position in space, but the orientation of the cookie is irrelevant. In this case, three degrees of freedom are enough. However, if the cookies have a specific asymmetric shape, say rectangular, then they need to be oriented at a specific angle with respect to the box in order to fit inside. In that case, an additional degree of freedom is required: a rotational movement around the vertical axis.
Adding degrees of freedom to a robot means adding links, motors, weight, and control complexity to the system. You could ideally build a robot with as many joints as you wanted, but it would get harder and harder to control. Keeping the mechanics light and small usually results in faster and more accurate movements.
Serial kinematics often offer more flexibility, thanks to their high number of joints, but they lack speed and accuracy. That is because each link adds some weight and some errors to the chain, so that the total error builds up with the number of joints.
Parallel kinematics, on the other hand, are used in industrial settings for applications with low payload and with limited number of degrees of freedom. However, they move much faster and offer higher accuracy, because their mechanics are much lighter and also because errors do not add up between parallel joints.
There are, of course, parallel mechanics that can carry very high loads and have six full DoFs (e.g., hexapod platforms for motion simulators), but these are not as common in industrial settings.
Mechanical Configurations
Now that we know how to differentiate robotic structures, we can look at some examples of kinematical configurations typically found on the market.
SCARA: The name stands for Selective Compliance Assembly Robot Arm. It is a serial kinematic that comes in two, three, or four DoFs versions, with four being the most common (see Figure 1-5). It is a compact, cheap, and fast robot, with a low payload and a small workspace. It finds application mostly in pick-and-place or assembly tasks in the electronics manufacturing lines.
DELTA: Also known as tripod robot. It is a parallel kinematic that, just like the SCARA, is sold in two, three, or four DoFs versions, with four-axes being the most common configuration (see Figure 1-6). In the three-axes and four-axes versions, its parallel arms are positioned at the vertex of an equilateral triangle, hence the name delta.
ANTHROPOMORPHIC: This is the standard six-axes robot and is by far the most common robot in manufacturing plans. It is called anthropomorphic because it resembles a human arm (see Figure 1-7), but most people refer to it simply as robotic arm or manipulator. It has six axes and six degrees of freedom, and it is offered in a large range of sizes according to the payload required by the application: from a few kilograms up to a full ton.
This is the most generic type of robot, and we will study it intensively through the book. However, most of the concepts are general enough and can be quickly applied to all other kinds of robots without modifications. The main exception is the solution of the kinematic model, which is unique to each robot’s structure. The equations and solutions for this robot are presented in detail in Chapter 3 and Chapter 4, while all the other models are solved in the Appendix at the end of the book.
PALLETIZER: This kind of robot looks similar to the anthropomorphic version, but it only has four axes and therefore two fewer degrees of freedom (see Figure 1-8). As the name suggests, it is used in palletizing applications, loading and unloading large and heavy objects, usually by means of a mechanical gripper or a vacuum suction system.
The robot picks the objects from the top and places them on a flat surface. This operation requires only four DoFs: three for the target position and one for the orientation angle around the vertical axis. No orientation around the two horizontal axes is possible nor needed. Giving up two degrees of freedom results in the advantage of removing two motors and a lot of complex mechanics, thereby saving costs and weight.
COBOT: This is a six-axes lightweight robot (see Figure 1-9), where lightweight means that its mechanical structure and its control system are engineered to make collisions soft. The main purpose of such a design is that these robots can safely work alongside human operators without causing injuries, unlike all other kinds of industrial robots, which must be protected and isolated behind metal cages. That is where the name cobot comes from (short for collaborative robot).
Another reason we put this robot in a different class is that its kinematic chain is slightly different than the standard six-axes manipulator. The solution of its kinematic model is presented in the Appendix.
Structure of a Robot Control System
- 1.
It reads information from user input, external sensors, motor encoders, cameras, etc.
- 2.
It internally processes that information based on specific rules and algorithms.
- 3.
It generates output signals to control the actuators: motors, pumps, lights, etc.
The controller is in practice a processor of some kind (CPU, MCU, FPGA) with various interfaces to the input and output signals. In our specific case, we will work with a microcontroller unit (MCU) because of its low cost, simplicity to program, and large number of readily available interfaces.
It is our task to program the controller with functions to plan and execute robot’s movements. The quality and complexity of our algorithms will be reflected in the performance of the robot. It is often said that a machine will only be as smart as its programmer. For instance, the robot controller will not think about safety issues unless you specifically programmed it to do so.
There are also situations where artificial intelligence techniques can be used to improve existing algorithms and outperform human performances. Machine vision analysis and motion control optimization are typical applications.
Once the controller is programmed, it needs to be interfaced to the external world in order to receive and execute commands. The first basic connection is with a human operator and is technically called HMI (human-machine interface). That is what the operator will use to access the robot, make it move, check its status, and change some of its configuration parameters. A critical property of this interface is that it has to be simple and intuitive to use: the operator is not a programmer and is not required to understand the internal details of the algorithms controlling the robot. An important selling point of any technology is its ability of being user-friendly.
The second connection that the controller needs with the external world is a series of input and output signal lines (IOs). These signals are used for a multitude of reasons and are often synchronized with the internal motion calculations: communication and coordination with other robots or machines, monitoring of safety areas, control of application-specific tools (e.g., a welding gun), feedback from a sensor or a camera to signal the presence of a new workpiece, turning on a warning light or alarm siren, and many others.
Finally, the absolutely essential interface is that between the controller and the motion actuators. The robot can physically move because of the action of its motors, and the hardware components responsible for the motor control are called motor drives. The controller cyclically sends commands to the drives to tell them how and where to position the motors, so that the entire robot will accurately follow the correct path and reach the final position as desired by the operator.
In industrial robots, the motor drives are usually separate hardware components with their own processor units and communicate with the robot’s main controller via high-speed data lines known as fieldbuses. Alternatively, in smaller and simpler robots, the motor driving function can be directly incorporated in the main controller to save space and costs.
Combining the controller and the drives into a single product results in what is known as smart motion controller and represents a very efficient solution for low-power applications. We will present this approach when designing our robot control system (see Section on Integrated Solution in Chapter 18). However, from a conceptual point of view, you should still think of the two components as separate entities, each responsible for its own task: the main controller is responsible for the overall control of the robot, whereas each motor drive is only responsible for the control of its own mechanical axis and knows nothing about the rest of the robot.
In this book, we describe how to design both the software and the hardware for the main robot controller and the motor drives. Technically, once you learn how to build your own motor drive, you can use it in wide range of motion applications: from industrial robots and machines to household appliances and electric vehicles.
Digital Twin
The process of building a product as complex as a robot controller requires a lot of testing in order to find mistakes and correct them. However, testing a new software function directly on a real robot can lead to unpredictable movements and dangerous outcomes.
Simulation environments are always used by robotics engineers to show the action of a robot in response to a certain function and make sure that the behavior is correct before carrying on the same test on the actual physical machine.
A three-dimensional model that represents our robot and responds according to motion commands in the same way the real robot does is called a digital twin. Different simulation options exist: from basic kinematic modeling to more advanced workspace monitoring and dynamic modeling functionalities.
The digital twin approach is not limited to the simulation of an individual robot but can be easily extended to an entire production line. Besides testing new functions, a typical and useful application is to test different configuration of production parameters in order to optimize a manufacturing process. The savings in terms of time and costs can be significant.
Visualize the robot moving in space and interacting with the external environment.
Observe the robot picking objects off a conveyor and placing them in a box in the right position and with the correct orientation.
Make sure that several welding robots working on a same metal structure do not collide with each other.
Train a reinforcement learning algorithm to optimize motion parameters based on a large number of random situations.
Take our potential customers on a virtual tour of a manufacturing floor to show them the control capabilities of our software libraries.
Remotely connect from our office to the real robot located in a factory across the country, and perform monitoring or maintenance activities.
These and many other requirements necessitate a realistic environment with which the controller can interact. Two examples of software specifically designed for that purpose are Gazebo and industrialPhysics.
Another creative approach consists of using a generic game engine like Unity and take advantage of its powerful physics engine and machine learning toolkit to create a virtual world in which you can place models of your robots and let them move, interact, and crash, while you test and optimize your motion control algorithms. The possibilities are endless and the actual cost is zero.
More details on how to build a simple simulator in Unity and connect it to the hardware controller can be found in Chapter 12.
Summary
This first chapter served as a basic introduction to the topic of industrial robotics. At this point, you should be able to recognize a typical industrial manipulator and identify its main components: the passive links, the actuated joints, the TCP, and its control hardware. You should also be able to tell apart a serial kinematics from a parallel one and have a decent idea of what workspace the robot is going to cover.
We are now ready to start modeling the robot in a more formal mathematical way, so that we can later write software code to accurately control its movements.