Polieren mit dem Robi..

  • Schritt für Schritt zum Roboterprofi!
  • Jupp.

    entweder externen TCP und diesen nach Bearbeitungsschritten anpassen, hat den Nachteil das du immer dort deine Bahnfahren müsstest.


    Oder eine externen TCP und mit Winkelfunktionen eine Offset deiner jeweiligen Position zurechnen der die den jeweiligen Abstand reduziert oder erweitert.


    Kein Problem. ;)

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Hallo Sven Weyer,


    danke für die schnelle Antwort.!


    Also wäre die..


    "Oder eine externen TCP und mit Winkelfunktionen eine Offset zurechnen der die den jeweiligen Abstand reduziert oder erweitert", die bessere varinante..??



    Wie müsste ich das programmieren...??

    hättest du mir eine Vorlage oder wie ich das Schritt für Schritt machen muss..??

    Hab mich mit sowas noch nie befasst.

  • Zu den genannten Vorschlägen könntest du dir überlegen, dein Vorhaben mit einem kraftgeregelten Prozess umzusetzen. Sicherlich keine günstige Variante, aber die Nachführung des Roboters mittels Kraftsensor bietet den Vorteil, dass du z.B. mit konstanter Kraft am Werkstück arbeiten kannst. Der einseitigen Abnutzung deines Werkzeugs könntest du so auch entgegenwirken.

  • Die Variante mit dem geregelten Kraftsensor ist natürlich qualitativ durch nichts zu ersetzen!

    Besser geht es dann nicht.


    Du musst dir die Thematik ansehen:


    externen TCP einrichten -> z.Bsp eine Richtung des Koordinatensystems in eine definierte Richtung z.Bsp nach oben vergleichbar mit Z- Richtung des Roboter Weltkoordinatensystems.


    Jetzt alle Polierposition dort einrichten.


    Bei Start vom Ablauf muss die Z-Richtung des TCP deiner ursprünglichen Einrichtung entsprechen und beim mitzählen der Durchläufe kannst du dann den Z-Wert deines TCP stückweise reduzieren so das sich die Positionen immer weiter Richtung Mitte deiner Poliereinrichtung bewegen.


    Achtung original TCP nicht ändern sondern eine berechneten TCP zum bewegen und teachen werden, je nach Situation an der Polierscheibe.


    Gruß

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Hallo Sven,


    einen geregelten Kraftsensor hab ich nicht, zumindest weiss nicht was das kosten würde.


    Es ist aber schwierig alle Punktbewegungen in die Z Richtung zu programmieren, denn bei einem großen Bogen zu polieren, hab ich auch in X und Y eine Bewegung. Das wird ja nicht in dem Fall korrigiert.

    Das Poliergerät ist fest motiert und der Roboter fährt mit dem Bauteil an das Schleifgerät hin.

    Ich könnte dir ein Video schicken wie ich das mal programmiert habe.

  • Servus,

    is mir schon klar wie du das meinst. 8)


    Schau dir einmal Winkelfunktionen an cos und sin.

    Du weist ja in welchem Winkel du versetzt zu deinem stationärem Tool deine Position eingerichtet hast.

    Somit kannst du dann für X und Y mit cos und sin eine Offset errechnen um welchen du das dann reduzierst.


    Gruß


    Sven

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Fange doch einmal leicht an.

    Zeichne dir einmal das stationäre Koordinatensystem auf, externe TCP später.

    nun hast du ein zweidimensionales Koordinatensystem, wie früher in Mathe und Geometrie auch, oder.


    Dann hast du verschiedenen Positionen mit dazugehörigen X und Y Werten, daraus ergibt sich ein Winkel zwischen X und Y,

    Den kannst du wieder nehmen und mit cos und sin deine Offsets für die Distanz zum Kreis, deiner Polierscheibe berechnen.

    Oder eventuell einfacher Satz des Pythagoras, c²=a²+b², c wäre dein Radius , a und b dein x und y.

    Umstellen nach c bzw. deines Radius und du kannst diesen Reduzieren und erhältst x und Y je nach dem nach was du umstellst.

    Aber ich hab da immer lieber die Winkelfunktionen verwendet.

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Also ich hab mir das einmal angesehen vorher.

    Denke das du mit Verwendung vom Pythagoras besser wegkommst.

    Vermessen als externes Tool sollte deine Polierscheibe schon sein, oder?

    Bei dem Konzept mit dem Verrechnen sollte sich der Mittelpunkt im Mittelpunkt deiner Polierscheibe befinden da du ja das Zustellen deiner Positionen über die Reduzierung des Radius verrechnen kannst mit Hilfe vom Pythagoras.


    Hast du dir das einmal angesehen mit dem Pythagoras?

    Trigonometrischer Pythagoras – Wikipedia

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Ich denke das du ein Hilfsmittel benötigts um das du den Mittelpunkt deiner Polierscheibe einmessen kannst.


    Du benötigst einen TCP und deine Polierscheibe, Rotationsmitte kannst du als BASE einmessen und bei den Systemdaten in der config.dat BASE_TYPE kannst Du anstatt #BASE -> #TCP verwenden. Die Steuerung wird diesen dann als extern TCP bzw. stationären TCP erkennen und behandeln.


    Soweit einmal aus dem Gedächtnis, aber schau dir bitte noch einmal die Doku dazu an da steht das alles korrekt beschrieben.


    Gruß

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Hallo Sven


    An dem schleifer kann ich die Mitte durch eine Spitze ermitteln. Beim Roboter wird es aber schwierig

    Muss ich das mit Greifertool und Bauteil vermessen...?

    Gruß

    Nuri


  • Naja die Doku ist diesbezüglich etwas grausam.

    Sehen wir uns einmal die beiden Daten an, Tool bzw. Basedaten. Beides sind vom Typ FRAME, x,y,z,a,b,c sonst nix.

    Somit sind beide Datentypen identisch nur der letztliche Bezug der Informationen ist ein andere.

    Die Tooldaten beziehen sich auf das Tool0-Koordsinatensystem und die Basedaten auf das Base0-Koordinatensystem.


    Wenn du jetzt dein Schleifer als Base einmisst und der Steuerung sagst das du dieses als externen TCP nutzen möchtest sollte das schon ausreichen.


    Die Beschreibung in der Doku habe ich mir einmal angesehen und ist teils recht verwirrend.


    Man muss nur wissen das bei einem Wechsel von #BASE auf #TCP in dem BASE_TYPE Daten sich jetzt beim Umorientieren der Focus auf dem Ursprung des BASE liegt und nicht auf dem aktuell verwendeten TCP's


    Somit denke ich, das du dir eine BASE einrichtest in den Mittelpunkt deines Schleifers und dann die Info in den BASE_TYPE für dieses Base auf #TCP änderst.


    Gruß

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Hallo Sven,


    messe ich die BASE nicht über 3 Punkte..? und wie soll ich die Spitze vom Schleifer das messen..?

    Hab ja auch nicht wenn mein Tool messe über 4 Punkte einen Punkt an meinem Bauteil es ist eine Form oder eine Bogen. Wo müsste ich was ansetzen..?


    Dann das wechseln von BASE auf TCP..


    Mag sein das es für dich sehr einfach klingt..


    Schönes Wochenende


    Gruß

    Nuri

  • Moin Nuri,

    also ich hätte die Polierscheibe gegen ein Hilfsmittel ausgewechselt mit welchem ich meine BASE einmessen kann, Mittelpunkt der BASE im Drehpunkt und dann X und Y-Richtung definiert.


    Wie die BASE im Raum liegt ist ja erst einmal egal, ich hätte mindesten X oder Y senkrecht aufgestellt, kann man mit einer digitalen Wasserwaage abgleichen, so mal auf die schnelle aber grundsätzlich muss da was genaues her.


    Deine aktuelle TCP am Greifer sollte mal reichen, der wird eh als BASE verwendet wenn du die BASE als stationären TCP definierst. Schau einmal in die config.dat dort gibt es einen Eintrag BASE_TYPE[32], normal unterhalb der BASE Namensvergabe in der Config.dat, hier wird beim einmessen der jeweiligen BASE über die KUKA-Funktion immer #BASE eingetragen, hier muss dann für deine eingemessene BASE #TCP eingetragen werden.


    Anschließend einmal per Hand verfahren, siehe Doku, dann siehst du beim umorientieren das du um den Mittelpunkt deiner Base umorientierst wenn du um das Tool umorientierst.


    Gruß


    Sven

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Guten Morgen,

    wieviele Zyklen kannst du denn generell mit einem Polierwerkzeug machen bis es gewechselt werden muss?

    Du könntest dir beispielsweise einen Zähler oder Ähnliches bauen und dein Programm im ursprünglichen Zustand fünf mal abfahren. Nach dem fünften Durchlauf springst du in den nächsten Loop usw.. Bei deinen acht Punkten wiederholst du das, bis der Polierkopf hin ist, resettest den Zähler und startest nach Werkzeugwechsel von vorne.

    Also zusammenfassend, alle fünf Zyklen neue geteachte Punkte anfahren, bis das Werkzeug hin ist.


    Ansonsten die Lösung von Sven benutzen ^^ :thumbup:


    Gruß

  • Hallo KV,


    momentan wird die Stelle ja von einem Mitarbeiter poliert. Es ist untershiedlich welcher Mitarbeiter poliert. Wenn man die technik hat und man die Gesamte fläche nutzt kann man bis zu 60 Teile damit schleifen.

    Ich hab es leider mit der automation 5 geschafft, das der Robotor imm die gleiche Bahn gefahren ist.


    Bei deiner Variante fährt er ja auch immer die gleiche Bahn odre nicht..??

    Weil du schreibst:


    Also zusammenfassend, alle fünf Zyklen neue geteachte Punkte anfahren, bis das Werkzeug hin ist.


    Verstehe ich das so.

    Zyklus.1 Grundbahn

    Zyklus.2 andere Bahn..

    .

    .

    .

    .

    .

    Zyklus.10 oder 15 andere Bahn


    Dann Reset Schleifer wechseln und Zyklus.1 wieder...


    Gruß

    Nuri

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