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

Any advice for improving milling accuracy on older hardware?

  • neeboy74
  • December 20, 2013 at 3:18 PM
  • Thread is Resolved
  • neeboy74
    Trophies
    3
    Posts
    120
    • December 20, 2013 at 3:18 PM
    • #1

    I'm on a continuing odyssey to mill foam with a KR 30/2 + KRC1 and SprutCAM.

    Does anyone have any advice for improving milling accuracy, in particular with circles? I did a test cut yesterday of some pockets consisting of several circles stacked on top of each other, the largest circle at the bottom being about 5" in diameter. After running the cuts, I could see that they weren't true circles, they ended up being ellipses, with one axis being about 1/4" shorter than the other...and all the circular cuts did this in the same fashion. I'm not running at an insane speed either. :hmmm:

    I know I'm using fairly antiquated hardware, and it's not a "high accuracy" model....but I've overcome several seemingly insurmountable hurdles already thanks to people on this forum (increasing page files, registry tweaks, sub-programs) so I'm not ready to accept this latest twist just yet.

    Thanks in advance for any advice! :icon_mrgreen:

  • Online
    SkyeFire
    Reactions Received
    1,051
    Trophies
    12
    Posts
    9,421
    • December 20, 2013 at 4:52 PM
    • #2

    Well... horizontal circles are going to be among the worst features you can cut. That's b/c, whatever you do, you're reversing Axis 1 through its deadband, twice. Although the 1/4" error does seem a bit excessive. I've never done CNC work with a KUKAbot, but I recall hearing that accuracies down to 0.016" were possible. However, that was with a KRC2 and an Absoluate Accuracy robot, so....

    Basically, any path that reverses an axis during its motion is going to create this kind of problem. It's just that A1 is probably the worst, and a circle shows the error in an easily visible and quantifiable way. I don't think there's any easy fix for it -- the CAM software assumes that its G-Code output is going to a perfectly accurate machine, without the degree of backlash that an articulated robot has.

    Ideally, you would break up the cut such that the robot made passes all in one direction, without introducing any axis reversals along the way. Of course, along curved cuts, that becomes difficult to impossible. It might come down to a matter of deliberately introducing some under- or over-steer in the corners, so to speak. Or introducing a deliberate tool bias around curves. But all that is going to require hand-tweaking of a process that should, by rights, be automated.

    Hopefully, someone with more experience doing CAM work with KUKAbots can speak to this issue more authoritatively.

  • happytriger2000
    Trophies
    4
    Posts
    327
    • December 20, 2013 at 7:34 PM
    • #3

    I recommend this book:
    https://amzn.to/2ZLUR2p
    It points out most of the things you needed to know on multiaxis milling.

  • neeboy74
    Trophies
    3
    Posts
    120
    • December 21, 2013 at 7:27 PM
    • #4

    today I tried cutting a 12" circle, and the error is now around 1/2 from axis to axis"; two days ago it was 1/4" with a 6" circle. :bawling:
    Something funny is going on here, there's some setting somewhere (most likely in SprutCAM I think) that is either unknown to me or is simply buggy. :wallbash:

    Maybe I'll try going back to Rhino/Grasshopper/PRC and see what cutting a circle there does :hmmm:

    Edited once, last by neeboy74 (December 21, 2013 at 7:40 PM).

  • vvelikov
    Reactions Received
    6
    Trophies
    4
    Posts
    484
    • December 22, 2013 at 2:15 AM
    • #5

    Why dont you try a circle without external software - just krl core with two arcs?
    Or even few arcs with known radius?

  • neeboy74
    Trophies
    3
    Posts
    120
    • December 22, 2013 at 5:27 PM
    • #6

    Great idea vvelikov! :beerchug: I will give that a try this week. I've also been thinking: the fact that the error seems to grow almost exactly in proportion to the size of the cut gives me hope. :icon_smile:

  • Online
    SkyeFire
    Reactions Received
    1,051
    Trophies
    12
    Posts
    9,421
    • December 23, 2013 at 5:59 PM
    • #7

    I wrote a routine to do this without using CIRC commands a while ago:

    Code
    FOR Index = 1 TO NumberOfPoints
      DegreeIncrement = DegreesOfArc / NumberOfPoints
      MoveArray[Index] = ClockToolXY (CenterOfCircle, Index, DegreeIncrement, CircleRadius)
    ENDFOR
    ;
    LIN MoveArray[1]
    FOR Index = 1 to NumberOfPoints
      LIN MoveArray[Index] C_DIS ; approximated motion
    ENDFOR
    ;====================================================================
    GLOBAL DEFFCT E6POS ClockToolXY(StartPos :IN, ClockIndex: IN, ClockIncrement :IN, Radius :IN)
      DECL INT ClockIndex
      DECL REAL ClockIncrement, Radius
      DECL E6POS NextPos, StartPos
      DECL POS Shift
    
    
      Shift.X = (COS((ClockIndex*ClockIncrement)-180)*Radius)
      Shift.Y = (SIN((ClockIndex*ClockIncrement)-180)*Radius)
      NextPos = StartPos : Shift
      RETURN NextPos
    ENDFCT
    Display More

    The idea is, you can generate an arc of however many degrees you want (even more than 360), divided across however many points you want. You load an array with these points, and then run the array with approximation for smoothing. As written, it only generates arcs in the XY plane of the Center Position you give it. I've used it for doing circular cuts and adhesive patterns, among other things. The robot's approximation turns it from a polygon into a circle, but also means that you effective radius is smaller than your programmed radius. However, this can usually be tuned out by selecting an appropriate number of points to set the arc's resolution, without going so high as to drive the path planner nuts.
    I've got another version around here somewhere for doing programmable ellipses and spirals using the same underlying concept.

  • neeboy74
    Trophies
    3
    Posts
    120
    • December 24, 2013 at 2:08 AM
    • #8

    ---update---

    So I played with it more today; squares are not cutting square, they are rectangles, the bigger the size, the more severe the deviation.

    Here's another freaky thing: I can change the length of the cutting bit in SprutCAM wildly (I tried 5mm, 125mm, and 300mm), and the physically-cut toolpath remains the SAME, even though the size of my physical-world bit hasn't. I can run the program again, and the bit follows through the previously-cut material. Umm.... :hmmm: Someone got an answer for that one? ???

    I've looked at the produced code for each of these resulting toolpaths, and yeah, all the values are changing accordingly, so why am I getting the same real-world result?

    The only thing I can conclude at this point is that I have to calibrate my tool at the cabinet somehow...the fact that I can repeat the cuts in air with satisfactory precision has reinforced my belief that yeah, I can do this milling thing right. :icon_rolleyes:

  • neeboy74
    Trophies
    3
    Posts
    120
    • December 24, 2013 at 2:38 AM
    • #9

    I think this may address my issues....anyone care to verify this? My router is pointing straight down, so I'm guessing my "X" would be -127 (distance from edge of robot flange out to centerline of my router) and my "Z" would be about 150 mm (the distance from the centerline of the A4 and A6 axes down to the end of my router bit)

    Pray for me, gonna go try it :away:

    Images

    • possible answer to tool orientation.JPG
      • 72.85 kB
      • 704 × 1,043
      • 58

    Files

    possible answer to tool orientation.JPG_thumb 13.35 kB – 19 Downloads
  • neeboy74
    Trophies
    3
    Posts
    120
    • December 24, 2013 at 3:39 AM
    • #10

    Nope, that didn't work, and I think i know why. That screenshot I was looking at is probably only for defining a tooltip that has NOT been made part of a CAD model. I also discovered just now that the model I made of my toolhead is too tall by over 100 mm :icon_redface:. This wasn't a problem in Rhino/Grasshopper, as this model incorporates a representation of the actual cutting bit. In SprutCAM you have to add the bit on while in the process of assigning machining and toolpathing. Oh well, more work ahead... :yessir:


    ***Remodeled the routertoolhead...***
    ...exact.same.result. This is just utterly ridiculous. Still the EXACT same toolpath. :mad: :mad: :mad:

    Images

    • oops router too big.JPG
      • 18.95 kB
      • 398 × 410
      • 25

    Files

    oops router too big.JPG_thumb 22.29 kB – 19 Downloads

    Edited once, last by neeboy74 (December 24, 2013 at 5:12 AM).

  • robotecnik
    Reactions Received
    19
    Trophies
    4
    Posts
    568
    • December 24, 2013 at 8:33 AM
    • #11

    Given the amount of error probably the mechanics of the robot are really bad, in case you don't think so, you can always contact any robot calibrating company in your country to get the robot calibrated (as in a high accuracy robot). That would help from the software side (just in case mechanics are ok).

    Good luck!

    Sent from my BlackBerry 9300 using Tapatalk

    http://www.robotecnik.com | Robots, CNC and PLC programming.

  • vvelikov
    Reactions Received
    6
    Trophies
    4
    Posts
    484
    • December 24, 2013 at 12:00 PM
    • #12

    Hi :smiling_face: i can see that you are going in circles :smiling_face:
    ok, i will explain about the toolpath: the toolpath defines the movement of the physical end of your tool and it doesn't matter how long you will make it in Sprutcam - the code is still about the movement of end of your tool bit. As long you are doing proper tool calibration on the robot it will follow the same path with different (in the CAM) tool lengths.
    This is not an issue in any way, that is normal. And you don't need to have super ultra precise robot model - the software is not writing the rotations/angles of the axes etc - it using the kinematics just to check the collisions, reachability and singularities. The end result is the toolpath which will be fine as long you have well calibrated tool, base and mastered robot :winking_face:

    About the tool definition: the X is pointing to the tool orientation vector - in your case down. And your Z should point forward - just as it is in the picture you provided from the Kuka documentation. I think you mixed them up... You can easily check you directions on the robot by moving it XYZABC

    The problem is if you have rectangle instead of square :smiling_face: for me that means that your robot needs remastering.
    It is not difficult and you can do it by yourself even with smaller precision, but is a must if you want to do milling.
    Do you have instructions how to master your axes? Send me a PM if you need info about that.

  • Online
    SkyeFire
    Reactions Received
    1,051
    Trophies
    12
    Posts
    9,421
    • December 24, 2013 at 2:13 PM
    • #13

    I have to agree with VVelikov -- checking the Mastering of all 6 axes is the first thing to do. The official way to do this is to use an EMT, but I'm willing to bet you don't have one, and they're expensive. Your alternatives are to obtain or build a Dial Mastering adapter, which would let you do the Mastering with a typical machinist's dial gauge, or to use the "field expedient" trick passed down from KUKA serviceperson to serviceperson over the ages. :icon_mrgreen:

    You'll want to read over the parts of the manual that explain how Mastering works, but basically you're trying to capture the very bottom of the V-notch with the tip of the pin. The EMT does this by slooowly dragging the pin across the v-notch and recording the exact location where the pin bottoms out and reverses direction. With the Dial/manual approach, you're doing the same thing, except by eye or feel, and you need to stop the axis at exactly the bottom center of the v-notch and then hit the Master button. Also, for maximum accuracy, do not hunt back and forth across the notch -- that introduces the deadband of the axis directly into your Mastering. Instead, always keep the axis moving in the negative direction.
    If you need to, you can keep doing Check Mastering for practice until you've got it down. Check Mastering doesn't actually change anything, it just shows you the difference between the previous Mastering for that axis and your new mastering. If you do this the same way on all 6 axes, and find one that has a bigger error than the rest, that's probably your culprit.

  • neeboy74
    Trophies
    3
    Posts
    120
    • December 24, 2013 at 5:53 PM
    • #14

    Thanks for the continued help guys. We have plenty of dial gauges and experienced machinists who've dealt extensively with machine calibration before...but I'll freely admit we haven't mastered it in a while. I'll check on everything after the holidays. Thanks! :icon_smile:

  • neeboy74
    Trophies
    3
    Posts
    120
    • December 26, 2013 at 1:25 AM
    • #15

    Well, this sucks. I can't use the "Check Mastering" option unless I have/use an EMT. :icon_rolleyes:

  • v050577
    Trophies
    3
    Posts
    13
    • December 26, 2013 at 10:00 AM
    • #16
    Quote from happytriger2000


    I recommend this book:
    https://amzn.to/2ZLUR2p
    It points out most of the things you needed to know on multiaxis milling.

    Short version of this book http://ma.gnu.ac.kr/course/2013/am/5axis-ParkJH.pdf and http://ru.scribd.com/doc/35582337/S…-Axis-Machining

    SprutCAM Robot is an efficient off-line programming solution<br /><br />INSTALL NOW and get a trial license automatically<br />Free EDU licenses<br />yv@sprutcam.com | Skype: v.yuri<br /><br />Facebook<br />LinkedIn<br />Robot-Forum.com

  • Online
    SkyeFire
    Reactions Received
    1,051
    Trophies
    12
    Posts
    9,421
    • December 31, 2013 at 8:53 PM
    • #17

    Hm. In that case, you could still use the "feel" method or the dial gauge, establish the physical zero, then check the Position Monitor. Not as good as Check Mastering, but should be good enough to let you detect any gross errors.

  • neeboy74
    Trophies
    3
    Posts
    120
    • January 1, 2014 at 7:35 PM
    • #18

    Thanks Skyefire; one of our machinist members says he's working on an adapter for a dial gauge.

    I also wanted to throw this out. Our methods of working with the robot have been messed up (I tried re-mastering one axis), and since we now have to start from scratch with totally-new mastering, I wanted to share how we've been working and find out if any of you more experienced types notice any glaring errors in our process.

    When I turn the cabinet on, everything loads fine; I get to the main interface screen, and I go to the "Mastering" menu. Then I simply Master all the axes without moving anything. My buddy in this process wrote a very simple program that (I think) stores all the axis positions after doing a "full" mastering, so provided we run that simple program right before shutting the whole setup down, the arm should be in the "mastered position" at the next startup, and we don't need to do the whole routine of move-the-axis-to-the-premastering-position (umm....right?)

    Do people that have access to an EMT run the whole mastering routine from scratch each time they start their robot?

  • happytriger2000
    Trophies
    4
    Posts
    327
    • January 1, 2014 at 8:36 PM
    • #19

    I have to master krc1 every time I start it up using dial gauge option, the robot is already in its mastered position but no need for KRC2.

  • neeboy74
    Trophies
    3
    Posts
    120
    • January 4, 2014 at 10:47 PM
    • #20

    So...today I tried setting the "jog" function on my Kuka setup to move 100mm at each keypress. I cut a 100 mm by 200 mm rectangle, no problems whatsoever, even measured it with a carpenter's square. Distances are so-close-to-darn-near perfect, as are the angles between edges (all 90 degrees). I also jogged around it a few times AFTER cutting and it followed the same path perfectly.....I think I can infer that my robot is mastered correctly, right??

    Then I tried cutting squares generated in SprutCAM, and nothing but problems, squares become rectangles and the edges are noticeably not at 90 degrees to each other. I swear up and down that my measurements in the SprutCAM machine file are accurate, I had my machinist friend verify that with me. GRRRRR......

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