Day in the Life of an Robot Programmer Using OCTOPUZ OLRP
A question that a first-time OLRP software user often has is "What does the process of programming robots offline look like?" It's easy to demonstrate how the software works, but we wanted to share the overall process. The process will vary as users have different existing processes in place. However, there is a general flow that we will look at together. In this article, we describe how an OCTOPUZ user goes from receiving a new part to program in a welding cell to running it on their robot in a matter of hours.
6:00 am: Shift Start
You receive the CAD models and weld diagrams for two new parts that need to be welded. Each part has about 160 individual weld seams. The robot cell you’re using has a single welding robot arm and a headstock-tailstock rotary that holds the fixture and part. You take a few minutes to review the files and get familiar with the job you’re about to program (and maybe grab another coffee).
6:15 am: Setup for Programming in OCTOPUZ
You load the CAD file for the first part into your virtual robot cell in OCTPUZ. The cell is already aligned and implemented within the software. The fixture and tooling that you’ll be using for these parts are the same as what is already in the robot cell from other jobs that have already been taught. All you need to do for setup is line up the part CAD in the CAD of the fixture within OCTOPUZ. Everything else is ready to go.
6:20 am: Start Programming in OCTOPUZ
Everything in OCTOPUZ is set up and ready to go. You can start creating your first welds for the new part. Since the stitch patterns, weld speeds, and other welding parameters have all been used before. You don’t need to set these individually within OCTOPUZ. You’re now able to create most of the welds by just quickly selecting their location on the part, then choosing existing templates of settings to be applied to the welds. You have noticed there are a few welds that you come across that need some new stitch patterns. You quickly create these new templates and call them up as needed on your welds.
8:20 am: First Half of the Programming is Complete
You have now programmed about 80 welds across half of the part. Since the part has a lot of symmetry and repeated features, you realize that you don’t even need to create the other half of the welds from scratch. You’re able to copy and mirror the existing weld paths you’ve already created throughout the part to create the other 80 welds.
8:25 am: Second Half of the Programming is Complete
You’ve now created all of the weld paths on the new part. But you’re not happy with what the headstock-tailstock is doing in the program. When making the welds, you had indexed the rotary at specific rotations to make things a bit simpler. However, this is making things difficult to reach throughout the program. You select all your welds and set the rotary behaviour to use coordinated motion to try and weld in the 1F position (torch always pointing downward) as best as possible throughout the program. OCTOPUZ is recalculating the rotary values throughout the program for you automatically to be able to achieve this. The program is starting to look complete.
8:30 am: Check for Errors in the Program and Post
Now you need to make sure that there are no errors in the program you have created. You run the Analyzer tool to check how many errors your program currently contains. There are about 3500 points in your program across 160 welds. Since you’ve used a lot of stitch welding on this part, the number is a little higher than usual. The Analyzer checks each point and checks between the points to identify any errors. After a minute or two, it provides you with a report saying that 200 points are in a collision, most of them with robot wrist bumping into the fixture. There are also 50 points with joint limits scattered throughout and even a singularity or two.
Overall, 250 out of the 3500 points need to be adjusted before this program can run on a real robot. You run the Solver tool to try and fix this for you automatically. The Solver returns a new report letting you know that it has fixed all but 5-collision errors in the program. The remaining 5-collisions are highlighted for you to look at directly to see what’s going on. You find that they’re all caused by being too difficult to reach either inside the cavity of the part or around the fixturing. You’re able to touch up these points and re-run the Analyzer tool. It provides a report letting you know that your program is now completely free of errors. You can now post the program as robot code and upload it to your robot cell.
9:00 am: Load the Program on the Robot
You’ve successfully posted the program out of OCTOPUZ, placed it on a USB stick, and are ready to upload to your robot cell. You plug the USB stick into the controller of the robot and use the teach pendant to copy the program onto the robot. As you dry-run the program to make sure that everything is aligning nicely, you notice that a few points need to be touched up. The actual part is slightly different from the CAD model you had because of tolerances in the previous step of the manufacturing process. This particular robot cell doesn’t use any touch-sensing or seam tracking technology, which would account for these differences. There is also an extra clamp that has been added to the fixture for this particular part, that you were not aware of when programming in, OCTOPUZ. You touch up the points that need adjusting, and you’re ready to run the part.
9:30 am: Run the Part
You run the new robot program on the first part. After it finishes running, you check the part, and all of the welds are of good quality. You now work on programming the next part.
To summarize the process above. A new robot program has been efficiently produced and programmed almost entirely on a PC. Without OLRP, a part like this could take days to teach on a teach pendant, and the robot would be out of production the entire time it is being taught. For the sake of this example, let’s estimate that this part would take about 20 hours to program using a teach pendant. Using OCTOPUZ to program the same program offline, you’ve been able to create this new program in 2.5 hours, with only 30 minutes of that on the actual robot. Programming offline provides you with a 97.5% decrease in robot downtime and an overall decrease in programming time of 87.5%. These savings in programming time and robot downtime are the key contributors to the ROI in purchasing an OLRP solution like OCTOPUZ.