Chapter 60: Programming Complexity |
60.1 Chapter Summary |
Programming complexity is one of the most practical ways to compare industrial robot architectures. A machine that is easy to program can be deployed quickly, redeployed often, and maintained by a smaller team. A machine that is difficult to program may still be the right choice, but it demands more engineering time, more simulation, and more careful planning. This chapter compares the major robot types by their programming burden. Cartesian robots are simplest to program along three axes. SCARA and delta robots are moderately complex. Articulated robots require the most sophisticated kinematic solutions. The chapter explains why this ordering exists, then explores it through real applications in electronics, food, logistics, automotive, aerospace, pharmaceuticals, and other industries. The goal is not to rank machines by quality but to show how programming complexity shapes the choice of robot for a given job. |

|
60.2 Why Programming Complexity Matters |
A robot is only as useful as the tasks it can perform reliably. Programming is the bridge between a mechanical arm and a productive task. If the programming is simple, the robot can be set up in hours or days. If the programming is complex, the same robot may take weeks to commission and may require specialists to keep it running. Programming complexity affects cost, downtime, flexibility, and the size of the engineering team. It also affects how easily a factory can change its product line. In a world of short product cycles and customized orders, the ability to reprogram quickly is a competitive advantage. |
Programming complexity is not the same as mechanical complexity. A robot can be mechanically simple but hard to program if its motion is awkward. A robot can be mechanically complex but easy to program if its software hides the difficulty. In practice, however, the two often go together. The number of axes, the type of joints, and the shape of the workspace all influence how much math and planning are needed to move the tool to a desired point. |

|
60.3 The Three Broad Categories |
The comparison in this chapter uses three broad categories. The first is low complexity, represented by Cartesian robots that move along three linear axes. The second is moderate complexity, represented by SCARA and delta robots. The third is high complexity, represented by articulated robots with multiple rotary joints. This ordering is a useful rule of thumb, but it is not absolute. A well-designed SCARA with good software can be easier to program than a poorly integrated Cartesian system. A delta robot with a vision system can be easier to teach than a Cartesian robot that must be manually jogged to many points. The categories describe the typical burden, not the guaranteed burden. |

|
60.4 Cartesian Robots: The Simplest Case |
A Cartesian robot moves its tool along three perpendicular linear axes. The axes are usually called X, Y, and Z. The tool moves left and right, forward and back, and up and down. There are no rotary joints in the basic configuration. This geometry has a direct and powerful consequence for programming: the position of the tool is simply the sum of the positions of the three axes. If the X axis is at 100 millimeters, the Y axis at 200 millimeters, and the Z axis at 50 millimeters, then the tool is at the point (100, 200, 50). There is no need to solve a set of trigonometric equations. There is no need to worry about which joint angle produces which tool position. The mapping from axis positions to tool position is a simple addition. |
This simplicity shows up in every part of programming. A programmer can jog the robot to a point, record the axis positions, and know that the tool will return to the same point when those axis positions are repeated. The coordinate system is intuitive. The workspace is a rectangular box, which matches many real-world work areas such as tables, conveyors, and storage racks. Path planning is straightforward. If the tool must move from one point to another in a straight line, the programmer can simply move all three axes at coordinated speeds. There is no need to worry about the tool drifting off the intended line because of joint geometry. |
Cartesian robots also make it easy to use simple sensors and simple logic. A limit switch on the X axis tells the controller that the tool has reached the left end of travel. A photo sensor on the Z axis tells the controller that the tool has touched the surface. Because the axes are independent, a fault on one axis can often be diagnosed without considering the others. Maintenance is simpler. A worn belt on the Y axis can be replaced without recalibrating the entire robot, as long as the other axes are not disturbed. |
The programming languages for Cartesian robots are often simple. Many systems use a form of step-by-step teaching. The operator moves the tool to a point, presses a button, and the point is stored. The program is then a list of points and actions. This is sometimes called point-to-point programming. It is easy to learn and easy to modify. For tasks that involve moving from one fixed location to another, such as picking a part from a tray and placing it in a box, this is often enough. |
The limitations of Cartesian robots are also important to understand. They are not well suited to tasks that require the tool to approach a part from many different angles. They cannot easily reach around an obstacle. They cannot easily follow a curved surface. Their workspace is a box, and if the task requires a spherical or cylindrical workspace, they may be unable to reach all the needed points. They also tend to be bulky. The axes must be long enough to cover the workspace, and the structure must be stiff enough to avoid vibration. This can make them large and heavy compared to other robot types. |

