Move the robot along a complex three-dimensional trajectory

  • hi,
    I'm using a KUKA KR 6 R700 robot and want to move it along a given complex three-dimensional path. But i don't know how to do :icon_neutral:. Does anyone tried this?
    And I want to know if I can use spline to achieve this?
    Any help is appreciated.

  • thanks for the reply, fubini. I have read the spline section in the manual, but can not find anything about which kind of SPLINE is the KRC4 using. Is it a standard spline or something else? where can i find the mathematical model if possible?


    regards,
    firefly

  • Well that is a creative way of programming :uglyhammer2: your basically telling the robot to move to 3 different points at the same time. If you want to use an array you could place the motion in a for loop:


    Code
    FOR step = 3 to 1 step -1
      spline
        spl points[step]
      endspline
    ENDFOR


    I am not sure what this does with the spline itself because it would get broken up in 3 different splines. there are people here with more experience than me with splines who can answer that question

    Every problem has a solution, that isn't the problem. The problem is the solution.

  • Well, I'm really a newbie here :flower:. Actually, I have tried this code:

    Code
    spline
      spl p1
    endspline
    spline
      spl p2
    endspline
    spline
      spl p3
    endspline


    It works but it is 3 pieces of spline that is different from

    Code
    spline
      spl p1
      spl p2
      spl p3
    endspline


    Very thanks to your help but I think I still need another way. :icon_wink:

  • spline
    spl p1
    endspline
    spline
    spl p2
    endspline
    spline
    spl p3
    endspline


    is the same as


    slin p1
    slin p2
    slin p3


    so probably not an option.


    Why is
    spline
    spl p1
    spl p2
    spl p3
    endspline


    not working for you. That is exactly how you should do it?


    Fubini

  • Here is the point: I have an array of points and want to use spl to traversal it either than write a line of code for each point. So I'd like to find a way such as using a "while" in spline block, but it doesn't work. I just want to know is there another solution?

  • Well it kind of depends on your motion. How far are points apart? how accurate does the motion have to be?
    Even if you don't use spline motions and your point density is high enough you still can get a pretty accurate motion just by letting a for or while loop run through an array of points.


    How are you generating your points? do you have the ability to generate more?

    Every problem has a solution, that isn't the problem. The problem is the solution.

  • I use a PC to generate points and send them to my robot through EthernetKRL. I write a KUKA program to receive these points and use them driving my robot in ptp and line mode. It works but I can't find a way to use spline correctly. The number of points is unknown so I need find a way to use for or while loop to traversal the array rather than write a line of code for each point. It's an rare demand so I just want to know if it is possible. Any idea is appreciated. :help:

  • Fubini is the real expert on Spline motion here. But, as I understand it, a Spline Block (everything contained between SPLINE and ENDSPLINE) works by pre-calculating the entire path in advance, before beginning the first motion. So I doubt that you could use a dynamically-sized array in this manner.


    I haven't tried it myself, but it seems like

    Code
    FOR Index = 1 TO ArrayEnd
      SLIN Array[Index]
    ENDFOR


    ought to work? Maybe? However, even if it did, it would probably require the array to be pre-filled. Off the top of my head, I don't see how Spline motions could ever work if you're trying to pull each point from the PC "on the fly."

  • Well the way i see it is that a spline block is not possible in the way you want it. But LIN or SLIN should work fine (giving you fill the array enough for the advance pointer). I am getting curious where you need such an exact motion for? and why it needs to be in a splineblock. Mayby if you can explain that a little we could help some more?

    Every problem has a solution, that isn't the problem. The problem is the solution.

  • Thanks for the reply. I want to make my KUKA robot move along a path generated by PC. At first I use ptp and line motion to control the trajectory of robot. But problem occurs- the trajectory error is too big with little points passed to robot however robot is shaking and unstable when using too many points. So I try to find a more perfect solution. Maybe spline is better to handle this, so I want to try. :icon_rolleyes:

Advertising from our partners