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

Nonsensical TCP behavior

  • Wall-E
  • February 7, 2022 at 2:29 PM
  • Thread is Unresolved
  • Wall-E
    Reactions Received
    3
    Trophies
    3
    Posts
    245
    • February 7, 2022 at 2:29 PM
    • #1

    KRC4 - KR210 R3100 - KS V8.3.422

    I've calibrated a dummy tool that I use as a reference for the end mills on my spindle.

    Great care was taken in the XYZ-4 directions procedure, and I got a not-so-bad uncertainty of 0.45mm

    To check my point, I rotate it around the tool's axii.

    First, I place the tool "X" axis vertical and move the TCP to a fixed reference point.

    When I rotate "A" which corresponds to the "Z" axis of my TCP, it inclines the spinde on its sides.

    I notice that the pointy end of my dummy tool moves along the initial "Z" axis of the tool.

    This doesn't make any sense to me because that's the only direction it shouldn't move !

    I also noticed that when I check for ABC with my dial gauge, I don't get the same runout depending on where in the robot's workspace I do the measure :

    when I'm at A1 = 0 and close to the ground, I get a 0.3mm runout, and with A1 at -90 and at 1m above ground, I get over slightly over 1mm !

    This is driving me nuts as I really want to get a proper placement for my spindle axis (A, B, and C) since, from there I could derive all my tool (X, Y, Z) just using a CAD model...

    Could this be caused by a slightly unprecise mastering of the robot ?

    Images

    • 220207_IMG_TCP nonsense.jpg
      • 228.66 kB
      • 1,602 × 1,200
      • 58
    • ABC-123.jpg
      • 167.24 kB
      • 1,688 × 899
      • 34
  • Online
    SkyeFire
    Reactions Received
    1,039
    Trophies
    12
    Posts
    9,380
    • February 7, 2022 at 2:58 PM
    • #2

    Hm... no obvious smoking gun, but that Z motion is definitely odd. Do you get similar effects rotating around the tool X and Y axes? Just to eliminate one possible source of error, try making this test move into a program, instead of jogging the robot. Run the test with the tool rotated 90deg around the spindle (X?) axis, and see how that rotation change affects the anomalous motion. Also, try the test at different locations -- say, once directly in front of the robot (on $WORLD.X), then again 90deg off on the $WORLD.Y axis. See how the test results change in each location.

    $LOAD is set correctly when you run this test, right?

    Can the robot move that pointer linearly along some test reference lines? Isolating motion error along $WORLD X, Y, and Z might help narrow down any potential axis issues.

    Getting different runout at different parts of the robot's motion envelope is pretty normal, given robot kinematics. However, any Mastering error will amplify such effects drastically. What we want to look for is systematic error -- error that changes in a consistent way based on the TCP's position in the motion envelope, or for certain TCP orientations.

  • Fubini
    Reactions Received
    272
    Trophies
    9
    Posts
    1,872
    • February 7, 2022 at 3:14 PM
    • #3

    Is your robot absolute accurate? Then it's essential to set all load including additional loads data precisely. Also you would have to consider that in jogging absolute accuracy is deactivated. Did you check using a program or jogging?

    Fubini

  • Wall-E
    Reactions Received
    3
    Trophies
    3
    Posts
    245
    • February 7, 2022 at 3:26 PM
    • #4
    Quote from SkyeFire

    Hm... no obvious smoking gun, but that Z motion is definitely odd. Do you get similar effects rotating around the tool X and Y axes?

    Well, yes : around the tool "Y" axis (B) , the TCP moves along "Y".

    And around "X" axis (C), I can't really measure it with a dial gauge because it moves too much horizontally.

    Yes, $LOAD is set correctly ; it's a "little" 40 kg load anyways...

    Let's go for all the other tests.

    Perhaps I can use my laser to test these linear mothions in world X, Y,Z...

    Images

    • 220207_IMG_TCP nonsense_Around B-01.jpg
      • 131.46 kB
      • 927 × 1,099
      • 29
    • 220207_IMG_TCP nonsense_Around B-02.jpg
      • 150.45 kB
      • 1,484 × 1,002
      • 32
  • Wall-E
    Reactions Received
    3
    Trophies
    3
    Posts
    245
    • February 7, 2022 at 3:28 PM
    • #5
    Quote from Fubini

    Is your robot absolute accurate?

    No, it's not.

    I'll check with a program anyways, as suggested by SkyeFire.

    OK, I tested a big linear movement along world "Y" :

    I setup a program where the robot moves between 2 points : one at Y= +2500, and one at Y= -2500.

    I managed to set my laser so that the cross is in the same location on my paper targer at both points, and I looked at the position of the cross at mid-distance between the 2 points.

    I measure a downward sag of 1.5 mm and a horizontal displacement of 0.5mm in X+.

    Does that show a bad calibration ?

    I guess I ought to find an EMD somewhere to straighten this out... can this be rented ?

    Images

    • 220207_IMG_Large Y movement.jpg
      • 299 kB
      • 1,489 × 1,009
      • 36

    Edited 2 times, last by Wall-E (February 7, 2022 at 5:53 PM).

  • panic mode
    Reactions Received
    1,267
    Trophies
    11
    Posts
    13,033
    • February 7, 2022 at 4:30 PM
    • #6

    Do you have some transform like external axis?

    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

  • Wall-E
    Reactions Received
    3
    Trophies
    3
    Posts
    245
    • February 7, 2022 at 5:44 PM
    • #7
    Quote from panic mode

    Do you have some transform like external axis?

    I do have an external axis, a turn-table.

    For now, I have not touched it ; I'm struggling too hard on the calibration of my spindle's axis to worry about that for now.

    How could it influence my tool's TCP ?

  • panic mode
    Reactions Received
    1,267
    Trophies
    11
    Posts
    13,033
    • February 7, 2022 at 6:08 PM
    • #8

    Depends on setup... it could do what you are seeing.


    Btw your problem description is not detailed enough. If you ask 5 people with same robot to read your post and try to recreate situation, there could be 5 different solutions...

    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

  • Wall-E
    Reactions Received
    3
    Trophies
    3
    Posts
    245
    • February 7, 2022 at 6:49 PM
    • #9

    Yeah, I guess you're right, but don't you think that the very nature of what I'm seeing screams "lousy mastering" ?

    Anyways, a friend told me that it's possible to rent an EMD from KUKA , I'll report back the results.

  • panic mode
    Reactions Received
    1,267
    Trophies
    11
    Posts
    13,033
    • February 7, 2022 at 9:15 PM
    • #10

    Get robot mastered properly

    Then remeasure tool. Make sure to use sufficiently different orientations (60-120 deg different from each other). This will get you first three coordinates (XYZ is TCP only). Then you also need to get tool orientation (ABC values)...

    With both sets of data you get complete frame XYZABC.

    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

  • MOM
    Reactions Received
    175
    Trophies
    7
    Posts
    1,419
    • February 7, 2022 at 11:06 PM
    • #11

    May I ask a stupid question?

    In wg´hich coordinate system did you actually move?

  • Wall-E
    Reactions Received
    3
    Trophies
    3
    Posts
    245
    • February 8, 2022 at 8:56 AM
    • #12
    Quote from MOM

    In wg´hich coordinate system did you actually move?

    If you are referencing the photos in my first post, that was the tool's coordinate system

  • Wall-E
    Reactions Received
    3
    Trophies
    3
    Posts
    245
    • February 8, 2022 at 9:05 AM
    • #13
    Quote from panic mode

    Make sure to use sufficiently different orientations (60-120 deg different from each other). This will get you first three coordinates (XYZ is TCP only). Then you also need to get tool orientation (ABC values)...

    To do the 4 direction XYZ, I used a great video from Werner Hampel where he describes the best practices.

    I don't want to brag, but I really out-done myself to make it as good as I could.

    I was almost disappointed when I saw the error margin was 0.45mm, which is not so bad.

    Sadly, I have found no good advice anywhere to set the ABC, so what I did is that I used a laser to set my world Z vertical : I extended the arm and checked the level at A1=0, 90, 180, 270.

    I can say that my robot is as "vertica"l as it can be.

    Then, I also used the laser to place my tool axis strictly vertical , with A1=0, and the wrist "straight", then I calibrated with ABC world.

    Would you say that it is feasible to master the robot with sufficient accuracy for milling with the dial gauge tool ?

    I'm willing to try again, but I've lost so much time with this already...

  • hermann
    Reactions Received
    404
    Trophies
    9
    Posts
    2,595
    • February 8, 2022 at 9:48 AM
    • #14
    Quote from Wall-E

    Would you say that it is feasible to master the robot with sufficient accuracy for milling with the dial gauge tool ?

    Depends on your skills.

    It's highly recommended to use an absolute accurate robot for your application.

    Edit:

    Inaccurate setting of A/B/C of the tool has no effect to the behavior your robot shows.

    The used coordinate system has no effect to the behavior your robot shows, as long as you use the correct tool, and do only movements in A/B/C.

  • Fubini
    Reactions Received
    272
    Trophies
    9
    Posts
    1,872
    • February 8, 2022 at 10:46 AM
    • #15

    Actually for a non emt mastered robot without absolute accuracy I do not think your results are bad considering not modelled effects like backlash, torsion and other stuff. If I remember correctly Kuka usually talks of positional accuracy for non absolute accuracy robots of something in the range of 0.25. Of course this is not over the whole work envelope but only inside a special area in front of the robot of a specified size according to the relevant norms. And of course always with specific norm specified load and emt mastered.

  • Wall-E
    Reactions Received
    3
    Trophies
    3
    Posts
    245
    • February 8, 2022 at 11:26 AM
    • #16
    Quote from hermann

    Depends on your skills.

    It's highly recommended to use an absolute accurate robot for your application.

    Edit:

    Inaccurate setting of A/B/C of the tool has no effect to the behavior your robot shows.

    The used coordinate system has no effect to the behavior your robot shows, as long as you use the correct tool, and do only movements in A/B/C.

    I know... That's why I am in doubt on my mastering.

  • panic mode
    Reactions Received
    1,267
    Trophies
    11
    Posts
    13,033
    • February 8, 2022 at 2:26 PM
    • #17

    your tool is long and TCP seem to be good 500mm away from flange. getting 0.45mm error at this distance is very good. this would suggest that mastering is also good. without actually seeing what you do (and how) there is no way to tell with certainty what the problem is. are you sure this is not just coincidence for example you are just leaning on space mouse? basic KUKA training would likely do wonders here.

    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

  • Wall-E
    Reactions Received
    3
    Trophies
    3
    Posts
    245
    • February 8, 2022 at 2:30 PM
    • #18
    Quote from panic mode

    basic KUKA training would likely do wonders here

    Surely ! I had a KR6 for almost 7 years, but I would love some training.

    Maybe we can discuss that in PM.

    Err... is there such a thing on this forum ?

  • panic mode
    Reactions Received
    1,267
    Trophies
    11
    Posts
    13,033
    • February 8, 2022 at 2:51 PM
    • #19

    yes, it is accessed through "Conversation" icon in upper right corner but do not contact me - i am not interested in becoming private tutor.. see point 2 in signature at the bottom of my posts.

    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

  • Online
    SkyeFire
    Reactions Received
    1,039
    Trophies
    12
    Posts
    9,380
    • February 8, 2022 at 4:08 PM
    • #20

    Well, at this distance, I can only make some generic suggestions. If we assume that the robot is Mastered correctly, it's possible to "tweak" in the TCP iteratively, rather than using the 4-point method. That said, given basic robot backlash, a TCP that is hyper-fine-tuned at one pose is liable to be much less fine-tuned at another pose. Basically, we're always just trying to get the center of the spread to the location we want.

    This process can also be used to test the TCP at different poses.

    The process is similar metaphorically to truing up a workpiece in a lathe 4-jaw chuck. If your pointer is a good cylinder, coaxial with the spindle axis (and near-0 runout in the cylinder and spindle), then you can mount a dial indicator somewhere, press the side of the cylinder against the indicator, then rotate the robot around the TCP spindle axis (you're using X, I think?) 90deg, and see how the dial indicator moves. Then tweak the values of the TCP along its own Z axis, re-run the test, and lather rinse repeat until the runout is minimized.

    Then rotate the entire test by 90deg and repeat for the TCP Y axis.

    Going more advanced, this process can be done for the X axis as well, if you swap your pointer for a "lollipop" -- basically, a sphere (on a narrow shaft) mounted in the spindle such that the center of the sphere is where you want your TCP to be. Rotate the sphere against the dial indicator, one TCP axis at a time, until runout in minimized.

    That'll work for the TCP position. After that, you'll need to do a similar process running the cylinder longitudinally along the dial indicator while tweaking in the ABC values. For your setup, the rotation around the spindle axis is irrelevant, so you can get by with fine-tuning the other two TCP axes to be perfectly orthogonal to the spindle axis.

    One thing I found, doing this, is that if I repeated the process, tuning in the 2nd or 3rd axis would throw the 1st axis back off. I usually had to do repeated iterations and just spread the average runout as thinly as possible

    You mentioned a laser tracker? That can speed up the process over using a dial indicator.

    The trick is to tweak the TCP in its own reference frame. What I mean is, if you see a 0.1mm error in your TCP's Y axis, then do something like:

    $TOOL = $TOOL : {X 0,Y 0.1,Z 0,A 0,B 0, C 0}

    This shifts the TCP along it's own Y axis by 0.1mm. It might need to be -0.1 depending on which direction the error is. Ideally, instead of doing this by hand, you would write a program to semi-automate the process.

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