What is the fastest way to recover when a robot's encoder positions have been lost? Is there a faster way than to line up all of the reference marks on the joints? This can also be quite inaccurate - is there a more accurate way?
|
2
|
||||
|
|
4
|
I have worked with 4 kinds of robots ABB, Fanuc, Motoman and CRS. All 4 of them require aligning reference marks to update encoder positions. As you probably already know ABB is little bit easier to work with because they have resolvers instead of encoders. Resolvers work differently and they allow user to align reference marks within certain limits and still be able to update positions successfully. Depends on the kind of ABB robot manipulator but I would say they allow tolerances of about ± 1-2 degrees. However, this doesn’t work always. I have seen it few times now where you would have 2 same robot manipulators, you update positions for both of them same way, yet again one robot would work fine and the other one would be couple degrees off. This happens mostly with joints 3 and/or 6. I have also heard from one of our customers that ABB now has some kind of the software option that automatically restores old encoder positions. I asked one of my contacts from ABB about this and he said that he hasn’t heard of anything like that. I actually was going to call couple other guys from ABB and see if they know anything about this. As soon as I find out I will let you guys know too. |
|||
|
|
3
|
A little trick I figured out with Motoman (this was on an XRC) - The absolute encoder position for each axis is documented on a sticker on the inside panel of the controller. Start with these values, and run the "home" job on the robot. This is a job shipped with the robot that sends the robot to (0,0,0,0,0,0). At this position all of the reference arrows on the robot should align. If this job does not exist, bring up the current position window and manually jog each axis to its 0 position. If home position has been lost somehow and the axes don't align after doing this, manually jog them to the reference marks and create the new home position, updating the appropriate axis values. Unless you are really lucky, there is no way that you are going to get to the same position that you were in when the robot was taught, causing all your taught points to be off. Depending on what axis data is lost, and how many axes, a small difference in counts means that the tool on the robot is out quite a bit. The solution is knowing that each joint encoder has 4000 counts per revolution. If the encoder memory is lost, the robot does not know how many revolutions the encoder has gone, though it does know its zero position. Taking the difference between the new and the original encoder home positions, and dividing by 4000 will give you the number of revolutions the encoder is out. Example - In my case, I calculated the new home value for the L axis as follows: Original home encoder count: -119771 New home encoder count (after lining up reference marks and setting the data for that axis): -95834 Difference: -23937 Divided by 4000: 5.98425 Therefore, number of revolutions out was 6 My new home position should then be -119771 + (6)x(4000) = -95771 I can confirm this is right because my calculated value and the new home value taught is very close, and more importantly, I was able to run all of my old jobs, without having to touch them up. This saved me days of reteaching, and will work as long as nothing is actually physically decoupled from the robot. Remember to update the sticker in the robot cabinet! |
||
|
|
|
3
|
FANUC R-J SERIES RECALIBRATION WITHOUT ALIGNING REFERENCE MARKS I have used the procedure below after reloading system files. The batteries in the base of the robot were intact.
This procedure was given to me by Fanuc Tech Support USA. |
||
|
|
|
2
|
My personal favourite is to do what Gary F suggests first but if it fails, I like to do a "Quick Master". The trick "unfortunately" is that not all users take the time when the robot is initially set up properly to "Set Quick Master Reference". Most of the time, once the robot is ready for automatic, it goes into automatic and continues until there is an issue. The other scenario is "I can't get to the witness marks now that the guarding is in" The beauty of the "Quick Master" method is that you do not necessarily have to go to all of the original witness marks to recover mastering if you don't want to. You need a known position. For example, if you CAN get most of the axis to the zero witness marks but you need J1 @ 90deg and J5 @ -90deg, make new markings or add lamacoide tags on both the fixed and moving portion of the robot to indicate the positions desired. You can now go to the "Master/Cal" screen and "Set Quick Master Reference" (I like to do this with a programmed point with position representation to joint position and with servos energized). This is a "ONE-TIME" thing unless one of your encoders need to be replaced in which case you need to redo the "Set Quick Master" procedure. Once the "Set Quick Master Reference" has been completed, you are good to go. If someone pulls the batteries with the robot off, that's OK. You simply jog your robot to the zero witness marks where you can, J1 at 90deg, J5 is at -90deg. To recover your master data, simply choose the "Quick Master" option then calibrate. You will notice a subtle difference because there is no way two people will go exactly to the witness marks twice. The FANUC software knows this and can compensate up to a full motor revolution of difference. So in actual fact you need to get the robot as close to the original marks as you can but it doesn't have to be exact. |
|||
|
|


