Verschiebung von Punkten

  • Hallo Zusammen,


    wer kann mir bei meinem Problem helfen..??


    Wir haben 2 unterschiedliche Pressenlinien ( Abstand Pressentischhöhe und Abstand Roboter Mittelpunkt zur Pressentischkante ) mit Kuka Roboter. Eine Linie mit KR C2 und die Linie KR C4. Bei beiden Linien ist keine Base vermessen, da alle Punkte ( Werkzeug=Nullframe, Base=Nullframe ) programmiert sind. Man hat das aus einfachen Gründen gemacht, falls man einen Roboter austauschen muss, reicht einfach den Roboter neu zu justieren und die Produktion läuft wieder.


    Jetzt haben wir oft mal das Problem, das wir bei manchen Pressenstraßen Engpässe haben und das eine oder andere Bauteil auf der 2ten Pressenstraße produziert werden soll..!!


    Nun müssen alle Punkte neu getacht werden, da ja die Positionen nicht passen.


    Gibt es eine Möglichkeit, das ich die Punkte auf die andere Pressenstraße übernehmen kann, mit einer Verschiebung ohne Base..??


    Danke im voraus.

  • Schritt für Schritt zum Roboterprofi!
  • Unter C:\KRC\UTIL gibt es ein kleines Hilfsprogramm changepos.exe (oder so ähnlich). Damit kann man Punkte in dat-files auf andere Bezugssysteme umrechnen lassen.


    So einen Konvertierer könnte man sich natürlich auch in KRL über den Doppelpunktoperator und INV_POS selbst bauen.


    Fubini

  • Hallo Fubini;


    diesen Hilfsprogramm finde ich leider nicht im Verzeichnis.


    Mit dem Doppelpunktoperator hab ich noch nie gearbeitet.

    TCP Verschiebung eines Werkzeug - KUKA Roboter - Roboterforum.de - die Industrieroboter und Cobot Community

    Wirklich nicht? Ist normalerweise immer dabei gewesen in der Vergangenheit. Wie hast du danach gesucht? Sollte zusätzlich auch auf dem Installationsmedium deiner KSS zu finden sein.

    Doppelpunktoperator ist nichts anderes als die Multiplikation zweier Frames (homogener Koordinatentransformationen) miteinander, siehe auch

    Homogene Koordinaten – Wikipedia

    x_value of wrist root point - KUKA Robot Forum - Robotforum - Support and discussion community for industrial robots and cobots (robot-forum.com). Wäre dann in deinem Fall etwa

    Code
    POSITION_NEU = BASE_NEU:INV_POS(BASE_ALT):POSITION_ALT:INV_POS(TOOL_ALT):TOOL_NEU

    ChangePos.exe macht nichts anderes außer das es über ein INI-File steuert was du genau willst und damit durch ein dat-File durchgeht und alle Posen darin entsprechend INI-File umrechnet.

    Fubini

  • das ist ja eine Base und Tool Verschiebung, meine Roboter sind leider in der Linie nicht vermessen. Meine Idee war, ein Greifer mit einer Spitze zu bauen und jeweils auf eine Spitze am Pressentisch zu verfahren. Dann die Differenz ermitteln von den jeweiligen Pressentische und eben die Verschiebung durchzuführen. Mit einer Base Vermessung hat es geklappt. Da aber alle Roboter nicht vermessen sind, war ich Ratlos.

  • Hallo Sliwka,


    damit kann ich aber leider meine Base und Tool nur vermessen, da nichts vermessen ist bringt es mir nicht viel. Oder kann meine geteachten Punkte in $Roboot die Positionen verschieben

  • $NULLFRAME ist ja auch nur ein BASE, das zufällig im Roboterfuss aks $ROBROOT liegt. Ändert auch nichts an der Vorgehensweise.

    Wo schreib ich die Verschiebung rein.?

    Quasi den OFFSET IN X,Y,Z,A,B,C


    POSITION_NEU = BASE_NEU:INV_POS(BASE_ALT):POSITION_ALT:INV_POS(TOOL_ALT):TOOL_NEU

  • Wo schreib ich die Verschiebung rein.?

    Quasi den OFFSET IN X,Y,Z,A,B,C


    POSITION_NEU = BASE_NEU:INV_POS(BASE_ALT):POSITION_ALT:INV_POS(TOOL_ALT):TOOL_NEU

    An sich wird der Offset in "BASE_NEU" geschrieben. BASE_NEU.X, BASE_NEU.Y etc.

    Beinhaltet einen Programmieraufwand.



    Ich empfehle dir wirklich das OrangeEdit. Dies ist die einfachste Lösung, wenn man mit der Programmierung eines Roboters unsicher oder unerfahren ist. Dort musst du nur deine Programme reinziehen und die Positonen Transformieren in XYZABC und spielst die Dateien wieder zurück in den Roboter.

  • das ist ja eine Base und Tool Verschiebung, meine Roboter sind leider in der Linie nicht vermessen. Meine Idee war, ein Greifer mit einer Spitze zu bauen und jeweils auf eine Spitze am Pressentisch zu verfahren. Dann die Differenz ermitteln von den jeweiligen Pressentische und eben die Verschiebung durchzuführen. Mit einer Base Vermessung hat es geklappt. Da aber alle Roboter nicht vermessen sind, war ich Ratlos.

    Kein Wunder, da Du einen Korrekturframe haben willst. Für einen Frame brauchst Du DREI Spitzen. Oder viel Phantasie und Erfahrung.


    Und wenn Du die Korrektur "ganz unten" in den Nullframe haust, dann sind die anderen Programme doch auch betroffen.


    Du hast Dich jetzt in diese Lösung verbissen, aber eigentlich willst Du ja nur den Aufwand minimieren. Du bzw. Deine Firma lernt jetzt auf die harte Tour, dass Bases und Tools doch einen bestimmten Sinn haben. Das mit dem Robotertausch hätte ja so oder so funktioniert.


    Da Du ja ohnehin zwischen KRC2 und KRC4 wechselst und die Programme dazu vermutlich "in die Hand nehmen" musst, solltest Du erst einmal schauen, um wie viele Punkte es überhaupt geht. Oft ist einfach umteachen die einfachere Lösung. Das hängt auch davon ab, ob die Konfigurationen eine Rolle spielen - es wird schlagartig unlustig, wenn der Robbi sich, bedingt durch eine Verschiebung, plötzlich so weit umorientiert, dass sich auf die Folgepunkte irgendeine Verdrehung aufaddiert, und Du an einem Punkt dann feststellst, dass er in der Quell-Anlage an einer Stelle aber mit A4 andersrum steht, und er sich jetzt leider mit dem Handgelenk durch den Schaltschrank dreht.... und manchmal merkt man es selbst beim Umteachen zuerst noch nicht und braucht am Ende des Programms eine Weile, bis man realisiert, dass man 42 Punkte früher anders hätte abbiegen müssen.

    Das ist übrigens der größte Spaßverderber dabei, von daher würde ich Deinen Aufwand - auch wenn Du Bases HÄTTEST - gar nicht unterschätzen. Nur wenn Du sicher bist, dass Dir dieses Thema nicht querschlägt, solltest Du die Verschiebung in Erwägung ziehen.


    Und dann aber gleich ein explizites Base vorsehen! Muss ja nichts drinstehen. Aber dann hast Du was, wo Du dran korrigieren kannst.

    Je nach Programmaufbau kriegt man das u. U. schon mit der "alles Ersetzen"-Funktion eines guten Texteditors hin. Oder, wie gesagt, je nach Aufwand, man klickert sich einmal durch alle Punkte und ändert auf ein sinnvolles Base. Solange da immer noch ein Nullframe drinsteht, ändert sich nichts - man kann das sogar auf der Quell-Anlage machen, und erst auf der Ziel-Anlage tatsächlich einen Wert reinschreiben.

  • An sich wird der Offset in "BASE_NEU" geschrieben. BASE_NEU.X, BASE_NEU.Y etc.

    Beinhaltet einen Programmieraufwand.



    Ich empfehle dir wirklich das OrangeEdit. Dies ist die einfachste Lösung, wenn man mit der Programmierung eines Roboters unsicher oder unerfahren ist. Dort musst du nur deine Programme reinziehen und die Positonen Transformieren in XYZABC und spielst die Dateien wieder zurück in den Roboter.

    Ok, ich werde es ausprobieren :)

  • POSITION_NEU = BASE_NEU:INV_POS(BASE_ALT):POSITION_ALT:INV_POS(TOOL_ALT):TOOL_NEU


    Mal überlegen:

    - POSITION_ALT

    - BASE_ALT ($NULLFRAME)

    - TOOL_ALT ($NULLFRAME)

    sind bekannt


    zu berechnen:

    POSITION_NEU (kann man ausmessen)

    BASE_NEU


    Wir haben 2 unterschiedliche Pressenlinien ( Abstand Pressentischhöhe und Abstand Roboter Mittelpunkt zur Pressentischkante ) mit Kuka Roboter.

    Normalerweise ist die

    X-Achse die Durchflussachse (Abstand Roboter Mittelpunkt der Pressentischkante)

    Z-Achse die Pressentischhöhe (plus zusätzlichem Abstand)


    Sind diese beiden Maße bekannt bzw. bei allen Robotern gleich?


    Für Position und Offset gibt es bereits genügen Threads hier im Forum.


    Für mich war bis jetzt immer hilfreich:

    "Mol a buidl, dann sigscht scho"


    In anderen Worten:

    Erstelle eine Zeichnung (mit Daten und/oder maßstabsgetreu)

    - Koordinatensysteme alt (mit Verschiebevektor und entsprechender Drehung)

    - Koordinatensysteme neu (mit Verschiebevektor und entsprechender Drehung)





    -

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