|
60.5 Examples of Cartesian Robot Applications |
Cartesian robots are used in many industries where the task is simple and the volume is high. In electronics assembly, they are often used to place components on a printed circuit board. The board is held in a fixed position, and the robot moves a gripper or a dispenser along three axes. The programming is simple because the board is flat and the components are in known locations. The robot can be taught by moving it to each component position and recording the point. If the board design changes, the program can be updated by teaching new points. This is much faster than reprogramming a more complex robot. |
In the food industry, Cartesian robots are used for picking and placing items into trays or boxes. A common example is a robot that picks cookies from a conveyor and places them into a package. The robot moves along three axes to reach the conveyor, pick up a cookie, move to the package, and place the cookie. The programming is simple because the conveyor and the package are in fixed positions. The robot does not need to approach the cookie from different angles. It only needs to move down, close the gripper, move up, move over, and move down again. This is a classic Cartesian task. |
In logistics and warehousing, Cartesian robots are used for palletizing and depalletizing. A palletizing robot takes boxes from a conveyor and stacks them on a pallet. The robot moves along three axes to pick up a box and place it on the pallet. The programming is simple because the pallet is in a fixed position and the boxes are usually the same size. The robot can be taught the positions of the corners of the pallet and the height of each layer. The program then calculates the positions of the boxes in between. This is a straightforward calculation because the axes are independent. Many palletizing systems use a Cartesian robot because it is easy to program and easy to maintain. |
In laboratory automation, Cartesian robots are used to move samples between trays, test tubes, and instruments. The robot moves a pipette or a gripper along three axes. The programming is simple because the labware is in a fixed grid. The robot can be taught the position of the first well in a plate and the spacing between wells. The program then calculates the positions of all the other wells. This is a common application because it is repetitive and precise. The Cartesian robot is well suited to it because the workspace is a flat plane and the motion is simple. |
In metalworking, Cartesian robots are used for cutting, welding, and inspection. A Cartesian robot can move a cutting torch along three axes to cut a flat plate. The programming is simple because the plate is flat and the cut path is in a plane. The robot can be taught the start and end points of each cut and the shape of the path. This is easier than programming an articulated robot to follow the same path because the Cartesian robot does not need to solve for joint angles. The same is true for inspection. A Cartesian robot can move a camera along three axes to inspect a flat surface. The programming is simple because the camera position is directly related to the axis positions. |
In agriculture, Cartesian robots are used for seeding, transplanting, and sorting. A Cartesian robot can move a gripper along three axes to pick up a seedling and place it in a tray. The programming is simple because the tray is in a fixed position and the seedlings are in a grid. The robot can be taught the position of the first cell and the spacing between cells. This is a common application because it is repetitive and the workspace is flat. |
In consumer goods, Cartesian robots are used for assembly, packaging, and labeling. A Cartesian robot can move a label applicator along three axes to place a label on a product. The programming is simple because the product is in a fixed position and the label is in a fixed position. The robot can be taught the position of the product and the position of the label. This is a common application because it is repetitive and the motion is simple. |

