Denso - Ungenauigkeiten beim Fahren auf berechnete Positionen

  • Mahlzeit!
    Ich hab bei meinem ersten Denso-Projekt immense Ungenauigkeiten in der absoluten Bestimmung der Karthesischen Position festgestellt. Diese beziehen sich erstmal auf einen mittelgroßen Scara HMS-40852GA, sind aber auch mit einem 6-Achser und einem kleineren Scara z.T. nachvollzogen. Die Probleme drücken sich folgendermaßen aus:


    1.) Teache ich einen Punkt, gurke ein wenig durch die Zelle und fahre wieder den Punkt an, dann stimmt er auf +/- 3 tausendstel (Gemessen mit einer Feinmeßuhr in X- und Y-Richtung im Rahmen einer MFU). Gut soweit.


    2.) Ändere ich die Armigkeit und fahre denselben Punkt an, dann stehe ich ca 4mm neben der geteachten Position (Mit einem Dorn in der Maschine und einem im Greifer, geschätzt mit einer Schieblehre). Verwunderlich.


    3.) Fahre ich auf einen Punkt, nennen wir ihn p[1], und gebe den Befehl, 100mm nach X zu fahren, dann stehe ich 101,6mm in X-Richtung. Teache ich p[1] woanders hin, stehe ich nach der Prozedur nur noch 99,8mm in X-Richtung. Analoges gilt für Y-Richtung.


    4.) Ich hab einen Algorythmus zum Palettieren geschrieben, der auf drei Stützstellen aufbaut. Fahre ich damit eine berechnete Position quer über ein Blister (ca. 400mm Diagonale) und stehe über einen halben Zentimeter daneben (!)


    Da die Kalibrierung der Achsen nachweislich stimmt und das Problem auch mit anderen, für mich erreichbaren Robotern desselben Herstellers auftritt, kann man daraus nur zwei Schlüsse ziehen:


    a.) Die Denso-Dinger haben Toleranzen zwischen 1% und 2%, was ziemich Fuddelich ist und deren Verwendungszweck auf Pick-and-Place beschränkt. Ein Palettieralgorythmus mit 4 Stützstellen funktioniert zwar einigermaßen, allerdings gibt es immer noch geringe Abweichungen.


    oder


    b.) Ich mache fortgesetzt einen Fehler für fortgeschrittene.


    Hat jemand für euch eine erhellende Meinung dazu?


    Gruß,
    Emty

  • ANZEIGE
  • Hallo Emty,
    2 Dinge sind möglich:
    - Tool nicht mittig definiert
    - Anfahren der Position wird mit @0 gemacht, für genaue Positionierung wird @e empfohlen.


    Hilft dir das weiter?


    P.S.: bei Fragen hilft dir auch die deutsche Hotline weiter!


    Grüsse,
    Nipponrobot

  • Danke Nipponrobot für deine Antwort!


    Ich benutzte keine Tools bei besagtem Projekt, weil das der Kunde nicht erlaubt (also sowieso schon ein undankbares Projekt). Wäre ich einem Schiefen Tool gefahren, müsste ja ein Punkt, angefahren mit zwei unterschiedlichen Armigkeiten, zum selben (schiefen) Ergebnis kommen...
    Zum testen bin ich auch auf Encoder gefahren (das @e, das du vorgeschlagen hast), selbes Ergebnis. Scheint ein Problem für Fortgeschrittene zu bleiben :zwink:


    Gruß,
    Emty

  • Hallo Emty,
    wir haben das mit nem kleinen Scara selbst ausprobiert, kein Problem. Zumindest konnten wir mit bloßem Auge keinen Unterschied in der Positionierung des Greifers zur Referenz erkennen, was bei 4 mm doch möglich sein sollte.
    Warum benutzt Du nicht das DENSO Palettier Programm? Palette 200 x 300 mm mit 350 mm Scara, Positionierung auf +/- 0.05 mm.


    Meine Meinung:
    Melde dich mit dem Problem beim Hersteller, das kann so nicht sein.
    Absolute Genauigkeit gibt dir eh kein Roboterhersteller an, die wissen warum :oops:


    Bis dann,
    NIPPONROBOT

  • Sieht nach Dejustage der Achsen aus. Kann man vermessen, zumindest was die 6-Achser angeht...


    idr. müssen Scaras auch Justiert werden. Die Fehlerbeschreibung hört sich ihwie auch nach falsch/schlecht Justierten Achsen an. Zumindest startk in Punkt 3. Wechselnde Abweichungen ließen darauf schließen, da ein Punkt ja bei auftreten deines Fehlers nicht geteacht wurde, sondern über das Berechnen der Winkel entsteht. Bei Geteachten Punkten fährt die Steuerung nur die gewünschte Winkelposition der Achsen an.


    Aber was meinst du mit folgender Aussage:

    Zitat

    Da die Kalibrierung der Achsen nachweislich stimmt


    Sprichst du von der Justierung? Wenn ja, was meinst du mit "nachweislich"?

  • Hallo


    das Fahren auf berechnete Positionen ist bei jedem Roboter ungenau.
    Das ruehrt daher, dass das mathematische Modell den Roboter nur so ungefaehr beschreibt und zum zweiten natuerlich vom Getriebespiel.
    Das ist aber sicher nicht das Problem (weil die Groessenordung ja jenseits von Gut und Boesse) ist.
    Es gibt zwei Ansaetzte: der TCP stimmt (ist auf Achse3), aber dein Werkzeug sitzt versetzt
    - > Achse3 drehen und schauen, ob der Greifer trudelt.


    Wenn es das nicht ist, stimmt der TCP oder die Maschinendaten nicht.
    -> mal an einer geraden langfahren - im schlechstesten Fall ist das eine Kurve.


    ..Stefan

  • was bedeutet "ungenau" beim fahren auf berechnete Positionen. Ich habe das Problem, dass ich bei meinem Denso 10kg abweichungen von bis zu +/- 0.5mm habe. die geteachten punkte sind aber immer ganau genug. nur beim rechnen hapert es...

  • Hallo,


    das ist der Unterschied zwischen Positioniergenauigkeit und Wiederholgenauigkeit.
    Ob du einen Punkt teachts, oder berechnest ist vollkommen wurscht. Letztendlich sind das immer koordinaten.


    Die Ungenauigkeit kommt von der varierenden Anfahrbewegung. Ursachen ist die Mechanik - Getriebespiel und mathematisches Model (Toleranzen bei Armlaenge und Kalibrierung des Wegmessystems).


    Ich hab mir vor langem aml angewoehnt, eine Berechnungsroutine zu machen, die explizit einmal aufgerufen wird - danach werden alle Punkte von Hand fein nachgeteacht.


    Gruss Stefan

  • Hallo,
    habe jetzt keine wirklich praktischen Erfahrungen mit der Denso-Mechanik,
    kann aber aus meinen Erfahrungen mit Bosch-Scaras berichten:


    Der Unterschied der Positionen bei links-/rechtsarmig deutet auf einen falschen
    Nullpunkt der Achsen 1 und/oder 2 hin, oder wie Stefan schon beschrieben hat
    auf eine mechanische Ungenauigkeit des Tools.


    Wenn 'ohne Tool' gefahren werden muss, dann muss natürlich sichergestellt
    sein, dass der Greifer (oder die Messpitze) exakt in der Drehachse der Pinole
    steht (Kontrolle durch Drehen der Achse 4). Ansonsten ist die Aufgabe
    nicht lösbar!


    Der Versatz beim Berechnen der Positionen ist erklärbar durch:
    - falscher Nullpunkt Achse 2 (Achse 1 würde nur ein Verdrehen des
    Koordinatensystems erzeugen).
    - falsche Armlängen der Arme 1 und/oder 2
    - denkbar, aber doch etwas abwegig wären dann noch
    Messsystemabweichungen


    Bei Bosch wurden diese Parameter bei jeder Mechanik genau ausgemessen
    und in die Maschinenparameter eingetragen.
    Und anschliessend durch eine lineare Messfahrt mit analogen Sensoren über eine
    'schiefe Bahn', sowie eine links-/rechtsarmige Fahrt in einen Messschacht kontrolliert!


    Wie das bei Denso läuft weiss ich nicht.


    Wenn man jetzt an einem Roboter wieder die Standard-Parameter
    einstellt (warum auch immer) dann fährt der selbstredend nicht mehr
    so genau, als wenn man die individuell ermittelten Parameter verwendet.


    Um da mal Grössenordnungen anzugeben:
    Bei den Bosch-Geräten wurden Armlängenabweichungen im Zehntel-mm
    Bereich ermittelt (wenn mich meine Erinnerung nicht täuscht dann waren
    das maximal mal 1,5 Zehntel, häufig deutlich unter 1/10). Aber die
    Auswirkungen bei der Linearfahrt sind da deutlich zu sehen/messen
    gewesen.


    Hermann

    Einmal editiert, zuletzt von Hermann ()

  • Der letzte Beitrag von Hermann geht in die richtige Richtung. Der Roboter scheint nicht optimal kalibriert zu sein. Bei der Kalibrierung des Roboters beim Hersteller wird die Justageposition ermittelt. Ist diese nicht optimal erfolgt, so kommt es zum beschriebenen Effekt. Insbesondere ein Konfigurationwechsel kann sich sehr unschön auswirken.


    Abhilfe bietet eine erneute Kalibrierung (durch Hersteller oder externe Anbieter).


    Gruß
    robots

  • Hallo,


    ich kenne mich mit Denso nicht aus.
    Prinzipiell gibt es eine Ungenauigkeit bim Mathematischen Modell - wie hier schon beschrieben.


    Hier werden Encoder verwendet?
    Dann kann es auch an der Feedback Kalibrierung liegen. Wenn z.B. ein Motor ausgebaut und wieder eingebaut wird, muss ein Offset zwischen Encoder Nullpunkt und mechanischem Nullpunkt neu festgelegt werden.


    Gruss Stefan

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