Samstag, 4. September 2010, 06:20 UTC+1

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

deicebear

Anfänger

Beiträge: 5

1

Montag, 26. April 2010, 11:32

Offset Programmieren

Hallo,



ich habe schon viel Fanuc, ABB, T1 und Kawasaki Roboter online/offline geteacht und Programmiert. Jetzt habe ich einen Kuka Roboter und möchte gerne folgendes machen:

Er soll einen Proband greifen, also einen Joystick und soll ihn hin und her bewegen, dass ist alles - allerdings möchte ich das Dynamisch programmieren.



Erstmal die 4 wichtigen Fragen, ob es möglich ist:



1. Kann ich eine Position Teachen, mit Kuka, und dann sagen, der nächste Punkt ist der selbe nur mit +x von 20 mm?

2. Kann ich dann auch irgendwie bestimmen, ob ich Bezug auf die Base, dem Tool oder der World zur Verschiebung nutze?

3. Kann man auch statt +20mm eine Variable nehmen und sagen +k und k hat den Wert 20mm?

4. Nun würde ich die Werte gerne noch per TXT Datei oder irgendwie an den Roboter übertragen (per i/os, oder einfache Init Datei)



Wenn der Roboter das alles kann (und ich denke mal, das ist ein Kinderspiel für das Gerät), bleibt nur noch die Frage wie und wie ist der Syntax?



So möchte ich quasi nur einen Punkt teachen und alles per Offset verfahren, er soll über den Joystick fahren, je nach Länge des Joysticks wird der TCP per Offset verschoben (ca. 40 Varianten an Joysticks habe ich hier), dann 20 mm runter in -z, der TCP ist genau in dem Kugelgelenk, nun den Greifer schließen und dann in +30° nach x kippen und zurück in -30° x. Es ist nur ein Probeaufbau und nichts Weltbewegenes, für Hilfe wäre ich sehr Dankbar.



Es ist ein KRC2 Schrank und ein KR6 Robbi, Softwarestand von 2007.



Vielen Dank für eure Hilfe :) Gruß deicebear

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »deicebear« (26. April 2010, 11:47)


deicebear

Anfänger

Beiträge: 5

2

Montag, 26. April 2010, 12:25

ok, ich glaube ich hab es schon fast rausgefunden:


Man kann eine Relativbewebung ausführen mit z.B:
PTP_REL {A1 35,A3 –45} oder

LIN_REL



nur woher weiss ich, auf welches Koordinatensystem es sich bezieht? Hoffe ich verstehe das mit den rel Bewegungen richtig, wie beim CNC programmieren? Beim ABB rechnet man nämlich einfach + dazu und gut ist.



Die einzelnen Parameter daten würde ich dann über das aufrufen eines nicht-Bewegungsprogrammes in die Variablen setzen und dann könnten sie mit leichtigkeit angefahren werden.



Jetzt bloß noch die Frage wie eine Variable hier ausschaut, ich glaube ne Variable wird nicht nesonders bezeichnet, nur Globale erhalten ein $-Zeichen? Lokal reicht mir hier ja vollkommen aus, dann würde der Befehl so aussehen:



LIN_REL {x 20} bzw mit Variable LIN_REL {x k}



und das wars?



Wie kann ich jetzt noch sagen, das der TCP vom Flansch sich nähert oder entfernt? Gibt es da auch so eine einfache Programmzeile?

deicebear

Anfänger

Beiträge: 5

3

Montag, 26. April 2010, 12:49

Sowas in der Art, für den TCP zum verschieben wie hier:



$BASE.y = $BASE.y + iBASE_OFFSET_Y
aus dem Thread: Basiskoordinatensystem verschieben



ginge dann auch

$Tool.y = $Tool.y + 20 ?

deicebear

Anfänger

Beiträge: 5

4

Mittwoch, 28. April 2010, 15:26

Also mittlerweile bin ich soweit, das ich ein komplettes Programm fahren kann mit nur einem geteachten Punkt. Nun würde ich noch gerne den Abstand vom Tool zum Flansch per Variable verstellen können, sprich Tool.x



Falls jemand bescheid weiss, bitte den kurzen Code posten, wie es gehen könnte, ich hatte bisher folgendes ausprobiert:



$Tool = $Tool_Data[3]

$Tool.x = $Tool.x + offset_wert



..funktioniert aber leider nicht.

Ähnliche Themen