Script move cobot to a position with an offset relativ Rx,Ry,Rz in Base

Hallo,
I have written a script to move the Robot to a position with an Offset of X,Y,Z and Rx, Ry, Rz.
The scirpt is written to move it relativ to the toolframe an it works properly.
=>see here
#####################################################################

MovelRelativTool

########################

Anfahren einer Realtivposition als Line-Bewegung - bezogen auf Tool

Uebergabevariablen in folgender Reihenfolge:

Befehl(Position,X,Y,Z,Rx,Ry,Rz,Profil)

Position (entweder get_atcual_tpc_pose, oder einen TeachPos)

Offset (X, Y, Z, Rx, Ry oder Rz)

Fahreprofil Nummer(Beschleunigung, Geschwindigkeiten)

!!! MotionDescriptor.script wird benötigt !!!

#####################################################################

#################################0.0#################################

Funktion mit Übergabewerte definieren

def MovelRelativTool(cpRelativ=p[0,0,0,0,0,0],OffsetX=0,OffsetY=0,OffsetZ=0,OffsetRx=0,OffsetRy=0,OffsetRz=0,mDesc=[0.0,0.0,0.0]):

#################################1.0#################################
#1.0 Offset berechnen
cpRelativSave=cpRelativ
cpRelativ=pose_trans(cpRelativSave,p[(OffsetX/1000),(OffsetY/1000),(OffsetZ/1000),d2r(OffsetRx),d2r(OffsetRy),d2r(OffsetRz)])

#################################2.0#################################
#2.0 Verfahrparameter laden

Default mDesc

RelativAcc=0.01
RelativVel=0.01
RelativR=0.01

mDesc umladen

RelativAcc=mDesc[0]
RelativVel=mDesc[1]
RelativR=mDesc[2]

#################################3.0#################################
#3.0 Fahre Punkt an
movel(cpRelativ, a=RelativAcc, v=RelativVel, r=RelativR)
end

Now I have tried to write a script to move to a position with an offset in Base. But only the
XYZ Offset is working correct. The Rx, Ry, Rz offset is always referenced to the tool frame.
.
see here=>
#####################################################################

MovelRelativBase

########################

Anfahren einer Realtivposition als Line-Bewegung - bezogen auf Base

Uebergabevariablen in folgender Reihenfolge:

Befehl(Position,X,Y,Z,Rx,Ry,Rz,mDesc)

Position (entweder get_atcual_tpc_pose, oder einen TeachPos)

Offset (X, Y, Z, Rx, Ry oder Rz)

MotionDescriptor (Beschleunigung, Geschwindigkeiten, Radius)

!!! MotionDescriptor.script wird benötigt !!!

#####################################################################

#################################0.0#################################

Funktion mit Uebergabewerte definieren

def MovelRelativBase(cpRelativ=p[0,0,0,0,0,0],OffsetX=0,OffsetY=0,OffsetZ=0,OffsetRx=0,OffsetRy=0,OffsetRz=0,mDesc=[0.0,0.0,0.0]):

#################################1.0#################################
#1.0 Offset berechnen
cpRelativ[0]=cpRelativ[0]+(OffsetX/1000)
cpRelativ[1]=cpRelativ[1]+(OffsetY/1000)
cpRelativ[2]=cpRelativ[2]+(OffsetZ/1000)
cpRelativ[3]=cpRelativ[3]+ d2r(OffsetRx)
cpRelativ[4]=cpRelativ[4]+ d2r(OffsetRy)
cpRelativ[5]=cpRelativ[5]+ d2r(OffsetRz)

#################################2.0#################################
#2.0 Verfahrparameter laden

Default mDesc

RelativAcc=0.01
RelativVel=0.01
RelativR=0.01

mDesc umladen

RelativAcc=mDesc[0]
RelativVel=mDesc[1]
RelativR=mDesc[2]

#################################3.0#################################
#3.0 Fahre Punkt an
movel(cpRelativ, a=RelativAcc, v=RelativVel, r=RelativR)

end

I have tried a couple of things but it always turned referenced on tollframe. What I do wrong?

Thanks in advance

1 Like