Hello all,
I have a small question. How accurate does Load data need to be on a robot?
A little bit of detail. I am in the process of creating an application for a tool-manufacturing company for their CNC lathe machine. What the robot needs to do is take a raw material from the pallet of raw material, put it into the machine, wait, take out the finished product and put it on the pallet of finished products. Everything else, the safety and the gripper is done by the Siemens PLC. I have already created a prototype working model and we have also developed a working gripper. One of the first things I want to clear off my checklist is the load data. We do not have KUKA.LoadDataDetermination on our controller, so I get Load Data from the the CAD software we use and some mathematical tricks to get it to line up with Load Data that KRL uses.
However, the problem is the large list of tool-holders that the CNC lathe will be creating out of a large number of starting raw cylinders of material. Some of these raw materials can weigh up to 20 kg, which is the same weight as the gripper itself.
As I understand accurate Load Data can greatly increase the robot life-time and the number of cycles it can do. The robot I use is not Positionally accurate robot, and that is fine for this application.
My problem is that it is cumbersome to increase the TOOL_DATA and LOAD_DATA lengths to the number of actual elements that the robot will be handling, and then enter all that into CAD software to get all the data manually. We also want to make the program adaptable, so if suddenly that specific CNC lathe needs to create some new tools that can be as easily incorporated as possible. That is why I would like to use some tricks to make it easier.
My first option is create a static LOAD_DATA and TOOL_DATA of some length. The tools and the raw materials all have similar shapes and so I could just make a number of virtual copies of different masses and calculate the values on these imaginary parts. Then, when the data is sent from the HMI to the PLC and then to the KRC4 I just examine the data and choose the best approximation out of the statically defined LOAD_DATA[]. This is where the question about accuracy comes in. Using this method I am able to get a maximum mass deviation to equal 1.5% the robot arm's nominal load. I have read in the KUKA.LoadDataDetermination manual that the limiting accuracy is 5% the nominal arm load, but that might just be the LoadDataDetermination algorithm when no load data is input prior.
My second option is to use mathematical tricks, namely the fact that the payload's primary axes of inertia are almost parallel to the gripper's (one axis is always perfectly parallel). And so I could use parallel axes theorem to calculate simple formulae depending on the payload given the fact that gripper is always the same. The accuracy of this method could even be better than 1% the nominal load.
I would like to use the LOAD_DATA also to check if the part fell out of the gripper, but I would not want the robot to constantly tell me it is underloaded or overloaded, as overload could be used to check for collisions or for part length using some tricks.
Controller: KRC4 - KSS v 8.3.17
Robot arm: KR 90 R2700 pro