|
60.6 SCARA Robots: Moderate Complexity |
A SCARA robot has two rotary joints that move in a horizontal plane, plus a linear joint that moves up and down. The name stands for Selective Compliance Assembly Robot Arm. The two rotary joints allow the robot to reach points in a plane, and the linear joint allows it to move up and down. The geometry is more complex than a Cartesian robot because the position of the tool depends on the angles of the two rotary joints. If the first joint is at one angle and the second joint is at another angle, the tool position is determined by trigonometry. This means that the programmer cannot simply add axis positions to find the tool position. The controller must solve the kinematic equations to find the joint angles that will place the tool at the desired point. |
This added complexity has several consequences. First, the programmer cannot easily jog the robot to a point and record the joint angles, because the same tool position can be reached by more than one combination of joint angles. This is called redundancy. The robot can reach the same point with the elbow up or the elbow down. The programmer must choose which configuration to use. This choice affects the robot's ability to reach other points and avoid obstacles. Second, the workspace is not a simple box. It is a donut-shaped area around the base. The robot cannot reach points inside a certain radius because the arms would collide. It cannot reach points outside a certain radius because the arms are not long enough. The programmer must be aware of these limits. Third, the robot's motion is not as intuitive. If the programmer wants the tool to move in a straight line, the controller must coordinate the two rotary joints and the linear joint. This requires more computation than a Cartesian robot. |
Despite these complexities, SCARA robots are easier to program than articulated robots. They have only three or four axes, and the motion is mostly in a horizontal plane. The vertical motion is independent. This makes them well suited to tasks that involve moving a tool from one point to another in a plane, such as picking a part from a conveyor and placing it on a fixture. The programming is moderate because the programmer must understand the workspace and the redundancy, but the kinematic solutions are still relatively simple. The equations for a two-link planar arm are well known and can be solved quickly. The controller can often do this in real time, so the programmer can think in terms of tool positions rather than joint angles. |
SCARA robots are also known for their compliance. The name includes the word compliance because the arm can be made to yield in the vertical direction. This is useful for tasks such as inserting a peg into a hole. The robot can push the peg down until it meets resistance, and the compliance allows the peg to align with the hole. This is a mechanical feature, but it also affects programming. The programmer can use a simple force-controlled move instead of a complex position-controlled move. This reduces the programming burden. |

|
60.7 Examples of SCARA Robot Applications |
SCARA robots are widely used in electronics assembly. They are often used to pick up small components and place them on a circuit board. The robot moves in a horizontal plane to reach the component and the board, and moves down to pick or place. The programming is moderate because the robot must reach into tight spaces and avoid other components. The programmer must plan the path carefully to avoid collisions. The redundancy of the two rotary joints can be used to reach around obstacles. For example, the robot can approach a component from one side with the elbow up and from the other side with the elbow down. This flexibility is useful in dense assemblies. |
In the automotive industry, SCARA robots are used for small parts assembly. They are often used to insert screws, connect cables, and place gaskets. The programming is moderate because the robot must apply the right force and follow the right path. The compliance of the SCARA arm is useful for inserting parts that need to be aligned. The programmer can use a simple force-controlled move to push the part into place. This is easier than programming an articulated robot to do the same task because the SCARA robot has fewer axes and a simpler kinematic solution. |
In the pharmaceutical industry, SCARA robots are used for dispensing, mixing, and testing. They are often used to move liquids from one container to another. The programming is moderate because the robot must move precisely and avoid contamination. The workspace is often a flat table with a grid of containers. The robot can be taught the position of the first container and the spacing between containers. The program then calculates the positions of the other containers. This is similar to the Cartesian case, but the SCARA robot can reach the containers from different angles, which can be useful if the containers are arranged in a circle. |
In the food industry, SCARA robots are used for picking and placing small items. They are often used to pick cookies, candies, or fruits from a conveyor and place them into packages. The programming is moderate because the robot must move quickly and accurately. The workspace is often a flat conveyor with items moving past. The robot must track the items and pick them at the right moment. This requires a vision system and a tracking algorithm. The SCARA robot is well suited to this because it can move quickly in a plane and has a simple kinematic solution. The programmer can use a vision system to find the item and then command the robot to move to that position. The controller solves the kinematic equations to find the joint angles. |
In the consumer goods industry, SCARA robots are used for assembly and packaging. They are often used to place small parts into a housing or to close a lid. The programming is moderate because the robot must move precisely and apply the right force. The compliance of the SCARA arm is useful for snapping parts together. The programmer can use a simple force-controlled move to push the part into place. This is easier than programming an articulated robot to do the same task. |
In the semiconductor industry, SCARA robots are used for wafer handling. They are often used to move wafers from one station to another. The programming is moderate because the robot must move precisely and avoid contamination. The workspace is often a vacuum chamber with a flat stage. The robot can be taught the position of the first station and the spacing between stations. The program then calculates the positions of the other stations. This is similar to the Cartesian case, but the SCARA robot can reach the stations from different angles, which can be useful if the stations are arranged in a circle. |

