Koordinaten Welt

  • Schritt für Schritt zum Roboterprofi!
  • ….die aktuellen Koordianten in Welt ermitteln …..

    mit aktuellen Koordinaten meinst Du wohl aktuellen TCP zu $WORLD als Bezugspunkte?


    dann wäre INV_POS zusammen mit Geometrischer Operator die Lösung.


    Beispiel aus der Original-Doku:

    Berechnung der aktuellen Flanschposition (im Hauptlauf) in Bezug auf das

    WORLD-Koordinatensystem $WORLD


    FlangePos=$BASE_C:$POS_ACT:INV_POS($TOOL_C)


    Noch abfangen nicht vergessen mit ON_ERROR_PROCEED, wenn Prog abgewählt oder zurückgesetzt wird, dass SPS.sub nicht abschmiert.


    Gruss SJX

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Das ist ganz normal.


    Auch bei Programm zurücksetzen und Programm abgewählt hast Du diese Problematik.


    Wurde hier im Forum auch schon mehrfach behandelt.


    Darum fang den Fehler ab z.B. mit ON_ERROR_PROCEED. Gibt's ab Softwareversion V5.5.

    Findest dazu in neueren Manuals auch Beispiele, was Du damit alles machen kannst.

    Andere Variante wäre mit Varstate. Ist aber nicht der schnellste Befehl und meiner Meinung nach nicht 100% zuverlässig im Submit.


    Gruss SJX

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Koordinaten $World zu was? $Flange? Tool_x ?

    Dass sie Dir Koordinaten rausgeben kann, brauchst Du 2 vorgegebene Bezugskoordinatensysteme!


    KUKA verwirft bewusst in gewissen Situationen $Tool wie $Base.

    Dass Du zwingend diese vorgibst, bevor Positionen gefahren werden. Sonst besteht die Gefahr, dass evtl. alte Vorgaben zu falschen Bewegungen führen können und Du somit crashest.


    Du musst sogar damit rechnen und eigentlich berücksichtigen, dass Roboter nach Hochlauf nicht justiert ist.

    Dann hättest Du nicht mal Achswinkel zum rausschreiben und Submit würde auch da stoppen.

    Heisst für mich, keine Chance, um Fehlerhandling rumzukommen, wenn Du dies sauber machen willst.


    Was willst Du extern mit diesen Koordinaten machen?

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Hi,


    ich will auswerten ob der Roboter in gewissen Bereichen steht. Dies ist aufgrund der Anzahl nicht über die Arbeitsbereiche möglich.

    Gibt es eine Möglichkeit anhand der Achsposition (Gradzahlen) die Weltkoordinaten im SPS.SUB zu berechnen?

  • Die nicht sicheren Arbeitsbereiche $WORKSPACE[x] sollten frei beschreibbar sein aus Programm / Submit. Also keine Grenze.


    Mit der Forward-Funktion kann man aus Achswinkeln Koordinaten rechnen bezogen auf aktuelle Base / Tool.

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Wie wäre es den Abschnitt im Submit nur dann anzuschubsen wenn Werte in den Koordinaten stehen?

    Gruß Roland


    Wie poste ich falsch?

    Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.

    Konrad Adenauer

  • Nach Steuerungshochlauf steht da aber nix drinn.

    Nach der SAK-Fahrt mit PTP $POS_ACT schon.

    Der Roboter bewegt sich dabei ja nicht und steht immer noch an derselben Stelle.

    Gruß Roland


    Wie poste ich falsch?

    Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.

    Konrad Adenauer

  • Wäre zum Beispiel möglich mit:


    SPS.Sub vor der LOOP...


    IF $MODE_OP==#EX THEN

    CWRITE($CMD,STAT,MODE,"RUN /R1/GetWorldPosition()")

    ENDIF


    Und in GetWorldPosition.src setzt Du $TOOL und $BASE auf $NULLFRAME.

    Dann $POS_ACT lesen und auswerten.

    Fertig

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