Kollisionsüberwachung

  • Hat jemand schon Erfahrung mit der neuen Kollisionsüberwachung gemacht.
    Habe einem Kollegen geholfen die Kollisionsüberwachung testweise in Betrieb zu nehmen - ich/wir waren davon total begeistert - wie einfach das ganze eigentlich geht.
    Wir haben nur ein paar Punkte angelegt und die Kollision händisch simuliert, der Roboter ist dann wie gewollt stehen geblieben und hat automatisch seine Bahn rückwärts abgefahren, wie von uns vorgesehen.


    Lt. meinem Kollegen dürfte es nach der IBN beim Kunden jetzt nicht mehr wirklich funktionieren. Angeblich geht es genau einmal, dann nicht mehr. Nach Steuerungsneustart geht es dann wieder einmal und so weiter....


    kann das jemand bestätigen, oder gibt es da ein paar Tricks????

  • Schritt für Schritt zum Roboterprofi!
  • Ich machs immer so:


    Für relevante Bereiche oder den ganzen Ablauf nehme ich $TORQ_DIFF[1] bis $TORQ_DIFF[6] auf.


    Dann schreibe ich ins Programm für $TORQMON[1] bis [6] die $TORQ_DIFF[1] bis $TORQ_DIFF[6] plus Reserve rein.Klappt prima,muss man nur einmal die richtigen Werte in T2 aufnehmen.

  • Wieso waren die Ergebnisse nicht toll??
    Also ich habs wirklich einfach und super gefunden das Zeugs einzustellen und
    auf Überlasten zu reagieren - aus meiner Sicht keine Tüftelei!!


    Leider hatte ich noch keine Zeit, das Verhalten, dass mein Kollege beschrieben hat, zu testen!!


    Bei unseren Anwendung müssen wir leider bei Kollissionen gezielt darauf reagieren und eine Rückzugsstrategie fahren, nur den Zeitpunkt/die Momente einzustellen, wann die Stopreaktion kommt reicht leider nicht, es darf eben keine Stopreaktion mehr kommen und es kann vorkommen, dass wir eben verschiedene Offsets benötigen, wann die Erkennung zuschlagen soll. Deshalb haben wir es bis jetzt immer über den Momentenbetrieb gelöst - ist gut, aber aufwendig und evtl. gefährlich. Diese Probleme wären durch die neue Kollissionsüberwachung beseitigt.

  • Hallo,


    nach meiner Erfahrung ist die Kollisionsüberwachung mit Grundeinstellungen zu empfindlich.


    Die Belastungen werden bei jedem Durchlauf neu ermittelt und die alten Werte überschrieben, das ganze ist also nie konstant. Dabei spielen die Geschwindigkeit, die Motortemperatur und äußere variable Faktoren, z.B. bei Handling rein. Dadurch gibt es nach meinen Erfahrungen in der Grundeinstellung immer wieder "sinnlose" meistens Stoßmoment-Überschreitungen.


    Die Empfindlichkeit kann man über den Offset pro Bewegungssatz einzeln einstellen, aber auch für das ganze Sytem - über Optimierungsparameter in der tm_bib.dat.
    Dort kann man die Empfindlichkeit, nach Änderungen am Programm-Override, bei Änderung der Motortemperatur und einen Faktor für die Handachsen-Stoßmomentüberwachung optimieren.


    Hab das ganze mal zusammengefasst (s. Anhang).


    Bin aktuell noch am optimieren - wenns klappen sollte werde ich die Werte dann posten - kann aber dauern.


    Sonst hatte ich noch Probleme mit Fehler "1422", weil eine Kollisions-Variable (.ID) nicht initialisiert war - leider zu selten um die Ursache festzustellen.


    Und obwohl sie laut Doku in der Anfahrphase nicht aktiv sein soll, kommt es immer wieder vor, daß die Überwachung beim Losfahren anschlägt. Die Gründe weiß ich noch nicht, vermute aber mal hat was mit Warte-Befehlen am Anfang vom Programm zu tun, wenn die Bremsen schon geöffnet sind.


    Um den Programmcode der Kollisionsüberwachung zu verstehen fehlt mir noch ein Puzzleteil:


    Kann jemand die Funktion "GetSysState" genau erklären? :hilfe: Mögliche Über- und Rückgabewerte etc.


    Gruß, Stefan

  • Hallo Stefan, alias zteve,


    ich war mal so frei, Dein Word Dokument hier reinzukopieren, damits leichter zu lesen und besser bei den Suchmaschinen zu finden ist.
    Besten Dank jedenfalls:


    Zitat

    Kollisionsüberwachung KSS 5.5



    Berechnung Überwachungswert Achse 1 (bis 3)


    TQM_ACT.T11 = TQM_VALUES.T11 + (TQM_VALUES.O1*TQM_VALUES.TMF*rTQM_MOT[1])
    TQM_ACT.T21 = (TQM_VALUES.T21 + TQM_VALUES.O2)*TQM_VALUES.TMF*rTQ2*rTQM_MOT[1]
    Berechnung Überwachungswert Achse 4 (bis 6)


    TQM_ACT.T14 = TQM_VALUES.T14 + (TQM_VALUES.O1*TQM_VALUES.TMF*rTQM_MOT[4])
    TQM_ACT.T24 = (TQM_VALUES.T24 + TQM_VALUES.O2*rTQM_T2H)*TQM_VALUES.TMF*rTQ2*rTQM_MOT[4]




    TQM_ACT Variable mit den zu überwachenden Werten – Wird mit $Torq_Diff[] bzw. $Torq_Diff2[] verglichen
    TQM_VALUES Letzte gespeicherte Werte des aktuellen Bewegungssatz
    .T1a Kraftmoment Achse a (Default: 200)
    .T2a Stoßmoment Achse a (Default: 1000)
    .Ka Motortemperatur Achse a (Default: 280)
    .O1 Offset für Kraftmoment (Default: 20)
    .O2 Offset für Stoßmoment (Default: 30)
    .OVM Beim Speichern der letzten Werte eingestellter Programm-Override
    .TMF Faktor zur Toleranzerhöhung nach Override-Änderungen (Default: 1.0) .TMF = rTQM_TMF * ($OV_PRO - .OVM)
    rTQM_TMF TM_BIB.DAT - Optimierungsfaktor Override-Änderung (Def: 0.1)
    rTQ2 Faktor für Stoßmomentüberwachung nach Override-Änderung (Konstant: 1 wenn .TMF gleich 1, sonst 1.25)
    rTQM_MOT[] Faktor für Motortemperatur – Falls Temperatur kleiner als beim letzten Durchlauf (minus 5) dann: rTQM_MOT[] = rTQM_F_MOT
    rTQM_F_MOT TM_BIB.DAT - Optimierungsparameter Überwachung Motortemperatur (Default: 1.5)
    rTQM_T2H TM_BIB.DAT - Optimierungsparameter Stoßmomentüberwachung der Handachsen (Default: 1.0)


    Weitere Optimierungsparameter in TM_BIB.DAT
    rTQM_REDTMF Faktor auf wieviel Prozent .TMF pro Umlauf wieder zurück skaliert wird (Def: 0.25)
    iTQM_TMR_FACTOR Faktor Timer zum Unterdrücken der Überwachung nach Stillstand. Wird mit Bremsenöffnungszeit (96 ms + 4) multipliziert (Def: 13)

    Menschen brauchen Roboter, aber auch Roboter brauchen Menschen.

    Roboter sichern die Arbeitsplätze und den Fortschritt der Industrieländer, da sie kostengünstig und qualitativ hochwertig produzieren.

    Ohne Automatisierung mit Robotern werden unsere Produkte in Billiglohnländern hergestellt.

    >> Abonniere meinen YouTube Roboterkanal <<

  • wenn ich das richtige verstehe, ist es einfach schwierig ein optimale Einstellung zu finden, um das Werkzeug,... zu schützen.


    Habe ich das ganze einfach mal eingestellt, so kann es eigentlich nur mehr vorkommen, dass das File TM_useraction(oder so ähnlich) zu früh oder zu spät aufgerufen wird.
    Wenn die Überwachung zuschlägt, haben wir in diesem File ein brake f und in Interrupt Flag gesetzt, dass dann ein Rückwärtsfahren veranläßt. Hat beim Testen super funktioniert.


    Mein Kollege sagt jetzt eben, dass es auf der Baustelle genau einmal geht und dann nicht mehr. Die schwierige Einstellung könnte eben dann nur zur folge haben, dass wir zu früh umdrehen, oder eben zu spät, aber nicht, dass es gar nicht mehr geht - oder?


    Oder kann es sein, wenn die Belastung zu rasch auftritt, dass der Robi dann auch auf Störung geht?


  • Die schwierige Einstellung könnte eben dann nur zur folge haben, dass wir zu früh umdrehen, oder eben zu spät, aber nicht, dass es gar nicht mehr geht - oder?


    :genau:



    Oder kann es sein, wenn die Belastung zu rasch auftritt, dass der Robi dann auch auf Störung geht?


    Störung gibts durch die Überwachung im Normalfall nicht - es wird einfach die tm_useraction ausgeführt. wenn da nix drin steht passiert auch nix.



    Mein Kollege sagt jetzt eben, dass es auf der Baustelle genau einmal geht und dann nicht mehr.


    Anmaßende Frage: Setzt ihr euren Interruptmerker zurück?


    Hilft nichts - du brauchst mehr Infos vom Kollegen :aufsmaul:


    Gruß, Stefan

  • Das mit dem Interruptmerker ist natürlich ein Punkt.
    Beim Testen war ich dabei und haben ihn zurück gesetzt.
    Was er auf der Anlage gemacht hat - keine Ahnung - hat mir leider nie ein Archive gegeben.


    --> darum bin ich auch etwas skeptisch --> ich keine prinzipiell mal davon aus, das KUKA etwas ausliefert was durchgetestet ist und funktioniert, dass es nicht perfekt ist schon klar, aber das die Grundfunktionalität immer gegeben ist, davon sollten wir mal ausgehen können, sonst brauchen wir keine Software mehr kaufen.

  • Servus


    Mal ne dumme frage, du überwachst mittels eines Interrupts Motormomente und löste ab einem bestimmten Moment ein Brake F aus, wahrscheinlich ähnlich so




    Wenn du das so machst wie ich es hier verstanden habe, brauchst du doch gar keine Kollisionsüberwachung zumindest nicht am ende wo der Interrupt aktiv ist, denn dann ist ja dann eh das Moment überwacht, oder?!?!? Ich würde die abschalten bevor du den Interrupt einschaltest.


    Gruß
    Sebbi

  • kann ich dir nur zustimmen!!
    ohne der fertigen Software von KUKA zur Kollisionsüberwachung klappt es eh wunderbar.
    ich finde die neue Kollisionsüberwachung einfach praktisch zum verwenden und einzustellen, ohne dass ich selbst Momente aufzeichnen muss und dann die Parameter richtig einstelle.
    brauche ja nur mehr sagen, welche Punkte/Bahnen überwacht werden sollen und ab welchen abweichungen die Überwachung zuschlägt.


    bis jetzt haben wir es immer so gelöst, dass wir genau für eine Bewegung(wo es eben zur Überlast kommen kann) die Ströme/Momente aufgezeichnet haben und dann den Stromregler passend dazu begrenzt haben, wenn dann die Ströme die Grenze erreicht haben, haben wir unsere Rückwärtsfahrt ausgelöst.


    über einen Interrupt auf $Torq_Diff haben wir es noch nie gemacht. Funktioniert dies auch, wenn ich mit voller Wucht gegen eine "Mauer" fahre, dass keine Stoppmeldung kommt? Denn hier bekommst du Sprungartig einen Anstieg der Ströme und die Maschine stellt ab, bevor du irgendwie darauf regieren kannst!!

  • Einen Vorteil hat deine bisherige Methode:
    Man kann eine feste Grenze überwachen.


    Bei der neuen Kollisionsüberwachung werden die Stromwerte bei jedem Durchlauf neu festgelegt (Nur die zulässige Abweichung bleibt konstant und ist einstellbar)
    Wenns dumm läuft und die Stromwerte sind mal sehr niedrig, kann's beim nächsten Durchlauf passieren, daß die Überwachung zu schnell reagiert.
    Sind sie mal sehr hoch und knapp unterhalb der Grenze, liegt die Grenze beim nächsten Mal höher. :shock:


    So richtig sicher, daß man da den idealen Überwachungswert hat, kann man sich nie sein.


    Es fehlt meiner Meinung nach eine Möglichkeit die Überwachungswerte festzusetzen, wenn sie sich bewährt haben.

  • ....so läuft der Hase!!!
    dadurch läßt sich jetzt vielleicht beschreiben/erklären, was mein Kollege behauptet.


    Da kann es rein theoretisch(natürlich nur sehr theoretisch) passieren, dass sche die Werte von Durchlauf zu Durchlauf erhöhen bis alles total am Limit ist -->> das kann doch nicht wirklich sein :uglyhammer_2:

  • Wieso klappt die Kollision Erkennung bei mir nicht. KSS 8.3 alles nach buch gemacht, CD,eingefügt, KCP Mon on, SPS Mon on... beim manken Roboter , kommt sogar Meldung, Stoß\kraft Moment überschritten aber bleibt nicht stehen bei manken macht Garnichts obwohl Offsets auf 0 gestellt habe.?


    danke

  • Moin Almayer,


    Das liegt vermutlich an der neuen Kollisionserkennung. bin mir gerade nicht sicher, ob es die bei der Kss 8.3 schon gab, aber ich glaube schon.

    Schau dir mal die Doku zu dieser an, wenn du die nutzen möchstest, ist vermutlich auch schon iwo hier im Forum.

    Abschalten und auf die alte zurück wechseln kannst du indem du die neue deaktivierst.

    Pfad KRC/STEU/Mada/$custom.dat

    Variable $improved_collmon = FALSE

  • Hallo,


    KSS8.3 hat normale Kollision Detektion. Das, wie man die Parameter zurück stellt ist mir schon klar, was mir nicht klar ist ,wieso bleibt Roboter nicht stehen. Auf KCP gibt Meldung das Kraft \Sotos Moment überschritten ist aber passiert nicht . ich hätte auch richtige Roboter Kollision (gegen Werkzeug) , aber CD funktioniert nicht.

    Tm_useraction wird nicht aufgerufen, Roboter bleibt nicht stehen.

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