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

Absolute Accuracy Info KRC2 - KRC4

  • Razzzhead
  • November 16, 2020 at 8:33 PM
  • Thread is Unresolved
  • Razzzhead
    Reactions Received
    2
    Trophies
    3
    Posts
    22
    • November 16, 2020 at 8:33 PM
    • #1

    Does anyone know the whereabouts of information or KUKA documentation regarding Absolute Accuracy?

    This is what I know so far:- I found an old document for KRC2 called Configuration - High Precision Robot which describes the installation of the necessary service pack, copying the relevant robot specific PID file and setting $ABS_ACCUR = TRUE. This is clearly only relevant for KRC2 SW versions and in addition I found in an old KSS system variables document where there are three relevant BOOL variables:-

    $ABS_ACCUR - Switch absolutely accurate robot model on/off

    $ABS_CONVERT - Conversion of point coordinates into absolutely accurate robot model

    $ABS_RELOAD - Reload absolutely accurate robot model

    In addition I believe that the E6POS and POS structures contain the INT S(Status) and T(Turn), and there is at least 1 bit (perhaps bit 4?) in the S field that contains information whether the point coordinates were taught with or without using the AA model.

    However it would appear that the functionality of Absolute Accuracy may have changed with KRC4, as I found the variables described above have changed in KSS 8.1:-

    The variable $ABS_ACCUR - Indicates whether the positionally accurate robot model is active.

    But changes from type: BOOL to type: ENUM having values:-

     #ACTIVATED: Positionally accurate robot model active
     #SUPPRESSED: Positionally accurate robot model currently suppressed (by $SUPPRESS_ABS_ACCUR)
     #NONE: No positionally accurate robot model available

    $ABS_CONVERT - seems to be missing with KSS 8.1

    $ABS_RELOAD - Reloading of the positionally accurate robot model

    $ABS_UPDATE - Updating of the positionally accurate robot model by means of a SOAP-HTTP protocol

    $SUPPRESS_ABS_ACCUR - Suppression of the positionally accurate robot model

    So this is a far as I got. I remember vaguely once (20 years ago?) using the $ABS_CONVERT variable to convert point coordinates in a program taught without the AA model being active. I had to run the program having correct LOAD DATA with the $ABS_CONVERT set to TRUE and then the coordinates for each point was updated with new AA coordinates and S(Status) bit 4 for the same point was written to TRUE. At the end of the program $ABS_CONVERT was reset to FALSE. So then when the program was run, the positions the robot executed with the AA model active were then identical to those executed with the AA model inactive - albeit with slightly different point coordinates for every move. However as long as the AA model was active, if the program was then subsequently run with different loads and corresponding Load Data, each position would be executed correctly with enhanced accuracy.

    So my question is how does one perform point conversion in KSS 8.x? Is it that S bit 4 is no longer used? Do I have to use $SUPPRESS_ABS_ACCUR somehow to achieve the conversion?

    A colleague who generates offline programs in KRL tells me that S bit 4 is never used, either in KSS 5.x or KSS 8.x so we wonder how offline generated programs can ever be Absolute Accurate?

    So you see my confusion of trying to figure out how Absolute Accuracy is supposed to work across older and newer platforms without any solid documentation. Can anyone help?

  • Fubini
    Reactions Received
    270
    Trophies
    9
    Posts
    1,866
    • November 17, 2020 at 7:08 AM
    • #2
    Quote

    So my question is how does one perform point conversion in KSS 8.x? Is it that S bit 4 is no longer used? Do I have to use $SUPPRESS_ABS_ACCUR somehow to achieve the conversion?

    I do not think anything changed here. You still should be able to use $abs_convert. But usually you do not need to convert at all. $abs_convert is only for a very specific use case: A robot is initially without absolute accuracy package installed and users teach their programs without absolute accuracy. Later on the robot is equipped with absolute accuracy and the already teached programs should still realize the same real positions. For this the controller looks at status bit 4 and if it is not(!) set calculates the point coordinates that with consideration of absolute accuracy correction reach exactly the same Cartesian position as before without absolute accuracy. Additionally bit 4 is set to true so this algorithm is not applied multiple times on a teached position. This is the only case inside the controller where status bit 4 actually has some significance.

    On the other hand the controller replaces the standard kinematic equations with the individual more exact absolute accuracy kinematics equations whenever absolute accuracy is active. In e.g. KRC4 absolute accuracy is always active as soon as a pid file is added to rdc. You can only manually deactivate absolute accuracy by setting $deactivate_abs_accur to true. This is the opposite to KRC2 where you had to activate absolute accuracy manually using $abs_accur as mentioned by you before. Especially whether the robot uses absolute accuracy kinematics equations does not depend on the status bit.

    Quote

    A colleague who generates offline programs in KRL tells me that S bit 4 is never used, either in KSS 5.x or KSS 8.x so we wonder how offline generated programs can ever be Absolute Accurate?


    Offline generated programs in itself are in a sense always absolute accurate. As mentioned before absolute accuracy reduces the difference between ideal robot and actual robot. This is done by individually tweaking kinematic parameters of the real robot so that he behaves as close as possible as the ideal robot. Offline programs always use the ideal robot.

    The difference between ideal robot and actual robot result from multiple influences like manufacturing tolerances, deflections due to robot load, elasticities, ... and absolute accuracy tries to compensates these. Actually if you only teach your programs you should not need absolute accuracy at all because you compensate those influences implicitly yourself by making your process work.

    Fubini

  • Razzzhead
    Reactions Received
    2
    Trophies
    3
    Posts
    22
    • November 17, 2020 at 10:37 AM
    • #3

    Thank you for your explanation which has reduced my confusion to almost zero! I had erroneously thought that if the status bit 4 was not set, then the Absolute Accuracy behaviour would be permanently disabled for that move. But as you point out:-

    Quote from Fubini

    ...bit 4 is set to true so this algorithm is not applied multiple times on a teached position. This is the only case inside the controller where status bit 4 actually has some significance.

    That makes sense why offline programs that don't have status bit 4 set, still work properly in the AA sense. Although I suppose if one had such a program and actually ran it with $ABS_CONVERT set to TRUE, then those points (and the interpolated path to those points) where bit 4 was not set, would be executed without AA and therefore be displaced from their prior coordinates. Consequently, the newly refreshed AA derived coordinates for every point would be incorrect.

    Perhaps that's why with later platforms, the documentation omits to mention the existence of $ABS_CONVERT, as without a detailed explanation, it would be just too easy to ruin a program that previously ran properly with AA. The author probably thought that if the description didn't exist in user documentation that implicitly reserves the use of the variable to KUKA personnel - what the user doesn't know can't harm him.

    However, for the sake of convention in offline programming, I believe that bit 4 should always be set for those points generated offline. As you point out:-

    Quote from Fubini

    Offline generated programs in itself are in a sense always absolute accurate.

    In the case of an AA robot, do you think manually taught points will have status bit 4 set automatically? In an offline generated program which is run on the robot, what happens to bit 4 that has been downloaded with it set to FALSE when one manually performs a touch up? Will it become set to TRUE?

    I would still like to see official documentation though. Do you think it's worth asking KUKA for it?

  • BF
    Reactions Received
    1
    Trophies
    3
    Posts
    8
    • November 17, 2020 at 11:05 AM
    • #4

    I have sent a request to Kuka through xpert.kuka.com relating to my KR60HA. I have also asked if there are mada optimizations to improve the accuracy of linear moves in a machining context. I will let you know if I get anything back.

  • Fubini
    Reactions Received
    270
    Trophies
    9
    Posts
    1,866
    • November 17, 2020 at 12:11 PM
    • #5
    Quote

    In the case of an AA robot, do you think manually taught points will have status bit 4 set automatically? In an offline generated program which is run on the robot, what happens to bit 4 that has been downloaded with it set to FALSE when one manually performs a touch up? Will it become set to TRUE?

    Whenever you teach positions with active absolute accuracy the KUKA software sets bit 4 to TRUE. So in both cases mentioned you will end up with bit 4 set to TRUE.

    You can ask KUKA for this documentation but as far as I remember there are only a few internal specifications and memoranda for technical support that describes this behaviour. Maybe something can be found in the full access kuka xpert Portal. As you already mentioned yourself $abs_convert can be tricky to be applied correct and is therefore not documented officially.

    Quote

    have also asked if there are mada optimizations to improve the accuracy of linear moves in a machining context.

    There is not. Usually KLs are very stiff so absolute accuracy is not needed. But you should measure on how exactly the robot is mounted on the KL. There is a measuring wizard on the Kuka Hmi for this. This basically defines the KL direction with respect to the robot base.

    Also it is much more difficult to model a linear axis with an absolute accuracy model since the model does not repeat itself every 360 degrees but would be different depending on KL lengths. So basically all you could do is define an individual lookup table for each KL.

  • BF
    Reactions Received
    1
    Trophies
    3
    Posts
    8
    • November 17, 2020 at 4:23 PM
    • #6
    Quote from Fubini

    There is not. Usually KLs are very stiff so absolute accuracy is not needed. But you should measure on how exactly the robot is mounted on the KL. There is a measuring wizard on the Kuka Hmi for this. This basically defines the KL direction with respect to the robot base.

    Hi Fubini, when I said Linear moves I meant LIN prog motions not linear track.

  • Fubini
    Reactions Received
    270
    Trophies
    9
    Posts
    1,866
    • November 17, 2020 at 4:27 PM
    • #7

    Ah. Ok. But still answer would be no. Most of the deviances of LIN moves is caused by the internal handling of path filtering. This is different for Spline and old motion. If you need high accuracy that is velocity independent use spline.

    E.g. a fast Circ looks more like an egg and this gets worse the faster you go. A scirc is always a circle.

    But newest KUKA releases will have a feature called Motion Modes which basically bring task specific machine data. One of these modes will be a exact path following mode. I do not know if this is already released but it will definitely not be supported for all robot types. This is caused by the effort to determine new task specific machine data for every robot type. New robot types will definitely support this but older models like 60HA might never be supported.

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

Similar Threads

  • Absolute accuracy package

    • vvelikov
    • November 21, 2016 at 8:32 PM
    • KUKA Robot Forum

Users Viewing This Thread

  • 1 Guest
  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