Hallo
Bei der Programmierung des Roboters im Editor haben wir das Problem, dem Programm das Tool-System als zu verwendendes Koordinatensystem bekannt zu machen. Er arbeitet immer im World-Koordinatensystem.
Danke für Eure Infos
Mit frdl. Grüssen
Hallo
Bei der Programmierung des Roboters im Editor haben wir das Problem, dem Programm das Tool-System als zu verwendendes Koordinatensystem bekannt zu machen. Er arbeitet immer im World-Koordinatensystem.
Danke für Eure Infos
Mit frdl. Grüssen
Hallo.
Ich verstehe die Frage nicht ganz.
Wenn ihr keine Base Koordinatensysteme vermessen habt, könnt ihr nur im Weltkoordinatensystem fahren (im Programm).
Oder wollt ihr mit einem feststehendem TCP (externer TCP) fahren ?
mfg SyncMa
Wir haben im Vorfeld das Tool eingemessen.Bei Eingabe über die Normale Maske innerhalb der Eingabe von Bewegungen und dem Eintrag des angewählten Tools legt er auch das Koordinatensystem auf die Werkzeugspitze.
Jetzt führen wir eine Programmierung im Editor durch ohne Eingabemaske.Geschwindikkeit Bewegung und Zählschleife sind eingegeben und werden auch abgearbeitet.Uns fehlt die Befehlszeile zur Eingabe, damit auch hier das Toolsystem benutzt wird.
So, ausgehend von der Annahme das du mit
Eingabemaske = Inlineformular
Weltkoordinate = Werkzeugspitze am Anschraubflansch A6
Koordinatensystem an der Werkzeugspitze = TCP
meinst, ist die Zeile die du suchst vermutlich
wobei die 1 mit dem Tool übereinstimmen muß, welches du anwählen willst...
Das das mit der Eingabemaske funktioniert, liegt daran das dort jedes mal die Daten für das angegebene Tool automatisch gesetzt werden und eigendlich auch aktive bleiben sollten bis dieses neu gesetzt wird.
Wenn jetzt natürlich noch kein Bewegungssatz abgearbeitet ist der durch einen Eingabemaske erstellt wurde, wird wahrscheinlich $TOOL=$NULLFRAME (Mittelpunkt Anschraubflansch Achse 6) sein...
Vielleicht meint pdiddl aber das, was bei ABB unter "RelTool" bekannt ist. Und zwar das man bezogen auf die aktuelle Stellung des Tool-Koordinatensystems verfahren kann.
Z.B. man möchte 100mm in x-Richtung fahren. Aber nicht bezogen auf das Weltkoordinatensystem, sondern auf die aktuelle Stellung des Werkzeuges (Toolkoordinatensystem) bezogen.
Nur leider weiß ich auch nicht wie man das bei KUKA realisiert
Vielleicht hat ja jemand eine Idee.
Gruß HarryH
Hallo,
ich denke Spacefire hat das Problem begriffen.
Das Tool laesst sich mit $Tool=tool_data[x] setzen, alternativ mit Bas(#tool,x).
x ist die Nummer des Tools.
Vorteil bei Verwendung von bas.src - es werden die Werkzeuglastdaten beruecksichtigt.
Kann man aber auch manuell machen. Mit $Load = Load_data[x].
KaiN:
Lin_rel ist so in Weltkoordinaten
Eine Bewegung in Toolkoordinaten kann man so machen:
;----------------------------
def beispiel()
decl frame aktpos
decl frame neupos
decl frame offset
aktpos = {x 400,y 290,z 754 ,a 0,b 0,c 0}
offset = {x 0,y 0,z 100 ,a 0,b 0,c 0}
neupos = aktpos:offset
bas(#initmov,0)
$tool = Tool_data[1]
$base = base_data[1]
ptp aktpos
lin neupos ; bewegung um 100 mm in z vom Toolkoordinatensystem
end
;----------------------------
verwendet man neupos = offset : aktpos, bedeutet das eine Bewegung um 100 mm in Z des Toolkoordinatensystem.
Gruss Stefan
Ich glaube beides klappt. In meinem Code setze ich ja die Base-Daten auf die Koordinaten der aktuellen Position. In diesem Base-System ist dann ein LIN_REL {x 100} in der X-Richtung des TOOL.
In diesem Base-System ist dann ein LIN_REL {x 100} in der X-Richtung des TOOL.
die Loessung klappt schon,
man musst dabei nur aufpassen, dass $Pos_act in einem nicht zu Nullframe verdrehten Base eingelesen wird, sonst sieht die Sache komisch aus.
Gruss Stefan
Guter Einwand!
Also geht das so:
DEF LIN_TOOL(ort:IN)
FRAME ort, tempBase, tempTool
;alte Werte Merken
tempBase=$base
tempTool=$tool
;$base zurücksetzen
$base=$nullframe
;base und tool für Bewegung setzen
$base=$pos_act
$tool=$nullframe
LIN_REL ort
;alte Werte zurückschreiben
$base=tempBase
$tool=tempTool
END
Alles anzeigen
Sollte gehen.
Hallo
Möchte mich für Eure infos bedanken.Habe die Variante von kai_n gewählt. Geht wunderbar.
Allen ein schönes Osterfest!!!!!!!!!!
Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können