Lasterkennung mit $Curr_ACT und $TORQUE_AXIS_ACT zu ungenau. Alternativen?

  • Hallo zusammen,


    wir möchten gerne bei unseren KUKA Robotern erkennen, ob die Last an einem definierten Punkt geändert hat.

    Also ob das Produkt komplett abgegeben wurde


    Dazu haben wir Test mit $Curr_ACT und $TORQUE_AXIS_ACT für A2-A6 gemacht. Natürlich wurde vorher geprüft, ob die Bremsen offen sind.

    Einmal wurden die Werte an dem besagten Punkt mit, und einmal ohne Gewicht aufgenommen.


    Leider lässt sich hier nicht zuverlässig ein Unterschied erkennen.


    Hat jemand schon mal eine Lasterkennung programmert?

    Wie wurde dies realisiert?

    Wie sind eure Erfahrungen dazu?

  • Schritt für Schritt zum Roboterprofi!
  • Also ich verstehe das gerade nicht ganz..,


    Vorerst…wie schwer ist denn die last?

    Muss man das direkt bei Übergabe auswerten?

    Kommt sensorik nicht in frage?


    Ansonsten würde ich mit $Torq_diff[] arbeiten…

    Ich handel das so ähnlich wie bei einer Kollision…ich überwache eine Strecke von a nach b zb.

    $torq_diff[] ermittelt für mich den höchsten Wert jeder achse die ich für die Strecke benötige.

    Falls eine achse den wert unter bzw. Überschreitet, kann ich per Interrupt dementsprechend handeln was passieren soll.

  • Und bitte auch mal Robotertyp, Steuerungsversion, KSS Version angeben.

    Mit einem Photo wäre es auch noch verständlicher.

    aktive Lastdaten sauber ermittelt, Werte ?

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Versuchsweise hatten wir das ganze an einem KR 240 R3200 PA mit KSS 8.6.7 getestet.



    Es handelt sich aber eher um eine generelle Frage, und lässt sich nicht auf einen Robotertyp beschränken.

    Zumindest wollen wir, wenn die Systematik zuverlässig funktioniert es in zukünftige Projekte mit einfließen lassen.


    Lastdaten sind sauber ermittelt und werden je nach Last auch umgeschalten.


    Unser Gedankenansatz war so, dass der Roboter aufgrund von geänderter Last auch eine geänderte Stromaufnahme der Achsen haben muss.

    Wenn der Roboter nun das Produkt an einem festen Punkt abgibt, ändert sich auch die Last/Lastdaten und folglich auch die Stromaufnahme der Achsen.

    Sollte das Produkt aber z.B. am Greifer kleben bleiben, sollte doch die zu erwartende Last nicht gegeben sein. Diesen Unterschied möchten wir gerne erkennen. Der Unterschied zwischen Soll und Ist kann von 1-15% der maximalen Traglast des Roboters liegen.


    Eine vollständige Produktabgabe ist leider mit Sensorik auf Grund Umgebungsbedingungen und Bauart etc. nicht zu lösen.



    Hat jemand dieses Prinzip schon mal umgesetzt?


    Wie sind eure Erfahrungen mit $TORQ_DIFF[]?


    Kann das für unser Vorhaben verwendet werden? Wie genau lässt sich dadurch Rückschluss auf Soll/Ist Abweichung feststellen?

  • Ich fürchte so feinühlig wie ihr hier erwartet ist so eine grosse Maschine nicht. Da bräuchtest Momentensensoren an den Achsen. Das haben in der Regel nur kollorobative Roboter. Standardindustrieroboter schätzen das nur über die Positionsdaten des Resolvers. Die höheren Ableitungen sind dann oft verrauscht und ungenau. Am meisten Feinfühligkeit wäre m.E. noch über die neue Collision Detection machbar. Da wird intern viel Aufwand getrieben die Kräfte und Momente möglichst gut zu schätzen und das erfordert viel internes Wissen über die Steuerung. Ich würde mir die neue Collision Detection mal anschauen. Nur zur Sicherheit: Es gibt die alte Collision Detection die wie du torque_diff und torque_diff2 verwendet. Die neue soll feinfühliger und auch schneller in der Reaktion sein. Details solltest in der Doku zur V8.6 finden.


    Fubini

  • ok, schade. habs mir schon fast gedacht, da ich in der Doku nicht wirklich fündig geworden bin.

    Noch dazu wird bei $CURR_ACT[] der aktuelle Verstärkerstrom oder Motorstrom in % angegeben. je nach dem wer kleine ist.


    aber danke für die schnelle Antwort.


    Ich werd mir die Collission Detection mal in der Doku ansehen und vermutlich auch testen.

    Ausprobieren schadet ja nicht.


    Ob das dann den gewünschten Erfolg bringt oder nicht bleibt abzuwarten.


    Falls jemand noch eine andere Idee hat oder bereits so etwas bereits umgesetzt hat, würde ich mich um Info freuen.

  • Was sind denn die genauen Umgebungsbedingungen? Bzw. Bauart?


    Kanns mir irgendwie nicht vorstellen…


    Vielleicht gibt es ja auch noch andere Alternativen….


    Sind halt spärliche Informationen da überhaupt ne Lösung zu finden…

  • Robotermotoren und -antriebe sind nicht zur Gewichtsmessung geeignet

    Selbst mit LoadDataDetermination dauert es ungefähr eine Minute und viele Bewegungen, um die Nutzlast grob abzuschätzen. Das erfordert viel Verarbeitung und Mittelung und funktioniert dennoch nur, wenn die Nutzlast signifikant ist (mindestens 15 % der Nennnutzlast des Roboters). Und das funktioniert nicht einmal mit Palettierrobotern.


    Daher sollte man die richtigen Produkte für die Anwendung verwenden.

    Der Roboter sollte nur die Nutzlast bewegen

    jede Erfassung/Messung sollte mit geeigneten Sensoren erfolgen. Es gibt einen Grund, warum kollaborative Roboter so viele Sensoren haben und sich langsam bewegen.


    Und Palettierer sind auf Geschwindigkeit ausgelegt.

  • naja, wenn man mehr Last an den Flasch hängt, sollte doch auch mehr Strom die Folge sein.


    Somit sollte in einer defenierten Achsstellung ein gewisser Strom je Achse notwendig werden.

    Würde die Last in dieser Achsstellung abweichen, sollte doch auch der benötigte Strom sich unterscheiden, oder?


    Wir haben die gleiche Systematik an Stäubli TX200 Robotern mit CS8 versuchsweise getestet. Hier lässt sich sehr gut eine geänderte Last anhand den aktuellen Motorströmen der einzellnen Achsen erkennen.

    Bei Stäubli funktioniert dieses Prizip der "Lasterkennung" relativ gut. Es schwankt zwar abhängig kalter/warmer Betriebstemperatur, Umgebungstemperatur etc. Aber diesen geringen Unterschiede können wir so akzeptieren.


    Bei Kuka haben wir das mit $CURR_ACT und $TORQUE_AXIS_ACT probiert. Aber leider nicht mit vergleichbarem Erfolg.

    Ob mit $TORQ_DIFF mehr Genauigkeit erzieht wird, müssen wir noch testen.

  • Wir haben die gleiche Systematik an Stäubli TX200 Robotern mit CS8 versuchsweise getestet. Hier lässt sich sehr gut eine geänderte Last anhand den aktuellen Motorströmen der einzellnen Achsen erkennen.

    Kein Kritik: Ja und ein VW Golf ist das gleiche wie ein Ferrari SF90 :).


    Ich kann jetzt nicht beurteilen wie der Stäubli das macht bei dem Rauschen und sonstigen Einflüßen oder ob er z.B. zusätzliche Sensorik in der Hardware zur Verfügung hat aber leider ist nicht alles was bei einem funktioniert bei allen anderen Roboterherstellern auch so ohne weiteres möglich.


    Fubini

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