26. Juni 2019, 00:52:02
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

[offen] KRC4 Berechnung von Zielpunkten


normal_post Autor Thema: [offen] KRC4 Berechnung von Zielpunkten  (Gelesen 1243 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

22. Oktober 2018, 19:56:30
Gelesen 1243 mal
Offline

nicorola




Hallo Forum,
leider habe ich über die Suchfunktion nicht die passende Lösung zu meinem Problem gefunden!
Und zwar habe ich 4 Greifer die im rechten Winkel zum Flansch und jeweils um 90 Grad versetzt montiert sind.
Alle 4 Greifer können theoretisch jede Aufnahme bestücken. Nun möchte ich jeweils nur Greifer1 pro Aufnahme teachen und die anderen 3 berechnen. Da ich auch noch eintauchen muss, will ich auch noch eine Vorpos. berechnen.

BSP Programmablauf
Switch Greifer
               
                Case 1
                Pos1= TP1                          ;Pos1 = Teachposition
                VorPos1= Pos1 (x -50)     ; Vorposition = 50mm vor Teachposition
 
                Case 2   
                Pos1= TP1 (A6  90)  ; Teachposition und die A6 Achse um 90 Grad gedreht
                VorPos= Pos1 (x -50)
 
                Case 3        
                Pos1= TP1 (A6  180)  ; Teachposition und die A6 Achse um 180 Grad gedreht
                VorPos= Pos1 (x -50)
 
    Case 4         
                Pos1= TP1 (A6  270)  ; Teachposition und die A6 Achse um 270 Grad gedreht
                VorPos= Pos1 (x -50)
 
Endswitch
                PTP        VorPos1              ; Vorposition anfahren
                LIN         Pos1                      ; Zielposition anfahren
    LIN         VorPos1              ; Vorposition anfahren
 
Leider habe ich nirgends die richtige Syntax für meine Berechnungen gefunden. Hat vielleicht jemand ein Bsp. für mich, wie ich so etwas umsetzen kann?
 
Vielen Dank im Voraus!
Gruß Nico
  • gefällt mir    Danke

22. Oktober 2018, 21:37:15
Antwort #1
Offline

d4nuu8


Such mal nach 'geometrischer Operator'. Findest du auch in der Doku. ;) 

23. Oktober 2018, 08:34:41
Antwort #2
Offline

Programmiersklave


Nico, 
schon mal drüber nachgedacht, dass Du überhaupt nichts mehr berechnen musst, wenn Du einfach 4 Tools verwendest? 

Und auch diese ermittelst Du dann einfachst, sobald Du eines eingemessen hast, bei exakter Symmetrie nach dem Motto tool90Grad={x 0,y 0,z 0,a 90,b 0,c 0}:tool0Grad

Grüße,
Michael
  • gefällt mir    Danke

23. Oktober 2018, 13:42:36
Antwort #3
Offline

nicorola



Danke aber leider kann man hier nur karthesisch rechnen. Da ich nur die 6 te Achse drehen will, müsste ich vorher über Inverse in Achspositionen umrechnen und mit Forward zurück...

 

Danke Michael, damit funktioniert es natürlich!
Hast du vielleicht noch den genauen Befehl um ein Tool auf das andere zu kopieren?
Gruß Nico
  • gefällt mir    Danke

23. Oktober 2018, 16:40:27
Antwort #4
Offline

Programmiersklave


Ich rechne ja auch kartesisch. Ist halt ein Glück, dass die A6 genau in Z von tool 0 ($NULLFRAME) liegt. Dadurch kann man den geometrischen Operator dann eben doch verwenden, indem man um A von tool 0 dreht. 

Auch der Befehl steht schon da, ist eine einfache Zuweisung.
tool90Grad={x 0,y 0,z 0,a 90,b 0,c 0}:tool0Grad
tool180Grad={x 0,y 0,z 0,a 180,b 0,c 0}:tool0Grad
tool270Grad={x 0,y 0,z 0,a -90,b 0,c 0}:tool0Grad
$TOOL=tool90Grad...
Oder, noch besser, machst Dir eine Serviceroutine, die Du nur einmal aufrufst, nachdem Du das erste Tool eingemessen hast.
Wenn Du tool_data[1] eingemessen hast, und dann das 90-Grad-Tool auf tool_data[2] haben möchtest, dann 
tool_data[2]={x 0,y 0,z 0,a 90,b 0,c 0}:tool_data[1]
usw.
Dann kannst Du die 4 Tools ja sogar in Inline-Formularen verwenden. 

