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

smooth planned trajectory

  • siwei chen
  • June 29, 2024 at 3:46 AM
  • Thread is Unresolved
  • siwei chen
    Posts
    8
    • June 29, 2024 at 3:46 AM
    • #1

    Good day everyone,
    I'm working on a project which involves generate a path along the surface of any give 3D geometry,I use Matlab to read a from an external stl file to get the surface point and its related normal vector(small triangle mesh and the normal vector),by writing a script processing these datas,I could come up with a series of point containing Cartesian coordinates and the orientation(X,Y,Z,A,B,C), I used SLIN point C_Dis to run these points,supposing that I could get a smooth path,but the robot either says approximation not possible or stutter.
    anyone can teach me how to make the motion smooth,I even used spline block,the stutter disappeared but I got extremly slow speed. is there any rules that we could follow in order to generate the data for points so that we could get a smooth motion?? I used Matlab spline function to generate interpolation point hoping to help the transition in a smooth way,but it doesn't seems like to improve.
    following is my code:
    &ACCESS RVO
    &REL 8
    &PARAM EDITMASK = *
    &PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
    &PARAM DISKPATH = KRC:\R1\1
    DEF shoes( )

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

    BAS(#INITMOV, 0)
    $OUT[4] = False
    $OUT[2] = False
    $OUT[3] = False
    BAS(#VEL_PTP, 1)
    BAS(#ACC_PTP, 0.5)
    slowspeed=0.01
    fastspeed=0.33

    midspeed=0.27

    $VEL.CP=fastspeed
    BAS(#BASE, 1)
    BAS(#TOOL, 1)
    $VEL_AXIS[1]=10
    $VEL_AXIS[2]=10
    $VEL_AXIS[3]=10
    $VEL_AXIS[4]=10
    $VEL_AXIS[5]=10
    $VEL_AXIS[6]=10
    $ACC_AXIS[1]=10
    $ACC_AXIS[2]=10
    $ACC_AXIS[3]=10
    $ACC_AXIS[4]=10
    $ACC_AXIS[5]=10
    $ACC_AXIS[6]=10
    $APO.CDIS=0.1


    ;FOLD SPTP P12 Vel=50 % PDAT4 Tool[1]:Tool1 Base[1]:Base1 ;%{PE}
    ;FOLD Parameters ;%{h}
    ;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=P12; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=PDAT4; Kuka.VelocityPtp=50; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
    ;ENDFOLD
    SPTP XP12 WITH $VEL_AXIS[1] = SVEL_JOINT(50.0), $TOOL = STOOL2(FP12), $BASE = SBASE(FP12.BASE_NO), $IPO_MODE = SIPO_MODE(FP12.IPO_FRAME), $LOAD = SLOAD(FP12.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT4), $APO = SAPO_PTP(PPDAT4), $GEAR_JERK[1] = SGEAR_JERK(PPDAT4), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
    ;send tape out signal
    PULSE($OUT[3], TRUE, 1.0)
    WAIT FOR ( $IN[10] )
    $OUT[3] = False


    ;ENDFOLD
    $ADVANCE=5

    SLIN {X 400.00,Y -125.13,Z 217.66,A -53.62,B 53.74,C 168.74} C_Dis
    SLIN {X 400.00,Y -124.51,Z 217.32,A -53.60,B 53.76,C 168.77} C_Dis
    SLIN {X 400.00,Y -123.90,Z 216.99,A -53.58,B 53.79,C 168.80} C_Dis
    SLIN {X 400.00,Y -123.29,Z 216.65,A -53.55,B 53.81,C 168.83} C_Dis
    SLIN {X 400.00,Y -122.68,Z 216.31,A -53.53,B 53.83,C 168.85} C_Dis
    SLIN {X 400.00,Y -122.06,Z 215.97,A -53.51,B 53.85,C 168.88} C_Dis
    SLIN {X 400.00,Y -121.45,Z 215.63,A -53.48,B 53.88,C 168.91} C_Dis
    SLIN {X 400.00,Y -120.84,Z 215.30,A -53.46,B 53.90,C 168.94} C_Dis
    SLIN {X 400.00,Y -120.22,Z 214.96,A -53.44,B 53.92,C 168.97} C_Dis
    SLIN {X 400.00,Y -119.61,Z 214.62,A -53.42,B 53.94,C 169.00} C_Dis
    SLIN {X 400.00,Y -119.00,Z 214.28,A -53.39,B 53.97,C 169.02} C_Dis
    SLIN {X 400.00,Y -118.38,Z 213.95,A -53.37,B 53.99,C 169.05} C_Dis
    SLIN {X 400.00,Y -117.77,Z 213.61,A -53.35,B 54.01,C 169.08} C_Dis
    SLIN {X 400.00,Y -117.16,Z 213.27,A -53.32,B 54.03,C 169.11} C_Dis
    SLIN {X 400.00,Y -116.54,Z 212.93,A -53.30,B 54.06,C 169.14} C_Dis
    SLIN {X 400.00,Y -115.93,Z 212.59,A -53.28,B 54.08,C 169.17} C_Dis
    SLIN {X 400.00,Y -115.32,Z 212.26,A -53.25,B 54.10,C 169.19} C_Dis
    SLIN {X 400.00,Y -114.71,Z 211.92,A -53.23,B 54.12,C 169.22} C_Dis
    SLIN {X 400.00,Y -114.09,Z 211.58,A -53.21,B 54.15,C 169.25} C_Dis
    SLIN {X 400.00,Y -113.48,Z 211.24,A -53.19,B 54.17,C 169.28} C_Dis
    SLIN {X 400.00,Y -112.87,Z 210.91,A -53.16,B 54.19,C 169.31} C_Dis
    SLIN {X 400.00,Y -112.25,Z 210.57,A -53.14,B 54.21,C 169.34} C_Dis
    SLIN {X 400.00,Y -111.64,Z 210.23,A -53.12,B 54.24,C 169.37} C_Dis
    SLIN {X 400.00,Y -111.03,Z 209.89,A -53.09,B 54.26,C 169.39} C_Dis
    SLIN {X 400.00,Y -110.41,Z 209.55,A -53.07,B 54.28,C 169.42} C_Dis
    SLIN {X 400.00,Y -109.80,Z 209.22,A -53.05,B 54.30,C 169.45} C_Dis
    SLIN {X 400.00,Y -109.19,Z 208.88,A -53.02,B 54.32,C 169.48} C_Dis
    SLIN {X 400.00,Y -108.57,Z 208.54,A -53.00,B 54.35,C 169.51} C_Dis
    SLIN {X 400.00,Y -108.34,Z 208.41,A -52.99,B 54.36,C 169.52} C_Dis
    SLIN {X 400.00,Y -107.72,Z 208.08,A -52.97,B 54.38,C 169.55} C_Dis
    SLIN {X 400.00,Y -107.11,Z 207.75,A -52.94,B 54.40,C 169.58} C_Dis
    SLIN {X 400.00,Y -106.49,Z 207.42,A -52.92,B 54.42,C 169.61} C_Dis
    SLIN {X 400.00,Y -105.88,Z 207.08,A -52.90,B 54.44,C 169.64} C_Dis
    SLIN {X 400.00,Y -105.26,Z 206.75,A -52.87,B 54.47,C 169.67} C_Dis
    SLIN {X 400.00,Y -104.64,Z 206.42,A -52.85,B 54.49,C 169.70} C_Dis
    SLIN {X 400.00,Y -104.03,Z 206.09,A -52.82,B 54.51,C 169.72} C_Dis
    SLIN {X 400.00,Y -103.41,Z 205.75,A -52.80,B 54.53,C 169.75} C_Dis
    SLIN {X 400.00,Y -102.80,Z 205.42,A -52.78,B 54.56,C 169.78} C_Dis
    SLIN {X 400.00,Y -102.18,Z 205.09,A -52.75,B 54.58,C 169.81} C_Dis
    SLIN {X 400.00,Y -101.56,Z 204.76,A -52.73,B 54.60,C 169.84} C_Dis
    SLIN {X 400.00,Y -100.95,Z 204.42,A -52.71,B 54.62,C 169.87} C_Dis
    SLIN {X 400.00,Y -100.33,Z 204.09,A -52.68,B 54.65,C 169.90} C_Dis
    SLIN {X 400.00,Y -99.72,Z 203.76,A -52.66,B 54.67,C 169.93} C_Dis

  • massula June 29, 2024 at 3:53 AM

    Approved the thread.
  • geir_hokarob
    Posts
    12
    • June 29, 2024 at 3:41 PM
    • #2

    Your points are very close together (less than one millimeter). Robot controllers are not like CNC controllers which can handle close points at high speeds. Did you try to space the interpolated points further apart?

  • siwei chen
    Posts
    8
    • July 1, 2024 at 3:59 AM
    • #3
    Quote from geir_hokarob

    Your points are very close together (less than one millimeter). Robot controllers are not like CNC controllers which can handle close points at high speeds. Did you try to space the interpolated points further apart?

    yes,I tried,it doesn't make big differences,unless I made the points very far away from each other,but this makes the robot running away too much from the planned trajectory.

  • hermann
    Reactions Received
    406
    Trophies
    9
    Posts
    2,609
    • July 1, 2024 at 5:54 AM
    • #4

    Try to use old fashioned LIN movements.

  • siwei chen
    Posts
    8
    • July 1, 2024 at 7:16 AM
    • #5
    Quote from hermann

    Try to use old fashioned LIN movements.

    thanks,I'll try,why you suggest old fashioned LIN movment instead of SLIN?

  • Online
    panic mode
    Reactions Received
    1,278
    Trophies
    11
    Posts
    13,079
    • July 1, 2024 at 5:37 PM
    • #6

    why do you question advice? did you even try it?

    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,051
    Trophies
    12
    Posts
    9,423
    • July 1, 2024 at 6:08 PM
    • #7

    SLINs, by definition, need to plot their motions in more detail than LINs. An SLIN path must be "twice differentiable", which basically means that the position, velocity, and acceleration (as a function of time) cannot have any step transitions.

    LIN motions are more forgiving, in that the robot is only restrained to stay within the approximation radius of each motion, and is much freer to approximate everything else. Which leads to an easier, but less accurate, path.

    In this case, I don't thin hermann is suggesting that LINs would necessarily solve your problem, but that they might be an experiment worth trying.

  • Online
    panic mode
    Reactions Received
    1,278
    Trophies
    11
    Posts
    13,079
    • July 1, 2024 at 6:30 PM
    • #8

    yup, two motion planers work differently...
    GeneralEllipsoid should also experience the same problem if LIN was changed to SLIN

    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

  • DawnHill
    Trophies
    1
    Posts
    13
    • July 2, 2024 at 5:13 AM
    • #9

    You can contact Siasun Robot, a robot company from China. Their controller can handle continuous dense points like this.

  • siwei chen
    Posts
    8
    • July 9, 2024 at 2:39 AM
    • #10

    hi everyone,I tried with LIN motion with C-VEL instead of C-Dis,problem solved,thanks you all

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

  • approximation
  • Path planning
  • blending
  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