Toolvermessung

  • Hallo zusammen,


    ich habe ein Problem bei dem Ihr mir evtl. helfen könnt. Ich müsste von einem gegebenen Greifer anhand der Zeichnung die Greiferkoordinatensysteme und den TCP bestimmen.
    Der TCP ist ja kein Problem aber unser Koordinatensystem ist vom Flanschkoordinatensystem erst um Y-B 30° gedreht und dann noch mal um 45° um die Z-C Achse gedreht.
    Wie bekomme ich nun die Winkel heraus die ich im Werkzeug eingeben muss?
    Anbei noch ein kleines Bild eines Greifers.


    Danke schon mal und ein schönes Wochenende.

  • Schritt für Schritt zum Roboterprofi!
  • Ich habs noch nicht ganz verstanden. Du willst das Greiferkoordinatensystem und den TCP bestimmen. Der Ursprüngliche TCP befindet sich ja im Mittelpunkt der Flanschplatte. Möchtest du nun wissen wie du dieses Koordinatensystem in eines der Greiferkoordinatensysteme transformierst?

  • Du weißt aber doch um wieviel Grad die Achsen gedreht sind. Warum gibst du nicht ganau das bei deinem Toolvermessen ein? Ich schätze ich verstehe es immer noch falsch. Welche Koordinaten bzgl. welcher Koordinatensysteme kennst du denn?

  • So einfach dachte ich mir das auch. Das Problem ist aber das der Roboter nicht nacheinander dreht um es mal Bildlich auszudrücken müsste ich für mein Werkzeug zwei Werkzeuge aufeinander setzen.
    Also zu dem Bild des Greifers.
    Erst ein Werkzeug das vom Flansch Koordinatensystem um 30° B verschoben ist.
    An diesem Werkzeug sitzt dann ein weiteres das wiederum in 45° C um das Flansch koordinatensystem gedreht ist.
    Nun kann ich dem Roboter aber nicht sagen setze Werkzeug auf Werkzeug und wenn ich Ihm angebe. X,Y,Z A 0, B 30, C 45 ist das ein anderes Ergebnis.
    Ich denke ohne Matrix berechnung bekommt man das nicht raus.


  • Hallo s@scha-schuster,


    zunächst mal die Drehung um die Z-Achse beim KUKA ist IMMER eine Drehung um A.
    In Deinem Fall sollten also die Werte B=30 und A=+/-45 zu dem gewünschten Ergebnis führen.


    Gruß Markus

    Gruß<br />Markus

  • Ja, Herr Hochholzer hat Recht. Denn eigentlich ist es so einfach das man die Drehungen hintereinander ausführt. Eine richtige Matrixtransformation bräuchtest du eigentlich nur wenn du die Koordinaten der Greiferkoordinatensystem-Ursprünge bzgl. deines Flanschkoordinatensystems wüsstest und dieses auch noch verschoben wäre.
    Die Frage zielt ja nicht darauf ab wie man von absoluten Winkeln auf Euler-Winkel kommt, oder? Also so was wie: Ich sehe das die Z-Achse-2 gegebnüber Z-Achse-1 um 45° verdreht ist und das die Y-Achse-2 gegenüber der Y-Achse-1 um 30° verdreht ist. Ich würde sagen die Winkel könnte man nicht einfach eingeben. Die müsste man erst in Euler-Winkel umrechnen.

  • schonmal vom doppelpunktoperator gehört?


    Der ist hier die passende Lösung. Damit kann er nix falsch machen.


    tool_data[11]=tool_data[1]:tool_data[10]


    wobei 1 das Original, 10 der Offset ist.
    In 11 findest Du dann das absolut richtig berechnete Ergebnis....

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • Hallo,


    ich bin mir nicht sicher, aber auf dem Bild zeigt die z-Achse des Flansches nach "unten" (oder vom Flansch weg), die z-Achsen der beiden Greifer-Koordinatensysteme dagegen eher nach "oben" (oder zum Flansch hin). Wenn ich jetzt versuche jeweils das Flansch-Kosy in die beiden Greifer-Kosys zu verdrehen, dann komme ich auf dem folgenden Weg dahin:


    1. Drehung um die z-Achse des Flansch-Kosy um +45° bzw. -45°
    2. Drehung um die y-Achse (des schon um z mitgedrehten Zwischen-Kosys) um 150°


    Die große 150°-Drehung setz sich eigentlich aus zwei Einzeldrehungen zusammen. Eine große 180°-Drehung um die z-Achse nach "oben" zu bekommen und anschließend noch die -30°-Drehung. Beide Drehungen zusammen addieren sich zu 150° um die y-Achse. Die Eulerwinkel wären dann:


    A = +45 B = 150° C = 0°
    A = -45 B = 150° C = 0°


    Jetzt ergibt sich das (harmlose) mathematische Problem, das die Euler-Winkel eigentlich auf die folgenden Intervalle beschränkt sind:


    0° <= A < 360° ; -90° <= B <= 90° ; 0° <= C < 360°


    Um die Eulerwinkel in den richtigen Intervallen zu bekommen, könnte man die Rotationsmatrix mit A = +/-45, B =150° und C = 0° berechnen und anschließend wieder aus der Rotationsmatrix die Eulerwinkel herausziehen:


    A = 225 B = 30° C = 180°
    A = 135 B = 30° C = 180°


    aber wohl die sicherere und einfachere Lösung hat WolfHenk im vorigen Post beschrieben, denn da wird alles automatisch berechnet und man kann sich das "mentale Rotieren" und die Gedanken über die Eulerwinkel-Intervalle einfach sparen.


    ciao Puck

  • WolfHenk
    Ich denke das ist die Lösung hab aber erst am Montag wieder einen Robi zum testen.
    Auf die Idee bin ich garnich erst gekommen dachte das klappt nur bei Punkten aber im Prinzip ist die Tool_data ja ncihts anderes. :supi:
    puck.
    Die Überlegungen sind wohl ziemlich richtig da es ähnliche Werte sind wie die welche ich mal kurz über Rotation 2 Punkte getested habe.


    Ich denke am Montag weiß ich mehr. Fakt ist aber das es nicht einfach geht A +/-45° und B 30° Verwende ich nur B stimmt meine Z Achse nur wie puck schon sagt eigentlich in die Falsche Richtung. Setzte ich aber A 45° und B 30° passt gar nichts mehr, das Geiferkoordinatensystem it dann total verdreht. Später soll jeder der beiden Greifer ein Koordinatensystem haben das wie Puck beschrieben hat die X Achse also die Stoßrichtun entlang der Finger ist und Z + eher zum Fasch zeigt.

  • Also erst mal ein frohes neues Jahr an alle.
    Hat jetzt doch etwas gedauert aber nur noch mal für alle.


    Wenn man nichts zur Hilfe hat geht es wirklich nur über den Weg der Rotationsmatrizen. Da ich nicht weiß wie ich hier richtig ne Formel reinschreibe und die Formel alein ohne den Weg nicht viel bringt hier nur die Aussage es geht und ist viel Rechnerei. Wer es probieren möchte in Google mal nach Drehmatrix oder Ratationsmatrix suchen.


    Für alle die es wissen möchten wie es schneller geht: WolfHenk hatte Recht. Berechnet man mit dem Robi oder einfacher wer Ihn hat mit dem KRC Editor die Frames mit dem Doppelpunktoperator bekommt ziemlich schnell sein Ergebnis.
    In diesem Fall im Ersten Frame A 0, B 30, C 0 im zweiten A 45,B 0,C 0 = A 49.10661, B 20.70481, C 22.20765 Da aber Puck auch Recht hatte muss die Z Achse am besten vorher um 180° gedreht werden.
    Mit dem KRC Editor ist dies aber auch danach Möglich einfach Ergebnis in den ersten Frame kopieren und weitere Drehungen darauf Rechnen. Am Robi müsste man sich dafür ein kleines Programm machen geht aber genauso.
    Wie es aber so oft ist nachdem wir die Werte hatten haben wir festgestellt das wir mit den 30° nicht alle Punkte erreichen da sich am Werkzeug etwas geändert hatte.

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