1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. Industrial Robot Support and Discussion Center
  4. KUKA Robot Forum
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

understanding the influence of payload on mastering

  • lionpeloux
  • May 17, 2019 at 12:21 PM
  • Thread is Resolved
  • lionpeloux
    Reactions Received
    1
    Trophies
    3
    Posts
    47
    • May 17, 2019 at 12:21 PM
    • #1

    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]
  • Online
    SkyeFire
    Reactions Received
    1,040
    Trophies
    12
    Posts
    9,380
    • May 17, 2019 at 5:22 PM
    • #2

    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.

  • massula
    Reactions Received
    200
    Trophies
    8
    Posts
    1,421
    • May 17, 2019 at 5:24 PM
    • #3

    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

    Code
    [AbsolutMotorValues]
    Axis1=42.434215
    Axis2=45.763811
    Axis3=34.290165
    Axis4=19.711082
    Axis5=77.4556947
    Axis6=29.3884869
    
    
    [MotorDifference for Tool 1]
    Axis1=0.54174
    Axis2=2.316604
    Axis3=6.355184
    Axis4=-4.718571
    Axis5=9.39380777
    Axis6=-3.885742
    
    
    [MotorDifference for Tool 2]
    
    
    [MotorDifference for Tool 3]
    
    
    [MotorDifference for Tool 4]
    
    
    [MotorDifference for Tool 5]
    
    
    [MotorDifference for Tool 6]
    
    
    [MotorDifference for Tool 7]
    
    
    [MotorDifference for Tool 8]
    
    
    [MotorDifference for Tool 9]
    
    
    [MotorDifference for Tool 10]
    
    
    [MotorDifference for Tool 11]
    
    
    [MotorDifference for Tool 12]
    
    
    [MotorDifference for Tool 13]
    
    
    [MotorDifference for Tool 14]
    
    
    [MotorDifference for Tool 15]
    
    
    [MotorDifference for Tool 16]
    
    
    [MotorDifference for Tool 17]
    
    
    [MotorDifference for Tool 18]
    
    
    [MotorDifference for Tool 19]
    
    
    [MotorDifference for Tool 20]
    
    
    [MotorDifference for Tool 21]
    
    
    [MotorDifference for Tool 22]
    
    
    [MotorDifference for Tool 23]
    
    
    [MotorDifference for Tool 24]
    
    
    [MotorDifference for Tool 25]
    
    
    [MotorDifference for Tool 26]
    
    
    [MotorDifference for Tool 27]
    
    
    [MotorDifference for Tool 28]
    
    
    [MotorDifference for Tool 29]
    
    
    [MotorDifference for Tool 30]
    
    
    [MotorDifference for Tool 31]
    
    
    [MotorDifference for Tool 32]
    
    
    [MotorDifference for Tool 33]
    
    
    [MotorDifference for Tool 34]
    
    
    [MotorDifference for Tool 35]
    
    
    [MotorDifference for Tool 36]
    
    
    [MotorDifference for Tool 37]
    
    
    [MotorDifference for Tool 38]
    
    
    [MotorDifference for Tool 39]
    
    
    [MotorDifference for Tool 40]
    
    
    [MotorDifference for Tool 41]
    
    
    [MotorDifference for Tool 42]
    
    
    [MotorDifference for Tool 43]
    
    
    [MotorDifference for Tool 44]
    
    
    [MotorDifference for Tool 45]
    
    
    [MotorDifference for Tool 46]
    
    
    [MotorDifference for Tool 47]
    
    
    [MotorDifference for Tool 48]
    
    
    [MotorDifference for Tool 49]
    
    
    [MotorDifference for Tool 50]
    
    
    [MotorDifference for Tool 51]
    
    
    [MotorDifference for Tool 52]
    
    
    [MotorDifference for Tool 53]
    
    
    [MotorDifference for Tool 54]
    
    
    [MotorDifference for Tool 55]
    
    
    [MotorDifference for Tool 56]
    
    
    [MotorDifference for Tool 57]
    
    
    [MotorDifference for Tool 58]
    
    
    [MotorDifference for Tool 59]
    
    
    [MotorDifference for Tool 60]
    
    
    [MotorDifference for Tool 61]
    
    
    [MotorDifference for Tool 62]
    
    
    [MotorDifference for Tool 63]
    
    
    [MotorDifference for Tool 64]
    
    
    [MotorDifference for Tool 65]
    
    
    [MotorDifference for Tool 66]
    
    
    [MotorDifference for Tool 67]
    
    
    [MotorDifference for Tool 68]
    
    
    [MotorDifference for Tool 69]
    
    
    [MotorDifference for Tool 70]
    
    
    [MotorDifference for Tool 71]
    
    
    [MotorDifference for Tool 72]
    
    
    [MotorDifference for Tool 73]
    
    
    [MotorDifference for Tool 74]
    
    
    [MotorDifference for Tool 75]
    
    
    [MotorDifference for Tool 76]
    
    
    [MotorDifference for Tool 77]
    
    
    [MotorDifference for Tool 78]
    
    
    [MotorDifference for Tool 79]
    
    
    [MotorDifference for Tool 80]
    
    
    [MotorDifference for Tool 81]
    
    
    [MotorDifference for Tool 82]
    
    
    [MotorDifference for Tool 83]
    
    
    [MotorDifference for Tool 84]
    
    
    [MotorDifference for Tool 85]
    
    
    [MotorDifference for Tool 86]
    
    
    [MotorDifference for Tool 87]
    
    
    [MotorDifference for Tool 88]
    
    
    [MotorDifference for Tool 89]
    
    
    [MotorDifference for Tool 90]
    
    
    [MotorDifference for Tool 91]
    
    
    [MotorDifference for Tool 92]
    
    
    [MotorDifference for Tool 93]
    
    
    [MotorDifference for Tool 94]
    
    
    [MotorDifference for Tool 95]
    
    
    [MotorDifference for Tool 96]
    
    
    [MotorDifference for Tool 97]
    
    
    [MotorDifference for Tool 98]
    
    
    [MotorDifference for Tool 99]
    
    
    [MotorDifference for Tool 100]
    
    
    [MotorDifference for Tool 101]
    
    
    [MotorDifference for Tool 102]
    
    
    [MotorDifference for Tool 103]
    
    
    [MotorDifference for Tool 104]
    
    
    [MotorDifference for Tool 105]
    
    
    [MotorDifference for Tool 106]
    
    
    [MotorDifference for Tool 107]
    
    
    [MotorDifference for Tool 108]
    
    
    [MotorDifference for Tool 109]
    
    
    [MotorDifference for Tool 110]
    
    
    [MotorDifference for Tool 111]
    
    
    [MotorDifference for Tool 112]
    
    
    [MotorDifference for Tool 113]
    
    
    [MotorDifference for Tool 114]
    
    
    [MotorDifference for Tool 115]
    
    
    [MotorDifference for Tool 116]
    
    
    [MotorDifference for Tool 117]
    
    
    [MotorDifference for Tool 118]
    
    
    [MotorDifference for Tool 119]
    
    
    [MotorDifference for Tool 120]
    
    
    [MotorDifference for Tool 121]
    
    
    [MotorDifference for Tool 122]
    
    
    [MotorDifference for Tool 123]
    
    
    [MotorDifference for Tool 124]
    
    
    [MotorDifference for Tool 125]
    
    
    [MotorDifference for Tool 126]
    
    
    [MotorDifference for Tool 127]
    
    
    [MotorDifference for Tool 128]
    
    
    [CalibrationDifference]
    Axis1=0.00205027133
    Axis2=0.00431663608
    Axis3=-0.00705102788
    Axis4=-0.00359508489
    Axis5=-0.000130605858
    Axis6=0.000968518095
    Display More
  • lionpeloux
    Reactions Received
    1
    Trophies
    3
    Posts
    47
    • May 17, 2019 at 7:58 PM
    • #4

    @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.

  • lionpeloux
    Reactions Received
    1
    Trophies
    3
    Posts
    47
    • May 21, 2019 at 3:48 PM
    • #5

    Sorry I was confused. It IS a AA robot. And $ABS_ACCUR = TRUE.

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download