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

"Precision Robot: Model Deviation Too Large" Error or KRC2

  • Julian Sander
  • July 14, 2022 at 6:58 PM
  • Thread is Unresolved
  • Julian Sander
    Trophies
    1
    Posts
    2
    • July 14, 2022 at 6:58 PM
    • #1

    I'm running a LIN movement that was generated in RoboDK and getting the same error each time: "Precision Robot: Model Deviation too large".

    I'm not able to find this error anywhere in the error manual or elsewhere online. Does anyone have some idea of what this error means and how to resolve?

  • Go to Best Answer
  • panic mode
    Reactions Received
    1,267
    Trophies
    11
    Posts
    13,033
    • July 14, 2022 at 8:13 PM
    • #2

    Post your code and point value. Is your robot HA or ABS?

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Julian Sander
    Trophies
    1
    Posts
    2
    • July 16, 2022 at 1:29 AM
    • #3

    I believe the robot is neither HA or ABS. It's a KR 200-3 COMP. I think it might be a TCP issue though I'm not sure. Joint movements work fine but LIN movements get this issue.

    SRC code:

    &ACCESS RVP
    &REL 1
    &PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
    &PARAM EDITMASK = *
    DEF flatcnctest1 ( )

    ;FOLD INI
    BAS (#INITMOV,0 )
    ;ENDFOLD (INI)

    ;FOLD STARTPOS
    $BWDSTART = FALSE
    PDAT_ACT = PDEFAULT
    BAS(#PTP_DAT)
    FDAT_ACT = {TOOL_NO 0,BASE_NO 0,IPO_FRAME #BASE}
    BAS(#FRAMES)
    ;ENDFOLD

    ;FOLD SET DEFAULT SPEED
    $VEL.CP=0.2
    BAS(#VEL_PTP,100)
    BAS(#TOOL,0)
    BAS(#BASE,0)
    ;ENDFOLD

    $ADVANCE = 5

    PTP $AXIS_ACT ; skip BCO quickly

    ; Program generated by RoboDK v5.4.1 for KUKA KR 140 comp on 14/07/2022 01:30:06
    ; Using nominal kinematics.
    $APO.CPTP = 1.000
    $APO.CDIS = 1.000
    $ACC.ORI1 = 1000.00000
    $ACC.ORI2 = 1000.00000
    $VEL.ORI1 = 90.00000
    $VEL.ORI2 = 90.00000
    $ACC.CP = 1.00000
    BASE_DATA[2] = {FRAME: X 1240.000,Y 70.000,Z 1075.000,A 0.000,B 0.000,C 0.000}
    TOOL_DATA[1] = {FRAME: X -54.000,Y 0.000,Z 628.500,A 0.000,B -45.000,C 0.000}
    ; Show EndEffectorCombined
    ;FOLD PTP P1 CONT Vel=100 % PDAT1 Tool[1] Base[2];%{PE}%R 5.5.31,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:P1, 3:C_PTP, 5:100, 7:PDAT1
    $BWDSTART=FALSE
    PDAT_ACT=PPDAT1
    FDAT_ACT=FP1
    BAS(#PTP_PARAMS,100)
    PTP XP1 C_PTP
    ;ENDFOLD
    ;FOLD LIN P2 CONT Vel=0.500 m/s CPDAT2 Tool[1] Base[2];%{PE}%R 5.5.0,%MKUKATPA20,%CARC_SWI,%VLIN,%P 1:LIN, 2:P2, 3:C_DIS, 5:0, 7:CPDAT2
    $BWDSTART=FALSE
    LDAT_ACT=LCPDAT2
    FDAT_ACT=FP2
    BAS(#CP_PARAMS,0.25)
    LIN XP2 C_DIS
    ;ENDFOLD
    ;FOLD LIN P3 CONT Vel=0.500 m/s CPDAT3 Tool[1] Base[2];%{PE}%R 5.5.0,%MKUKATPA20,%CARC_SWI,%VLIN,%P 1:LIN, 2:P3, 3:C_DIS, 5:0, 7:CPDAT3
    $BWDSTART=FALSE
    LDAT_ACT=LCPDAT3
    FDAT_ACT=FP3
    BAS(#CP_PARAMS,0.25)
    LIN XP3 C_DIS
    ;ENDFOLD

    ....

    DAT code:

    &ACCESS RVP
    &REL 1
    &COMMENT Generated by RoboDK
    &PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
    &PARAM EDITMASK = *
    DEFDAT flatcnctest1

    EXT BAS (BAS_COMMAND :IN,REAL :IN )

    DECL E6AXIS XP1={A1 5.82789,A2 -87.75860,A3 84.49660,A4 -44.05300,A5 83.76450,A6 -100.96500}
    DECL FDAT FP1={TOOL_NO 1,BASE_NO 2,IPO_FRAME #BASE,POINT2[] " ",TQ_STATE FALSE}
    DECL PDAT PPDAT1={VEL 100.000,ACC 100.000,APO_DIST 1.000,APO_MODE #CPTP}
    DECL E6POS XP2={X 316.230,Y 316.230,Z 5.080,A 72.000,B 0.000,C -180.000}
    DECL FDAT FP2={TOOL_NO 1,BASE_NO 2,IPO_FRAME #BASE,POINT2[] " ",TQ_STATE FALSE}
    DECL LDAT LCPDAT2={VEL 0.50000,ACC 100.000,APO_DIST 1.000,APO_FAC 50.0000,ORI_TYP #BASE,CIRC_TYP #BASE,JERK_FAC 50.0000}

    ...

  • asa.leland
    Trophies
    3
    Posts
    7
    • August 17, 2022 at 4:34 PM
    • #4

    I have been contending with the same issue, were you able to resolve this?

  • Fubini
    Reactions Received
    272
    Trophies
    9
    Posts
    1,872
    • August 17, 2022 at 4:45 PM
    • #5

    This is an absolute accuracy issue. Deviation between non absolute accuracy transformation and absolute accuracy is too high. This is an intentional check to discover meddling with absolute accuracy files. This can happen e.g. if a absolute accuracy robot is mounted on ceiling or wall. Since absolute accuracy model is depending on gravity direction when its created you can not flip/tilt absolute accuracy robots.

    To check you could deactivate absolute accuracy for testing purposes and see if problem disappears. How you can deactivate absolute accuracy is dependant on KSS release. Information you did not give. But its explained in this forum just need to use search function to find it.

    Fubini

  • asa.leland
    Trophies
    3
    Posts
    7
    • August 17, 2022 at 8:05 PM
    • #6

    I appreciate your response above, and I should elaborate on my issue and perhaps you might be able to help me better understand the problem. My robot came from a car assembly line, and I am currently in the process of setting it up for large scale 3D printing. I am trying to do some initial path planning/testing, and have generated code using Kuka PRC. However, when I attempt to use LIN moves, I am receiving the error 'Precision Robot: Model deviation too large'. I have successfully run KRL that is comprised only of PTP moves, in T1 and Auto, but I am stumped with what to change to have it successfully run LIN moves. At this point I am not sure if I am missing something quite simple in the process or if it is beyond my experience. I have many years of running KRC4 robots, but this is my first KRC2, so I am still learning my way around the differences.

    I have a KR-200 3 comp robot, and a KRC2 ed05 cabinet, KSS 5.6.10

    The robot is floor mounted, and it is not a wall or ceiling mounted design. It is labeled 'Absolutevermessen'

    I am not sure that I understand how to change or adjust absolute accuracy - I did read through the thread: Absolute Accuracy Info KRC2 - KRC4 - but it seems that absolute accuracy has to be explicitly turned on for a KRC2 controller??

    Below is the error message:



    The code I am using is below. I am copying it out of my text editor as it has been generated from Kuka PRC:

    &ACCESS RVP

    &REL 1

    &PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe

    &PARAM EDITMASK = *

    DEF test90 ( )

    ;FOLD INI

    ;FOLD BASISTECH INI

    GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )

    INTERRUPT ON 3

    BAS (#INITMOV,0 )

    ;ENDFOLD (BASISTECH INI)

    ;ENDFOLD (INI)

    ;FOLD STARTPOSITION - BASE IS 0, TOOL IS 0, SPEED IS 100%, POSITION IS A1 45,A2 -120,A3 110,A4 -80,A5 20,A6 80,E1 0,E2 0,E3 0,E4 0

    $BWDSTART = FALSE

    PDAT_ACT = {VEL 100,ACC 100,APO_DIST 50}

    BAS(#PTP_DAT)

    FDAT_ACT = {TOOL_NO 0,BASE_NO 0,IPO_FRAME #BASE}

    BAS (#FRAMES)

    BAS (#VEL_PTP,100)

    PTP {A1 45,A2 -120,A3 110,A4 -80,A5 20,A6 80,E1 0,E2 0,E3 0,E4 0}

    ;ENDFOLD

    ;FOLD LIN SPEED IS 0.1 m/sec, INTERPOLATION SETTINGS IN FOLD

    $VEL.CP=0.1

    $ORI_TYPE = #VAR

    $APO.CDIS=1

    $ADVANCE=3

    ;ENDFOLD

    LIN {X 1118.565, Y -1041.747, Z 1627.273, A 0, B 90, C 0, E1 0, E2 0, E3 0, E4 0} C_DIS

    LIN {X 1118.565, Y -966.747, Z 1627.273, A 0, B 90, C 0, E1 0, E2 0, E3 0, E4 0} C_DIS

    LIN {X 1118.565, Y -891.747, Z 1627.273, A 0, B 90, C 0, E1 0, E2 0, E3 0, E4 0} C_DIS

    LIN {X 1118.565, Y -816.747, Z 1627.273, A 0, B 90, C 0, E1 0, E2 0, E3 0, E4 0} C_DIS

    LIN {X 1118.565, Y -741.747, Z 1627.273, A 0, B 90, C 0, E1 0, E2 0, E3 0, E4 0} C_DIS

    PTP {A1 45, A2 -120, A3 110, A4 -80, A5 20, A6 80, E1 0, E2 0, E3 0, E4 0} C_PTP

    END


    Thank you all for your help!

  • Fubini
    Reactions Received
    272
    Trophies
    9
    Posts
    1,872
    • August 17, 2022 at 8:42 PM
    • #7

    Yes on KRC2 its active if $abs_accur is set to true. This variable is persistent so it stays true even after cold boot. So is it true on your machine? If so you could just for testing purposes set it to false and see if you no longer get the message.

    Btw its not surprising you see it only in lin moves. For a ptp only once a absolute accuracy trafo needs to be calculated to transform cartesian target position into an axis position. For lin its different and you need an absolute accuracy backward transformation every 10 ms along the path to calculate the necessary axis position along the line. So according to probability laws chances are higher in lin.

    Apart from mounting the biggest source of bad absolute accuracy is lousy load data. Is your load data set correct?

    Fubini

  • Fubini
    Reactions Received
    272
    Trophies
    9
    Posts
    1,872
    • August 17, 2022 at 9:13 PM
    • #8

    And also contact KUKA with robot serial number according to name plate and ask for the original pid file for your robot and install it. Maybe it was modified in the past. Some car manufacturers e.g. Daimler create their own pid files or change serial numbers freely and then use pid files from a originally different robot. These not really supported use cases exist out there even though KUKA is not very fond of them because you often loose a clear history for your robot and you never know what exactly you have in front of you. Unfortunatly such tweakings where much easier on krc2 generation robots than now with krc4 robots.

    Do you have pid or xpid as absolute accuracy? In late krc 5.x releases this was an option. In 8.x only the newer and better xpid is available.

    Fubini

  • asa.leland
    Trophies
    3
    Posts
    7
    • August 18, 2022 at 12:36 AM
    • #9

    Fubini - thank you so much for your help.

    Let me start by responding to your first message:

    Quote from Fubini

    Yes on KRC2 its active if $abs_accur is set to true. This variable is persistent so it stays true even after cold boot. So is it true on your machine? If so you could just for testing purposes set it to false and see if you no longer get the message.

    When I check the variable through the HMI, I can see that it is in fact set to True. However I was not able to overwrite this to False, either by changing the value on the pendant manually (variables<single) or by setting it to False as a line in my KRL. The controller responds with the message that the variable is write protected in both cases.

    Perhaps I am not setting the value to False in the correct manner?

    Quote from Fubini

    Apart from mounting the biggest source of bad absolute accuracy is lousy load data. Is your load data set correct?

    Fubini

    I do have the load data calculated - I used the Load Data Determination routine to calculate the mass, moment of inertia, etc.. The tool is stoutly bolted to the flange, and at 45kg is less than a quarter of the rated load. The tool has been taught properly and moves around its TCP as expected. So hopefully we can rule that out as a source of the issue.

    Quote from Fubini

    And also contact KUKA with robot serial number according to name plate and ask for the original pid file for your robot and install it. Maybe it was modified in the past. Some car manufacturers e.g. Daimler create their own pid files or change serial numbers freely and then use pid files from a originally different robot. These not really supported use cases exist out there even though KUKA is not very fond of them because you often loose a clear history for your robot and you never know what exactly you have in front of you. Unfortunatly such tweakings where much easier on krc2 generation robots than now with krc4 robots.

    Do you have pid or xpid as absolute accuracy? In late krc 5.x releases this was an option. In 8.x only the newer and better xpid is available.

    Fubini

    So, I have located the pid files in the archive that I pulled, and the serial numbers listed definitely do not match that on my robot arm. I do believe that this arm came out of a Daimler production line, so your assessment is likely correct. However, I do not see the $abs_accur variable declared in any of these files. Should I be expecting to see it declared as $ABS_ACCUR=TRUE or is this set through a different means?

    I've given Kuka a call and have a case started, so ill see what they may be able to help me with. Thank you again for your help today - if you have any other suggestions, they will be greatly appreciated.

  • panic mode
    Reactions Received
    1,267
    Trophies
    11
    Posts
    13,033
    • August 18, 2022 at 3:13 AM
    • #10

    take a picture of the robot label. also if it is absolute robot (HA or ABS) it is likely to have another smaller label "Absolut vermessen". Sometimes robots are measured in field and that extra label may not be there. if the robot serial number and PID file do not match something is wrong...

    don't recall details but if my memory is still good there is a function to deactivate absolute model by removing PID file from RDC (along with CHECKPIDONRDC and PIDTOHD). don't have things at hand but would say ask KUKA or check Xpert.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • asa.leland
    Trophies
    3
    Posts
    7
    • August 19, 2022 at 1:06 AM
    • #11

    Thank you for the input.

    The robot is in fact labeled "Absolutvermessen" - and the serial number listed does not match the serial number in the PID file or the serial number listed in the Robot Data on the HMI (however these serial numbers are the same). I apologize as I should have noticed the discrepancy in the Robot data sooner.

    Does the PID file provide the serial number to the controller?

    I contacted Kuka, and their first suggestion was to swap out the batteries in the cabinet before trying to troubleshoot error messages, considering that this robot is 12 years old. I did follow Fubini's instruction to ask for an original PID file to match my robot, so hopefully that is something they can find and I can re-install.

    I compared the various PID files that are saved on my controller, and found that some data/variables are different, but seem to have been used with robots of the same type/Trafoname as mine (pictured above). Manipulating this data is definitely beyond my experience at this time, so it is difficult for me to understand what the differences in the data I am looking at actually entails.

    Kuka did explain the process to turn off $ABS_ACCUR through the windows interface on the controller, so I will test that.

    If you have any further suggestions, please let me know. I greatly appreciate the support and direction.

  • asa.leland
    Trophies
    3
    Posts
    7
    • August 19, 2022 at 1:11 AM
    • #12

    I wanted to also share an example of the differences in the PID files saved on my controller. The one on the right, 916628, is the one currently loaded on the machine. I highlighted one area in the file to show what I am seeing. The manipulator type is the same in both files.

    What I dont have any clue about is how all of this is impacting my ability to run LIN moves!!

    Thank you again for the help.


  • panic mode
    Reactions Received
    1,267
    Trophies
    11
    Posts
    13,033
    • August 19, 2022 at 1:15 AM
    • #13

    you mention that you say the PID file in the archive... did YOU personally collect that archive on THIS robot? did you check serial number in the AM.INI of that archive? because it seems like you may be looking at file that does not belong to this robot. why not take a fresh archive ad check again?

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • panic mode
    Reactions Received
    1,267
    Trophies
    11
    Posts
    13,033
    • August 19, 2022 at 1:18 AM
    • #14

    the content of PID that you are comparing is only small part of the PID file

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • panic mode
    Reactions Received
    1,267
    Trophies
    11
    Posts
    13,033
    • August 19, 2022 at 1:30 AM
    • #15

    even slight changes in values have an effect. this is why when robot is mounted in different orientation (tilted, or on wall or ceiling) corrections applied by PID will be large enough to exceed some limits and robot will not be able to move. as a workaround one can turn of absolute accuracy and robot will work again - as a standard accuracy robot. to make it absolutely accurate again, it will need to be measured again and get new PID file. again, this file will be good only for current mounting position, any tilt to the surface that robot is mounted on will cause the same issue again. since your robot was factory measured, you should be able to get copy of original PID file from KUKA.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • asa.leland
    Trophies
    3
    Posts
    7
    • August 23, 2022 at 5:32 PM
    • #16

    Thank you Fubini and panic mode, I really appreciate the support and feedback. I turned off absolute accuracy and that solved my problem. Waiting on Kuka to send me the original PID file, but I am at least able to start test printing and moving on to the next hurdle.

    I could not have done it without the help here on this forum. Feeling grateful for the internet!

  • panic mode
    Reactions Received
    1,267
    Trophies
    11
    Posts
    13,033
    • August 23, 2022 at 5:50 PM
    • #17

    so how exactly did you turn it off?

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • asa.leland
    Trophies
    3
    Posts
    7
    • September 2, 2022 at 5:20 AM
    • Best Answer
    • #18

    Apologies for the delay.

    I was able to turn off absolute accuracy by setting the variable $ABS_ACCUR to FALSE in the $option.dat file. This can be found in the KRC\STEU\Mada folder. In order to overwrite the variable it was necessary to hook up a mouse to the robot controller in order to minimize the HMI and work on the windows side. From there it is a matter of searching for the $option.dat file, changing the variable to false, saving the change and rebooting the controller. This file is write protected so it was not possible to change the variable through the Kuka HMI controls.

    This screenshot shows the variables location in the file. This image was taken on my laptop, not the robot controller.

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

Tags

  • KRC2
  • KR200
  • error
  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