Roboterforum Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?
18. Mai 2012, 13:09:07
Übersicht Hilfe Suche Kalender Einloggen Registrieren
News: English and international Robotsupport now on Robot Forum. Also Supported by the Moderators of the roboterforum.de

Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  ABB Roboter (Moderatoren: burlibua, Sven Weyer, rmac)  |  Thema: Werkzeug drehen um Bahnkoordinaten 0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Werkzeug drehen um Bahnkoordinaten  (Gelesen 1694 mal)
Betze
Stammgast
**
Offline Offline

Beiträge: 40


« am: 30. März 2008, 19:56:11 »

Hallo Community,
möchte gerne  anhand von zwei programmierten Positionen ein so genanntes Bahnkoordinatensystem erstellen um später das Werkzeug um die X bzw. Y Achse der Bahn zu drehen. Hat jemand ne Idee wie man das macht?

Übrigens Steuerung der Roboter ist IRC5

Gruß Betze
Gespeichert
högi
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 288



« Antworten #1 am: 31. März 2008, 16:49:12 »

Hallo Betze

Es gibt den Befehl "Reltool" der genau das macht was du brauchst. Very Happy
Da brauchst du nur das Werkzeug nach deinen X bzw. Y Koordinaten auszurichten.

Funktioniert wie Offset, halt nur im Werkzeugkoordinaten System.
Findest du in der Robodoku!

Gruß
Högi
Gespeichert

Zwei Dinge sind unendlich,das Universum und die menschliche Dummheit. Aber bei dem Universum bin ich mir noch nicht ganz sicher, !!!!
Albert Einstein
Betze
Stammgast
**
Offline Offline

Beiträge: 40


« Antworten #2 am: 03. April 2008, 09:33:57 »

Hallo Högi,
vilen Dank für deine Antwort. Leider ist das nicht ganz das was ich suche. Mit RelTool drehe ich ja um das Werkzeug Koordinatensystem ich möchte allerdings den geteachten Punkt um ein Koordinaten system drehen, das aus zwei übergeben Positionen berechnet wird.
Da ich nicht so ein Erklärbär bin ein kleines Beispiel .

PROC MoveTest( robtarget p1,
robtarget p2,
num WinkelX,
PERS tooldata Werkzeug,
PERS wobjdata wobj)

 VAr pose Frame1;
 VAr robtarget dummyP1;
 VAr robtarget dummyP2;

! Original Positionen dummycPosditionen zuweisen
dummyP1:=p1;
dummyP2:=p1;

! Definiere Kordinatensystem
!Damit x richtung in Richtung p2 zeigt wird der Punkt NewP3 einfach in Werkzeugrichtung Y von P1 Verschoben)
frame1:=DefFrame(p1,p2,Reltool(p1,0, 50,0)\Origin:=1);
! jetz müsste eigentlich noch was kommen aber was?
!?????
!?????
!?????
dummyP1.rot:=????????? WinkelX;
dummyP2.rot:=????????? WinkelX;
ArcLStart dummyP1,v100,globalseam,globalweld\Weave:=globalweave,fine,Werkzeug\Wobj:=wobj;
ArcLEnd dummyP2,v100,globalseam,globalweld\Weave:=globalweave,fine,Werkzeug\Wobj:=wobj;

ENDPROC

So jetzt ist mein Neues Koordinatensystem genau so definiert wie ich es haben möcht. Die Frage ist nur wie gehe ich weiter vor, da ich  die Positionen p1 und p2  um die X Achse des erstellten Frames drehen möchte.   

Gruß Betze
Gespeichert
stromer
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 272


Denken hilft


« Antworten #3 am: 03. April 2008, 12:40:31 »

Hallo Betze,

ich könnte mir folgendes vorstellen:
wenn es möglich ist, Dein Toolkoordinatensystem in einer Achse parallel zu Deinem Bahnkoordinatensystem zu stellen kannst Du den Reltool benutzen und um die parallele Achse drehen lassen.
Wenn das nicht geht bleibt noch die umständliche Variante mit selber rechnen. Du liest die aktuellen Winkel von Deinen Teachpunkten aus (EulerZYX), verrechnest den/die gewünschten Winkel und schreibst sie wieder zurück in die Positionen (OrientZYX). Immer alle Winkel auslesen und wieder zurückschreiben!

Gruß
Stromer
Gespeichert
ErikPa
Stammgast
**
Offline Offline

Geschlecht: Männlich
Beiträge: 30



« Antworten #4 am: 03. April 2008, 21:31:39 »

Hallo Betze,

schönes Problem, dass du hast, nur leider verstehe ich das nicht so richtig.
in deinem code steht z.B. folgendes:

frame1:=DefFrame(p1,p2,Reltool(p1,0, 50,0)\Origin:=1);

Du hast hier 2 Punkte, und möchtest dein neues Frame über den 3. Punkt (linear tool y) verschoben berechnen ????
 huh
Wie steht Dein Werkzeug, kannst Du dieses dafür überhaupt verwenden?
 Denken
