feststehendes Werkzeug

  • Hi,
    ich habe ein Problem. :hilfe:
    Und zwar soll ich ein Programm für einen Kuka schreiben, der mit einem feststehenden Werkzeug arbeitet.
    Habe in der Doku nachgelesen wie das gehen soll. Werde aber nicht so richtig schlau daraus.


    Ich habe das feststehende Werkzeug eingeteacht. wie auch das Werkstück, das der Roboter hält.
    Ich weiß aber nicht wie ich das programmieren soll, dass der Roboter mit dem Werkstück relativ zum Werkzeug verfährt.
    Kann mir jmd helfen?


    Habe das bis jetzt so gemacht. (funktioniert aber nicht) :nocheck:


    $base=base_data[1] ;festst. Werkzeug
    $tool=tool_data[2] ;Werkstück
    $ipo_mode=#TCP ;habs auch schon mit #base probiert, aber laut doku muss es doch #TCP sein?

  • Schritt für Schritt zum Roboterprofi!

  • Hoch :cry: Brauch leider immer noch Hilfe :oops: :bawling:


    :huh: Stell 'ne detailierte Frage. Dann gibt's auch 'ne Antwort. Kann ja keiner raten was du so vorhast und wobei du Schwierigkeiten hast. 8)

    Greetings, Irrer Polterer!

    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.


    Life is a beta version. Full of bugs and no Manual.

  • Also ich will berechnete Punkte abfahren. Die kommen aus nem CAM Programm. Sind aber auf die KRC angepasst.
    Also z.B.


    $base=base_data[1] ;festst. Werkzeug
    $tool=tool_data[2] ;Werkstück am Roboterflansch
    $ipo_mode=#TCP
    PTP Home
    PTP (X 800,Y 600,Z 1200, A 0, B 90, C 180)


    LIN_REL (Y 50);<-- berechnet


    Bei der Linearbewegung verfährt der Roboter aber so als würde ich im Toolkoordinatensystem verfahren.
    Müsste er nicht durch die einstellung $IPO_MODE=#TCP
    in negative Y-Richtung des BASEkoordinatensystem fahren?
    Oder hab ich da nen grundlegenden Denkfehler drin??


    Gruß Green

  • Hallole,
    da liegt glaube ich ein Denkfehler vor.


    Wie soll man's denn erklären?:
    Bei IPO-Mode= #TCP hängt wie schon richtig erkannt das Werkstück am Roboterflansch.
    D.h. das eigentliche Werkstückkordinatensystem hängt am Roboterflansch.
    Und das wiederum heisst, dass bei LIN_REL {Y 50} das Werzeug relativ zu diesem am Roboterflansch befestigten Koordinatensystem gefahren wird. Also sieht es so genau so aus wie beim Handverfahren in Toolkordinaten.
    :huh: :kopfkratz:
    Ist's jetzt klarer? wahrscheinlich auch nicht, aber besser kann ich's nicht erklären.


    Evtl. hilft da auch mal ein Blick in die Doku, da gibt es einige schöne Bilder dazu.


    Warum im Kuka-System die eigentlichen Toolkoorinaten im BASE_DATA und die Werkstückkordinaten im TOOL_DATA landen, das verstehe wer will. Aber meiner Meinung nach kommen solche 'Denkfehler' genau daher.


    Gruss Hermann
    PS: Kleiner Abschweif: Bei ABB-Robotern ist das (denke ich) deutlich logischer und einsichtiger gelöst.

  • Hallo.
    estmal danke für die schnelle Antwort Hermann.


    Zitat

    D.h. das eigentliche Werkstückkordinatensystem hängt am Roboterflansch.
    Und das wiederum heisst, dass bei LIN_REL {Y 50} das Werzeug relativ zu diesem am Roboterflansch befestigten Koordinatensystem gefahren wird. Also sieht es so genau so aus wie beim Handverfahren in Toolkordinaten.


    Leider versteh ich das immer noch nich richtig. :???:
    Wenn das Werkstück am Roboterflnasch hängt, und das Werkzeug relativ zum Werkstück "verfahren" wird, dann müsste sich doch das Werkstück dem Werkzeug um 50mm nähern :huh: :kopfkratz:


    Werde die Fahrbefehle jetzt aber nich mehr als relativ weitergeben.
    So funktioniert es. :zwink:

  • Tach auch :zwink:


    Zu erst einmal solltest du sicher stellen das du dich im Koordinatensystem des Werkzeugtisches befindest. Das erreichst du wenn du den Nullpunkt relativ zum Roboter in BASE_DATA[1] einträgst. Normalerweise kann man das mit Hilfe des Roboters einmessen (3 oder 4-Punktmethode...)


    Beispiel:
    BASE_DATA[1]={X 2369.51294,Y -1700.56201,Z 1996.70398,A 90.0876083,B -0.0217150003,C -0.134186998}


    Wenn du jetzt dein (leicht geändertes :idea: ) Programm....
    $base=base_data[1] ;festst. Werkzeug
    $tool=tool_data[2] ;Werkstück am Roboterflansch
    $ipo_mode=#BASE ;<<<--- Änderung
    PTP Home
    PTP (X 800,Y 600,Z 1200, A 0, B 90, C 180)


    ...ausführst bewegt sich der Roboter innerhalb des angegebenen BASE[], erstmal egal mit welchem Tool. Wichtig ist in erster Linie die Drehung des BASE[], wenn du nicht unbedingt genaue Koordinaten innerhalb des Werkzeugtisches anfahren musst.



    Nun zum $ipo_mode
    #BASE heist du führst das Werkzeug am Roboter (bsp. Schweißzange) beim TCP-Verfahren (ext. Tool) durch das Koordinatensystem des Werkzeugtisches


    #TCP heist du führst das Bauteil/Werkstück mit hilfe eines Greifers in eine externe feststehende Schweißzange und willst innerhalb des Koordinatenssystems des Bauteils punkte anfahren. Ist gewöhnungsbedürftig aber nicht schwierig. Stell dir vor du fährst die ext. Zange und nicht den Roboter wenn du TCP(ext.Tool) verfährst. (Is blöd zubeschreiben, stimmt :kopfkratz:)


    Ich hoffe das war hilfreich, ansonsten weis ich auch nicht weiter.

  • Hallo Prestorianer,


    erstmal Danke für die echt gute antwort. :grinser043:
    Habs mitlerweile auch ganz gut hinbekommen. :D


    Nach n bisschen Umdenkerei kommt man ganz gut hin.
    Man muss sich wirklich vorstellen, dass man nich den Robi verfährt,sondern das Werkzeug, dann passt das auf einmal.

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