understanding the influence of payload on mastering

  • Hello,


    KR500-2-MT (KRC2/KSS5.6)


    After reading several times the manual I am still confused about the purpose of the (EMT) mastering process and the impact of the payload on the mastering. Would someone confirm my understanding ?


    A) The robot is moved near the mastering position by the operator. For that there are markers on the robot, one for each axis, and when all markers are aligned properly the robot is in its mastering position. For my robot, this position is the inverted L-shape $MAMES={0, -90, 90, 0, 0, 0}.


    B) Using the EMT (or dial gauge), the robot is then moved very accurately to the mechanical zero position, successively for each axis in ascent order.


    => Thus, for each axis, the controller now knows what is the value of the motor increment corresponding to the axis angular value given in $MAMES ({0, -90, 90, 0, 0, 0} in my case).


    I see mastering as the process of perfectly aligning the zero of the motors with a given mechanical position.


    1) Does the payload influence the motor increment values at the mastering position ?


    => My intuition is that if the payload is heavy it deforms slightly the robot parts. Thus, to reach the same mechanical position with different loads we need to compensate a little on the motor increments. The compensation will be different from one load to another and this is the purpose of teaching the calibration offset for each load.


    => is there more math involved at the controller level than "simply" offsetting the motors zero position ?


    2) Where is the mastering offset stored ? Is there a system variable for that ?


    3) How is the mastering offset loaded ?


    For instance calling BAS.Tool(tool_no) will set :

    Code
    $ACT_TOOL = id 
    $TOOL=TOOL_DATA[TOOL_NO]
    $LOAD=LOAD_DATA[TOOL_NO]
  • First: Is this an Absolute Accuracy robot? This has major effects on how to answer this question.


    Second: No, when the marks are lined up, the robot is NOT as Mastering Position. The marks indicate the starting position of the Mastering motion, not the actual Mastering position of the axes.


    Third: The Mastering process does not move the axes to the mechanical zero position -- instead, it "wipes" the needle across the V-notch in mastering gauge. By detecting the bottom of the V-Notch, the Zero position of the axis is determined. But the axis stops moving at a point past the actual zero position


    Fourth: $MAMES contains the offsets between the physical location of the mastering gauge reference and the official zero of the axis. For a KR, these values are set precisely at the factory as part of the robot's build, and should never be tampered with. However, if adding an external axis, the $MAMES values for the external axis can be used to set the "official" zero position somewhere different than the "physical" zero -- this comes in handy if your mastering gauge can only be physically mounted somewhere in the middle of a linear rail (for example), but you want the official zero position to be at one end of the rail.


    Fifth: Yes, the payload does have some effect. Generally this is negligible, but in some circumstances there might be an advantage to re-Mastering the robot with the operating payload mounted. Now, for an Absolute Accuracy robot, this becomes a much more complex question, and required Mastering the robot separately with NO payload, and then performing an individual Mastering for each Payload, linked explicitly to specific Tool numbers. However, aside from an AA robot, the active payload has no effect on the robot's mastering -- the payload mostly only effects the robot's inertial calculations and accel/decel rates.

  • Hello, lionpeloux.


    Yes, the payload can influence the mastering.


    On KUKA robots, You normally make a first mastering, without any load on robot flange, and after the EOAT is mounted, You perform an offset mastering, to measure the offset between these situations.


    Offset data is stored at /C/KRC/Roboter/Rdc/ (this is inside a backup), in a file called <robot_serial_number>.cal


    Here is an example


  • @skyfire :


    Thanks for you very detailed answer.


    1) This is not an AA robot. We're stone cutter and something like 1mm absolute accuracy in a 1m3 volume centered on the rotative table is enough. So far it worked well enough in terms of accuracy, for what we do here of course.


    2) Yes you're right. The marks indicate the PRE-mastering position.


    3) Oh, I understand now why the mastering process passes a little beyond the mechanical zero (bottom of the V-notch). Do you know how the "bottom" of the V-notch is evaluated ? (I suppose this is based on the slope of the notch, because the needle does not look very sharp).


    4) Understood


    5) To what extent do you think the effect of the payload on mastering has a negligible influence on the (absolute) accuracy of the robot ?


    I am still wondering :


    Where is the mastering offset stored ?
    Is there a system variable for that ?
    How is the mastering offset loaded for each tool ?


    At the moment we are using a single spindle for all our tools (from very small mills to large steel discs). We're planing to have several spindles (one for small mills, one for medium mills and one for large discs). These spindles will be changed with a Staubli MPS 630 system. The heaviest spindle + tool will weight about 450kg.


    => Would you advise to ignore the effect of the payload and share one mastering for all configurations ? Or should I have one tool for each spindle with proper mastering offset and LOAD_DATA ?


    massula :


    Oh great, I didn't know that. I found the Mastery.log file. Thank you for the tip.

Advertising from our partners