Ich nehme an, dass Du am schweißen bist, und verschiedene Kehlnähte automatisiert übereinander legen willst, mit einer definierten Verschiebung zu deiner 1. Naht???
 huh
Beschreibe bitte mit ein paar Worten dein Problem, damit ich mir ein paar Gedanken machen kann. Vielleicht kannst Du ja auch dein Wobj. verschieben, oder aber Deine Punkte neu über Winkelfunktionen berechnen.
 meld
Mit freundlichem Gruß

ErikPa
Gespeichert

Lieber einen Roboter, als gar keinen Freund
Betze
Stammgast
**
Offline Offline

Beiträge: 40


« Antworten #5 am: 07. April 2008, 18:41:20 »

@ErikPa

Hallo,
wie du schon vermutet hast möchte ich gerne mehrere Nähte über einander schweißen.  Ich könnte hierführ die Option AWC MultiLayer verwenden. Da ist leider nur ein Haken. Ich darf bei den in Frage kommenden Nähten nicht Pendeln. Fazit: Ohne Pendeln kein Tracking mit AWC möglich. Also Lasertraker anbauen. Haben wir auch gemacht. Leider sind die nötigen Funktionen (speichern der Bahn usw.) in der RW 5.10 noch nicht verfügbar. Und das tracken ist auch sehr instabil .  Also mußtenn wir uns selber etwas überlegen. Auch das habe ich gemacht .

Grobe Erklärung des Prinzips:
Es werden Start und Endpunkt der Naht geteacht. Wobei es nur darauf ankommt  das diese Positionen im Sichtbereich des Sensors liegen und die Orientierung gleich der Schweißposition ist. Dann wird die Bahn in mehrere Positionen aufgeteilt (Anzahl Scans)  an denen jeweils eine Messung vorgenommen wird. Die Ergebnisse werden dann entsprechend der Anzahl der Merssungen in ein Array abgelegt, damit sie zum späteren Zeitpunkt beim Schweißen zurückgeholt werden können.

Da ich aber irgendwie an der Orientierung des geteachten Punktes gebunden bin habe ich nicht die Möglichkeiten das Mehrlagen schweißen weiter voran zu treiben . Der translatorische Anteil ( das verschieben um Y und Z ) ist kein Problem.

Falls einer mein Gefasel verstanden haben sollte, bitte ich Euch um Mithilfe.  danke

Gruß Betze


Gespeichert
Sven Weyer
Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 912



WWW
« Antworten #6 am: 07. April 2008, 20:10:06 »

Hi,
also Du hast Deine zwei Punkte, schön für die Punkte.
Anbei eine Möglichkeit dein Werkobjekt in jede möglich Richtung drehen bzw. Verschieben zu können.

FUNC wobjdata f_ModifyWobj(
    PERS wobjdata Wobj,
    num DeltaX,
    num DeltaY,
    num DeltaZ
    \num RotX
    |num RotY
    |num RotZ)

    VAR wobjdata wCalc:=[FALSE,TRUE,"",[[0,0,0],[1,0,0,0]],[[0,0,0],[1,0,0,0]]];
    VAR robtarget pCalc:=[[0,0,0],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

    ! Routinenaufruf:
    ! t_WobjNew:=ModifyWobj(t_WobjOld,XOffset,XOffset,ZOffset\RotX:=AngleArroundX|\RotY:=AngleArroundY|\RotZ:=AngleArroundZ);
    ! TCP-Änderung in X,Y,Z können in einem Schritt ermittelt werden
    ! Änderungen in der Orientierung solten nur schrittweise, immer eine Orientierungsänderung pro Schritt ermittelt werden
    wCalc:=Wobj;
    pCalc.trans:=Wobj.uframe.trans;
    pCalc.rot:=Wobj.uframe.rot;
    IF Present(RotX) pCalc:=RelTool(pCalc,DeltaX,DeltaY,DeltaZ\Rx:=RotX);
    IF Present(RotY) pCalc:=RelTool(pCalc,DeltaX,DeltaY,DeltaZ\Ry:=RotY);
    IF Present(RotZ) pCalc:=RelTool(pCalc,DeltaX,DeltaY,DeltaZ\Rz:=RotZ);
    wCalc.uframe.trans:=pCalc.trans;
    wCalc.uframe.rot:=pCalc.rot;
    RETURN wCalc;
  ENDFUNC

Der Aufruf wird wie folgt durchgeführt:
wTest:=f_ModifyWobj(wOriginal,WertX,WertY,WertZ\Rx:=RotationX);

So das müsste ohne Problem funktionieren. Hiermit kannst Du Werkonjekte schieben und Drehen wohin du willst. Die Rotation ist optional!

Sven
Gespeichert

Wer nichts macht macht keine Fehler!
Wer keine Fehler macht kann nichts daraus lernen!
Wer nichts lernen kann kann sich nicht weiterentwickeln!
Wer sich nicht entwickelt geht unter!
Seiten: [1] Nach oben Drucken 
Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  ABB Roboter (Moderatoren: burlibua, Sven Weyer, rmac)  |  Thema: Werkzeug drehen um Bahnkoordinaten « vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS