Circ-Path-Anphasen

  • Hallo Zusammen,


    Ich bin mir sicher es gibt eine Einstellung aber ich wurde aus den Handbüchern diesbezüglich nicht richtig schlau.

    Also handelt sich um eine Circ-Bewegung, jedoch soll das Werkstück angefast werden.

    Heisst das Tool muss eine Kreisbewegeung fahren allerdings soll das Tool über den gesamten Kreisradius einen bestimmten Winkel halten z.B. 60°.

    Wie macht man das am kleversten?

    Gibt's da eine Funktion für oder müsste man sich die X,Y bzw. A,B-Komponente jeweils berechnen?

  • Schritt für Schritt zum Roboterprofi!
  • Hallo


    Es gibt die Möglichkeit über krl syntax das vorzugeben oder mit einem inlineformular.


    Der kreis errechnet sich mit einem Zielpunkt und einem hilfspunkt ausgehend von einem startpunkt.

    Desweiteren gibt es noch eine Möglichkeit einen kreiswinkel vorzugeben…..

  • Hallo Danke für die Antwort,

    Das mit dem Hilfspunkt ist soweit klar.

    Aber angenommen ich häatte ein Tool wo Z in Stossrichtung zeigt und X,Y jeweils die Achsen aus denen sich der Kreisbogen ergibt.

    Sagen wir mal ich hab die Punkte

    StartPunkt (X 50, Y 0.0, Z0.0, A 0, B 0 C0)

    HilfPunkt ist ja dann (X 0.0, Y -50.0, Z 0.0 A0, B 0, C 0)

    ZIELpunkl (X -50, Y 0.0 Z 0.0, A 0, B 0, C 0)


    Dann hätte man ja einen Umlauf als Halbkreis um die Z-Achse definiert.


    Nun kann man das Tool aber Auch um z.B. 40° Neigen.

    (X 50, Y 0.0 Z 0.0, A 0, B 40, C 0)

    Bei der gegenüberliegenden Seite

    Wäre es ja

    (X -50, Y 0.0 Z 0.0, A 0, B -40, C 0)


    Wie Stelle ich es den an das das Tool binnen des Kreisumlaufs immer die 40° hält?

  • such mal nach

    $ORI_TYPE bzw $CIRC_TYPE damit ließ sich die Orientierung beeinflussen, wie genau müsste ich
    aber selbst nachschlagen und hab gerade keine Zeit :P :D

    Wenn du ILF verwendest gibts da glaube ich auch ein dropdown zum einstellen

  • such mal nach

    $ORI_TYPE bzw $CIRC_TYPE damit ließ sich die Orientierung beeinflussen, wie genau müsste ich
    aber selbst nachschlagen und hab gerade keine Zeit :P :D

    Wenn du ILF verwendest gibts da glaube ich auch ein dropdown zum einstellen

    Das sollten die richtigen Schlüsselwörter sein….heb gerade auch keine Bilder zur Hand um das zu verdeutlichen 😅

  • $CIRC_TYPE=#PATH macht die bahnbezogene Orientierungsführung möglich.

    $ORI_TYPE=#CONSTANT nagelt die Orientierungsführung fest, bei CIRC_TYPE==#PATH eben an der Kreisbahn (an der Startsituation). Wird nur selten verwendet, da es halt alle Koordinatenrichtungen betrifft.


    Die älteren Dokus hatten da vier Bildchen, die alle vier Möglichkeiten illustrierten, wenn Du irgendwie die 5.4-Doku kriegen kannst.... ich hoffe, ich tu' mir kein Leid an wenn ich das hier paste....

  • Okay vielen Dank schon einmal,

    Auf due Doku bin ich schonmal gestoßen ich hatte auch schon einmal die

    Vor den CIRC

    $ORI_TYPE=#CONSTANT

    CIRC_TYPE==#PATH


    Dabei ist der Roboter zwar sehr langsam im Kreis verfahren und hat sich dann in der 6-Acgse verwunden.

    Das heißt also ich müsste bei Frstnageln der Startposition

    Den Startpunkt mit Winkel vorgeben den Hilspunkt nicht zwingend und vor CIRC:


    CIRC_TYPE==#PATH


    schreiben korrekt?

  • Ja, das mit dem Verwinden in der 6. Achse ist halt das mit dem "betrifft alle Richtungen". Wobei die bahnbezogene, aber VARIABLE Orientierung auch die andere Möglichkeit hergeben wird. Die Bilder illustrieren das nicht, dort orientiert das Werkzeug um die tangentiale Achse, aber man kann es natürlich auch um die Senkrechte orientieren lassen, muss dann beim Teachen oder Berechnen des Endpunktes darauf achten, eben NUR um diese Achse zu drehen, weil man die beiden anderen ja bahnbezogen gleich lassen will..


    Der Hilfspunkt ist von der Orientierung her wohl sowieso egal, auch im variablen Modus, in dem würde dann von Start zum Ende gleichmäßig umorientiert, d. h., Du brauchst entweder nur Startorientierung (bei konstant) oder Start und Ende (bei variabel).

  • Ich glaube ich hab den Fehler gefunden.

    Auxiliary_ Point:

    Geometricexpressionproducinganauxiliarypoint onthecircularpath.OnlyCartesiancoordinatescan beusedhere. ThereferencesystemfortheCartesianauxiliary positionisdefinedbythesystemvariable$BASE. Theorientationanglesandtheanglestatus specificationsSandTforanauxiliarypointare alwaysdisregarded. Ifstructurecomponentsaremissingintheauxiliary point, thesevaluesaretakenunchangedfromthe currentposition.


    Target_ Position:

    Geometricexpressionspecifyingthetargetposition ofthecircularmotion.OnlyCartesiancoordinates canbeusedhere. ThereferencesystemfortheCartesiantarget positionisdefinedbythesystemvariable$BASE. TheanglestatusspecificationsSandTforatarget positionoftypePOSorE6POSarealways disregarded.Ifstructurecomponentsaremissingin thetargetposition,thesevaluesaretaken unchangedfromthecurrentposition.


    $ORI_TYPE=#CONSTANT During the pathmotion the orientation remains constant;theprogrammedorientationisignoredfor thedestinationpointandthatforthestartpointused


    $ORI_TYPE=#VAR During the pathmotion the orientation changes continuously from the initial orientation to the destinationorientation.


    $CIRC_TYPE=#BASE Orientation control relative to the base system ($BASE).


    $CIRC_TYPE=#PATH Orientationcontrolrelativetothetool--basedmoving frameonthecircularpath.


    Angle status for variable orientation and for constant orientation control. In the case of CIRC motions, the angle status of the end point is always the same as that of the start point. For this reason, the specifications Status S and Turn T for a target position of data type POS or E6POS are always disregarded.



    Heißt also wenn man ein Werkstück hat zu dem man einen bestimmten Anstellwinkel beibehalten möchte, würde man dieses vermutlich am Besten als Base nutzen.

    Das Tool neigen am Startpunkt und dann $CIRC_TYPE=#BASE nutzen, dann sollte der Winkel immer der Gleiche sein, da es sich quasi auf die Z-Achse des Werkzeugs bezöge.

    Einmal editiert, zuletzt von PRG-H ()

  • [Der Robbi bevorzugt keine Raum- oder Werkzeugachsen, man mache sich davon frei, Stoßrichtungen immer als "Z" anzusehen. ]


    #BASE ist das Standardverhalten, Orientierungen des Werkzeugs werden regulär im Base angegeben.


    #PATH ist ein sehr außergewöhnliches Verhalten in dem Sinne, dass das Koordinatensystem, in dem die Orientierung des Werkzeugs festgelegt ist, mitdrehend festgelegt wird durch die drei Richtungen radial, axial und tangential.


    Was Dich bei $ORI_TYPE==VAR aber nicht daran hindert, diese Orientierung während der Kreisbewegung zu ändern.

    Willst Du z. B. mit einem Schleifstift anfasen und bist am Startpunkt gegenüber der Rotationsachse um einen gewissen Winkel "schräg", dann möchte die Orientierung 180° später ebenfalls korrekt "schräg" sein, Du weißt dies aber noch nicht, weil Du den Zielpunkt ja erst teachen musst. Aber: auch bei 90° wird es korrekt aussehen, egal, wie Du den Zwischenpunkt geteacht hast.

    Du kannst veranlassen, dass während der Drehung (um die Achse des Schleifstifts) "zurück" gedreht wird, damit sich das Werkzeug nicht aufwickelt. Bei 90° ist dann aber trotzdem alles so, wie es sein soll, auch dort ist es dann "korrekt schräg".


    Bei #BASE hingegen teacht Du den Zielpunkt bei 180° im Raum "andersherum" schräg. Der Robbi wird da ankommen, aber bei 90° wird er parallel zur Drehachse stehen und die Fase ist weg, weil er nicht um die Achse des Schleifstifts dreht, sondern einfach im Raum umorientiert.

  • Guten vielleicht Versuche ich dies nochmals an einem anderen Tag ich hab jeden Punkt beim mit der korreten Phase geteached und alle Varianten ausprobiert, keine hat wirklich funktioniert.

    Daher würde es eine "Teach-Versuchsorgie" und ein Splin.

    Ich verrsuche noch den Zusammenhang zwischen A,B,C koordinaten und Drehung um Z-Achse zu finden, allerdings habe ich keine passen Unterlagen in Sachen Vektorrechnung zur Hand gehabt

  • Was ich derzeit auch noch nicht 100% hecke ist ja Theoretisch ist das Tool ja Vektormässig auch eine Art Ebene mit X,Y-Achse und einem Normalenvektor.

    Jetzt muss die Z-Achse des Tools je nach Bauform nicht zwingend mit dem Normalenvektor übereinstimmen.


    Wenn man allerdings eine Gerade Fläche hat, spannt diese ja auch wieder einen Normalenvektor auf.

    Wenn man dann bei einem Kreisbogen immer den gleichen Winkel haben möchte, müsste man also im Prinzip immer nur die Winkel der beiden Normalenvektoren vergleichen.


    Bei einer symmetrischen Anordnung müsste dies ja nur einmal beim Teichen passieren.

    Sofern dann das Tool um die Z-Achse der Base rotiert am Teachpunkt. "Müsste hier ja nur die Base ins Tool" umgerechnet werden anschließend würden die X,Y-Komponenten des Tools angepasste.

    Spricht gemessen Radius und Zeigelänge in sind,cos Anteil.

    Also mir ist nicht so richtig klar warum das nicht sauber durchläuft.

  • .. Jetzt muss die Z-Achse des Tools je nach Bauform nicht zwingend mit dem Normalenvektor übereinstimmen...

    Du kannst/solltest das Tool so vermessen, dass sie übereinstimmen.

    Den Rest deiner Ausführung verstehe ich nicht. Kannst aber selber einen Interpolator schreiben, musst halt alle x oder x/10 mm einen Stützpunkt ausrechnen und das dann abfahren. ;)

  • Ja gut normal hat man ja entweder die Daten des Tools als CAD-Daten oder man macht die Vier-Punkt-Methode.

    Bei letzterer wäre Z ja in Stossrichtung der Werkzeugspitze.

    Auch wenn man sich die Punkte berechnet bräuchte ich dafür nochmal die Mathematik.

    Ausserdem gibt's je nach Anfahrweg noch Achsbegrenzungen.

  • Beim Kuka dreht sich A um Z und zwar in der Kette der Betrachtungen zuerst, das kann man sich recht easy vorstellen, finde ich.

    Ist aber wurscht. Der Roboter ist am Ziel, wenn das TCP-Koordinatensystem innerhalb des BASE-Koordinatensystems mit dem programmierten Punkt-Koordinatensystem deckungsgleich liegt.


    Ein Problem hat man, wenn der TCP nicht an einer sinnvollen Stelle liegt. Ein besonders spezifisches Problem dann bei Umorientierungen, und nochmal stärker bei diesem ganz speziellen Modus auf der Kreisbahn.

    Hat man - relativ zum Flansch betrachtet - den Arbeitspunkt seiner Mechanik woanders, als der Roboter ihn zu haben glaubt, dann gehen alle Voraussetzungen für eine erfolgreiche Interpolation der Orientierung natürlich zum Teufel, ist klar.

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