Automatische Umrechnung der Toolkoordinaten (Posdata)

  • 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!! :hilfe:


    MfG

  • ANZEIGE
  • Hallo Doc.Dynamite,


    also es gibt da eine nette Funktion MToolTCPCalib und MToolRotCalib.


    MToolTCPCalib - Kalibrierung deiner translatorischen Werte und MToolRotCalib - Kalibrierung deiner Orientierung. Wird mit 4 Jointarget ermittelt, aber Du könntest das auch mit 4 Robtargets machen und diese dann umrechnen.
    Ist so weit ich weiß erst seit IRC 5 aktiv.


    Gruss

  • Hallo Robcheck01!


    Erstmal Danke für deine Antwort! :merci:
    Die 5300er haben die S4P+ Steuerung. Die "MToolTCPCalib" FUNC hab ich mir auch schon mal ins Auge gefasst, aber
    bei der is das Problem das ich 4 Pkt brauche um das Tool neu zu bechnen und Tool0 aktiv sein muss. Da könnte ich auch gleich einen neuen TCP über die 5 Punkt Methode berechnen.
    Man könnte es aber mal versuchen mit MToolTCPCalib 4 mal den gleichen Punkt einzugeben und selbst die Orientierung nur minimal im Robtarget zu verändern und hoffen das es das System nicht "merkt".
    Habe heut noch etwas rum gerechnet und mir eine Formel zusammen gebaut deren Bestandteile ich zufällig gefunden habe.


    X'= X/cos phi + Y/sin phi
    Y'= X/sin phi + Y/cos phi


    Der Haken is nur das der Verschiebungsfaktor vom Vektor X & Y nicht mit berücksichtigt ist und es dadurch zu
    mittleren bis hohen Abweichungen kommt. :wallbash:

Hilfe und Support für ABB Roboter Programmierung, Konfiguration, Inbetriebnahme finden Sie hier im ABB Roboter Forum. ABB Rapid Programmierung ist einfach, die Roboterforum Community hilft sehr gerne.

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden