19. Januar 2019, 13:30:30
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

 Wie wird das "PERS wobjdata" berechnet oder wie kommt es zustande?


normal_post Autor Thema:  Wie wird das "PERS wobjdata" berechnet oder wie kommt es zustande?  (Gelesen 2662 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

16. Februar 2011, 20:29:17
Gelesen 2662 mal
Offline

Downloadmaster007


Hallo liebes Forum,
ich habe ein Modul erstellt und habe das Workobject als erstes anhand von 3 Punkten definiert. Diese 3 Punkte sind wie folgt:
X1 [[-453.62,-178.29,1788.78],[0.994179,-0.011432,-0.001595,0.107123],[0,-3,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,z1,tJet8;
X2 [[189.94,-177.48,1787.55],[0.495271,-0.009044,-0.009778,0.868637],[1,-3,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,z1,tJet8;
Y1 [[-22.2,448.59,1740.95],[0.645723,-0.006084,0.011883,-0.763456],[-2,-3,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,z1,tJet8;
         X-      Y-        Z-Koordinaten     Euler Winkel                                          ????                   ????????
Nach dem Definieren der 3 Punkte als Objekt und Anwender jeweils die selbe Position erhalte ich nach dem abspeichern die folgende erste Zeile im Modul:
PERS wobjdata wobj_mod_48:=[FALSE,TRUE,"",[[493.031,2381.94,2070.2],[1,-0.000194,9.1E-05,9.9E-05]],[[-0.000857,-0.003725,-0.000596],[1,-2E-06,1.9E-05,1.5E-05]]];
                                                                            X-          Y-          Z-Koord.        Quaternien                          X-            Y-               Z-Koord.        Quaternien

Wieso sind in der Zeile 2 Punkte? Irgendwie müssen die ja errechnet werden vielleicht weiß jemand bescheid.
Bei den oberen drei Punkten habe ich noch Fragezeichen gemacht. Wenn jemand weiß wofür diese Werte stehen würde ich mich freuen.
« Letzte Änderung: 19. Februar 2011, 22:40:47 von Downloadmaster007 »
  • gefällt mir    Danke

Heute um 13:30:30
Antwort #1

Werbung

Gast

17. Februar 2011, 08:20:33
Antwort #1
Offline

Dos6.22


Steht alles im Handbuch, möchte ich aber nicht alles hier reinkopieren.
Aber um es kurz zu sagen, damit sind die Achsstellungen und evt. vorhandene Externe Achsen gemeint

Struktur
< dataobject of robtarget >
< trans of pos >
< x of num >
< y of num >
< z of num >
< rot of orient >
< q1 of num >
< q2 of num >
< q3 of num >
< q4 of num >
< robconf of confdata >
< cf1 of num >
< cf4 of num >
< cf6 of num >
< cfx of num >
< extax of extjoint >
< eax_a of num >
< eax_b of num >
< eax_c of num >
< eax_d of num >
< eax_e of num >
< eax_f of num >


CONST robtarget p15 := [ [600, 500, 225.3], [1, 0, 0, 0], [1, 1,
0, 0], [ 11, 12.3, 9E9, 9E9, 9E9, 9E9] ];
Eine Position p15 wird wie folgt definiert:
• Die Position des Roboters: x=600 mm, y=500 mm und z=225,3 mm im Objekt-
Koordinatensystem.
• Die Orientierung des Werkzeugs hat die gleiche Richtung wie das Objekt-
Koordinatensystem.
• Die Achsenkonfiguration des Roboters: Achse 1 und 4 in Position 90-180°, Achse 6
in Position 0-90°.
• Die Position der externen logischen Achsen a und b, ausgedrückt in Grad oder mm
(abhängig vom Typ der Achse). Achsen c bis f sind undefiniert.





Zum wobj steht deutlich mehr im Handbuch, da liest du am besten gleich dort.
Die Handbücher sind auf der CD, die beim Roboter dabei ist.
Dort Technisches Referenzhandbuch->RAPID Handbuch
« Letzte Änderung: 17. Februar 2011, 08:24:51 von Dos6.22 »
  • gefällt mir    Danke

17. Februar 2011, 10:02:07
Antwort #2

mischwarz

Gast
Wichtig ist sicherlich noch, dass die Rotation nicht in Winkel sondern in Quaternien angegeben werden.
  • gefällt mir    Danke

19. Februar 2011, 13:50:41
Antwort #3
Offline

Downloadmaster007


Danke für die bisherigen Antworten. Aber weiß niemand genau wie die 2 Punkte im workobject berechnet werden, da ja 3 Punkte verwendet wurden?
Das Handbuch auf CD habe ich leider nicht auf Arbeit, irgendwie hat sich da noch keins angefunden. Habe ein Rapid Handbuch, hat aber nur ungefär 150 Seiten und scheint mir nur eine gekürzte Variante zu sein.
  • gefällt mir    Danke

19. Februar 2011, 21:47:45
Antwort #4
Offline

Hermann


Die zwei Punte sind jeweils die Ursprünge des Objectframes und des  Userframes.
Im wobjdata werden zwei Koordinateverschiebungen die nacheinander ausgeführt werden beschrieben.
In Deinem Beispiel ist der Objectframe quasi gleich Null (keine Verschiebung).

Der Ursprung wird aus dem Schnittpunkt der Geraden X1-X2 und dem Lot von Y1 auf eben diese Gerade berechnet (Steht so, glaube ich jedenfalls, nicht mal in der Doku). Da Du die Punke für den Objectframe und den Userframe identisch gewählt hast, ergibt die zweite Verschiebung dann eben KEINE Verschiebung (eigentlich sollte ich an Stelle von 'Verschiebung' eher 'Transformation' schreiben).
« Letzte Änderung: 19. Februar 2011, 21:51:55 von Hermann »
  • gefällt mir    Danke

Heute um 13:30:30
Antwort #5

Werbung

Gast

19. Februar 2011, 22:38:05
Antwort #5
Offline

Downloadmaster007


Danke Hermann,
ich habe eventuell noch ein paar Fragen für dich.

Wenn ich also den 1ten Punkt [493.031,2381.94,2070.2] anfahren würde, dann würde es der Schnittpunkt alle 3 Punkte sein oder anders gesagt der Nullpunkt eines neuen Koordinatensystems?

               X1
                |
Y1---------| <ich meine diesen Punkt mit Schnittpunkt
                |
                |
               X2

Das heißt wenn ich den Objectframe anders definiere dann würde es sich noch weiter verschieben, da sie nacheinander ausgeführt werden.

Was bringt es überhaupt beim Definieren eines Workobjects die drei Punkte als Anwender zu setzten und dann angenommen 3 andere Punkte als Objekt zu setzten. Bzw. welchen Zweck hat es das zu tun.
« Letzte Änderung: 19. Februar 2011, 22:48:05 von Downloadmaster007 »
  • gefällt mir    Danke

20. Februar 2011, 08:08:35
Antwort #6
Offline

Hermann


- Ja
- Ja
- Zweck: Bsp.: Auf einem Drehtisch mit zwei Stellungen befinden sich jeweils mehrere identische Vorrichtungen, in denen etwas geschweisst wird. Da bekommt der drehtisch den userframe und jede Vorrichtung einen anderen objectframe bzgl des Drehtisches.
 Oder man benutzt den objectframe um eine gemessene Verschiebung zu berücksichtigen ....
  • gefällt mir    Danke


Teile per facebook Teile per linkedin Teile per pinterest Teile per reddit Teile per twitter
 

über das Roboterforum

Nutzungsbedingungen Impressum Datenschutzerklärung

Sponsoren des Roboterforums

ROBTEC GmbH