Rotation des Tools

  • Hallo,


    ich möchte mit dem ABB Roboter MoveC und MoveL „Eckfahrten“ mit drei definierten Punkten untersuchen. Dabei soll das Tool in einer bestimmten Orientierung der programmierten Strecke folgen.

    Meine Frage dazu ist, wie ist es möglich, dass die Spitze des Tools also die Orientierung des Tools sich dem Kurvenverlauf der MoveC Bewegung bzw. der "Eckfahrt" der MoveL Strecke anpasst und so die Spitze des Tools immer vorangeht?


    Für jeden Tipp dankbar.

    VG

    Einmal editiert, zuletzt von tis ()

  • ANZEIGE
  • Hallo RobiMan,


    ich habe mir diese Instruktion im Referenzhandbuch angeschaut, bin jedoch noch ein Anfänger und finde die Erklärung etwas unverständlich.

    Ich würde gerne einen Halbkreis fahren und währenddessen das Tool um 180Grad rotieren lassen.

    Ich würde CirPoinOri werden oder ist das nicht richtig für meinen Anwendungsfall?


    "CirPathMode \CirPointOri;

    Modifizierter Modus für die Werkzeugneuorientierung vom Startpunkt über die

    programmierte Orientierung CirPoint bis zum Punkt ToPoint bei allen

    erfolgreichen kreisförmigen Bewegungen."


    muss ich nun die Punkte Cirpoint und toPoint neu definieren oder sind das einfach der Startpunkt und der Kreispunkt in der MoveC Bewegung?

    Und wo kann ich die Parameter für die Rotation einstellen?

    Wäre um jeden Tipp dankbar.


    VG

  • Hallo RobiMan,


    weißt du wie ich eine Rotation auf die quaternionen anwenden kann ?

    versuche grade den cirpoint und den Endpunkt des Kreises zu rotieren..


    VG

  • Hallo RobiMan


    ich habe versucht orientZYX ausführen zu lassen aber ich mache wohl etwas falsch:


    VAR NUM anglex;

    VAR NUM angley;

    VAR NUM anglez;

    VAR pose object;

    ..


    anglez:=90;

    angley:=0;

    anglex:=0;

    object.rot:=[-0,000000021, 0.29237169,0.956304,-0,0000004];

    ..


    object.rot:=OrientZYX(anglez,angley,angex);


    weißt du eventuell was ich falsch mache?

    Danke im voraus.

  • Du könntest auch die RelTool-Funktion dafür verwenden.

    Diese funktioniert nicht nur in den Move-Instruktionen sondern diese kann auch andersweitig verwendet werden.


    z.Bsp.: pNeu:=RelTool(pOrginal,0,0,0\Rx:=0,\Ry:=0,\Rz:=);

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • hallo sven,


    Danke für deine Antwort.

    und um eine kontinuierliche rotation bis zu dem cirpoint und anschließend weiter zum endpoint des Kreises zu erzielen muss ich dann die Rel_tool Funktion in Kombination mit CirPointOri verwenden?

  • Na ich würde dies ohne die Instruktion CirPathMode verwenden und die Winkel dann zwischen den Position so anpassen.


    So wie ich das kenne hast du dann seitens der Orientierung bei der Instruktion CirPathMode keine direkte Kontroller mehr darüber.


    Aber ich ging bei meinen Kommentar davon aus das du eine Möglichkeit suchst einen Winkel bei einer Position anzupassen.


    Die Verbindung zu CirPathMode habe ich dabei nicht in Betracht gezogen.

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • ja mein Ziel ist es aber das tool kontinuierlich während der MoveC Bewegung rotieren zu lassen.

    Ich werde es mal versuchen.

    Danke euch!

  • Der Tipp mit der RelTool-Funktion war sehr hilfreich und die Rotation läuft kontinuierlich ab, so wie ich mir das vorgestellt habe., danke!


    aber um eine while Schleife mit dem Selben Pfad (aber verschoben) zu realisieren muss ich dann das Koordinatensystem wieder zurückdrehen oder?

    und wie verbinde ich den Relativ tool Befehl mit einem offset Befehl, egal welche Reihenfolge ich benutze oder wie ich die Klammern setzte, es wird immer ein Fehler angezeigt.



    Habs so versucht:

    MoveC RelTool (Offs (p1, (k-1)*xAbstand, 0, 0\Rz:=90))

    oder

    MoveC Offs(RelTool (p1, (k-1)*xAbstand, 0, 0\Rz:=90) )

    • Hilfreich

    das ist ganz simpel


    man nehme: RelTool(Offs(p1,0,0,0),0,0,0\Rx:=0)


    Du schreibst aktuell die Rotation in deine Offset-Funktion, das geht leider so nicht.


    Immer einzeln betrachten!


    RelTool(pBasis,0,0,0\Rx:=0,\Ry:=0,\Rz:=0)

    nun Ersetze pBasis mit einer Offset-Funktion: pBasis:=Offset(pBasis,0,0,0);

    das seiht dann so aus:

    RelTool(Offset(pBasis,0,0,0),0,0,0\Rx:=0,\Ry:=0,\Rz:=0)


    geht natürlich auch anderes herum:


    Offset(pOriginal,0,0,0)

    pBasis:=RelTool(pBasis,0,0,0\Rx:=0,\Ry:=0,\Rz:=0)-> die nicht verwendeten Rotationen kann man auch weg lassen.


    macht dann:

    Offset(RelTool(pBasis,0,0,0\Rx:=0,\Ry:=0,\Rz:=0),0,0,0)


    Den Spaß kann man recht weit treiben, da ist RAPID recht flexibel.

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Hallo Leute,


    wie ist es möglich die Rotationsgeschwindigkeit bei dem Rot_Tool Befehl höher einzustellen, oder ist die Einstellung der Rotationsgeschwindigkeit nicht möglich?

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