Good morning, hope you all had a good holiday!
IRB6600
S4C+
M2000A
A couple things of note to start with. Tools are my EOAT, wObj's are physical stations that do work on robot held parts or load tables. I can't get a good TCP when programming in new tools. tool0 has a good TCP and tracks well.
We had a 20+ year tech swing by to check my work, he taught a TCP and it was off, we manually adjusted it till it tracked well. We used that TCP to define a duplicate wObj to one that is already in use. The y axis of the new Wobj is off by over 5 mm in X over 610mm (1mm every122mm) as demonstrated by tracking along y axis in jog mode (not dissimilar from all other wObjs at this location). This makes the use of program displacement difficult at best. The X axis tracks perfectly. How can this be? It would mean the X and Y axes are not Square, correct? (teach points were checked for square 3 different times) It turns out that the robot has been this way since I inherited control and it is causing issues with programming reliably. Notably, it does not seem to cause errors with repeatability!???? Is this just something I need to learn to deal with as a programmer, or is my gut feeling correct, that something is wrong? The Tech felt that something was wrong as well, and we both agree its probably the calibration. There is a record of axis 5 being replaced. There is no record of what the new offset should be, or if a new fine calibration was done. All we know is that the offset for motor 5 is different than the sticker on the robot. All other offsets are the same.
As we all know, that could mean a lot of work ahead for yours truly, but also brings up another question. Does anyone know If ABB's "absolute accuracy" software add on even works for S4C+? I was told its the cat's A$$ by the guy who sold the robot to us, but told by others that the bugs were never did get worked out for the S4C+ platform. Could this be the culprit? If so, What to do? Does anyone have any thoughts or info on this?
1) I could remove the software, do a fine calibration, reprogram all TCPs, all wObjs and then proceed to adjust all program points in all current programs in hopes that the problem is solved. That mean thousands of program points to move, migrate or force into the right spot. After all this is said and done, it may or may not solve the problem.
2) Do nothing. Live with the repeatability as is, deal with the P.I.T.A. of initial programming due to the fact that program displacement is unreliable. Although tempting to that lazy corner of my brain, not really an option I can live with for long knowing it could be better.
3) As Lemster68 proposed in a different thread, write some code to have the computer calculate each pose data set for me as opposed to entering the CAM offsets. A temping option that may or may not solve the displacement issue, but would also require a massive overhaul to the fundamental structure of the existing Main Program and still not solve the problem of poor accuracy when defining TCPS and wObjs.
Which brings me to the final in the set of current woes. Even after a solution is found to the above there is still the issue of deviation that happens at load. Some times parts shift slightly when being picked up, despite my best efforts to date to get the perfect grab every time. On most parts it doesn't affect much and they fall within tolerances. This part however has a tendency to tip slightly, or rise up on the fingers. The latter is by far the easier of the two to deal with, using a LVDT and doing a pSearch to create a Z offset to apply to the appropriate procedures (I may be asking for pointers on this as well). The former is where I have need of more experienced minds than mine own. Is it possible to use an LVDT to test and record points from a perfect grab of a part as a template to establish a "Good" part orientation? Then find, record and utilize the variance of each subsequent part to automatically modify the orientation of the robot so that it is the part travels along the intended path in the proper "Good" orientation through the next 4 wObj zones ? If so, where is the best place to start reading up on the commands that I will need and does anyone have any experience with this? It sounds great when I say it out loud, but I have a feeling it is way harder than it sounds to get something like that right.
I told you it would be a rabbit hole. Any company along the journey would be much appreciated!
Kindest regards,
Drew