Relativer Versatz in Z

  • Hallo zusammen,
    ich bräuchte hilfe in bezug auf den syntax für folgendens vorhaben:
    der roboter steht auf einem bestimmten punkt und soll wenn eine bestimmte bedinung erfüllt ist in Z linear um einen wert verfahren.


    jetztige lösung:
    LIN_REL {Z -10} ; funktioniert auch


    ich will aber dieses "-10" mit einer variable ersetzen (Korrektur_Z).
    Wie muß ich das schreiben??

  • Schritt für Schritt zum Roboterprofi!
  • Lin (und Lin_Rel) fährt Frames. Ein Frame sieht so aus:


    {x 0.0, y 0.0, z 0.0, a 0.0, b 0.0, c 0.0}
    Es ist eine Datenstruktur, zusammengestzt aus x,y,z,a,b,c.


    Besonderheit bei Kuka: man kann in den Fahrbefehlen beliebige Teile weglassen, für den Rest nimmt der Kuka dann die Istwerte oder eben 0.
    Wenn Du schreibst :
    Lin_rel {z -10.0}
    gibst Du ihm einen verstümmelten Frame mit, der ihm sagt, er solle in x, y, a, b, c 0 mm fahren und in z -10.


    Man kann nur den ganzen Frame als Variable angeben, also muss man sich einen Frame deklarieren, den sinnvollerweise mit 0-Werten vollmachen ($NULLFRAME ist eine globale Konstante und enthält {x 0.0, y 0.0, z 0.0, a 0.0, b 0.0, c 0.0} )


    Dann muss man noch z überschreiben. Die Einzelkomponenten erreicht man durch den Punkt:


    meinframe.x
    meinframe.y
    meinframe.z
    meinframe.a
    meinframe.b
    meinframe.c


    Also schreibst du nun in deinen selbstdeklarierten Frame, in dem jetzt nur Nullen stehen, an die Stelle von Z einen brauchbaren Wert.
    Danach sieht der Frame "korrektur" so aus:
    korrektur= {x 0.0, y 0.0, z -10.0, a 0.0, b 0.0, c 0.0}


    Und jetzt hast Du eine brauchbare Variable.


    Grüße,
    Michael

  • Hallo!


    Danke Michael für die gute Erklärung!


    Ich hab das zwar jetzt schon ein paarmal gemacht, aber so gut hab ich's noch nie erklärt bekommen!




    Matthias

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