|
60.8 Delta Robots: Moderate Complexity with High Speed |
A delta robot is a parallel robot with three arms connected to a common base. Each arm has a rotary joint at the base and a parallelogram linkage that connects to the tool plate. The three arms work together to move the tool in three dimensions. The geometry is more complex than a SCARA robot because the motion of the tool depends on the coordinated motion of all three arms. The kinematic solution is not a simple two-link problem. It involves solving a set of equations that relate the positions of the three arms to the position of the tool. This is more complex than the SCARA case, but it is still manageable. The equations can be solved quickly, and the controller can often do this in real time. |
The delta robot is known for its high speed and high acceleration. It is often used for picking and placing small items at high rates. The programming is moderate because the robot must move quickly and accurately, and the kinematic solution is more complex than the SCARA case. However, the delta robot has a large workspace and can reach points in a three-dimensional volume. This makes it more versatile than a SCARA robot for some tasks. The programmer must understand the workspace and the singularities. A singularity is a configuration where the robot loses a degree of freedom or requires infinite joint speeds to move in a certain direction. The delta robot has singularities at the edges of its workspace. The programmer must avoid these regions. |
The delta robot is also known for its stiffness. The parallel structure makes it very rigid, which allows it to move quickly without vibration. This is useful for tasks that require high precision at high speed. The programming is moderate because the robot must be programmed to move along smooth paths that avoid singularities. This requires some planning, but it is not as complex as programming an articulated robot with six axes. |

|
60.9 Examples of Delta Robot Applications |
Delta robots are widely used in the food industry for picking and placing items. They are often used to pick small items such as candies, cookies, or fruits from a conveyor and place them into packages. The programming is moderate because the robot must move quickly and accurately, and the kinematic solution is more complex than the SCARA case. The robot must track the items on the conveyor and pick them at the right moment. This requires a vision system and a tracking algorithm. The delta robot is well suited to this because it can move very quickly and has a large workspace. The programmer can use a vision system to find the item and then command the robot to move to that position. The controller solves the kinematic equations to find the arm positions. |
In the electronics industry, delta robots are used for picking and placing small components. They are often used to place components on a circuit board or to sort them into bins. The programming is moderate because the robot must move quickly and accurately. The workspace is often a flat table with a grid of components. The robot can be taught the position of the first component and the spacing between components. The program then calculates the positions of the other components. This is similar to the SCARA case, but the delta robot can move faster and has a larger workspace. |
In the pharmaceutical industry, delta robots are used for dispensing and testing. They are often used to move small containers from one station to another. The programming is moderate because the robot must move precisely and avoid contamination. The workspace is often a flat table with a grid of containers. The robot can be taught the position of the first container and the spacing between containers. The program then calculates the positions of the other containers. This is similar to the SCARA case, but the delta robot can move faster and has a larger workspace. |
In the consumer goods industry, delta robots are used for packaging and sorting. They are often used to pick small items from a conveyor and place them into boxes. The programming is moderate because the robot must move quickly and accurately. The robot must track the items on the conveyor and pick them at the right moment. This requires a vision system and a tracking algorithm. The delta robot is well suited to this because it can move very quickly and has a large workspace. |
In the logistics industry, delta robots are used for sorting parcels and packages. They are often used to pick small parcels from a conveyor and place them into bins. The programming is moderate because the robot must move quickly and accurately. The robot must track the parcels on the conveyor and pick them at the right moment. This requires a vision system and a tracking algorithm. The delta robot is well suited to this because it can move very quickly and has a large workspace. |

