Beiträge von Kukki

    Hallo zusammen,
    ich hoffe, dass mir hier jemand weiterhelfen kann. Ich möchte von einem Kuka-Roboter ein kinematisches Modell mittels DH-Parameter aufstellen.
    Nun ist es aber so, dass Kuka seine Drehrichtungen nicht immer nach der üblichen rechten Hand Konvention gelegt hat. Mein Ansatz war zum Beispiel für die erste Achse die z-Richtung des Koordinatensystems nach unten zu legen, sodass der d-Parameter -850 mm wäre, so wie es auch in der Sicherheitskonfiguration vom Roboter steht. Darf man das? Bei mir funktionierten die Berechnungen auf diesen Weg jedenfalls nicht.
    Fällt jemandem ein leichterer Weg ein?
    Liebe Grüße
    Kukki

    Hallo zusammen,


    ich bin neu auf dem Gebiet und finde keine Lösung zu meinem Problem.
    Wie der Betrett schon verrät, möchte ich nach jeder angefahrenen Position die Koordinaten UND Achswinkel in der .dat speichern. Diese wurden zuvor mit Null beschrieben und werden durch das Hauptprogramm dann überschrieben.


    Ich habe mir folgenden Code überlegt


    src:


    DEF test( )


    EXT BAS (BAS_COMMAND :IN,REAL :IN )

    INT I


    BAS (#INITMOV,0 )




    ;******SETTINGS FOR PTP MOTION***********************

    ;******SETTINGS FOR LIN AND ARC MOTION***************
    ;FOLD
    ;SET LIN AND ARC MOTION VARIABLES
    $VEL.CP=0.05
    $VEL.ORI1=200
    $VEL.ORI2=200
    $ACC.ORI1=100
    $ACC.ORI2=100
    ;ENDFOLD (SET LIN AND ARC MOTION VARIABLES)
    ;******SETTINGS FOR POSITIONING CRITERIA*************



    $BASE={X 1807.27,Y 23.12,Z 1331.36,A 0.22,B -0.19,C -179.03}
    $TOOL={X 365.515,Y 7.88,Z 171.02,A 0.0000,B -90.0000,C -178.915}
    HALT
    $ADVANCE = 5


    PTP {A1 0,A2 -90,A3 90,A4 0,A5 0,A6 0,E1 0,E2 0,E3 0,E4 0,E5 0,E6 0}


    Achswinkel_1[1]=$AXIS_ACT.A1
    Achswinkel_1[2]=$AXIS_ACT.A2
    Achswinkel_1[3]=$AXIS_ACT.A3
    Achswinkel_1[4]=$AXIS_ACT.A4
    Achswinkel_1[5]=$AXIS_ACT.A5
    Achswinkel_1[6]=$AXIS_ACT.A6


    Position_1[1]=$POS_ACT.X
    Position_1[2]=$POS_ACT.Y
    Position_1[3]=$POS_ACT.Z
    Position_1[4]=$POS_ACT.A
    Position_1[5]=$POS_ACT.B
    Position_1[6]=$POS_ACT.C



    END



    .dat:



    DEFDAT test PUBLIC


    DECL GLOBAL REAL Achswinkel_1[6]
    DECL GLOBAL REAL Position_1[6]


    Achswinkel_1[1]=0
    Achswinkel_1[2]=0
    Achswinkel_1[3]=0
    Achswinkel_1[4]=0
    Achswinkel_1[5]=0
    Achswinkel_1[6]=0


    Position_1[1]=0
    Position_1[2]=0
    Position_1[3]=0
    Position_1[4]=0
    Position_1[5]=0
    Position_1[6]=0


    ENDDAT



    Ironischerweise möchte der Roboter immer nur eins von beidem (Position oder Achswinkel). Hab das per Ausklammern mal probiert. An den Befehlen kann es also nicht liegen (ich weiß, dass es theoretisch auch mit $pos_act bzw $axis_act gehen würde, bzw. Frames, E6POS usw -> gleiches ergebnis).
    Als Fehler meldet er mir: "angegebener Feldname hier nicht zulässig (Position_[1]=.... bis Position_1[6].


    Kann mir das jemand erklären? :huh:


    Ganz lieben Dank.


    Kukki