Offline-Programming for Robots will never work...

Offline-Programming for Robots will never work...

... unless you calibrate your workcell.

A few weeks ago I have published an article about the values and advantages of offline-programming tools for robots. I’ve got an excellent comment from Peter Warburton about the importance of robot cell calibration when you want to do offline-programming, which motivated me to write down my opinion about this aspect.

More and more companies see the benefits from using offline-programming solutions (OLP) for their robot cells instead of manual teach-in or programming with the teach pendant. However, when installing an OLP tool, it is not only about the software installation and user training. There are some additional actions to be considered. One of the most important success factors to be checked is that the robot cell is well prepared to directly receive and execute a robot program coming from OLP. The biggest question is if the robot cell is properly calibrated. This is not automatically a given thing, and when companies are used to run robot cells with jogging or teaching only, then it might be that the robot cell was not calibrated at all, and no one has ever noticed this so far.

Jogging or teaching a robot is working thanks to the capability of the robot or robot control to always travel to the same points that were jogged or teached. Thanks to a quite good repeatability and quite low tolerance of this behavior, it looks like the robot cell is very accurate. But is this really the case? Technically, robots just take advantage of their ability to repeatedly, and relatively accurately return to the same positions that were shown manually, that’s all.

If you would teach the same part on different robots, and if you then look at the robot code, you would quickly notice that each robot will most likely use slightly different coordinates for the same job. This is also a reason why a jogged program is only good for the robot it was jogged on. If you have a production shop with multiple robot cells to produce the same parts, you need to teach each robot individually. You cannot accurately transfer a program from one robot to another. What are the reasons? Let me use Peter Warburton’s excellent explanation: “When every robot is "born", it is programmed with its nominal joint lengths, wrist zero-points etc., but because of manufacturing imprecisions, each robot actually has slightly different real-life joint lengths etc. So when you send them to 1000, 1000, 1000 they actually go to 998, 1002,1004 - they can make absolute errors of several millimeters.”

This is a no-go for OLP-based processes due to the fact that software can only deal with "exact" coordinates. On robots however, with their huge number of joints, this exactness is spoiled by the system's inaccuracy (as explained above, robots are relatively precise, but not absolutely precise), especially when the complexity if the robot cell is increased furthermore with external axis and workpiece positioners. So, how to solve this problem? You should contact your system integrator or robot service partner to have your robot cell calibrated onsite, with its working tool and payload and throughout its real working space. There are also companies like Creaform, the company Peter is working for, that offer this calibration as an on-site service. In Wikipedia you can find additional information about robot cell calibration in general, and about the different calibration and measuring system providers.

Once the robot cell is calibrated, you can directly use a OLP tool for offline-programming. The output will be a robot program in absolute coordinates. As Peter wrote: “With absolute accuracy calibration, you can program on a real model of your robot with accurate kinematics instead of the nominal factory model. Calibrate all your robots and your OLP program will run on all of them, require very little "tweaking" after installation and allow you to swap out a robot with very little downtime.”

I disagree, we currently do must of our programming offline, with minor touchups .

Like
Reply

False, we did all our programs offline for Tesla and it all worked just a few minor touchups

hi mr please learn to build like this arm robot

Like
Reply

A very nice article. Robot users often get confused between tool calibration, part/reference calibration and robot calibration, if you can do this accurately, this is how you close the loop! With RoboDK we try to integrate the ease of use of OLP together with robot calibration, avoiding the need to filter programs. As an example, we just calibrated yesterday a Meca500 to 0.056 mm average error: https://www.youtube.com/watch?v=5ye6H3NSx30

To view or add a comment, sign in

More articles by Jens Fetzer

Others also viewed

Explore content categories