|
60.10 Articulated Robots: The Most Complex Case |
An articulated robot has multiple rotary joints, usually six, that allow it to reach points in a three-dimensional workspace. The joints are arranged in a serial chain, with each joint connected to the next. The position of the tool depends on the angles of all the joints. The kinematic solution is much more complex than the Cartesian, SCARA, or delta cases. The programmer cannot simply add axis positions or solve a simple two-link problem. The controller must solve a set of equations that relate the joint angles to the tool position. This is called the inverse kinematic problem. For a six-axis robot, the solution involves trigonometric equations that can have multiple solutions. The programmer must choose the right solution for the task. This is called the configuration choice. The robot can reach the same point with the elbow up or the elbow down, with the wrist flipped or not flipped. Each configuration has different reach and different collision risk. The programmer must understand these choices and plan accordingly. |
The complexity of articulated robots shows up in every part of programming. First, the programmer cannot easily jog the robot to a point and record the joint angles, because the same tool position can be reached by many combinations of joint angles. The programmer must use a simulation or a teach pendant that shows the tool position and the joint angles. Second, the workspace is not a simple box or a donut. It is a complex three-dimensional volume with many singularities. A singularity is a configuration where the robot loses a degree of freedom or requires infinite joint speeds to move in a certain direction. The articulated robot has singularities at the edges of its workspace and at certain wrist configurations. The programmer must avoid these regions. Third, the robot's motion is not intuitive. If the programmer wants the tool to move in a straight line, the controller must coordinate all six joints. This requires a lot of computation. The controller must also handle the redundancy and the singularities. This is much more complex than the Cartesian case. |
Articulated robots also require more calibration. The joints must be calibrated so that the controller knows the exact relationship between the joint angles and the tool position. This is usually done with a calibration procedure that involves moving the robot to known positions and measuring the tool position. The calibration must be repeated if the robot is moved or if a joint is replaced. This is more complex than the Cartesian case, where the axes are independent and the calibration is simpler. |
The programming languages for articulated robots are often more complex. They include features for defining coordinate systems, for planning paths, and for handling singularities. The programmer must understand these features to use the robot effectively. This requires more training and more experience. The programmer must also understand the robot's dynamics, because the robot's motion is affected by gravity, inertia, and friction. The controller must compensate for these effects to move the tool accurately. This is more complex than the Cartesian case, where the dynamics are simpler. |
Despite these complexities, articulated robots are the most versatile. They can reach points in a three-dimensional workspace, approach parts from many different angles, and follow complex paths. They are well suited to tasks such as welding, painting, assembly, and machine tending. The programming is complex, but the flexibility is worth it for many applications. |

