Achsen weichschalten

  • Hallo zusammen,


    ich muss mit einem KR6-2 -Steuerung KRC4- Teile aus einer Spritzgussmaschine entnehmen, welche vom Auswerfer in den Greifer "geschoben" werden. Der Roboter soll, nach Möglichkeit, in die exakt gleiche Richtung weggedrückt/verfahren werden wie die Auswerfer der SGM da sonst die Teile "verkratzen".


    Habe in Bezug auf das Thema "Achsen weichschalten" folgenden Beitrag gefunden, der mir auch weiterhilft:


    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    mit KUKA funktioniert dies eigentlich auch gut.
    Muss aber mal ein bisschen mit den Funktionen spielen.
    Richtiges kartesisches Ausstossen kennt der KUKA eigentlich nicht.
    Aber man bringt es fast so hin.


    Wenn man Achsen 1, 4, 5,6 weichschaltet und als Value einen niedrigen Wert (z.B. 2)angibt,
    dann die PTP Position dahinter, wo alle sagen, die sei zum Bremsen lösen,
    teacht an Position in Stellung Ausstosser vor,
    zieht der Robi dann mit leichter Kraft in diese Richtung.
    eigentlich achsspezifisch, aber zusammen mit den Ausstossern führt dies eigentlich zu einer Linearen Bewegung.


    Gegen Achsgeschwindigkeitsfehler kann man einen Parameter hochsetzen auf knappe 150%.
    Fällt mir aber gerade nicht ein.
    Dann sollte dies auch kein Thema sein.
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<


    Hab jetzt aber noch einige Fragen/Anmerkungen dazu und hoffe auf Berichtigung/Bestätigungen:


    - aktuelle Roboterposition: Abnahmepos Teil in geöffnetem Werkzeug -Auswerfer noch eingefahren-
    -Achsen 1-6 weichschalten mit den entsprechenden Werten, Überwachung ausschalten: SET_TORQUE_LIMITS(1...6, {lower ..., upper ..., monitor #off})
    -Weichschaltung aktivieren (Bremsen lösen): PTP $AXIS_ACT


    Ist es jetzt möglich, um die Bewegungsrichtung des Roboters entlang der Ausstosserrichtung (X-Richtung) "vorzugeben", eine LIN-Bewegung mit langsamer Geschwindigkeit (kleiner als die Ausstossergeschw.) zu fahren?
    z.B.: LIN_REL {X -40} #BASE -> Auswerferweg ca. 30mm


    Wie vermeide ich jetzt noch Achsgeschwindigkeitsfehler bzw. Schleppfehler?
    Welche Parameter muss ich dafür "hochsetzen" bzw. wie und wo angeben? :hilfe:


    Ich hoffe, die Sache ist verständlich und ihr könnt mir weiterhelfen :danke:


    Danke erstmal.


    Gruß
    brandcp

    Einmal editiert, zuletzt von brandcp ()

  • Schritt für Schritt zum Roboterprofi!
  • Moin,
    wenn wir nen Robi haben, der von den Auswerfern oder Kernen zurück gedrückt werden muss, wird das
    bei uns meist mit nen Zylinder gelöst. Der ist in der entnahme Pos dann ausgefahren und wird drucklos
    geschalten bevor die Auswerfer angesteuert werden.
    Und wenn wir nen Teil mit Sauger entnehmen sind diese federnt gelagert.
    Ansonsten hätt ich in der Zip nen kleines Prog (mit Hilfer der Kuka-Doku zusammgestellt) wenn du dich mal
    mit dem weichschalten an sich rum spielen willst. Das hab ich auf unseren Robis schon ausprobiert und es
    sollte eigentlich laufen. Es ist in dem Prog aber nur die erste Achse weichgeschalten aber ich hab zu den
    Punkten die erklärung hingeschrieben was für was ist.
    Wenn andere achsen weich geschalten werden darauf achten das der Robi nicht durchsakt.

  • Moin Toud,


    hab mal ne Frage zu deinem Programm, weil ich mich mit dem Thema auch mal beschäftigt habe.
    Bist du sicher, dass der Roboter sich beim Setzen von $TORQUE_AXIS = 0 nicht bewegt?
    Ich meine mich zu erinnern, dass ich immer das Problem hatte, dass der Roboter sich erst wieder zurückpositioniert hat, bevor er die nächste Position angefahren hat.


    Ablauf bei mir:
    PTP {A1 60}
    ;Momentenbetrieb
    ;Stromgrenze auf 0
    PTP {A1 61} ;Roboter bewegt sich nicht, soweit so gut...
    ;Wegdrücken der Achse 1 mit der Hand (z.B.: auf A1=80)
    $TORQUE_AXIS = 0
    ;Jetzt bewegt sich der Roboter an die Position an der er stand bevor weggedrückt wurde, also auf A1 60
    ;erst danach kam die nächte Bewegung, also PTP{A1 65}



    Ich hoffe es ist verständlich!?


    Ich wollte es damals so haben, dass der Roboter aus seiner aktuellen, also verschobenen(A1=80), Position auf A1=65 verfährt. Hat irgendwie nicht so ganz hingehauen.
    Vielleicht hatte ich aber auch irgendwas anders gemacht als du.
    Deshalb nur mal die Frage ob das Zurückpositionieren bei deiner Programmstruktur nicht passiert?


    Gruß, buschke

  • Servus buschke,
    also ich hab es grad auf nen Robi von uns gespielt und nochmal usprobiert. Dazu hab ich die achswinkel nen wenig geändert um zu sehen
    wo er hin fährt (Als neu zip im anhang). Der Robi fährt bei mir alle Punkte an bis auf "PTP {A1 61}" (bzw. im neuen Prog. "PTP {A1 -50}").
    Der Punkt "PTP {A1 65}" (in der neuen zip "PTP {A1 -65}") ist der nächste Punkt den ich anfahren nach dem externen verdrehen, da könnte
    natürlich die HOME-Pos sein.
    Ausprobiert hab ich das Prog an einem KRC2 (3 Monate alt) und im T1. Funktioniert allerdings nicht im #MSTEP, sondern nur im #GO. Egal in
    welche Richtung ich den Robi gedrückt hab, er ist dann auf "PTP {A1 65}" (im neuen Prog "PTP {A1 -65}" ) angefahren ohne den "Virtuellen
    Punkt " "PTP {A1 61}" (im neuen Prog "PTP {A1 -50}" ) vorher anzufahren.


    Ich hoffe wir haben jetzt nicht an einander vorbeigeredet.
    Also bis denne.

  • Hallo,


    nun habe ich ein Problem, welches sich ähnlich gestaltet.


    Unser Robot soll mehrere Achsen weich machen. Das klappt mit dem Programm siehe Anhang.


    Seit einer Woche sitzt der Robot nun auf einer externen Zusatzachse (Schiebetisch) und beim Anlauf habe ich nun das Problem, dass die Achse E1 (Schiebetisch) beim Ausstoßen auf Störung geht.


    Ich habe versucht, die externe Achse weich zu machen, es gelingt mir aber nicht.
    In der Config.dat ist die Position so definiert:
    AXIS SATZ0={A1 -83.5464783,A2 -61.8951874,A3 84.2500839,A4 24.0699196,A5 -25.0256786,A6 -203.570251}
    aber es fehlt E1.


    Nun habe ich E1 zur Klammer hinzugefügt, aber es "verschwindet" wieder, wenn ich den Submit Interpreter wieder einschalte.


    Was kann ich tun?

  • axis oder e6axis?

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • In der CONFIG.DAT steht:


    AXIS SATZ0={A1 -83.5464783,A2 -61.8951874,A3 84.2500839,A4 24.0699196,A5 -25.0256786,A6 -203.570251}
    aber es fehlt E1.


    hier geht es doch nur um die Variable, oder? Aber wie kann ich E1 einfügen?

    ...wo die Tastatur zum Spielplatz wird !

  • Hallo,


    ändere


    AXIS SATZ0={A1 -83.5464783,A2 -61.8951874,A3 84.2500839,A4 24.0699196,A5 -25.0256786,A6 -203.570251}


    in


    E6AXIS SATZ0={A1 -83.5464783,A2 -61.8951874,A3 84.2500839,A4 24.0699196,A5 -25.0256786,A6 -203.570251, E1 <was auch immer du willst>}


    Der Typ "AXIS" besteht nur aus 6 Achsen A1-A6. Der Typ "E3AXIS" hat dann drei Zusatzachsen dabei, der Typ "E6AXIS" sechs Zusatzachsen.


    Fubini

  • Vereinfacht gesagt wird einfach nur der Regler zum Position halten schwächer gestellt. Achsweise.
    Darum kann man den Roboter auch wegdrücken, wenn man eine Kraft x aufwendet. Und wenn man den Wert übertreibt, fällt z.B. die Achse 2 oder 3 Aufgrund der Schwerkraft auf den Boden.

  • Diese Funktion wird öfters benötigt, wenn z.Bsp. ein Teil aus einer Form entnommen wird und das Entformen des Teils mit Ausstoßern passiert.
    In diesem Fall wird das Teil vom Roboter gegriffen und dann werden die Achsen "weich" gemacht. Danach kann das Teil aus der Form ausgestoßen werden.
    Dabei wirken oftmals Kräfte auf die Achsen, die die Robotersteuerung nicht akzepitier und einen Fehler oder Kollision meldet.

    ...wo die Tastatur zum Spielplatz wird !

  • Das mit der Variablen E3axis hat gefunzt.


    ABER:


    einstellen der Geschwindigkeit mit $TORQ_VEL[E1]=149 klappt nicht.


    Anstatt [E1] möchte der Herr Robot lieber eine INT Variable haben.


    Hat da jemand eine Lösung dafür?


    oder wie schalte ich eine Externe Ache weich?

    ...wo die Tastatur zum Spielplatz wird !

  • $TORQ_VEL[7]=149

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

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