Einen Kurs hattest Du nie, oder...?

Grüße,
Michael
  • gefällt mir    Danke

24. Oktober 2018, 17:30:17
Antwort #5
Offline

nicorola



Danke für die Blumen Michael... ;)  Aber im Grunde hast du Recht. Mein Kuka Kurs liegt schon 10 Jahre zurück und das Problem ist, dass ich schon eine Weile nix mehr mit einem Kuka gemacht habe.
Allerdings war dieses Problem auch nicht so Standart, denn die Idee mit Inverse und Forward kam von der Kuka Hotline und war mir einfach zu aufgebläht!
Und ganz so einfach war die Umsetzung deiner Idee dann auch nicht, da ich mein Werkzeug schon vermessen hatte und deshalb zu dem von dir vorgeschlagenem Offset in A auch noch einen jeweils unterschiedlichen in X bzw Y benötigte.
Habe jetzt 4 Greifer angelegt und numerisch meine Offset Daten eingegeben und je nach Tool fährt er jetzt den selben Punkt mit den unterschiedlichen Greifern aus der selben Richtung an. Von daher:

Vielen Dank :danke:
  • gefällt mir    Danke

25. Oktober 2018, 08:54:38
Antwort #6
Offline

Programmiersklave


Rein akademisch, da Du das Problem ja schon gelöst hast: eben nicht, das war ja der Witz dabei.

Der geometrische Operator hätte die Frames hintereinander gehängt. Du sprichst von einem Offset, das wäre der Fall gewesen, wenn Du die Verdrehung hinter Dein Ausgangstool gehängt hättest.

Der Vorschlag war aber, die Verdrehung auf das Flanschtool anzuwenden, und das vermessene Tool dann an das verdrehte Flanschtool zu hängen. Das Flanschtool ist = $NULLFRAME, und guckt in Z aus dem Flansch. Wenn man also rechnet

$NULLFRAME:{x 0,y 0,z 0,a 90,b 0,c 0}, dann macht KRL daraus ein um 90 Grad (um A6) verdrehtes Flanschtool. Und an jenes hättest Du wiederum Dein eigenes, eingemessenes Tool hängen können:

$NULLFRAME:{x 0,y 0,z 0,a 90,b 0,c 0}:eigenes_altes_tool
Und $NULLFRAME kann man natürlich weglassen, ist ja null. Also: Verdrehung VOR Dein Tool= Drehung um Flanschmittelpunkt. Verdrehung HINTER Deinem Tool=Drehung um dessen TCP.

Das Gleiche kannst Du bei Punkten machen: Verschiebung/Verdrehung vor dem Punkt=Verschiebung/Verdrehung im Base-Koordinatensystem.  Verschiebung/Verdrehung nach dem Punkt=Verschiebung/Verdrehung in Punktrichtung/um den Punkt.

Bei Bases geht es natürlich auch, wobei das mehr Sinn hat bei mehreren verketteten Bases. Das unterste Base in der Verkettung kann man sonst nur um Welt verdrehen, meist also um den Roboter-Fußpunkt.

Grüße,
Michael
« Letzte Änderung: 25. Oktober 2018, 08:56:55 von Programmiersklave »
  • gefällt mir    Danke

25. Oktober 2018, 09:32:55
Antwort #7
Offline

Pat-187


Wenn ich richtig verstehe, hat er vier identische Werkzeuge am Flansch, die jeweils um 90° versetzt sind, richtig?! 
Also immer der gleiche TCP nur halt 90° in "A" gedreht.
Warum dann überhaupt rechnen? Es reicht doch aus, das richtige Tool vor Beginn des Abholens umzuschalten?!
  • 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