|
60.11 Examples of Articulated Robot Applications |
Articulated robots are widely used in the automotive industry for welding, painting, and assembly. In welding, the robot must follow a seam that may be curved and may be in a three-dimensional space. The programming is complex because the robot must move the welding torch along the seam at the right speed and angle. The programmer must plan the path carefully to avoid collisions and to ensure the weld is correct. The robot must also handle the heat and the sparks. This requires a robust program and a good simulation. The articulated robot is well suited to this because it can reach the seam from many different angles and can follow complex paths. |
In painting, the robot must move a spray gun over a surface at the right speed and distance. The programming is complex because the robot must follow the surface and maintain the right distance. The programmer must plan the path carefully to avoid overspray and to ensure the paint is even. The robot must also handle the paint and the solvents. This requires a robust program and a good simulation. The articulated robot is well suited to this because it can reach the surface from many different angles and can follow complex paths. |
In assembly, the robot must pick up parts and place them together. The programming is complex because the robot must move precisely and apply the right force. The programmer must plan the path carefully to avoid collisions and to ensure the parts fit together. The robot must also handle the tolerances and the variations in the parts. This requires a robust program and a good simulation. The articulated robot is well suited to this because it can reach the parts from many different angles and can follow complex paths. |
In machine tending, the robot must load and unload parts from a machine. The programming is complex because the robot must move precisely and avoid collisions with the machine. The programmer must plan the path carefully to ensure the robot can reach the machine and the part. The robot must also handle the chips and the coolant. This requires a robust program and a good simulation. The articulated robot is well suited to this because it can reach the machine from many different angles and can follow complex paths. |
In the aerospace industry, articulated robots are used for drilling, riveting, and inspection. In drilling, the robot must move a drill to a precise position and angle. The programming is complex because the robot must move precisely and avoid collisions with the aircraft structure. The programmer must plan the path carefully to ensure the robot can reach the hole and the drill. The robot must also handle the chips and the coolant. This requires a robust program and a good simulation. The articulated robot is well suited to this because it can reach the structure from many different angles and can follow complex paths. |
In the pharmaceutical industry, articulated robots are used for dispensing, mixing, and testing. They are often used to move liquids from one container to another. The programming is complex because the robot must move precisely and avoid contamination. The programmer must plan the path carefully to avoid collisions and to ensure the liquid is dispensed correctly. The robot must also handle the tubes and the containers. This requires a robust program and a good simulation. The articulated robot is well suited to this because it can reach the containers from many different angles and can follow complex paths. |
In the food industry, articulated robots are used for picking and placing items. They are often used to pick items from a conveyor and place them into packages. The programming is complex because the robot must move quickly and accurately, and the kinematic solution is more complex than the SCARA or delta cases. The robot must track the items on the conveyor and pick them at the right moment. This requires a vision system and a tracking algorithm. The articulated robot is well suited to this because it can reach the items from many different angles and can follow complex paths. However, the programming is more complex than the delta case, so the delta robot is often preferred for high-speed picking. |
In the logistics industry, articulated robots are used for palletizing and depalletizing. They are often used to pick boxes from a conveyor and stack them on a pallet. The programming is complex because the robot must move precisely and avoid collisions with the pallet and the boxes. The programmer must plan the path carefully to ensure the robot can reach the boxes and the pallet. The robot must also handle the variations in the boxes. This requires a robust program and a good simulation. The articulated robot is well suited to this because it can reach the boxes from many different angles and can follow complex paths. However, the programming is more complex than the Cartesian case, so the Cartesian robot is often preferred for simple palletizing. |

|
60.12 Factors That Change the Complexity |
The ordering of programming complexity is a useful rule of thumb, but several factors can change it. The first factor is the software. A good software package can hide much of the complexity. For example, a modern articulated robot with a good programming environment can be easier to program than an old Cartesian robot with a poor programming environment. The software can provide features such as automatic path planning, collision avoidance, and singularity avoidance. These features reduce the programming burden. The second factor is the task. A simple task on an articulated robot may be easier to program than a complex task on a Cartesian robot. For example, picking a part from a conveyor and placing it on a table is a simple task on an articulated robot if the part is always in the same place. The programming is simple because the robot only needs to move to a few points. The third factor is the use of sensors. A vision system can make an articulated robot easier to program because the robot can find the part without being taught the exact position. This reduces the programming burden. The fourth factor is the use of simulation. A good simulation can make an articulated robot easier to program because the programmer can test the program without using the real robot. This reduces the risk of collisions and reduces the commissioning time. The fifth factor is the use of standard routines. Many robot manufacturers provide standard routines for common tasks such as palletizing, welding, and painting. These routines reduce the programming burden. The sixth factor is the skill of the programmer. A skilled programmer can program an articulated robot more easily than an unskilled programmer can program a Cartesian robot. This is because the skilled programmer understands the kinematics and the software. The seventh factor is the amount of change. A task that changes often is easier to program on a robot with simple programming. A task that changes rarely can be programmed on a robot with complex programming because the programming cost is amortized over a long production run. |

|
60.13 Programming Complexity and Cost |
Programming complexity has a direct effect on cost. The cost of programming includes the time to write the program, the time to test the program, and the time to maintain the program. A simple program can be written in hours and tested in days. A complex program can take weeks to write and months to test. The cost also includes the cost of the programming environment, such as the software and the simulation tools. A complex robot may require a more expensive programming environment. The cost also includes the cost of training. A simple robot may require only a few hours of training. A complex robot may require weeks of training. The cost also includes the cost of downtime. A complex program may have more bugs and may require more debugging. This can lead to more downtime and more lost production. The cost also includes the cost of flexibility. A simple program may be easy to change, which allows the factory to respond to changes in demand. A complex program may be hard to change, which limits the factory's flexibility. |

