Arbeitsraumüberwachung

  • Hallo
    Ich hab ein KR10 mit Krc4.
    Ich mache gerade eine IB mit einem nagelneuen KUKA.
    In wie fern kann ich eine arbeitsraumüberwachung definieren/einsetzen?
    Geht das nur im AUT oder auch in T1/T2?
    Ich wollte etwas realisieren dass wenn der Bediener den kuka frei fährt ,nur definierte bereiche fahren kann damit keine Kollisionen entstehen .
    Safe Operation haben wir keine. ...
    Weiß da jemand etwas?
    Grüße

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


    man kann gleichzeitig 8 kubische und 8 achsspezifische Arbeitsräume definieren. Sie können so konfiguriert werden, daß der Roboter sich nicht in sie hinein bzw. nicht aus ihnen heraus bewegen darf. Konfigurieren kannst Du es unter ...


    Konfiguration -> Extras -> Arbeitsraumüberwachung


    Wenn der Roboter neu ist, ist wohl, wie üblich, die CD / DVD mit der Doku dabei?! Dann schau Dich auf der mal um. In der [size=2][font=Arial, sans-serif]System Software 8.3, Bedien- und Programmieranleitung für Endanwender bzw. ... für Systemintegratoren[/font][/size] findest Du weitergehende Infos zum Thema. ;)


    Gruß
    Jörn

    In der Theorie sind Theorie und Praxis identisch. In der Praxis nicht.

  • Es gibt sogar noch 8 undokumentierte zylindrische Arbeitsräume.
    Aber man muss beachten, dass dabei immer nur der aktuelle TCP bzw. der Handwurzelpunkt beachtet wird. Das schränkt die Anwendbarkeit für den genannten Einsatzzweck doch recht stark ein.
    Am besten man programmiert eine saubere Grundstellungsfahrt, dann muss man zum Freifahren nicht manuell verfahren.

  • Hey Danke für die Info's!
    In der Dokumentation muss ich mich erst mal noch schlau lesen. Ich hatte erst den Roboter Programmierung 1 vor wenigen Monaten absolviert .
    Ich habe hier 27 KUKA 's unterschiedliche Varianten stehen. Bei allen sollte das gleiche Prinzip entstehen .
    Eine saubere Grundstellungsfahrt klingt vernünftig ...aber wie realisieren?
    Habe hier im Forum öfters mal mit Pos speichern gelesen...oder was mit einem Cell Programm.
    Eigentlich sind unsere Programme recht einfach...der kuka entnimmt die Teile aus der spritzgießmaschine ,bearbeitet sie woanders und legt sie auf ein Band ab.
    Das klassische Beispiel wenn er irgendwo steht ,wird zurück gesetzt und dann kracht es wenn er in Home fährt .

  • Hallo woodys,
    das Cell Programm cell.src hat mit einer Grundstellungsfahrt nicht allzu viel zu tun. Dieses Programm ist ein standardmäßig angelegtes Hauptprogramm,welches lediglich einen Homeposition-Check (bau diesen doch ein, wenn sich euer Programm bis jetzt noch starten lässt, ohne dass der Roboter in seiner Grundstellung steht) beinhaltet und ansonsten dazu dient in der Betriebsart EXT Programme mittels Programmnummer von einer externen Steuerung anzuwählen. Kann man verwenden, kann sich aber auch selbst sowas schreiben.


    Die Grundstellungsfahrt, bei der man ohne zu denken nur Zustimm und Start Vorwärtstaste drücken muss und der Roboter findet von überall seinen kollisionsfreien Weg gibt es wenn dann nur bei einfachen Anwendungen. Du kannst sowas probieren wie dir mit einem TRIGGER bei erreichtem Punkt diesen in einem E6POS Array zu speichern und in deiner Grundstellungsroutine diese bereits gefahrenen Punkte wieder zurückzufahren. Dabei auf die Bewegungsart achten ansonsten krachts schnell mal wieder.


    Oder du lässt die Bediener leichter erreichbare, "sichere Vorpunkte" anfahren , von denen aus eine kollisionsfreie Grundstellungsfahrt möglich/programmiert ist.


    Die Arbeitsraumüberwachung lässt sich zu diesem Zwecke wie Hermann schon sagte nur sehr bedingt einsetzen, abhängig von deinem Werkzeug, TCP, und der restlichen Umgebung des Roboters, da der Roboter diese Bereiche mit allem anderen außer seinem TCP verletzen kann, ohne dass dadurch ein Stopp ausgelöst wird.


    Gutes Gelingen und schönen Gruß,
    dax

    Always look on the bright side of life!<br /><br />Verlass dich nicht auf andere. Mach deine eigenen Fehler! - Manfred Hinrich

  • Lösung 1: Setz dir Trigger mit Positions Bits. Dann kannst mit einer Case Anweisung von deinem Setzt/Abholpunkt über die einzelnen Zwischenpositionen Frei fahren.


    Lösung 2: Betrachte deine Achstellung des Roboters und fahre eine Achse nach der anderen frei (feste Werte), ist der Roboter in einem sicheren Arbeitsbereich, kannst du ihn direkt in Home fahren lassen.


    Lösung 3: Speichere dir die aktuelle Position mit $Act_Pos in eine E6Pos und fahre auf feste XYZ Werte um aus deiner SPGM zu fahren.


    Alle drei Lösungen können bei richtiger Umsetzung funktionieren, benötigen aber Zeit und evtl. zusätzliche Informationen über den Greiferstatus, das Vakuum, die Blasluft und ob der Greifer an der SPGM angedockt ist.Wichtig ist, das du bei einer automatischen Homefahrt, dir Gedanken darüber machen musst, was passiert wenn der Roboter von Hand bewegt wurde!

  • Hey Jungs...
    Vielen dank für die Info's .....
    Ich habe in den letzten Tagen in so ziemlich vielen Dokus geforscht. Ich
    Denke ich komm da auf keinen grünen Zweig. Das ist eine Nummer zu groß für mich. Ich glaube das meiste lernt man im zweiten Kurs .
    Ich scheitere selbst daran eine richtige ablageposition zu berechnen ...diese lernt man ja auch nur im zweiten Kurs.
    Wenn mal wieder was sein sollte, melde ich mich nochmals.


    Danke und Gruß

  • So ich bin es mal wieder......
    Ich glaube ich muss trotzdem mal was los werden zu dem Thema, da ich jetzt mein Programm zur IBN jetzt fertig habe .
    So mal angenommen ich fahre von Home aus mit 3 Punkten in mein Werkzeug rein. Dann kann ich ja in meinem Dat.file die 3 E6Pos sehen {x,y.z.a.b.c} usw.
    Meine Positionen sind über inlineformularen geteacht.
    Über $pos_Act kann ich meine Position speichern das weiß ich jetzt.
    Was muss ich denn jetzt tun?
    Unter jedem ILF ein $pos_Act schreiben dass die Positionen gespeichert sind? :denk:
    Und wie Frage ich das ganze dann ab?
    Kann mir das ganze mit einer IF Anweisung vorstellen.....


    Zb.
    IF $IN[12] == True then ;Eingang für Grundstellungsfahrt
    Ptp Home
    Endif
    Ich hoffe man kann es verstehen ...


    Grüße

  • Setzte zu jedem Punkt den du vorwärts fährst eine Schrittkette.
    Am besten ist wenn Schrittkette und Bewegungspunkt gleich sind


    INT Schrittkette, I


    Schrittkette = 1
    PTP P1
    Schrittkette = 2
    PTP P2
    Schrittkette = 3
    PTP P3


    Dann schaust du was in Schrittkette drin steht und fährst die wieder rückwärts.


    FOR I=Schrittkette TO 1 STEP -1
    -------------------------------
    Entweder
    PTP PSchrittkette
    ------------------------------
    oder
    Switch Schrittkette


    case 3
    PTP XP3 C_PTP


    case 2
    PTP XP2 C_PTP


    case 1
    PTP XP1 C_PTP


    ENDFOR
    ------------------------------
    Ob das Funktioniert keine Ahnung.
    Habe noch nie mit Variablen in Bewegungspunkten gearbeitet.
    Deswegen als alternative die SWITCH CASE Auswahl.


    Bei LIN = LIN XP1 C_DIS

    Einmal editiert, zuletzt von run03 ()

  • Moin,
    die Idee von run03 ist nicht schlecht. :supi:
    Aber da würde ich lieber mit einem interrupt arbeiten, der wen ich die Position erreicht habe die Int Variable beschreibt. Hier muss man aber darauf achten, wo ich welche Bewegung bei der Hinfahrt und Rückfahrt mache. Kann mir Vorstellen das Wen ich mit einer LIN Bewegung hinfahre und zurück mit einer PTP, das es da zu schwierigkeiten kommen kann.
    Zudem muss man auch bei einer Automatischen homefahrt beachten, was passiert wen der Bediener den Robi per Hand verfährt. Wie Pat-187 schon angemerkt hat. Hier würde ich vlt irgendeine Überwachung einbauen. Wen der Robi in Hand bewegt wird, wird die automatische Homefahrt gesperrt und der Robi geht in Störung wen der Bediner in Automatik den Robi wieder anfahren lässt.
    Irgendwie so würde ich das angehen aussen stehgreif.
    Aber wen man noch nicht soviel Erfahrung damit hat, kann sowas sehr böse und heikel werden. Dan würde ich lieber jemanden zur Rate ziehen oder lieber die Angelegenheit abgeben zu jemanden der sich schon damit auskennt (Automatische Grundstellungsfahrt). Da dieses schon ein sehr Komplexe Geschichte ist. :!: Ich könnte dir Kontakte geben :oops: . Soll jetzt nicht doof klingen aber das ist meine Meinung. :zwink:
    Gruß
    Mott

    Wer Rechtschreibfehler findet, darf sie als Lohn behalten.8o

  • Hi,
    das vorgestellte Prozedere lehnt sich ja stark an den Standard eines großen Automobilers an ;)
    Trigger dir doch einfach deine Position in eine Variable ... nennen wir sie mal "Schrittcounter"


    Trigger When Distance = 1 Delay = 0 Do Schrittcounter = 250
    PTP Grundstellung


    Wenn dann Grundstellung angefordert wird, rufst du über einen Interrupt ein Grundstellungsprogramm auf das dich wieder in Grundstellung schickt.


    Switch Schrittcounter
    Loop
    Case 250
    LIN Pos_Rückzug1
    Schrittcounter = 240
    Case 240
    PTP Pos_Rückzug2
    usw.
    Endloop
    Grüße


  • Hi,
    das vorgestellte Prozedere lehnt sich ja stark an den Standard eines großen Automobilers an ;)
    ...


    Naja, das ist halt die 'normale' Methode, und nicht nur bei dem einen oder anderen Automobilisten.


    Damit es ein Jeder verstehen kann, und vielleicht endlich mal die meisten Anlagen eine vernünftige Grundstellungsfahrt bekommen, hier ein einigermaßen vollständiges Beispiel. Ist aber aus dem Gedächtnis geschrieben, kann also Fehler enthalten, und ist nicht vollständig ausgearbeitet, enthält also einige Stellen, an denen man selbst auch noch das Hirn einschalten und anpassen muß:



    Aber das Prinzip sollte klar sein.
    Eigentlich wollte ich genau das nicht machen, da die ganzen Infos hier im Forum schon vorhanden sind. Mit etwas Recherche und Nachdenken sollte man sowas dann auch selbst zusammengebaut bekommen. Aber fertige Lösungen sind mir natürlich auch viel lieber, als selber nachzudenken. :uglyhammer_2:

    Einmal editiert, zuletzt von Hermann ()

  • Hey leutz ...
    Danke für die vielen Tipps !
    Ich werde mich da in den nächsten Tagen mal einen großen Überblick verschaffen und das ganze testen.
    Momentan hält mich die laufende Produktion auf , da vieles ansteht.
    Ja und jetzt dachte ich ich hab meine IBN fertig weil alles fehlerfrei war ...heute beim testlauf stellte ich fest das sich meine Ventile in der Achse 4 nicht schalten lassen!
    Ich melde mich auf jeden fall ob es geklappt hat.


    Grüße

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