Roboter verfährt nicht kartesisch

  • Hallo,


    ich habe in der letzten Woche einiges hier im Forum gelesen und dabei viel über die Programmierung von Kuka Robotern gelernt.
    Jetzt stehe ich allerdings vor einem Problem für das ich im Moment keinen Lösungsansatz habe.


    Der Roboter ist ein KR 150/1 von 1998 mit einer KRC1 Steuerung (Software v2.3.24 SP08).
    Den Roboter haben wir gebraucht von einem Autobauer gekauft. Dort wurde er als Schweissroboter eingesetzt und war auch noch entsprechend konfiguriert.


    Das Drehen und Schwenken anhand von absoluten und relativen Gelenkwinkeln funktioniert einwandfrei. Sobald ich den Arm jedoch von Hand kartesisch nach Welt-, Roboter- oder Handkoordinaten verfahren will, verhält er sich seltsam. Beim Verfahren in X-, Y- oder Z-Richtung drehen sich zwar mehrere Achsen, allerdings ist die Bewegung der Werkzeugaufnahme alles andere als eine Gerade im Raum.


    Auch ist mir aufgefallen, dass die Koordinaten der Werkzeugaufnahme relativ zum Roboterfuss niemals mit den kartesischen Werten der Ist-Anzeige übereinstimmen können. Die Winkeleinstellungen der 6 Achsen scheinen jedoch zu stimmen.


    Woran kann das liegen?


    Leider kenne ich die Originalkonfiguration des Roboters nicht. In den vorhandenen SRC- und DAT-Dateien musste ich viel Quelltext auskommentieren um Fehlermeldungen über nicht mehr angeschlossene Kühlksysteme und ähnliches loszuwerden.


    Gibt es eine Möglichkeit um die Steuerung wieder in den Auslieferungszustand zurück zu versetzen?

  • Schritt für Schritt zum Roboterprofi!
  • Woran kann das liegen...


    Maschinendaten
    Justage

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • ja,gibt es.spiel die software neu drauf,ohne die alten daten zu übernehmen.oder du machst es von hand und setzt in der config.dat die werte für tool und base auf Null.

  • In Poweron/R1/$config.dat habe ich sämtliche TOOL_DATA[] und BASE_DATA[] sowie
    auch TOOL_CORR und BASE_CORR auf {X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} gestellt.
    Danach habe ich einen Kaltstart durchgeführt.


    Leider fährt der Arm im Handbetrieb und bei gewähltem Weltkoordinatensystem immer noch alles andere als geradlinig.
    Beim Verfahren entlang X bewegen sich A2 und A3 derart dass die Hand auf einer Kreisbahn in Richtung Fussboden fährt (+-Richtung)
    Beim Verfahren entlang Z bewegt sich hauptsächlich A2 und die Bewegung ähnelt stark dem Verfahren entlang X (dieselbe Bewegungsebene und wieder in Richtung Fussboden in +-Richtung).
    Einzig das Verfahren in Richtung Y bewegt den TCP auf einer schiefen Gerade ungefähr rechtwinklig zur Z-Achse des Roboterfusses.


    Das soll wohl nicht so sein oder? :denk:


    Nach dem Zurücksetzen der TOOL_DATA[] und BASE_DATA[] konnte ich zumindest ohne Fehlermeldung einen PTP Befehl absetzen. Beim Setzen von $TOOL={


    Was bedeuten die Variablen LOAD_DATA[16] in $config.dat?
    (Diese Werte sind praktisch alle mit krummen Werten gefüllt.)


    Es sieht fast so aus, als wenn $WORLD geändert wurde. Wenn ich den Arm in die Kalibrierposition fahre {AXIS: A1 0,A2 -90,A3 90,A4 0,A5 0,A6 0}, gibt die kartesische Positionsanzeige aus: {X 1720, Y 0, Z 1910, A 0, B 90, C 0, S 'B010', T '000010'}.
    Verfahre ich den TCP dann nach X=1500, Y=0, Z=300 (relativ zum Roboterfussmittelpunkt gemessen), dann zeigt die Positionsanzeige an: {X 2382, Y 0, Z 930}.
    Ist es möglich das Weltkoordinatensystem irgendwo zu ändern?


    Eine Neuinstallation scheiterte leider an einer angeblich fehlenden _SETUP.DLL. Vermutlich ist noch mehr an dem Installationsordner defekt.


    Hat evtl. jemand hier im Forum eine originale $machine.dat sowie eine passende $config.dat.
    Noch besser wäre natürlich eine Installations CD.. :blumen:

  • schau mal auf laufwerk d:, da liegt meistens eine Kopie der Installations-CD.


    Ansonsten kannst du auch jede andere Version nehmen,wenn du eh alles neu machen willst.Vielleicht lässt dir jemand eine zukommen oder du fragst da,wo du den Robi her hast.


    Das sonst alles zu Fuß grade zu ziehen,ist ziemlich mühsam.


    MfG

  • Hallo Gregor,


    Zitat

    Ist es möglich das Weltkoordinatensystem irgendwo zu ändern?


    Das Weltkoordinatensystem kann man nicht ändern. Man kann aber sagen wo bezüglich der Welt der Roboterfuß steht. Das findest du in $ROBROOT von R1/$machine.dat.


    Gruß
    Fubini

  • In Krc\mada\R1\$machine.dat steht u.a.:


    FRAME $ROBROOT={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ROBOTER IM WELTKOORDINATENSYSTEM [MM,GRAD]
    FRAME $ERSYSROOT={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0}
    FRAME $TIRORO={X 0.0,Y 0.0,Z 865.0,A 0.0,B 0.0,C 0.0} ;FRAME ZWISCHEN INTERNEN ROBOTERKOORDINATENSYSTEM UND ROBOTERKOORDINATENSYSTEM
    FRAME $TFLWP={X 0.0,Y 0.0,Z 210.0,A 0.0,B 0.0,C 0.0} ;FRAME ZWISCHEN FLANSCH- UND HANDPUNKTKOORDINATENSYSTEM
    FRAME $TX3P3={X 1000.0,Y 0.0,Z 45.0,A 0.0,B 90.0,C 0.0} ;ANBRINGUNG DER ROBOTERHAND
    E6AXIS $H_POS={A1 -37.87465,A2 -118.9776,A3 85.87912,A4 14.08331,A5 95.00507,A6 -17.20842,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
    E6AXIS $H_POS_TOL={A1 2.0,A2 2.0,A3 2.0,A4 2.0,A5 2.0,A6 2.0,E1 2.0,E2 2.0,E3 2.0,E4 2.0,E5 2.0,E6 2.0}


    Was bedeuten diese Werte?
    Kann ich die einfach auf Null setzen?


    Ich arbeite seit zwei Wochen mit Robotern und eigentlich macht die Programmierung auch richtig Spass. Meine 3694R-Implementierung funktioniert, die Qt-GUI auf einem zweiten Rechner kommuniziert seriell mit der Steuerung und die verzweigt dann entsprechend in ihre Unterprogramme. Die Bewegungen sind bis jetzt allerdings nur über Gelenkwinkel programmiert und um mein Werkzeug exakt zu positionieren brauche ich kartesisches Verfahren.


    Wegen Neuinstallieren: Auf D: befindet sich ein Installationsordner. Sobald ich allerdings Setup.exe starte kommt die Fehlermeldung dass _SETUP.DLL fehlt. Ich vermute dass dort noch mehr Dateien fehlen. Auch sind die meisten dort liegenden Skripte mit dem Kommentar BMW versehen. Evtl. wurden Dateien im Installationsordner ausgetauscht. :cry:


    Hat evtl. jemand hier im Forum eine Installation v2.324 oder höher für KRC1 und ist bereit mir einen helfenden Link zuzuwerfen?
    Gerne auch per Mail an roboterATmailbarrierDE

  • Den Roboter habe ich zunächst per Auge in seiner Homeposition justiert (alle Markierungen fluchten).
    Das muss ich eh bei jedem Einschalten tun, da die USV-Batterien platt sind (Ersatz ist bestellt).
    Diese Genauigkeit reicht für unsere Anwendung auch aus.


    Der Einfachheit halber fahre ich den Arm am Ende des Programms wieder in die Kalibrierposition {AXIS: A1 0,A2 -90,A3 90,A4 0,A5 0,A6 0}


    Was wirklich seltsam ist: Beim Verfahren in X- und in Z- Richtung bewegt sich der Arm in derselben Ebene. Normalerweise stehen die Achsen eines Koordinatensystems doch senkrecht aufeinander..?


    Desweiteren scheint die Z-Achse um 180 Grad gedreht zu sein. Wenn ich z.B. folgendes durchlaufe:


    $TOOL=$NULLFRAME
    PTP {X 1452.86,Y 30.96574,Z 1703.026,A 177.1251,B 10.90292,C 170.9659,S 'B0010',T 'B00101010'}
    $TOOL.Z=100
    PTP {X 1452.86,Y 30.96574,Z 1703.026,A 177.1251,B 10.90292,C 170.9659,S 'B0010',T 'B00101010'}


    Dann zeigt die Werkzeugaufnahme in Richtung Boden und bewegt sich im zweiten Schritt 10cm in diese Richtung. Soweit ich verstanden habe, sollte sich der Arm aber doch 10cm nach oben bewegen, damit die Spitze des 10cm langen Werkzeuges sich jetzt an der angegebenen Koordinate befindet. Oder sehe ich das falsch? :denk:

    Einmal editiert, zuletzt von Gregor ()

  • kommt drauf an,wie dein tcp oder tool vermessen wurde.wenn die stoßrichtung nach unten zeigt,dann fährt er ja auch nach unten, wenn du einen positiven Wert verfährst.


    Und wenn du deinen Roboter nach Augenmaß justiert,kann es schon sein,dass er schräg fährt.schon kleine Abweichungen haben da große Konsequenzen.

  • ... und die benannten Makierungen sind jeweils nur die Vorjustageposition, du solltest dann schon versuchen die Messpatrone über die Kerbe zu stellen, kannst du mit einem Schraubendreher rausdrücken, bei den Handachsen dann halt etwas weiter als die Makierung verfahren, dann mal schauen wie sich die Sache verhält!!!

  • Im Gespräch mit dem Kuka Service habe ich jetzt vermutlich den Grund gefunden: Der Roboter ist laut Typenschild ein KR150/1.
    Die installierten Maschinendaten sind jedoch für einen KR150_2_TJ.


    Leider ist der Installationsordner alles andere als komplett. Eigentlich sollten dort mehrere Maschinendaten für verschiedene Robotertypen vorhanden sein..


    Hat jemand zufällig eine solche $machine.dat und kann sie mir zuschicken?

  • Dazu sollte ich eine Mailadresse haben. ;)


    Edit
    Ist an diese Adresse raus
    roboter@mailbarrier.de

    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

    Einmal editiert, zuletzt von Roboman ()

  • fehlt nur noch eine exakte Justage....

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • Da ich weder EMT noch Messuhr zu Hand hatte, habe ich den Justagepunkt mit einem Schraubendreher erfühlt.
    Diese Genauigkeit reicht für unsere Anwendung aus.


    Die falschen Maschinendaten waren ein weitaus grösseres Problem, da dabei die X- und Z-Achse in einer Ebene lagen.

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden