Intelligente Rückzugsstrategie

  • Hallo miteinander,


    ich bin noch nicht so lange in der Roboterwelt unterwegs.
    Ich besuche nächste Woche die fortgeschrittenen Programmierschulung.


    Nun zu meiner Frage.
    Wie geht man eine Rückzugsstrategie richtig an?
    Ich hab mich bei meiner ersten Schulung schon sehr darüber mit dem Lehrer unterhalten.


    In dessen Firma wird die Rückzugsstrategie über die Arbeitsraumüberwachung gehandhabt.
    Über eine Switch-Case Anweisung den Arbeitsraum abgefragt und entsprechend rausgefahren.


    Gibt es noch weitere Möglichkeiten bzw. wie löst ihr das Problem?

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


    bei den großen OEM´s wird das über eine Positionsvariable gelöst.


    grob erklärt:
    Erstelle dir eine Variable die du immer Vor dem Pkt. per Triggerbefehl setzt.
    Über einen Interrupt brichst du dein Programm ab und beginnst die Home-Fahrt.
    In dieser schaust du über SWITCH/CASE auf deine Variable.
    In den CASES fährst du entweder komplett nach Hause oder immer nur einen Punkt rückwärts.
    Dann setzt du deine Variable auf die richtigen Wert von diesem Punkt.
    Das Programm triggert sich somit immer weiter zurück zur Home.


    Wie gesagt nur grob erklärt, Bsp. darf ich hier leider nicht posten.
    Hoffe ich konnte dir helfen.

    Nichts ist einfach - alles bedarf der Übung !

  • Vielen Dank für deine Antwort.


    Außerdem habe ich noch eine Frage :)


    Lasst ihr die Grundstellungsfahrt im Autobetrieb oder im Handbetrieb also T1 laufen?
    Gibt es hier eventuell Vorschriften etc.?

  • Hallo


    ich würds in Automatik machen mit verringerter Geschwindikeit und das während der Grundstellungsfahrt eine Taste (Entweder Automatik Start oder Grundstellung) gedrückt gehalten muss.


    Gruß loipe

  • Ich hab jetzt die Grundstellungsfahrt mit einer Positionsvariable realisiert.


    Die Variable hab ich in der config.dat deklariert.


    Jetzt habe ich folgendes Problem:


    In meinem Programm wird die Positionsvariable zwischen zwei Punkten auf 0 zurückgesetzt, obwohl ich die Variable im ersten Punkt auf 2 setzte und im nächsten dann auf 3.
    Bei den restlichen Punkten funktioniert es sonst einwandfrei.


    Woran kann das liegen?

  • Hi,


    Hier mal ein alternativer Lösungsvorschlag:
    Ich hatte mal die Herausforderung, das ich für mehrere Systeme, die schon in Betrieb waren, eine solche Strategie nachträglich implementieren musste.
    Dabei war das mit der Variable wie oben beschrieben nicht mehr möglich, da die System zu komplex und zu verschieden aufgebaut waren. Ich bin dann auf eine Lösung gekommen, die bei allen Systeme gleich funktionierte und als einfache copy/paste übertragen wurde. Mann muss dabei auch nicht den Ablaufcode angreifen. Das Ding werkelt im Hintergrund.


    Kurz und Bündig: Die Bahn des Roboters im Hintergrund durch Interrupt gesteuert aufzeichnen. Bei Fehlerfall die Bahn bis zum Ausgangspunkt rückwärts abfahren.


    Im Anhang ein Dokument mit einer Niederschrift dazu.
    ist etwas kompliziert zu lesen aber die Idee kann man schon in etwa raus finden. :denk: :kopfkratz:


    hoffe, ich konnte helfen.


    LG
    Stups

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