# Kuka LIN command speed

• Hi

I have a KRC4 robot and I am using external equipment to generate the target position. The target position only needs to move on X,YZ and rotates about axis 6. Using the code below the robot goes to the correct position but does a strange angular move to reach its final position. Ideally I would like to just use a PTP command rather than LIN but the robot throws up an error.

I have put a position above the target position so in theory the tool only needs to rotate about angular A.

;Moves to the detected position.

IF rPrm[7]==0 THEN

pTgt = \$POS_ACT

pTgt.X = rPrm[1]

pTgt.Y = rPrm[2]

pTgt.Z = rPrm[3]

pTgt.C = rPrm[4]

pTgt.B = rPrm[5]

pTgt.A = rPrm[6]

LIN pTgt

Is it possible to use a PTP command?

Also how do I change the speed of the LIN command?

Any Ideas

• in that case consider activating \$PAL_MODE (try it at least)

read system variables manual and programming manual for system integrators.

2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

• Also how do I change the speed of the LIN command?

\$VEL.CP=YourVariableForVelocity

• KUKAbots can run PTP or LIN commands to the same point data. So just replacing your LIN with PTP would work. The one thing to be aware of here is that while LIN motions ignore S&T values in favor of maintaining their linear path, PTP motions obey the S&T values, even when that doesn't make much sense. So your code, as written, uses the S&T values of \$POS_ACT. This could have unpredictable effects if the robot's pose when you record \$POS_ACT is too different from your desired final pose.

You might want to DECL PTgt as a FRAME, rather than E6POS. That will "strip" the S&T values, and the path planner will decide S&T on its own, based on a "least distance" algorithm in joint space.

If you use approximated motion, changing the motion type might also require you to change the C_PTP/C_DIS tags too.

You don't describe the "weird angular motion" the robot performs when you attempt the LIN motion. This could be a singularity issue.

• \$VEL.CP=YourVariableForVelocity

I must write this on each inline LIN motion command ?

Thanks a lot

• I have a defined base and a defined tool in a ready program where the older programmer wrotes some Lin (inline from teach) motion. I am new to kuka, so if i want to change their mm/sec by a variable what i can do?

Thanks a lot

• what is the defined base?

Excuse me what do you mean ? I have the World of the robot and my "pallet" base. So i touch up the positions using "my tool" and my pallet base with the teach pendant.

• What is the green coordinate system World or defined?

What do you mean for "green coordinate system" ? I'm sorry but i'm not understand.

The global coordinate system is the World, the local my base.

• In the picture at your first post #1 you display two coordinate systems

red: seems to be the tool coordinate system

green: unknown - it is not the world or robot coordinate system

• In the picture at your first post #1 you display two coordinate systems

red: seems to be the tool coordinate system

green: unknown - it is not the world or robot coordinate system

I am sorry but the first post is not mine.

I am no the author of thi thread. I've just coming in because i've need to know how to change the speed of a LIN motion on this robot using a variable.

I must write this on each inline LIN motion command ?

Thanks a lot

this is my first post.

I have a defined base and a defined tool in a ready program where the older programmer wrotes some Lin (inline from teach) motion. I am new to kuka, so if i want to change their mm/sec by a variable what i can do?

Thanks a lot

And this is my question.

Thanks a lot.

• Inline forms store the programmed values individually for each motion command in the dat file, so this can not be changed by a single variable. Lookup \$bas.src on how data of inline forms is transferred to motion commands.

So you must use touch up functionality ( open inline form, change what you want to change and then save). But you can mark a whole section of inline forms if you want to change more than on inline form at a time to the same values.

Fubini

• Inline forms store the programmed values individually for each motion command in the dat file, so this can not be changed by a single variable. Lookup \$bas.src on how data of inline forms is transferred to motion commands.

So you must use touch up functionality ( open inline form, change what you want to change and then save). But you can mark a whole section of inline forms if you want to change more than on inline form at a time to the same values.

Fubini

Thanks Fubini.

I can not open inline form and save new values because i want to change speed of Lin motions at runtime. Have you an example ?

Thanks a lot.

• decl real myVel = 0.5

...

\$vel.cp = myVel

Lin xp1

...

Slin xp2 with \$vel.cp = myVel

...

Read system integrators manual. This is explained in detail there.

• thanks a lot Fubini.