KRC4 Kartesisches und Axiales Offset von Position

  • Hallo Experten


    Ich benötige mal eure Hilfe.

    Folgende Situation:

    - Tool eingemessen (594mm 35° vom Flansch)

    - Base fast 2m hoch. und dort ist auch der geteachte Greifpunkt

    - Roboter kommt noch an den Punkt, jedoch am äußeren Ende der Workspace-Kugel

    - Kein Platz zum PTP fahren

    - Werkstück ist eine große Glasülatte (ca 1,5m x 0,5m). Tool am Glasmittelpunkt zum einfacheren Drehen um A,B und C.


    Geplanter Ablauf vom Greifpunkt zur Home (anderes Herum ist dann nur Rückwärts)

    1. Greifpunkt (XREF_Grip)

    2. X (Tool) -50mm (LIN XREF_Grip : {x -50, Y 0, Z 0, A 0, B 0, C 0} )

    3. X (Tool) -50mm und A5 +25° (LIN XREF_GRIP : ???????????????)

    4. X (Tool) -50mm und A5 +25° und A1 -90° (LIN XREF_GRIP : ???????????????)

    5. LIN XHELP_GRDPos (ist ein Punkt, der in der Home Automatisch auf eine E6Pos geschrieben wird als Hilfsposition)


    Jetzt halt meine Frage. Kann Jemand dieFragezeichen füllen bzw. mir etwas Hilfe geben, wie ich die Achswinkel ins Kartesische umrechnen Kann.

    Für den Punkt 3. hab ich schon mal versucht, dass Tool auf den Flansch zurück zu rechnen, um dann den Drehpunkt am Flansch zu haben, und nicht am Tool Punkt.

    Jedoch scheitern alle Berechnungen mit A1.


    Simulieren kann ich es mit Kuka Sim 4.0 und OfficeLite).


    Danke für eure Hilfe bzw. Anregungen.

  • Schritt für Schritt zum Roboterprofi!
  • Genau das war der Denkanstoß den es gebraucht hat.

    An "Inverse" und "Forward" hab ich gar nicht dran gedacht.


    Kurzer Auszug, wie ich es gelöst habe.



    Und dann der Fahrbefehl dazu:


    Code
    LIN KartAndAxisCalc(XREF_Carrier, {X -100,Y 0,Z 0,A 0,B 0,C 0}, {A1 -90.0,A2 0.0,A3 0.0,A4 0.0,A5 -90.0,A6 0.0}) C_DIS
    
    UND
    
    LIN KartAndAxisCalc(XREF_Carrier, {X -100,Y 0,Z 0,A 0,B 0,C 0}, {A1 0.0,A2 0.0,A3 0.0,A4 0.0,A5 -90.0,A6 0.0}) C_DIS


    Ergebniss wie gewünscht. Position ist im Tool 100mm über der Scheibe mit 90° A5 (geht besser als 25°) und A1 mit -90°. Dann mit A1 0° eindrehen und dann das ganze nur mit dem Geometrieoperanden.


    Super, danke an fubini

  • Wenn ich das aber auf Doppelpunktoperator ändere, dann mag das Inverse nicht mehr.


    E6POS : FRAME = FRAME


    Aber Inverse möchte E6POS haben. Da müsste ich den Status und Turn manuell bestimmen.

    Und die Continues habe ich drin, weil Inverse und Forward den Vorlaufstopp ausgelöst haben.

    Bei meiner Applikation aber sehr hinderlich.

    Es Funktioniert und sieht in der Sim gut aus. Werd nur noch mal von LIN auf CIRC wechseln, da fährt dann nur A1 und A5.

    Aber dazu hat man ja die Sim um sich das anschauen zu können.


    Trotzdem danke.

  • Hab's ja nur erwähnt. Sobald in dem Programm irgendwann mal Offsets in den Winkeln verwendet werden sollten, stimmt die Berechnung nicht mehr. Das ist Fakt. Egal ob da ein e6pos sein muss oder nicht, aber auch dafür kann man sich eine korrekte Berechnung ausdenken, ohne kompliziertes Berechnen von S und T, kann man ja wie jetzt auch aus dem Startpos übernehmen.

    Konkret sind die beiden Continues vor der Zuweisung targetpos.x und startaxis.a1 unnötig, machen aber auch kein Problem.

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