I have about 30 programs to write with 20 - 30 target points in each program.
To speed programming I would like to offset my targets points in Tool Frame Z.
I do this with offsets in Japanese robots.
what is the command in a Kuka to preform this?
Example:
PTP HOME
PTP p1 offset tool Z 300 mm approach position
PTP p1 CONT Vel=100 % PDAT27 Tool[1]: Base[3]:1 target position
PTP p1 offset tool Z 100mm depart position
PTP p2 offset tool Z 300 mm approach position
PTP p2 CONT Vel=100 % PDAT28 Tool[1]: Base[3]:1 target position
PTP p2 offset tool Z 300 mm depart position
PTP HOME
Offset a target point
-
tonygast -
December 11, 2014 at 4:19 PM -
Thread is marked as Resolved.
-
-
Offset 100mm in Z:
PTP P1:{X 0, Y 0, Z 100, A 0, B 0, C 0}
-
Will this move in tool frame or world?
I need to keep everything in line.
the reason is if I change the angle of my target I want my approach and depart to follow the tool without having to modify the Approach and depart -
Yes, the Geometric operator applies shifts (the portion on the right side of the colon) along/around the reference frame (the portion on the left side of the colon).
So, PTP P1 : {X 0,Y 0,Z 100,A 0,B 0,C 0} will move the robot to a point 100mm from P1, along the Z+ axis of the active $TOOL,
PTP {X 0,Y 0,Z 100,A 0,B 0,C 0} : P1 will move the robot to a point 100mm from P1, along the Z+ axis of the active $BASE.
-
sorry I'm a japanese robot guy....
do I insert this offset day just into a normal move. how do I get velocity data? -
Velocity will be whatever the last setting was, just like programming motions in Kawasaki AS-Language.
If by "normal mode" you mean inline-form points, it's not going to work. Inline-form points are like Block-Step programming in Kawasaki robots -- if you want to use something like the Kawasaki APPRO command, you'll have to resort to "raw" KRL. Similar to how you can interleave Block-Step and AS-L commands on a Kawasaki.
-
With all the help I have gotten here, and others and the book...
I have constructed a Expert module (to me it's a MACRO) that is a dynamic tool offsetDEF MoveNear(point : IN, Offset: IN, ToolIdx: IN, BaseIdx: IN, Velocity: IN)
E6Pos Point
REAL Offset, Velocity
INT ToolIdx, BaseIdx
FRAME FrOffFrOff = {X 0,Y 0,Z Offset, A 0,B 0,C 0}
$VEL.CP = Velocity
$BASE = BASE_DATA[BaseIdx]
$TOOL= TOOL_DATA[ToolIdx] : FrOffLIN Point C_DIS
ENDThanks to All
-
-
I compiled it in my VMware Smart Pad.....
But that does give a false ok sometimes....
When I go Live I will make these changes
Thanks Again! -
hi.. Can any one explain how to use offset instruction for target point in kuka robot programming?
-
Its used to shift position with reference of the base or tool system depending you write the offset on the left or right of your position. So it's equivalent to relative moves with specified reference system #tool or #base. See the answer of Skyefire above. Mathematically : operator is the multiplication of two homogeneous transformation matrices.
-
try it...
teach program with couple of points in the air using inline form motions such as:
CodeDEF TEST() INI PTP HOME... PTP P1... LIN P2... ; this is one we want to offset PTP P3... PTP HOME... END
run program using motion step for example.
now add couple of KRL motions (not inline form motions) around P2 and use offset.
note point name seen in inline form is used to generate couple of variables. they get different prefix. variable with point coordinates has prefix 'x' (letter alluding two lines intersect in a point).
so variable used for P2 position is actually named xP2.
Then run program using motion step and see what happens
Code
Display MoreDEF TEST() INI PTP HOME... PTP P1... ; use offset to create new points that are related to P2 LIN xP2:{X 100, Y 0, Z 0, A 0, B 0, C 0} LIN xP2:{X 100, Y 100, Z 0, A 0, B 0, C 0} LIN xP2:{X 100, Y 0, Z 0, A 0, B 0, C 0} LIN xP2:{X 100, Y 0, Z 100, A 0, B 0, C 0} LIN xP2:{X 100, Y 0, Z 0, A 0, B 0, C 0} LIN xP2:{X 0, Y 0, Z 0, A 30, B 0, C 0} LIN P2... LIN xP2:{X 0, Y 0, Z 0, A -30, B 0, C 0} LIN xP2:{X 100, Y 0, Z 0, A 0, B 0, C 0} LIN xP2:{X 100, Y 0, Z 100, A 0, B 0, C 0} LIN xP2:{X 100, Y 0, Z 0, A 0, B 0, C 0} LIN xP2:{X 100, Y 0, Z 0, A 0, B 0, C 0} LIN xP2:{X 100, Y 100, Z 0, A 0, B 10, C 0} PTP P3... PTP HOME... END
-
In this relates to the topic of this thread how precisly? Please make your own thread.
Also might help to be a bit more detailed in your question when setting au the new thread.
What do you already have as an installation?
Whats your speed here? Override?
You use ILF, expert KRL?
...
Fubini
-
Hello Guys,
How will I insert my Z and A axes offset in the smartpad?
This is the line: LIN Pt_App Vel=0.25 m/s CPDAT10 Tool [6]: R2 Base [8]:DRG
-
How will I insert my Z and A axes offset in the smartpad?
This is the line: LIN Pt_App Vel=0.25 m/s CPDAT10 Tool [6]: R2 Base [8]:DRGDetails matter. Do you want to offset in TOOL or BASE coordinates? Is this a dynamic program-generated offset, or do you want to permanently offset this point? Do you want to offset just one point, or a large number?
-
Hello, yes I want to offset in tool, but I just want to edit in smartpad. I just want to offset maybe -20 mm from Z and less than 5° from A permanently from this point.
Thanks
-
you do know that modifying tool will affect ALL motion instructions that use that tool and not just that one instruction? in other words, you may want to use a different tool for just that instruction. maybe tool16... then you can do something along these lines:
-
I don't think OP wants to change the Tool, just offset an E6POS in Tool coordinates.
There's no really simple way to do this, but to do it on the pendant:
- Open the VarCor
- Type the name of the E6POS variable into the Name box
- probably xPt_App
- and hit Enter. If the values don't show up, you probably have the wrong Module selected
- In the new-value box, type:
- =xPt_App : {X 0,Y 0,Z -10,A 5,B 0,C 0}
- All the characters are required, including the = and :
- Every XYAABC value must be filled with a 0 if you do not want to shift them
- Hit Enter
- =xPt_App : {X 0,Y 0,Z -10,A 5,B 0,C 0}
Note: Every time you hit Enter, the offset will be applied again, so it it cumulative. Hit Enter 3 times, and you will offset the point by 30mm and 15deg.
Unless you are quite good with the pendant, this probably is not the best way to alter a point. I would suggest making a copy of the point, and adjusting the copy without altering the original, using a program:
DECL E6POS _CopyPoint
_CopyPoint = xPt_App : {X 0,Y 0,Z 10,A 5,B 0,C 0}
-
Thanks. But why can't I just insert a line like this:
xPt_App:{X 0, Y 0, Z -10, A 5, B 0, C 0}?
-
You can if you do not use inline forms but plain krl instead.
Inlineforms are something like macros that hide complexity from the user. Especially for newbies it is easier at first, because you can create/modify inlineforms via selection menus of the user interface.
With expert programs in plain krl you have to do everything on your own. It is more powerful but you have to learn the programming language KRL.
Check the KUKA portal for the user programming documentation, which explains inline forms. The documentation for system integrators on the other hand the programming with plain krl.
PostRE: KUKA KRL Folds
To the compiler, anything after the ; is a comment.
To the user interface, ;FOLD and ;ENDFOLD are the start and end tags that influence how the code is displayed. Any programmer can use Folds to affect the cosmetic appearance of their code. Folds provide a small degree of protection, too, since Folds normally cannot be opened on the pendant unless the user is logged in at Expert or higher.
And for "Inline Forms", what KUKA uses for menu-driven programming on the teach pendant, certain special…SkyeFireAugust 17, 2022 at 3:08 PM Fubini
-