|
60.14 Programming Complexity and Safety |
Programming complexity also affects safety. A complex robot may have more failure modes and may be harder to safeguard. The programmer must consider the robot's motion and the potential for collisions. The programmer must also consider the robot's speed and the potential for injury. A simple robot may be easier to safeguard because its motion is more predictable. A complex robot may require more sensors and more guards. The programmer must also consider the robot's behavior in the event of a fault. A simple robot may stop safely if a limit switch is triggered. A complex robot may need more sophisticated fault handling. This adds to the programming burden. |

|
60.15 Programming Complexity and Maintenance |
Programming complexity also affects maintenance. A complex program may be harder to understand and harder to modify. The maintenance team must be trained to understand the program and the robot's kinematics. A simple program may be easier to understand and easier to modify. The maintenance team may be able to fix problems without calling the manufacturer. This reduces downtime and reduces cost. A complex robot may also require more frequent calibration and more frequent software updates. This adds to the maintenance burden. |

|
60.16 Programming Complexity and the Future |
The future of programming complexity is likely to be shaped by several trends. The first trend is the use of artificial intelligence and machine learning. These technologies can help the robot learn from experience and adapt to changes. This can reduce the programming burden because the robot can figure out how to do the task without being explicitly programmed. The second trend is the use of cloud computing. This can provide more computing power for the kinematic solutions and the path planning. This can reduce the programming burden because the robot can use more sophisticated algorithms. The third trend is the use of standard software platforms. This can make it easier to program different robots with the same tools. This can reduce the programming burden because the programmer only needs to learn one environment. The fourth trend is the use of collaborative robots. These robots are designed to work safely alongside humans. They often have simpler programming environments and are easier to teach. This can reduce the programming burden because the programmer can teach the robot by moving it by hand. The fifth trend is the use of simulation and digital twins. These tools can make it easier to program complex robots because the programmer can test the program in a virtual environment. This can reduce the programming burden because the programmer can find and fix problems before using the real robot. |

|
60.17 Detailed Summary |
This chapter has compared the programming complexity of the major robot types. Cartesian robots are the simplest to program because their axes are independent and the tool position is the sum of the axis positions. They are well suited to tasks that involve moving from one fixed point to another in a rectangular workspace. Examples include electronics assembly, food picking and placing, logistics palletizing, laboratory automation, metalworking, agriculture, and consumer goods. SCARA robots are moderately complex because they have two rotary joints and a linear joint. The kinematic solution is more complex than the Cartesian case, but it is still manageable. They are well suited to tasks that involve moving a tool from one point to another in a plane, such as electronics assembly, automotive small parts assembly, pharmaceutical dispensing, food picking and placing, consumer goods assembly, and semiconductor wafer handling. Delta robots are moderately complex with high speed. They have three arms and a parallel structure. The kinematic solution is more complex than the SCARA case, but it is still manageable. They are well suited to tasks that involve picking and placing small items at high rates, such as food picking and placing, electronics component placement, pharmaceutical dispensing, consumer goods packaging, and logistics sorting. Articulated robots are the most complex to program because they have multiple rotary joints and a serial structure. The kinematic solution is much more complex than the other cases, and the programmer must handle redundancy, singularities, and dynamics. They are well suited to tasks that involve reaching points in a three-dimensional workspace and following complex paths, such as automotive welding, painting, and assembly, aerospace drilling and riveting, pharmaceutical dispensing, food picking and placing, and logistics palletizing. The complexity of programming is not fixed. It can be reduced by good software, sensors, simulation, standard routines, and skilled programmers. It can be increased by complex tasks, frequent changes, and poor software. The choice of robot should consider the programming complexity along with the mechanical capabilities, the cost, the safety, and the maintenance. The goal is to find the robot that can do the task reliably and efficiently at the lowest total cost. In many cases, the simplest robot that can do the job is the best choice. In other cases, the complexity of an articulated robot is justified by its flexibility. The key is to understand the trade-offs and to choose wisely. |