Momentenbetrieb

  • Wir machen mit unserem Roboter, mit seinem Werkzeug, eine Art Fügevorgang.
    Dazu schalten wir den Roboter in den Momentenbetrieb(A1,A4,A5,A6,E1), damit sich der
    Roboter beim Einfügen etwas vergehen kann.
    Danach schalten wir die genannten Achsen völlig weich, warten eine Sekunden und schalten
    wieder alles auf Standardwerte.
    Anschließend haben wir als Bewegung ein $pos_act - bei diesem Bewegungssatz steigt uns dann fast
    jedesmal eine dieser Achsen aus!!


    Wohin versucht der Roboter beim $pos_act zu fahren?
    Möchte er zum Sollwert(ohne Momentenbetrieb) oder wirklich auf die aktuelle Position!?!?

  • Schritt für Schritt zum Roboterprofi!
  • Wie schaltet ihr die Achsen denn weich. Poste mal ein Auszug aus dem Code.

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

  • Hallo,


    also wir stellen die curr_red[x,x] Werte für die Achsen ein.
    Machen dann ein $torque_axis='xxxxxx' für die entsprechenden Achsen
    und dann einen Bewegungssatz $pos_act um den Momentenbetrieb zu starten.
    Ab einem bestimmten erreichten Punkt wirkt dann eine Kraft auf den Roboter.
    Anschliessend schalten wir diese Achsen völlig weich - curr_red[x,x] auf 0.
    Haben anstatt von $pos_act auch lin_rel{z 0} versucht - durch das "Soft" schalten möchten wir erreichen, dass sich der Roboter entspannt.
    Daraufhin schalten wir die Achsen wir auf Standard und fallen bei Bewegungssatz auf $pos_act durch Überlast aus der Automatik!!


    Unsere aktuelle Lösung sieht nun mal so aus, dass wir den Roboter völlig in den Momentenbetrieb schalten - leider steigt er uns nun manchmal durch einen I2t Fehler aus!!

  • Außer bei fahrt auf $pos_act haben wir das noch bei wait sec 0.5 beobachtet.
    Vermutung ist, dass jede Aktion die einen Vorlaufstopp auslöst, nach einem Hartschalten eines Roboters, der weich seine Position verlassen hat, den Roboter mit Überlast aussteigen lässt, wenn er die Position weiterhin nicht erreichen kann.


    Also:
    weich schalten -> kollision fahren -> bahn verlassen -> punkt "virtuell erreichen" (rob meint er ist dort, ist er aber nicht, weil weich) -> hart schalten -> vorlaufstop-satz -> überlast
    Hingegen:
    weich schalten -> kollision fahren -> bahn verlassen -> punkt "virtuell erreichen" (rob meint er ist dort, ist er aber nicht, weil weich) -> hart schalten -> punkt der erreichbar ist anfahren (zb rückwärts raus) -> klappt


    Legende:
    weich schalten: $torque_axis = 'b1111111' + eventuell $curr_red[x,y] < 100
    hart schalten: $torque_axis = 'b0000000' + $curr_red[x,y] = 100


    Kann das jemand bestätigen?



    Auch lustig ist folgendes:
    weich schalten -> kollision fahren -> bahn verlassen -> punkt "virtuell erreichen" (rob meint er ist dort, ist er aber nicht weil weich) -> hart schalten -> vorlaufstop -> überlast -> auf hand schalten -> zustimmtaster drücken -> start drücken -> wieder überlast (rob versucht bei $pos_act oder bei wait_sec 0.5 scheinbar seine position wiederherzustellen???) -> satzanwahl auf dieselbe zeile -> geht weiter

  • Also mit KUKA habe ich bis dahin keine Erfahrung mit dem Achsen "weich schalten" sammeln dürfen aber bei ABB ist es grundsätzlich so das der Roboter nach dem "weich schalten" wieder seine alte Position versucht einzuregeln. Daher habe ich immer im weich geschalteten Zustand die aktuelle Position eingelesen und anschließen angefahren und dann erst wieder die Achsen "hart geschaltet"
    Sprich eventuell versucht Ihr einmal die $POS_ACT einmal im weich geschalteten Zustand anzufahren und ändert anschließen Eure Achsparameter.


    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!

  • Beim Weichschalten der Achse A6 hatte ich ähnliche Probleme. Ist aber schon etwas her. Mir reichte auch bisher immer nur A1 weichzuschalten. Vielleicht steht ja im angehängten Dokument Kap. 2.4) noch etwas, was dir hilft dein Problem zu lösen.

    Dateien

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

    Einmal editiert, zuletzt von IrrerPolterer ()

  • Hallo,


    probier mal anstatt $pos_act:


    $Pos_act_mes


    Diese Variable zeigt IstPosition des Messsystems an.
    Damit geht es bei mir einwandfrei.


    Gruss SJX

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

  • Ich benutze statt PTP $POS_ACT z.B. PTP_REL {A1 0}. Geht auch.

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

  • $pos_act_mes -> liefert also dann die Position über die Incremente gerechnet
    und nicht den Sollwert - ist dies richtig?
    Diese Variable wäre dann im Momentenbetrieb hilfreich um zu prüfen, ob wir den Zielpunkt annähernd erreicht haben.


    Haben heute versucht, über den sps.sub die curr_red[,] Werte zu ändern.
    Der Gedanke wäre folgender: Wir fahren den Zielpunkt im Momentenbetrieb mit sehr hohen Strömen an, damit wir ihn sicher erreichen. Im sps.sub prüfen wir, ob die Ströme diese Schranken erreichen und verringern dann dort die curr_red[] Werte wieder, damit wir keine I2t Stopmeldungen bekommen.
    Bei uns ist es zb. die A1, die am Ende der Bewegung auf 60% steht. Anschliessend wird im sps.sub auf einen Wert >59% geprüft und der
    curr_red[1,x] dann auf 40% herrunter gestellt. Entspannt sich dann die A1 auf 40% - oder muss erst ein Bewegungssatz gestartet werden!?!?

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