XYZ- Koordianten mit NormalenVektor in KRL übersetzen

  • Moin Zusammen,


    ich bin nun seit einigen Stunden auf der Suche nach einem Weg XYZ-Koordinaten in KRL zu übersetzen.


    Folgende Problemstellung:


    Ich erzeuge einen Pfad um ein Bauteil, der Roboter soll dabei den Pfad abfahren Wo bei das Werkzeug immer auf die Achse1 gerichtet ist.



    Gibt es vielleicht ein Tool welches mir erlaubt Alles im inneren der Helixbahn als "Sperrzone" zu definieren. Und dann den Pfad abzufahren?


    Ich habe Kuka SimPro 3.1. Allerdings bisher keine passende Applikation gefunden.

    Ich weiß dass es einige G-Code interpreter gibt, kennt jemand vielleicht einen Weg über Python?


    Vielen Dank für eure Tipps!


    Grüße

    Johannes

  • Schritt für Schritt zum Roboterprofi!
  • Ich bin Fälschlicherweise davon ausgegangen das ABC die Winkel der Roboterachsen sind. Jetzt sehe ich auch das die Maße im SimPro mit mm definiert sind. das macht dann ja keinen Sinn. Dann hast du natürlich recht und ich kann alles ableiten und mit Python die Skripte ausgeben.



    ***Edit es sind Winkelangaben, scheint ein Bug in der Software zu sein, dass sie mit mm bemaßt sind. Das ändert natürlich and er Funktion nichts.

  • Kann mit jemand eine Erläuterung zum S und T Wert geben?

    Im Handbuch finde ich leider nichts, beim Einladen meiner PTP Befehle werden alle Punkte in die Basis des Robotors gelegt statt an ihre vorgegebenen Positionen.



    Ausschnitt der .src

    Dazugehörige .dat


  • Doch man findet das in der Doku... kann es aber grad nicht raus suchen. Diese Werte bestimmen eindeutig die Achsposition signifikanter Achsen. Ich meine A1,A4,A6 plus evtl. Zusatzachsen

    Den Roboter "in seinem Lauf hält weder Ochs noch Esel auf!"

  • Etwas in diese Richtung habe ich Vermutet. Wie ihr merkt bin ich blutiger Anfänger im Programmieren mit KRL.


    Hast du eine Idee bzw. kannst du mir sagen in welche Richtung ich mich schlau machen muss um einen Roboter möglichst beliebige Pfade fahren zu lassen ohne die Position der Achsen selbstständig zu berechnen?


    Danke für eure Hilfe!

  • Genau an so etwas dachte ich. Einfach Weglassen heißt =None setzen oder wie würde die Zeile aussehen?


    Wenn ich die Werte einfach überall gleich setzten werden zwar alle Punkte importiert, dabei gehen jedoch alle Koordinaten verloren. Kann das daran liegen, dass die vorgegebenen Achspositionen nicht eingehalten werden können?

  • Nein, einfach weglassen heißt, nicht mit einer "E6POS" fahren sondern "FRAME" benutzen (DECL FRAME pName....). Dabei musst du aber bedenken, dass Punkte eben auch mit verschiedenen Achskonfigurationen erreicht werden können (um die Achskonfiguration eindeutig zu machen benutzt man E6POS und eben S und T), auch ist dass durchfahren von Singularitäten damit möglich, bzw nicht verhindert...

    Den Roboter "in seinem Lauf hält weder Ochs noch Esel auf!"

    Einmal editiert, zuletzt von AtoK09 ()

  • Dank dir, das habe ich soweit verstanden. Prinzipiell ist die Armhaltung ja egal so lange kein Kontakt zum Bauteil entsteht. Gibt es eine Software welche mir anhand dieser Kriterien mit den Eingangspunkten die bestmögliche Armstellung berechnet?

  • Das kann der Roboter selber...


    $TARGET_STATUS wird von der KRL-Funktion INVERSE() benutzt, wenn der uebergebene Zielpunkt keinen gueltigen STATUS-Wert hat
    Besitzt $TARGET_STATUS den Wert #SOURCE, so wird der gleiche Status wie beim ebenfalls uebergebenen Startpunkt genommen
    Beim Wert #BEST werden alle 8 Status-Kombinationen durchgerechnet, und es wird der verwendet,
    bei dem die Bewegung von Start - Zielpunkt im Achsraum den kuerzesten Weg zuruecklegt

    $TARGET_STATUS Auswahl Status Bewegung Start - Zielpunkt
    #SOURCE Status vom Startpunkt uebernehmen
    #BEST Status berechnen, der zum kuerzesten Weg fuehrt


    Ist halt manchmal ein wenig probieren....

    Ich hoffe das ist das was du meinst....


    Das funktioniert natürlich nur mit PTP bzw SPTP bei LIN oder SLIN nicht...

    Einmal editiert, zuletzt von funnougat ()

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