Moving the tool to a calculated position on an angle

  • When loading a CNC milling machine, I often do this at an angle. When the gripper lets go of the workpiece it wants to move straight up, sometimes hitting the workpiece and causing problems. How do I get the robot to move at an angle ?


    I think I have to do something with the POINT AOT command, but I don't exactly know what... some help please ?

  • I would be interested in finding out how the robot is mounted in relation to the CNC machine.
    If BASE is Z+ directly up......I would assume there will be a SHIFT in Z or possibly a DRAW in z command being used.
    (this would mean the posture of the tool would remain the same and produce a vertical motion along the BASE Z Axis depending on either negative or positive values.


    If so, altering the OAT would not necessarily resolve it.
    (what this would do is rotate the tool during the motion directly up and the TCP would end up at the same location but orientated differently).
    But this would depend on the actual code that's doing the motion......ie what command it is?


    Personally I would look at the Tool Co-ordinates and then opt for a TRANS command in conjunction with the set angle and retract the TCP along the angle ( I think this is what you are asking).


    Can you post any snippets of the code that is commanding the motion your looking at adjusting, so I can advise a little more specifically?

  • My robot's coordinate system is the same as the cnc machine, but we use machines with 4th and 5th axis, so I can tilt my vice. I do this to drop a workpiece against two pins or something, to be more accurate when positioning. After letting go of the workpiece I want the robot to move away in the same tilt as the vice is.


    Here is the current code for moving the gripper away, this should be altered to make the angle possible :


    IF specin==0 THEN
    LMOVE SHIFT(machineweg[pgnum] BY 0,0,inveilig)
    ELSE
    LMOVE SHIFT(machineweg[pgnum] BY aanvliegx,aanvliegy,aanvliegz)
    END
    ;END
    BREAK
    SPEED spd_in MM/S
    LMOVE machineweg[pgnum]
    END
    ABS.SPEED OFF
    SPEED 100 ALWAYS
    BREAK
    CALL lossen
    IF specuit==0 THEN
    LMOVE SHIFT(machineweg[pgnum] BY 0,0,gripperlengte+10)
    ELSE
    LMOVE SHIFT(machineweg[pgnum] BY wegvliegx,wegvliegy,wegvliegz)
    END

  • Quote

    My robot's coordinate system is the same as the cnc machine, but we use machines with 4th and 5th axis, so I can tilt my vice. I do this to drop a workpiece against two pins or something, to be more accurate when positioning. After letting go of the workpiece I want the robot to move away in the same tilt as the vice is.


    So is vice angle always changing or fixed?
    If always changing, will take more work to achieve correct result as new angle needs to be sent to robot - Can this be done?
    - Or am I misreading information?


    1. Can you tell me meanings of specin, lossen, specuit?
    2. Can you tell me from code which commands are:
    a. Approach drop
    b. At drop
    c. Away from drop

  • I have been messing around with it a little more today, and i solved the problem by using the Lappro command instead of the lmove with shift


    Works fine now, button thank you for your reply

  • :bravo:


    I was intending to lead you to the Tool Co-ordinate of the drop location and suggest to use Tool Interpolation to discover if any of Tool Axes are in alignment with the angle.
    Nice result and a simpler solution to what I was intending to suggest....

  • For sure, there's many different ways to achieve the same result in Kawasaki Robots.
    - So there's no real 'correct' way, only efficient/effective ways.......and sometimes the most efficient is the simplest to produce the results you require -


    Basic variations for your information:
    LAPPRO drop.location,distance
    LDEPART distance
    TDRAW 0,0,-distance
    LMOVE drop.location+TRANS(0,0,-distance,0,0,0)......TRANS command is very powerful and allows maximum flexibility for the TCP including orientation change at the TCP....and is very common for programmers.


    The many different variations can lead to confusion, so if you get used to a certain command, stick with it and you can't go far wrong.
    Either command is fine, just have to watch out for the -/+ of the distance value (always in mm).........or else you can send the Tool in the wrong direction....making you say oops!...... :icon_redface:....and a bent tool.

Advertising from our partners