Roboter auf der Bahn abbremsen und beschleunigen.

  • Hallo KUKA - Profis


    Ich bin neu hier im Forum und auch die Roboter sind Neuland für mich.
    Seit einigen Tagen habe ich jetzt mein erstes KUKA-Projekt.


    Meine Frage:
    Gibt es eine Möglichkeit den Roboter auf der Bahn abzubremsen und wieder zu beschleunigen?


    Ich habe eine Möglichkeit gefunden, die zwar funktionsfähig ist, mir aber recht umständlich erscheint. Des Weiteren wird eine Lösung gefordert, die die Bahngeschwindigkeit prozentual zum am KCP eingestellten System-Override reduziert. Letzteres wird von meiner Lösung noch nicht unterstützt. (Ist dies überhaupt möglich???)


    Hat Jemand eine Idee??? :hilfe:



    Gruß aus der Klingenstadt
    Marc Albert
    (Solingen)





    Hier ein paar Zeilen aus meinem Test.src


    ;wenn der Roboter 800mm vor dem naechsten Punkt ist, wird
    ;der OV_Umschaltung (OUT12) zu 1 gesetzt um in der „SPS.sub“
    ;den Override zu verringern.


    TRIGGER WHEN PATH=-800 DELAY=0 DO OV_Umschaltung=TRUE


    ;Continue um den Vorlaufzeiger wenn Presse_beladebereit (IN17)
    ;1 ist nicht zu stoppen.


    CONTINUE
    WAIT FOR Presse_beladebereit==TRUE


    ;Bestimmen der Pos. XMitte_Presse, indem die X und Z Koordinaten
    ;von XMitte_Presse_Ref in den Punkt XMitte_Presse geschrieben
    ;werden und bei beiden die errechneten Offsets abgezogen werden
    ;die Schuessel steht somit immer gleich hoch und mittig ueber dem
    ;Werkzeug


    XMitte_Presse.x = XMitte_Presse_Ref.x - X_OFFSET
    XMitte_Presse.z = XMitte_Presse_Ref.z - Z_OFFSET


    ;bei erreichen der Position Mitte_Presse wird der Override
    ;durch ruecksetzen von OV_Umschaltung (OUT12) wieder auf 100% gestellt


    TRIGGER WHEN DISTANCE=1 DELAY=0 DO OV_Umschaltung=FALSE


    ;Fahren auf Positon Mitte_Presse


    LIN Mitte_Presse CONT Vel= 2 m/s CPDAT3 Tool[1]:Schuesselgreifer Base[1]:Mittellochpresse





    Eintrag in die SPS.SUB


    ;Umschaltung des Overrides von 100% auf 20%


    IF OV_Umschaltung==TRUE THEN
    $OV_PRO=20
    ELSE
    $OV_PRO=100
    ENDIF

  • Schritt für Schritt zum Roboterprofi!
  • Hallo,


    Beschreib doch bitte, warum Du die Geschwindigkeit drosseln möchtest.


    Könnte mir das nur vorstellen bei einer Anwendung mit einem offenen Gefäß und einer Flussigkeit.



    Tschüß Frank

  • Hallo Frank,


    der Roboter muss beim einlegen in das Pressenwerkzeug eine zuvor bearbeitetes Werkstück aus der Form schieben. Das heißt in meinem Fall, das der Roboter mit einer Schüssel (LKW Rad-Schüssel) von 30 bis 80 KG auf eine weitere Schüssel prallt. Es wird also auf Kollision gefahren.


    Da ich alle Positionen berechnen muss, berechne ich auch den Kollisionspunkt.
    In der Nähe des Kollisionspunktes möchte ich die Geschwindigkeit reduzieren.


    Auf einen zweiten Roboter zum Entladen der Presse wurde aus Kostengründen verzichtet.


    Gruß
    Marc

  • Hallo Marc,


    Eine Systemvariable der aktuellen Bahngeschwindigkeit ist: $VEL_ACT.
    Nur für den Fall, das Du die brauchst.


    Ich würde nach dem Erreichen des Vorpunktes die aktuelle Position speichern ($POS_ACT) und dann in Verfahrrichtung (X, Y oder Z) je nach gefahrenen Weg (zB.:5 cm) den Override inkrementieren (sprich: stufenweise subtrahieren).


    Tschüß Frank

  • Irgendwie mag ich diese Override-Umschalt Lösungen nicht. Habe sie auch schon oft so benutzt, aber immer mit einem unguten Gefühl.


    Man könnte über die Winkelfunktionen eine Position errechnen (aus X und Z), an der man die Geschwindigkeit reduzieren möchte. Das hat den Vorteil, daß man den aktuell eingestellten Override leicht mit einrechnen kann.


    Im Prinzip kann man das ganze auch mit einer for...endfor Schleife machen. Dazwischen jede Menge Berechnungen durchführen, LIN_REL fahren und die Geschwindigkeit dabei inkrementieren. Das ist zwar sehr aufwendig, aber der Override wird nicht verändert.


    Falls du nähere Informationen benötigst, schreib einfach nochmal. Dann versuche ich das mal in OfficeLite zu lösen. Habe sowas ähnliches schon mal gemacht.


    Um in deiner Lösung den aktuellen OV einzurechnen, kannst du folgendermaßen vorgehen:


    In $CONFIG.DAT:

    Code
    INT OV_ALT
    INT OV_NEU
    REAL OV_FAKTOR=0,2 ;20%
    REAL OV_MIN=5 ;Minimaler Override 
    INT OV_STATUS=0 ; Status zur Overrideumschaltung


    In SPS.SUB:


    Im SRC:


    So, hoffe ich habe jetzt keinen Fehler gemacht, da ich es nicht ausprobieren konnte. Try it!

    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 „IrrerPolterer“


    Danke für die schnelle Lösung. :gutidee:


    Ich werde sie morgen gleich mal umsetzen. Die Anlage steht mir allerdings nur für
    ein paar Minuten zur Verfügung. Ausgiebig testen kann ich erst am Wochenende.


    Du hast Recht!
    Die Lösung mit der Overrie-Umschaltung ist eigentlich nur eine Krücke.
    Ich hatte einfach keine andere/bessere Idee.



    Sorry…
    Ist halt mein erstes Robi-Programm.



    Besten Dank aus Solingen :danke:


    Marc



    PS: Beinhaltet dieses „OfficeLite“ eine Simulation? Oder handelt es sich um einen speziellen Editor?


  • Ach was, war doch 'ne gute Idee. Wie gesagt, manchmal mache ich das auch so. :angel:



    PS: Beinhaltet dieses „OfficeLite“ eine Simulation? Oder handelt es sich um einen speziellen Editor?


    Bei Kuka Office Lite 4.1 und Kuka Sim Pro 1.1 mußt du beides getrennt kaufen.
    Kuka Office Lite 5.2 und Kuka Sim Pro 2.0 gibt's IMO im bundle.

    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 „IrrerPolterer“


    Ich habe deine Idee heute in meinem Projekt umgesetzt.
    Hat alles ohne Probleme funktioniert.



    Nochmals besten Dank aus der Klingenstadt :danke:


    Marc

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