Posts by fubini

    - With gibt es nur bei Spline. Man schreibt das bei alten Bewegungen einfach vor die Bewegung. Effekt ist der gleiche, d.h. wenn etwas gesetzt ist bleibt es solange gültig bis es wieder neu gesetzt wird.

    - $VEL_AXIS sind Werte für Achsgeschwindigkeiten. $VEL sind kartesische Werte https://www.robot-forum.com/ro…4SPL_VEL_RESTR#post108175

    - $ACC_AXIS ist nicht kartesisch sondern achsspezifisch. Ist die maximale Achsbeschleunigung in Prozent. Dagegen ist $ACC die kartesische Beschleunigung translatorisch in m/sec^2 und rotatorisch in Grad/sec^2.


    Fubini

    There is no difference in defining the parameters of ptp and ptp_rel. Your problem has another cause. How did you program blending for your ptp? Probably showing your program would help.


    Fubini

    Quote

    Sind CPDAT5 und PDAT6 also was genau? müssen diese im Vorfeld definiert werden oder was bedeuten sie genau?

    Und was sind Inlineformularen?

    Bei Programmierung mit Inlineformularen werden darin so Sachen wie Geschwindigkeit, Beschleunigung, Werkzeugnummer, ... gespeichert. Da sollst du dich bei Inlineformularen nicht drum kümmen. Inlineformulare sind alle Anweisungen, die über den Oberflächeneditor, d.h. über die Bedienelemente angelegt werden. Ist gewissermassen die Anwenderschnittstelle zum nicht so gut ausgebildeten. Du kannst die Steuerung aber auch ohne Inlineformualre als Experte mit zusätzlichem Wissen programmieren. Hier ist KRL eher wie C/Pascal/Basic oder andere Hochsprachen nur ergänzt um Roboterspezifische Befehlsequenzen.



    Quote

    Also wenn es sich um Tool[0] und Base[0] handelt, ist das mein Werkzeug 0 und mein definiertes Koordinatensystem 0 ?

    Dein Werkzeugkoordinatensystem (bezieht sich auf den Roboterflansch) und dein Werkstückkoordinatensystem (bezieht sich auf den Roboterfuß) sind dann Nullsysteme (X,Y,Z,A,B,C haben alle den Wert Null). Also steuerst du den Roboterflansch bezüglich Roboterfuß bei der Positionsvorgabe über kartesische Koordinaten.


    Ich empfehle dringend die Anfängerschulung bei KUKA zu besuchen, da werden genau diese Dinge erklärt und mit so einem gefährlichen System wie einem Roboter ohne Schulung zu arbeiten ist nicht nur fahrlässig, sondern hochgradig gefährlich!!!


    Fubini

    Nein SLIN und LIN arbeiten nicht mit denselben Einstellungen! Ausnahme ist hier nur $VEL.CP. SLIN nimmt ansonsten die Einstellen auf Achsebene $ACC_AXIS[], $VEL_AXIS[], ... . Ist also eigentlich eher so wie ein alter PTP:


    https://www.robot-forum.com/ro…4SPL_VEL_RESTR#post108175


    Außerdem ist bei Splines der Überschleifradius kleiner als bei OldMotion. Das liegt daran, dass OldMotion die Bewegungen verschmiert. Programmierst du z.B. $APO.CDIS = 100, fängt der Roboter bei OldMotion deutlich früher an zu überschleifen, also z.B. bereits bei 140 mm. Wir früh ist abhängig von der Geschwindigkeit. Bei Spline ist dieses verschmieren nicht mehr da und er wird exakt bei 100 mm anfangen zu überschleifen. Insbesondere hast du also bei Spline bei gleich programmierten Überschleifradius eine "schärfere Ecke" die dann auch nicht so schnell gefahren werden kann.


    Fubini

    Schalt doch mal temporär die Absolutgenauigkeit über $deactivate_abs_accur aus. Stimmen dann die Werte überein liegt es (wie ich stark vermute) an der Absolutgenauigkeit. Wenn ich deine Antworten so lese gehe davon aus, dass du Experte bist, daher nur kurz: Bei Absolutgenauigkeit ist das Modell kein Starrkörpermodell mehr.


    Fubini

    Dazu musst du eine Basis auf den Tisch einmessen und diese aktivieren. Du kannst wahlweise gekoppelt auf dem Dreh-Kipptisch oder ungekoppelt fahren je nachdem ob die Basis auf dem Tisch oder in der Welt liegt.


    Und hast du auch an den Eintrag in


    DECL EX_KIN $EX_KIN={ET1 #ERSYS,ET2 #EASYS,ET3 #NONE,ET4 #NONE,ET5 #NONE,ET6 #NONE} ;EXTERNE KINEMATIKEN #NONE,#EASYS,#EBSYS,#ECSYS,#EDSYS,#EESYS,#EFSYS,#ERSYS


    gedacht bei deinem Dreh-Kipptisch Element.


    Fubini

    Hallo Niklas,


    ich glaube hier herrscht noch etwas Verwirrung in den Begrifflichkeiten


    • Antrieb: In der Regel ein einzelner Motor, der eine Achse antreibt (z.B. Motor 1 des Roboters treibt Achse 1 des Roboters an)
    • Kinematik: Der Zusammenschluss einer oder mehrerer Achsen zu einer Einheit (Die 6 Achsen als Gesamtheit ergeben deinen 6-Achsroboter)


    Die oben angesprochenen Definitionen über $ET[Nummer der Kineamatik]... beschreiben gerade wie du aus mehreren Achsen eine Kinematik zusammenbaust.


    Um das ganze über WorkVisual abzudecken, musst du dir ein Katalogelement erstellen, dass Antriebsdaten und die darauf aufbauende Kinematik beschreibt. Dazu gibt es den Katalogeditor, der Bestandteil des WorkVisual Paketes ist. Ich würde empfehlen mal di Dokumentation dazu zu lesen.


    Fubini

    Das inertiale Weltsystem $World ist immer fix die Null und kann nicht geändert werden. Wo bezüglich Welt deine Kinematik liegt ist genau das $ersysroot und wäre ohne Lineareinheit das $robroot. Was du aber wahrscheinlich machen willst ist Werkstückkoordinatensysteme aka Bases zu definieren. Das solltest du über Inbetriebnahme Vermessung Basis finden.


    In der Doku für Systemintegratoren findest du ein schönes Bild wie die ganzen Koordinatensysteme zusammenhängen.


    Das Vermessen der Lineareinheit ist auch empfehlenswert, falls du hohe Genauigkeit brauchst. Hier wird bezogen auf den Roboterfuß genau eingemessen in welche Richtung die Lineareinheit verläuft und dann in $ET1_TFLA3 geschrieben. Man schafft es ja bei der Montage selten der Roboter exakt auf der Lineareinheit festzuschrauben.


    Fubini