How are Industrial Robots Taught to Perform Tasks?
Industrial robots are all around us; they produce the goods we consume and the vehicles we drive. To many, these technologies are often viewed as simplistic in nature. After all, while they are uniquely capable of producing products quickly and at a high level of quality, they operate within a limited range of motions. So just how much really goes into programming an industrial robot?
The truth is, while industrial robotics certainly vary in their levels of complexity, even the simplest application of an industrial robot is a far cry from plug and play functionality. To put it another way, a robot arm that requires limited movement within the X, Y, and Z axis to perform its task day in and day out requires more than just a few lines of code. As industrial robotics become more and more advanced and traditional factories are upgraded to smart factories, the amount of work and expertise that goes into training these artificial manufacturers will increase commensurately. Let’s take a look at a few of the ways in which the modern robot is programmed.
The term “robot” can evoke many different images. While the general public may liken a robot to something they’ve seen in a movie or on television, in most industries a robot consists of a robotic arm that is programmed to complete a task of varying complexity at an acceptable level of quality.
Sometimes, efficiencies can be identified during production and small variations need to be made to the movements of the robot. Stopping production to reprogram the equipment would be a costly and impractical endeavour; conventional wisdom suggests that each variation of these movements needs to be meticulously programmed into a computer, line by line; but that couldn’t be further from the truth.
A teach box, or more commonly referred to as a teach pendant or teach gun, is a rugged industrialized handheld device that allows the operator to control the robot in real time and input logic commands and record the information into the robot’s computer.
Industrial robots tend to operate at speeds that challenge the human eye, but an operator using a teaching pendant can slow down the equipment so that they can plot the movements of the robot to accommodate the change in procedure. This process may sound easy to anyone who has ever used a video game controller, but there is a great deal more to it than simply knowing how to enter inputs. The operator, for example, needs to be able to visualize the most efficient path the robot will take so that movements are strictly limited to those that are necessary. Unnecessary movements or increases in time, no matter how seemingly small, can have a ripple effect on the output capabilities of a production line. Extrapolated over time, an inefficient path plotted into a robot could result in significant financial losses to the manufacturer.
Of course, the speed of each motion also needs to be considered so that the robot can perform joint moves as often as possible. These moves are more efficient from a movement perspective, assuming a programmer has the experience to implement. Indeed, this type of programming may appear simple for one looking in on the process, but in fact, it can take years to master. Teach pendants have been around for years and continue to be a staple in the world of robotic programming.
One of the greatest risks to programming an industrial robot on the factory floor is the resulting downtime. A programmer needs to interface with the machine, make changes to the code and test the movement of the equipment within the context of production before operations can resume. Fortunately, offline simulation software can be used to approximate any code changes that the operator intends to incorporate, bugs can be fixed before the programming update goes live, and all without halting operations. There is no financial downside to running offline simulations and no danger to the operator as simulations can be run on a PC located away from the factory floor.
There are many different types of programs that offer offline simulation capabilities, but the principle is the same, creating a virtual environment representative of the manufacturing process and programming the movements using a sophisticated 3D model.
It should be noted that no program is outright better than any of the others, but one may be preferable depending on the complexity of the application. The appealing thing about this type of programming is that it allows the programmer to not only program robotic movements, it also allows the programmer to implement and view the outcomes of collision and near-miss detection functionality, and record cycle times.
Since the program is created independently of the device on an external computer (and not manually, as is the case for teach pendant learning), it allows manufacturers to capitalize on short run production by being able to quickly automate a process without impeding normal operations.
While teaching pendant programming offers a very nuanced approach to robotic adjustments on the factory floor, there is arguably greater upside to being able to run programming updates in a test environment before updating the code in the physical equipment.
Programming by Demonstration
This method is by and large similar to the teach pendant process. For example, as with the teach pendant, the operator has the ability to “show” the robot, with a high degree of precision, a series of new movements and store that information into the robot’s computer. There are however a few benefits that create some points of differentiation between the two. For example, the teach pendant is a sophisticated handheld device that contains a lot of different controls and functionality. Programming by demonstration generally requires the operator to navigate the robotic arm with a joystick (rather than a keypad). This makes the programming process much simpler and quicker – two things that translate to less downtime.
This type of robotic programming also takes less time for an operator to become proficient; since the task itself is programmed much in the same way a human operator would complete it.
The Future of Robotic Programming
All of these programming methods have their place in the world of industrial robotics, but none of them are perfect. In their own way, the development and deployment of each can impede production and increase costs to the manufacturer. Time will be needed to teach the robot how to perform the task. In many cases, the skill of the operator or technician can vary these times wildly from one application to the next.
Imagine however, if an industrial robot needed only to “see” a task being completed in order to execute it flawlessly over and over again. The cost and time associated with programming industrial robotics would decrease tremendously.
If it seems too good to be true, you may want to take a closer look at the robotics industry; this type of robot training is already on the minds of industrial robotic designers. The theory behind the technology is sound; have an operator show the robot how to perform a particular task and allow the robot to analyze that information to determine the most efficient sequence of motions that need to be completed in order to replicate the task. As the robot learns the task, it has the opportunity to discover new ways to improve the way in which the task is performed.
Programming More Complex Robots
As more and more factories transition to smart factories and more autonomous equipment installed, the tasks that are assigned to robots will become more complex. That said, the methods that we currently use to program these robots will be forced to evolve. While contemporary programming activities perform admirably, there is little doubt that artificial intelligence will play an important role in the manner in which robots learn.
Interested in programming robots yourself? Learn more about our online courses in robotics.
Originally posted January 2019