LIN Bewegung mit festgelegter Achsdrehung

  • Hallo miteinander,


    seit langem habe ich auch mal wieder ein Problem, das es zu lösen gilt:


    Der Roboter steht an einem Punkt im Raum, wo ein Werkzeug durch einen Greifer aufgenommen werden soll, anschließend soll der Roboter von hier mit LIN Bewegung in einer "Gasse" herausfahren.


    Leider steht die Achse A4 beim Aufnehmen des Werkzeugs kurz vor dem Softanschlag (es sind noch ca. 10° Luft). Leider dreht mir die Achse A4 bim herausfahren genau gegen den Softwareanschlag...


    Kann ich irgendwie bei einer Linearbewegung bestimmen in welche Richtung die Achse A4 drehen soll???


    Danke im voraus
    John Silver

  • Schritt für Schritt zum Roboterprofi!
  • status und turn würden helfen....



    in einer e6pos variable sind xyz abc und s und t definiert.... s und t sorgen für die eindeutige achsstellung.... lies dich mal ein im handbuch namens programmieren experte....

  • Hallo,
    also s und t alleine helfen da wohl kaum. Beim linear fahren werden die soweit ich weiss eh nicht beachtet. Da ergibt sich die Drehrichtung der Achse 4 automatisch, durch die lineare Bewegung. Versuch mal von Hand per
    achsweiser Bewegung nur so ungefähr linear rauszufahren und dabei die Achse 4 in die andere Richtung
    zu drehen, ich vermute das wird nicht gelingen.


    Das Problem liegt schon vorher: Den Werkzeugwechselpunkt schon anders anfahren, so dass die Achse 4
    eben nicht kurz vorm Anschlag steht (also um mindestens 180 Grad verdreht, Achse 5 in die andere Richtung
    geknickt und Achse 6 auch um 180 Grad gedreht).
    Dazu vorher einen 'richtig' geteachten Punkt per PTP anfahren.


    Das kann allerdings in recht viel Arbeit ausarten, je nach Aufbau: zig Punkte neu teachen, evtl.
    Schlauchpaket umbauen ...


    Hermann

  • Hallo Herrmann,


    nur zur Info: Auch bei LIN-Fahren spielt der Status eine Rolle. Es wird nämlich (im Defaultfall) genau so gefahren, dass der Status des Startpunkts der Bewegung beibehalten wird. Das ist dann auch der Grund warum der Roboter z.B. beim Durchfahren der Nullstellung von Achse 5 Achse 4 und 6 um 180° drehen muss. Würde hier ein Statuswechsel gemacht könnte er gerade ohne Verdrehung der Achsen 4 und 6 durchfahren.


    Gruß
    Fubini

  • Hallo fubini,
    ich war bisher wie auch Hermann der Meinung, dass bei einer LIN-Bewegung s und t nicht beachtet werden bzw. s und t des Startpunts beibehalten werden. Wie müßte ich denn eine LIN-Bewegung parametrieren, damit s und t des Zielpunktes tatsächlich eingenommen werden, oder reicht es aus, das Ziel mit dem gewünschten s und t zu teachen ?

  • Hallo Hinky,


    der geteachte Status des Zielpunkts wird bei LIN bzw. CIRC komplett ignoriert und allein durch den Status des Startpunkts definiert. Ferner ist der Turn ja sowieso automatisch durch den Turn des Zielpunkts festgelegt, da der Weg vom Start zum Zielpunkt immer über kürzesten Weg von Interpolationspunkt zu Interpolationspunkt gefahren wird.


    Prinzipiell lässt sich das Verhalten für den Satus über das Statuswechselbit $POS_SWB[] in den Maschinendaten anpassen. Setzt man dort z.B $POS_SWB[3] = 1 so wird beim Durchfahren von Achse 5 = 0 der Status gewechselt. Allerdings ist Nutzung dieses Feature nur nach Rücksprache mit KUKA erlaubt, da es wenn man nicht exakt durch die Singularität sondern nahe daran vorbei fährt zu Problemen kommen kann. Hier kann es sonst passieren, das je nach Interpolationspunkt mal der Status gewechselt wird und mal nicht. D.h. z.B. kann es vorkommen, dass bei 30% Override der Status nicht gewechselt wird, bei 100% aber schon.


    Gruß
    Fubini

  • Hi fubini,
    ja mag wohl sein dass ich mich missverständlich ausgedrückt habe, technisch läuft's auf das selbe raus.
    Nur helfen wird die korrekte Erklärung dass der Status des Zielpunkts ignoriert wird und der der Ausgangsposition
    (könnte ja sein auf der Fahrt auf den Ausgangspunkt wurde der Status auch schon ignoriert) beibehalten
    wird, beim ursprünglichen Problem auch nicht.
    Da hilft nur andersrum teachen, oder etwa nicht?


    Hermann

  • Hallo,


    warum teachst Du nicht einen Zwischenpunkt ? Der Roboter fährt immer die kürzeste Drehbewegung. Wenn der Zwischenpunkt anders herum gedreht auf dem kürzeren Weg zu erreichen ist, wird die Achse anders herum gedreht. So mache ich das jedenfalls.

  • Hallo miteinander und erstmal ein :danke: für eure Mitarbeit...


    hab's jetzt folgendermaßen gemacht:


    Hab explizit für diese eine Werkzeugablage eine neue Anfahrstrategie ausgedacht wobei hier nur ein neuer Zwischenpunkt eingefügt wurde, durch welchen ich mir die Achsen in die gewünschte Position vorpositioniere...
    Ich find's zwar nicht so schön, dass ich hierfür nicht meine Standardfunktion hernehmen kann, aber was soll's....


    Das Vorpositionieren hat aber auch mal wieder ordentlich Zeit gefressen ;)


    Aber hier nochmals ein :danke:


    Gruß
    John

  • Herrmann


    Sorry, wenn man so will kann den Beitrag natürlich auch OffTopic ansehen :oops:. Es ging mir nur um die irrige Annahme, das Status und Turn keine Rolle beim LIN-Fahren spielen. Im konkreten Fall muss der Punkt natürlich einfach anders angefahren werden.


    Gruß
    Fubini

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