Hallo Leute!
Hab ein kleines Problem, und zwar möchte ich ein Programm schreiben dass die Toolkoordinaten selbständig umschreibt und u.U. abspeichert.
Den Syntax zu dem Prog hab ich schon mir fehlt "nur" die FUNC für die Berechnung.
Die Vorgehensweise ist wie folgt:
1. Es handelt sich um einen 3-Achser (IRB 5300) oder auch Türöffner für Karossen bei dem der TCP bei einer
Kollision neu eingemessen werden muss.
2. Eingemessen wird über eine Stange mit Spitze die am Boden befestigt ist. Die Toolspitze (5300) wird direkt
auf die Stangenspitze gefahren und die vorgegebenen Koordinaten (Welt) werden verglichen.
3. Danach wird versucht manuell über Tool==>tGripper==>ändern die X,Y,Z Werte solange zu "bescheißen"
bis die vorgegebenen Koordinaten wieder übereinstimmen.
Diese Prozedur ist 1. sehr zeitaufwändig und 2. ungenau, aber bis jetz die einzigste Methode um nicht bei jeder
kleinen Kollision ein neues Tool montieren zu müssen.
Bsp.:
PERS tooldata tGripperV:=[trUE,[[496,4,339.6],[1,0,0,0]],[1.8,[500,0,310],[1,0,0,0],0,0,0]];
Justierpunkt:
LOCAL CONST robtarget pStange:=[[1423.5,-1042.11,1550.04],[0.707107,0,0,-0.707107],[0,0,0,-1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
Aktuelle Position:
X:=1430;
Y:=-1035;
Z:=1555;
"Z" ist einfach weil ich da die Differenz direkt addieren bzw. subtr. kann (tneuesTool.tframe.trans.z:=tGripperV.tframe.trans.z+-DZ )
Der Knackpunkt ist aber X,Y weil beide voneinander abhängig sind. d.h. z.B.: wenn ich x um die Differenz zur Justierpos. um 6.5mm abziehe dann verschiebt sich y um einen best. Faktor mit. (genauso andersrum)
An diesem Problem hänge ich schon eine Zeit lang und hab auch so ziemlich alles probiert. Angefangen mit simplen
Dreisatz, weiter über Tetraeder Berechnung und jetz bin ich bei Koordinatentransformation, wo ich nicht weiter komme.
Am hilfreichsten wäre eine Formel um den Faktor heraus zubekommen mit dem ich die nichtbetroffene Koordinate berechnen muss.
Ich freu mich über jede Idee die mich hier weiter bringt!!
MfG