Werkobjekt0 um 30 Grad verdrehen

  • Hallo,


    jetzt hat mir der Mechaniker einen Roboter um 30 Grad verdreht hingestellt.

    Habe das noch nicht gemacht. Habe gelesen, mit .rot und orientZYX kann man das Koordinatensystem verdrehen.


    Das habe ich bisher gemacht, komme dann aber nicht weiter. Meldet so auch Fehler



    PERS wobjdata wobj1 := [FALSE, TRUE, "", [[0, 0, 0],[1, 0, 0, 0]], [[0, 0, 0],[1, 0, 0, 0]]];


    wobj1.rot := OrientZYX(-30.0,0,0);


    Dank

  • Hi Kliebisch,


    dein Workojekt liegt überall in 0, wenn du es um 30 Grad drehen möchtest, musst du die Quaternions berechnen.

    Ich denke mal, du möchtest es um Z positiv drehen.


    Dann wäre das :

    PERS wobjdata wobj1 := [FALSE, TRUE, "", [[0, 0, 0],[0.965926, 0, 0, 0.258819]], [[0, 0, 0],[1, 0, 0, 0]]];


    Dein Syntax stimmt doch bei deinem Befehl nicht, wenn du über einen Befehl rotieren möchtest, dann musst du dem Roboter bekannt machen über welchen Frame:


    Sollte dann so aussehen :


    wobj1.oframe.rot := OrientZYX(30,0,0)


    Die Berechnung erfolgt auf den oframe, wenn du den Userframe auf 0 lassen möchtest. Ansonsten drehe einfach den Userframe.


    Gruß Sebastian

    Nichts ist für die Ewigkeit .

    Edited once, last by Sebastian78 ().

  • Danke und guten Morgen,


    wobj1.oframe.rot := OrientZYX(30,0,0) - hatte ich schon probiert. Ging irgendwie leider nicht.


    Ich habe dann es so gemacht:


    PERS wobjdata wobj1 := [FALSE, TRUE, "", [[0, 0, 0],[0.965926, 0, 0, 0.258819]], [[0, 0, 0],[1, 0, 0, 0]]];