Oh, the places you’ll go with offline programming—Part I
Offline programming has come of age. Fully taking advantage of all this technology has to offer can help you minimize downtime, increase robot productivity, boost quality, and improve your overall operation.
Part I of this article explains the basics of offline programming for robotic manufacturing cells, as well as some of the advantages of the technology that may be less obvious. Part II discusses the process of calibrating the robot model represented in the offline software and then gives some examples of special applications in which offline programming software is being used.
Just because you want to do some robot programming doesn’t mean you actually need a robot. Offline programming has come of age, and using this now mature and trustworthy technology – in the words of the famous Dr. Seuss – “Oh, The Places You’ll Go!”
This two-part article discusses just what offline programming is, how it functions, and its basic uses and applications. The series also will dive deeper into the philosophy and applications of offline programming that can really penetrate into your organization to help you realize deeper benefits. These benefits, which you may not have thought of in this context, can support your lean initiatives and quality systems.
Offline programming provides much more than simply the ability to program a robot from your desk, something that’s been done successfully for a few years now. A program created on your PC can be downloaded into the robot, and, depending on how carefully you’ve calibrated the physical system with the software simulation, your program can be quite close. Perhaps just a minor touchup is necessary, or in some cases, no touchup at all is needed.
But more on all of this later. Let’s begin by discussing the basics of offline programming functionality, features, and benefits; then we’ll discuss the common ways this technology is used to improve part quality, reduce time to production, and increase the productive time of robot cells and lines.
Next month, Part II will feature some more in-depth advice on how to optimize these common functions of offline programming software to gain the most advantage possible from the technology. Then we will finish by discussing some less common but insightful applications and uses of offline programming that perhaps you haven’t thought about, but can make a big difference in the way you do business and in the productivity of your expensive robot cells.
So let’s dive in with a primer on offline programming.
What Is Offline Programming?
Let’s begin by defining the lingo. When I use the word model, I am referring to the software representation on a PC of an actual robot system. The robot and peripheral equipment sitting on the production floor are simulated and emulated on a computer, and this emulated representation is the model.
The term system represents the actual hardware sitting out on the production floor, which comprises the robot and any other related equipment that will need to be dealt with. The system also includes the fixtures for holding the components being welded and the weldment itself.
The word simulation represents any simulated function, movement, or process displayed on the computer screen that is meant to mimic the same function, movement, or process of the actual shop floor equipment (the system).
In general terms, offline programming software provides you with a software model of the actual robot cell on the production floor. The software comes with a working, moving, 3-D model of the equipment, which has the same kinematic characteristics of the system. In other words, if I drive the actual robot to the end of its working range with the teach pendant, then the computer model in the offline programming package will do the same thing. The simulated robot has the same working range limitations as the real machine. A particular axis stops at its limit the same as it does in the real system.
These 3-D models can include the robot as well as peripheral equipment, such as tooling and fixtures (complete with clamps and actuators), positioners (for robotic welding systems), conveyors and pallets (for material handling and palletizing), robot end effectors and grippers, and even safety fencing and other physical barriers. Ideally, all of the peripheral equipment represented in the computer model is identical in size (to scale), shape, and range of motion to the real system.
What Can Offline Programming Software Do?
The model’s basic function is to mimic the system. Accurate modeling allows you to accomplish several things:
Perform reach studies—Reach studies often are done during the system design phase to ensure that the system can actually process the desired parts. For example, in a robotic welding cell, it’s crucial to know whether certain welds will be within the reach of the robot. If not, the robot may have to be mounted to a travel track, or the parts loaded into a positioner, to gain access to all the welds.
Since the simulated robot has the same working range as the real robot, reach studies can also determine certain process parameters, such as whether a particular welding robot can access the weld so that the torch angle is correct during welding.
Design system layouts within a factory—System layouts are designed to check and facilitate product flow, determine floor space requirements for the system, or determine the locations of incoming component parts or outgoing conveyors. Since peripheral equipment such as safety fencing, factory walls, and even parts baskets also can be simulated in the offline programming software, very detailed layout work can be achieved.
Test fixture designs—Especially in welding applications, fixture design is crucial to the system’s performance, part quality, and weld accessibility. With the software, you can identify interference points for clamps, locators, and actuators and design fixtures accordingly to give the robot access to the welds without compromising fixture functionality.
For nonwelding systems, the robot’s end effectors can be simulated in the model, thus enabling you to test gripper designs, points of contact with pallets and conveyors, and interference with dies (in the case of press-tending robots) or the tooling and chucks in machining centers (for machine-tending robots).
Simulate production and cycle times—Particularly during the quote and build stage, it’s important to know the actual cycle times the robot system can achieve. Some offline programming packages include relatively accurate cycle-time modules that allow true-to-life dry runs in the software to determine what the actual cycle times are. This can be done before the system is even built. Robot vendors often use this function to help provide cycle-time estimates for their customers, but it is also being used more and more by end users to help in their production planning.
These functions of offline programming technology have been used for many years, especially by the designers and builders of robotic systems, to facilitate the designing and quoting of these systems. Many in the robot world are familiar with these basic functions. However, the word programming in the phrase offline programming is present for a very good reason.
In the early years offline programming packages were used mostly for the tasks discussed previously. But as time went on, the ability to calibrate the model to the real system, combined with increasing computing power, has made it possible to perform accurate and efficient programming on a PC. True offline programming now can do the following:
Program robots before installation—While the robot supplier is building the system, offline programming software can be used to write programs in advance. This greatly reduces the time required to launch a new robotic system after installation. Under normal circumstances, a program is written offline, then when the system is built and installed, the program is loaded into the robot. Minor touchups are often necessary, but the overall programming time is greatly reduced.
For example, in a welding application, less than half the programmed points are actual welding points. These nonwelding programmed points are for air moves, moving the robot from weld to weld. Following offline programming, the air moves themselves rarely need to be tweaked. After the program is downloaded into the actual robot, typically only the programmed points within the welding paths need to be touched up.
Program robots while they are in production—The lifetime of an industrial robot system now easily exceeds 10 to 15 years, so it is quite likely that most companies will reprogram or retool a particular system to accommodate new parts, new product lines, or additional parts perhaps several times during the life of the system. Offline programming allows the actual programming part of the project to take place while the robots are still in production. Before offline programming came along, the only option was to program on the actual system with a teach pendant in hand, therefore stopping production. Now programs can, at the very least, be roughed in offline, and in the best cases they can be completely written and tested offline.
Offline Programming and Lean Initiatives
Lean means lean. No waste. Quick changeover. No lost motions. No unnecessary time spent on tasks that don’t add to the bottom line. What better way to go lean than to use offline programming? Here are some ideas that can contribute to the lean initiatives in your own plant:
- Offline programming reduces downtime required for programming. This not only makes better use of your equipment (and therefore provides a shorter payback period on capital investments), but also enhances your ability to process smaller lot sizes. By using offline programming in everyday operations, job shops with lot sizes as small as one may minimize the downtime for programming and new part introductions and enhance production.
- Product design changes can be taken in stride if the programming is done on a PC. For example, often a design change does not require a completely new robot program, but only a few changes to an existing program. If the program in a welding robot requires only a couple of welds to be added or removed, or a bracket or some component moved, then the programming can be done easily offline—even accurately enough, perhaps, that no touchup is needed. Just download the program into the robot and push go!
- Offline programming systems can be used to optimize cycle times and quality. Without taking the robot out of production, a technician or programmer can watch an existing program run on a PC and take the time to scrutinize it, watching for wasteful things like excess or superfluous air moves. Even modeling the surrounding equipment or barriers can help by revealing how to move pick and drop points (for a material handling system) closer to the robot or closer to the next operation to minimize unproductive air time.
What we have discussed so far are relatively common uses for offline programming technology. But there are ways to enhance the usefulness of this software even more. Next month we’ll discuss how to make the most of your time and investment in offline programming software, and we’ll also discuss some innovative and interesting ways companies are using this technology to make some really outside-the-box improvements in their productivity and part quality.