20. März 2019, 08:15:08
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

[offen] Koordinaten errechnen, oder relativ verfahren


hot_post Autor Thema: [offen] Koordinaten errechnen, oder relativ verfahren  (Gelesen 3528 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

06. März 2018, 15:44:42
Gelesen 3528 mal
Offline

Robohobo


Guten Tag, liebe Programmierexperten.
Ich habe mehrer Jahre mit KUKA gearbeitet und jetzt überlegt der Chef einen Yaskawa zu beschaffen.
Meine Programmiererfahrung hat noch keine vernünftige Lösung ergeben. Ist es möglich bei Yaskawa die Koordinaten
einzelner Punkte zu verrechnen und weiter zu übergeben?
Bsp: Punkt 1; x=1, y=1; z=1
                      for n=5
                      x= 1+2, y=1+2, z=1+2
                     MOVL zu Punkt 1
                     endfor
Ich hoffe ich habe mich verständlich ausgedrückt.
Ich wäre für Tipps und Anregungen sehr dankbar.

                  
  • gefällt mir    Danke

Heute um 08:15:08
Antwort #1

Werbung

Gast

06. März 2018, 20:46:54
Antwort #1
Offline

Blauer


Nabend,
natürlich ist es möglich Positionen zu berechnen. Dafür gibt es die P Variablen. Diese kannst du in xyz in Robot oder Base Frame anlegen. Mit GETE und SETE Befehl die Elemente 1- 6 auslesen und setzen.
  • gefällt mir    Danke
Rechtschreibfehler sind beabsichtigt und dürfen behalten werden

08. März 2018, 08:19:13
Antwort #2
Offline

Robohobo


Vielen Dank für die Schnelle Antwort,
jetzt weiß ich erstmal wonach ich suchen muss. Ich lese mich da hinein.
  • gefällt mir    Danke

08. März 2018, 11:44:55
Antwort #3
Offline

Motomähn


Bevor Du eine Positionsvariable verwenden kannst, muss sie definiert werden. Man kann einfach die Encoderdaten darin speichern, oder auch Koordinaten.
Bsp.

GETS PX001 $PX000 --> Die aktuellen Encoderwerte werden in die P-Variable P001 geschrieben
GETS PX001 $PX001 --> Die aktuelle Position im Roboterkoordinatensystem und das aktuelle Werkzeug werden in die P-Variable P001 geschrieben

CNVRT PX002 PX001 UF#(1) --> In die Positionsvariable P002 werden die Positionsdaten umgerechnet auf das Anwenderkoordinatensystem 1 aus P001 geschrieben

ADD P001 P002 --> Die Werte aus P001 werden einzeln mit den Weren aus P002 addiert und als Ergebnis in P001 gespeichert

GETE D001 P001 (1) --> Wert Nr.1 von P001 (je nach definition der P-Variablen Achse 1 oder X in 1/1000mm) wird in die Variable D001 geschrieben

SETE P001 (1) D001 Der Wert aus D001 wird in den Wert Nr.1 von P001 geschrieben
« Letzte Änderung: 08. März 2018, 11:57:30 von Motomähn »
  • gefällt mir    Danke

08. März 2018, 14:06:30
Antwort #4
Offline

Robohobo


Hi,
verstehe ich es richtig dass durch die addition : ADD P001 P002, ist einer vektoriellen addition gleich. Rein rechnerisch gut,
Nur für die Verfahrbewegung ist es mir unklar wo man soetwas anwenden kann.
Ich habe heute sehr viel in Foren gelesen wie solche Aufgaben zu lösen sind und habe immer noch offenen Fragen:
Wenn ich punkte teache:
1    MovJ
2    MovC
5    MovC
8   MovC
Sind die im Kode unter Zeilennummern notiert. Wie komme ich zu den koordinaten vom Punkt in der zeile 5?
Hoffentlich ist es keine zu doofe Frage, bei kuka sind die koordinaten einfach einem punkt P1,P2...(der von mir aus einen namen hat: Anfang,Ende,SOLALA) zugeordnet?
Dann habe ich noch nichts über eine operation gefunden bei der eine For n to ... Schleife vorkommt. Gibt es soetwas bei motoman?

Bsp:

MovJ
MocC
MovC
MovC
For n=1 to 20
MovJ
Dann addiere wert 2 zu jedem wert der einzelnen X-Koordinate der movC bewegung
MOVC
MOVC
MOVC
endfor


Danke Danke Danke
  • gefällt mir    Danke

Heute um 08:15:08
Antwort #5

Werbung

Gast

08. März 2018, 14:15:16
Antwort #5
Offline

Motomähn


Das ist kein KUKA!
Die Positionen werden bei Motoman normal in Encoderdaten gespeicher, deswegen kann man damit eh nicht viel anfangen. Die Positionsdaten werden im Programmkopf als Variable gespeichert. Wenn man darauf zugreifen, oder damit rechnen möchte, muss man es aber in P-Variable schreiben. Man kann auch die Daten von einer geteachten Position lesen, über - ich glaube - GETPOS.
Mit ADD ist es genau wie beschrieben, jeder Wert wird einzeln addiert. Nix Vektor. Dafür gibt es MULMAT und INVMAT
  • gefällt mir    Danke

12. März 2018, 08:50:35
Antwort #6
Offline

Robohobo


Ok soweit habe ich es verstanden. Hauptsächlich dass es unnötig komplizierter ist. Aber ich stehe
auf Herausforderungen.
Trotzdem Hoffe ich dass Ihr meine Überlegungen prüfen könnt.
Getpos PX060 STEP#(1) ;Der befehl holt die aktuielle Position und beschreibt P Variable 60.
Wie ist denn STEP 1 Deffiniert?Ist es die Zeile mit dem MOV Befehl?
Kann ich dann alle Punktkoordinaten so in P060, P070,.... Speichern und rechnen( also danach mit GETE P060(1,2,3,4 für xyz) und dann mit SET Befehl wieder setzen?
Wie mache ich denn die Zuordnung zwischen Koordinaten mit denen ich arbeite und Punkten?

Vielen Dank für eure Hilfe.
  • gefällt mir    Danke

14. März 2018, 06:21:41
Antwort #7
Offline

Blauer


Für welche Anwendung willst du denn die Positionen neu berechnen? Vielleicht machst du dir es gerade unnötig schwer und es gibt für deine Aufgabe einen viel einfacheren Weg.
  • gefällt mir    Danke
Rechtschreibfehler sind beabsichtigt und dürfen behalten werden

14. März 2018, 09:34:44
Antwort #8
Offline

ROBOTBOSS


Hallo,

bitte verlass dich aber nicht darauf das der Roboter wenn du mit P-Vars arbeitest und rechnest auch dahin fährt wohin er soll.
Aus aktuellem Anlass kann ich berichten das der Roboter vor allem wenn er einen langen Arm hat und über Winkel rechnen soll nicht richtig die Koordinaten berechnet und anfährt.

Nach offizieller Aussage von Motoman Deutschland gibt es keine Angabe zur Absolut-Genauigkeit wie bei KUKA , ABB , FANUC.
Nur zur Wiederholungsgenauigkeit !

Der Roboter darf bis zu 6mm falsch berechnen und verfahren. Diese Toleranz räumt sich MOTOMAN offiziell ein !

Also pass auf !
Mein Kunde ist sehr verärgert darüber !

  • gefällt mir    Danke
Nichts ist einfach - alles bedarf der Übung !

Heute um 08:15:08
Antwort #9

Werbung

Gast

14. März 2018, 15:06:20
Antwort #9
Offline

Blauer


Einfach sowas Zusammenhangslos ohne Art der Anwendung und den Vorgaben die beim Kauf angegeben wurden zu posten finde ich schon ein wenig frech.....
  • gefällt mir    Danke
Rechtschreibfehler sind beabsichtigt und dürfen behalten werden

14. März 2018, 19:03:50
Antwort #10
Offline

ROBOTBOSS


Hi. 

Frech?
Was soll bitte daran frech sein?
Ein Kinematisches Modell (3m Arm) auf den Markt zu bringen welches nicht vernünftig
rechnen oder die Bahn halten kann ohne zu zittern.
DAS ist frech!!!

Da ich und der Kunde das ausbaden dürfen darf ich auch mal die weniger Positiven Fakten nennen.
Das ist schließlich MAG Schweißen und nicht Bahnen zukitten.
Und leider kann das nur per Berechnung geschehen. Und das auch noch mit Winkeln.
Die Wiederholgenauigkeit habe ich ja nicht angezweifelt. Die ist Top.






  • gefällt mir    Danke
Nichts ist einfach - alles bedarf der Übung !

14. März 2018, 21:16:18
Antwort #11
Offline

Roland Keller

Administrator

Nichts ist daran frech.  Aber das ist hier nicht das Thema.
Topic lesen und schreiben wenn man zur Frage eine Antwort hat. Die Frage war nicht ob das Modell die Bahn halten kann ohne zu zittern.
Vielmehr ging es um die Ver- und Berechnung von Koordinaten.

  • gefällt mir    Danke
-------------
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

14. März 2018, 21:50:40
Antwort #12
Offline

ROBOTBOSS


Hi, 

ok, sehe ich ein.
Dann war es der falsche Tread.
Sorry !
  • gefällt mir    Danke
Nichts ist einfach - alles bedarf der Übung !

Heute um 08:15:08
Antwort #13

Werbung

Gast

15. März 2018, 11:52:40
Antwort #13
Offline

Motomähn



Jetzt mal ganz ehrlich, und bitte als konstruktive Kritik verstehen!
An Deine Fragestellung ist deutlich zu erkennen, dass Du weder unsere Antworten, noch die Seiten aus den Manuals zu dem Thema durchgelesen hast. Mach das bitte mal und wenn Du dann, nachdem Du das alles durch Beispielprogramme versucht hast und immer noch nicht weiter kommst ("ich liebe die Herausforderung"), dann ist Zeit im Forum um Hilfe zu bitten. Dann kannst Du übrigens auch erst abschätzen, ob es bei Motoman wirklich komplizierter ist, oder eben einach ganz anders.

@Robotboss
Ein Roboterarm ist kein starres Gebilde. Die Position wird bei allen Herstellern hinter dem Motor gemessen. Es gibt unendlich viele Belastungszustände und unendlich viele Positionen. Extrembeispiel ein gestreckter Roboterarm mit 3500mm Reichweite hat 500Kg am Haken, oder eben nicht. Wie soll bitte die Absolute position ermittelt werden? Kein Roboterarm ist so Starr, dass er da nicht 10mm "durchhängen" würde. Das Problem haben doch alle Roboterhersteller. Zudem gibt es bei Motoman die Option "hochgenau". Die ist genau für solche Anwendungen, wie Du beschrieben hast, gedacht. Wieso hast Du die nicht bestellt?
« Letzte Änderung: 15. März 2018, 11:57:18 von Motomähn »
  • gefällt mir    Danke

15. März 2018, 12:16:33
Antwort #14
Offline

Robohobo


Hi, danke für die antworten, das zwischendurch über die Roboterbesonderheiten diskutiert wird ist nicht meine Fragestellung oder problem. ( ;) ) Auch ein KUKA hat seine Grenzzustände.
Ja ich werde die anleitung nocheinmal durchgehen, aber da ich noch keinen arm im Haus habe sondern mich dazu entscheiden möchte, will ich im voraus wissen was geht und was nicht. und mit welchem aufwand.
Ich weiß auch dass die genauigkeit mit vielen Faktoren zusammenhängt. In meiner anwendung habe ich langsame bewegungen und wenig last. Die Anwendung ist Auftragschweißen.
Und jetzt nocheinmal zu meiner frage:
Ja ich habe verstanden dass positionen in variabelen apgespeichert werden können.
Ja die werte können Durch addition.... verändert werden und in Positionen wieder geschrieben werden die angefahren werden können.
Jetzt rein formal: Wie beschreibe ich diese neue position damit diese mit einem mov befehl angefahren werden kann.

Mein unverständniss bassiert darauf dass dbei kuka hat jeder punkt der def. worden ist einen namen, und wenn ich irgentwo
schreibe: Punkt(willi) ,K koordinate +20, Fahre zu Willi; dann fährt der roboter dahin. Bei der Yaskawa sehe ich nicht wie die punkte benannt werden.
Ich freue mich auf eure Antworten. Und lese nochmal die anleitung.
Danke








  • 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