Verriegelung zweier Roboter

  • Hy Jungs,


    ich habe 2 Roboter über einem Förderband.
    Die Roboterarbeitsbereiche überlappen sich in der Mitte.
    Die Roboter hängen an einer IRC5 im Mutimove Betrieb.
    Die Positionen kommen von 2 Kameras.


    Daduch kann es je nach Belegung des Bandes zu einer Kollision kommen.


    All mein gelerntes über Verriegelungen hat dieses Projekt in Frage gestellt.
    Denn die IRC5 ist so schnell und die Signale so langsam.


    Hat da jemand eine Vorlage die funktioniert.


    Danke für euer Feedback !

  • ANZEIGE
  • Hallo Werner,
    ich habe so etwas Ähnliches über stationäre Worldzonen realisiert.
    Das Worldzonen Signal kommt immer.
    Unabhängig vom Programmablauf oder vom Modus. (Auto, Hand)


    Ein Robbi überwacht den anderen und stoppt ihn über einen Interrupt, falls nötig.
    Funktioniert bisher bestens!


    vielleicht hilft dir folgender Beitrag:


    http://www.roboterforum.de/rob….0.html;msg26325#msg26325


    Gruß
    Högi

    Zwei Dinge sind unendlich,das Universum und die menschliche Dummheit. Aber bei dem Universum bin ich mir noch nicht ganz sicher, !!!!<br />Albert Einstein

    Einmal editiert, zuletzt von högi ()

  • Hallo Werner,


    hier mal einwenig Code, für eine kugelförmige TEMPORÄRE!! WORLDZONE um eine definierbare (Achs)Position pSafe des Rob1 die z.B außerhalb Arbeitsbereich Rob2 liegt!
    D.h. immer wenn der Rob1 innerhalb der Zone wzRobSafe (Kugelradius mit nRadius) steht, wird Ausgang doInSafe_R1 gesetzt.
    Mit dem Signal kann Rob2 prüfen, ob Rob1 in sicherer Pos steht, bevor er zum Teil fährt!
    Auf Rob2 das Ganze genauso für Rob1!
    Ich verwende dieses Prinzip auch in nicht MMV-Projekten für Bildung Signal an die SPS "doInHome_R1":




    VAR wztemporary wzRobHome;
    VAR wztemporary wzRobSafe;
    VAR shapedata joint_space;
    CONST num nRadius:=0.5;
    CONST speeddata v1 := [ 1, 500, 5000, 1000];
    ! Homepos ungleich Kalibrierstellung wegen Keil
    CONST jointtarget pHome:=[[0,0,0,29.0095,96.102,73.201],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
    CONST jointtarget delta_pos:=[[nRadius,nRadius,nRadius,nRadius,nRadius,nRadius],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
    TASK PERS jointtarget pSafe:=[[-42.0604,-31.6787,31.1158,2.98444,90.8549,-1.43535],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];



    ! HOME-Weltzone zur Meldung inHOME
    WZFree wzRobHome;
    WZHomeJointDef \Inside,joint_space,pHome,delta_pos;
    WZDOSet \Temp,wzRobHome,\Inside,joint_space,doInHome_R1,1;


    ! SAFE-Weltzone zur Meldung inSAFE
    WZFree wzRobSafe;
    WZHomeJointDef \Inside,joint_space,pSafe,delta_pos;
    WZDOSet \Temp,wzRobSafe,\Inside,joint_space,doInSafe_R1,1;


    Bei stationären Weltzonen soll man im Kollisionsfall das Problem haben, das sich beide Roboter gegenseitig blockieren z.B. wenn jemand einen Robi in die Zone des Anderen von HAND fährt und du diese nur mit Ausschalten und man. Bremse lösen freirücken kannst,weil stationären Weltzonen nicht per RAPID deaktiviert werden können! Ok- immer noch besser als Kollision aber trotzdem nervig!





    Grüße dust2

    Einmal editiert, zuletzt von dust2 ()

  • Hallo dust2,
    ganz so dramatisch ist das mit den Sationären Worldzonen nicht, es sei denn du schaltest wirklich Hardwaremäßig den Motorstrom ab.
    Ansonsten solltest du in "Hand" mit dem Joystick die Roboter immer noch bewegen können.
    Du kannst in "Hand" auch deine "Homerun" Routine aufrufen, einen Robbi nach "Home" fahren und dann neu starten.


    In "Auto" geht natürlich nichts mehr weil dir dann der Interrupt dazwischen funkt.
    Aber das soll ja auch so sein und das ist bei Temporären Worldzonen auch nicht anders.
    Ich benutze in solchen Fällen immer stationäre Worldzonen, genau deshalb: weil man die in Rapid nicht abschalten kann!
    Die funktionieren immer unabhänig vom Programm!!!!


    Gruß
    Högi

    Zwei Dinge sind unendlich,das Universum und die menschliche Dummheit. Aber bei dem Universum bin ich mir noch nicht ganz sicher, !!!!<br />Albert Einstein

    Einmal editiert, zuletzt von högi ()

  • Hallo Högi,


    hab leider kein MMV-System zum Testen im Hause, werde das Freifahren aus stationären WZ bei Gelegenheit nochmals ausführlich testen.
    Bist Du der Meinung, das die gezeigte Variante mit temp. WZ unsicher ist?


    dust2

  • yes, sind zu unsicher, nimm stationäre und aktivieren im POWER ON event!!!

  • Eigentlich war mein Ansatz gar nicht einzufahren wenn der andere drin steht, denn sonst steht ja die Anlage und der Bediener muss eingreifen... das will doch keiner oder ?

  • Dann frag doch einfach, bevor du in den Überlappungsberich reinfährst, den Zustand des Ausgangs für die Weltzone des anderen Roboters ab. Erst wenn dieser frei ist geht es weiter. Um evtl. Timingprobleme zu umgehen kann man immer noch ein zweites Signal bei jedem Roboter einsetzen, mit diesem wird dann der Bereich sofort nachdem erkannt wurde dass der Bereich für den 1. Roboter frei ist, der andere Roboter gesperrt.


    Hast du bisher immer mit Ein/Ausgängen die Roboter miteinander verriegelt oder über Variablen?



    Gruß
    Thilbi

  • So würde ich das auch machen,



    Dann frag doch einfach, bevor du in den Überlappungsberich reinfährst, den Zustand des Ausgangs für die Weltzone des anderen Roboters ab. Erst wenn dieser frei ist geht es weiter. Um evtl. Timingprobleme zu umgehen kann man immer noch ein zweites Signal bei jedem Roboter einsetzen, mit diesem wird dann der Bereich sofort nachdem erkannt wurde dass der Bereich für den 1. Roboter frei ist, der andere Roboter gesperrt.


    Der Interrupt, der dazu führen würde das alles stehen bleibt, ist ja nur als Sicherheit gedacht.
    Falls sich die beiden Robbis, aus welchen Gründen auch immer, doch einmal zu nahe kommen.
    Dann muß natürlich der Bediener eingreifen, aber immer noch besser als ein Trupp Mechaniker die dir deine Roboterzelle wieder gerade biegen. :aufsmaul:


    Gruß
    Högi

    Zwei Dinge sind unendlich,das Universum und die menschliche Dummheit. Aber bei dem Universum bin ich mir noch nicht ganz sicher, !!!!<br />Albert Einstein

    Einmal editiert, zuletzt von högi ()

  • So nach dem ich endlich die Buchstaben in der Regestrierung richtig eingegeben habe bin ich bereit für meinen ersten Beitrag.


    Das Zauberwort heißt Semaphore


    Das könnte die SPS Verrieglen.
    Du mußt dir am Anfang überlegen welche Bereiche du miteinander Verriegeln willst.
    Möchte jetzt einen Roboter in den Bereich fahren setzt er eine Anforderung aus dem Teachprogramm an die SPS.
    Er darf erst in den Bereich einfahren wenn er von von der SPS die Freigabe bekommen hat. Darauf wartet er in deinem Teachprog in einem noch sicheren Bereich. Der zweite Roboter macht das selbe. Selbstverständlich darf die SPS nur einem Roboter die Freigabe geben.Hast du mehrere Bereiche in den es scheppern könnte gibt es natürlich auch mehrere dieser Bereiche.

    Einmal editiert, zuletzt von achimE ()

  • Hi,


    achimE, Herzlich willkommen!


    Die Sicherste und auch von mir bevorzugte Variante ist mit Weltzonen für die Absicherung und den zusätzlichen Signalen zur Anforderung, Sperrung und Freigabe der Bereiche (siehe Post's Högi) um einen sauberen Ablauf zu gewährleisten!

  • Bei uns gibt es entzwischen Neuigkeiten,


    Wir haben die Roboter auseinander gehängt.


    Das war vorher wie wenn de mit dem Porsche in der Fußgängerzone fährst.
    Nach dem mech. Umbau lief ide Anlage sehr schnell und problemlos.


    Alles Käse mit Weltzone und SPS .... ( zumindest wenn es um schnelle Bewegungen geht ) !


  • mit Weltzonen für die Absicherung und den zusätzlichen Signalen zur Anforderung, Sperrung und Freigabe der Bereiche


    Man denkt sich im Laufe der Jahre ganz dolle Sachen aus, solange man nur ZWEI Roboter gegeneinander verriegelt. Die meisten davon sind allerdings wenig wert, wenn man dann mal DREI oder mehr in demselben Arbeitsbereich hat. Der Aufwand wächst quadratisch mit der Zahl der beteiligten Manipulatoren. Am Ende denkt man sich dann, dass vielleicht doch eine Sicherheit ausreicht, die nur 99,5 Prozent aller denkbaren Fälle abdeckt.


    Grüße,
    Michael

Hilfe und Support für ABB Roboter Programmierung, Konfiguration, Inbetriebnahme finden Sie hier im ABB Roboter Forum. ABB Rapid Programmierung ist einfach, die Roboterforum Community hilft sehr gerne.

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