BASE mit xyz Werten verschieben

  • [size=2][font=Arial, sans-serif]Hallo [/font][/size]
    [size=2][font=Arial, sans-serif]Ich habe eine Frage. Ich habe 12 Pressenplätze welche in 3 Lagen zu je 4 Plätzen angeordnet sind. Also 3x4 Pressenplätze. Über das Ganze wurde eine BASE aufgenommen. Die einzelnen Plätze werden gerechnet. Das sieht so aus.[/font][/size]
    [size=2][font=Arial, sans-serif]BASE_DATA[6]={X -680.532715,Y 886.232910,Z 71.1733,A 43.6624,B -89.7725,C -133.424500}[/font][/size]
    [size=2][font=Arial, sans-serif]BASE_DATA[32]={X -775.044556,Y 830.082153,Z 160.099411,A 43.6624,B -89.7725,C -133.424500}[/font][/size]
    [size=2][font=Arial, sans-serif]Der einzelne Pressenplatz wird nun so berechnet und definiert.[/font][/size]
    [size=2][font=Arial, sans-serif] ; Pressplatz 5[/font][/size]
    [size=2][font=Arial, sans-serif] BASE_DATA[32] = BASE_DATA[6][/font][/size]
    [size=2][font=Arial, sans-serif] BASE_DATA[32] = BASE_DATA[32]: {x 88.5,y -95.0,z -57.0,a 0.0,b 0.0,c 0.0}[/font][/size]
    [size=2][font=Arial, sans-serif]Das interessante ist nun, dass der Wert x in den Base Daten dann aber mit dem Wert z der Base Daten verrechnet wird. Y mit x und z mit y. Kann mir jemand die Logik erklären?[/font][/size]
    [size=2][font=Arial, sans-serif]Wie schreibe ich das richtig?[/font][/size]
    [size=2][font=Arial, sans-serif]Eigentlich möchte ich die ganze Berechnung mit Variabeln machen. das Hätte dann mal so ausgesehen. Das hat aber komplett nicht funktioniert.[/font][/size]
    [size=2][font=Arial, sans-serif] BASE_DATA[32] = BASE_DATA[6][/font][/size]
    [size=2][font=Arial, sans-serif] PPFRAME=$NULLFRAME[/font][/size]
    [size=2][font=Arial, sans-serif] ; Pressplatz 5[/font][/size]
    [size=2][font=Arial, sans-serif] PPFRAME.z= nPPHoeheXZeile2 + nPP5CorrX[/font][/size]
    [size=2][font=Arial, sans-serif] PPFRAME.x= nPPBreiteYSpalteB + nPP5CorrY[/font][/size]
    [size=2][font=Arial, sans-serif] PPFRAME.y= nPPTiefeZ + nPP5CorrZ[/font][/size]


    [size=2][font=Arial, sans-serif] BASE_DATA[32] = BASE_DATA[32]:PPFRAME[/font][/size]

  • Schritt für Schritt zum Roboterprofi!
  • probier mal
    [size=3][font=Arial,sans-serif] BASE_DATA[32] = {x 88.5,y -95.0,z -57.0,a 0.0,b 0.0,c 0.0}:[/font][/size][size=3][font=Arial,sans-serif]BASE_DATA[32][/font][/size]

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • Erklär doch mal wie der Roboter steht, und wie die Base dazu liegt, bzw. liegen sollte.
    Ich vermute, dass da bei der Basevermessung was schiefgegangen ist. Wenn man sich die A,B,C-Werte ansieht, dann sieht es auf den ersten Blick aus als ob die X-Achse des Base in Richtung der Z-Achse des Roboters zeigt.

  • Hallo,
    wenn man die Euler-Winkel (A,B,C) aus der BASE_DATA Tranformation anwendet erhälst du ohne Translation das Ursprüngliche KS mit dem Unterschied, dass x-Achse nach oben zeigt (war vorher positive z-Achse), y-Achse in ehemals positiv x zeigt und z in ehemals positiv y zeigt.
    Das stimmt auch mit deinem Kommentar

    Zitat

    [size=1][font=Arial, sans-serif]Das interessante ist nun, dass der Wert x in den Base Daten dann aber mit dem Wert z der Base Daten verrechnet wird. Y mit x und z mit y.[/font][/size]


    überein, was Herman auch schon geschrieben hat.
    Premultiplication (siehe WolfHenk) sollte das ganze lösen, wobei x,y,z denke ich angepasst werden müssen, damit das passt.
    Die Rotation rauszunehmen ist sehr gefährlich, da sicherlich viele programmierte Punkte mit den Frames arbeiten.


    Beste Grüße
    Denis

    Einmal editiert, zuletzt von Denis_Jay ()

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