Beiträge von LarsH

    Hallo,


    nach etwas Zeit haben wir nun die multitask Variante umgesetzt.
    Den Quellcode dazu will ich euch nicht vorenthalten.



    Jetzt würde ich nur noch gerne das aktuelle Tool und das aktuelle Werkobjekt abfragen. Für den CalcRobT-Befehl.
    Gibt es dafür eine Möglichkeit?
    Wie kann ich Variablen Taskübergreifend lesen. Das mit doppelt als Pers anlegen funktioniert irgendwie nicht.


    Gruß Lars

    Das mit dem Multitask finde ich einen sehr guten Ansatz.
    Das Zusatzpaket haben wir leider nicht. Mal sehen, was sich da machen lässt.


    Der Vorteil wäre, dass wir den Profibus benutzen können und bei Kuka gibt es einen ähnlichen Submit, der im Hintergrund läuft.


    Werde das weiter verfolgen und berichten.
    Gibt es noch weitere Ideen?


    Gruß

    Guten morgen ins Forum,


    ist es irgendwie auf einfache Weise die aktuelle Roboterposition (pos) auf einem Profibus auzugeben?


    Volgende Ansätze habe ich schon überlegt:


    1. cPos -> Lässt sich nur an bestimmten Programmpositionen auf den PB schieben. Ausserdem sollte der Punkt als "fine" angefahren werden. Ansonsten gibt es irgendeine Position zurück, die mit dem Vorlaufzeiger berechnet wurde.


    2. Konfiguration -> SignalIN -> Dort kann man keine Verknüpfung zur Position erstellen. Leider nur Geschwindigkeiten etc.


    3. Robot Reference Interface -> Ist wohl möglich. Das geht alles über Ethernet und wir müssten extra neue Kabel legen und der Aufwand wäre viel größer.


    4. PC Interface (PC SDK) -> Profibus möglich? oder auch nur Ethernet.


    5. OPC -> Greift wohl auch auf die RAPID Ebene zu und die Daten sind vorrausberechnet. Stimmt das?



    Ich sehe derzeiot keine einfache Möglichkeit mit dem bestehenden System die Daten auf den Profibus zu legen. Ich hoffe, das ihr weitere super Möglichkeiten habt oder mir Empfehlungen geben könnt.


    Vielen Dank, Gruß Lars

    .. oder gar nicht diese vordefinierten Homepositionen verwenden.


    1. Homeposition anfahren -> Anzeigen -> Istposition -> Achsen
    2. PTP {A1 x,A2 x,A3 x A4 x, A5 x, A6 x}


    oder
    DECL AXIS Home
    Home = {A1 x,A2 x,A3 x A4 x, A5 x, A6 x}


    PTP Home


    Das geht aber nur als "Experte"


    Gruß

    Hallo,


    du kannst auch mit nicht mathematisch gekoppelten Achsbewegungen eine Spirale zu erhalten (Spirale mit konstanter Steigung)
    Du musst mit deinem Laser eine Linearbewegung entlang der Drehachse machen. Dazu drehst du die externe Achse entsprechend. Beide bewegungen zusammen ergeben eine Spirale.


    Da du einen Konus hast musst du wohl mit einem Unterprogramm die Bewegung in viele kleine Bewegungen teilen um die Geschwindigkeit an den sich ändernden Durchmesser anzupassen.


    Gruß

    Frohes neues Jahr,


    ich habe jetzt auch mal mit der KRC4 gearbeitet. Das funktioniert fast alles soweit ganz gut. Nur würde ich gerne wie bei der KRC2 die Achsposition einer externen Rotationsachse zurücksetzten (siehe oben).


    Nur leider kommt bei der Programmzeile


    $async_ex_ax_decouple='B000001' ;E1 abkoppeln


    die Meldung, dass die "Einzelbremsensteuerung nicht aktiv" ist.


    Habe in der Doku gesehen, dass es viele Variablen bei der KSS8.3 nicht mehr gibt. (z.B.: $async_ex_ax_decouple, $EXT_AXIS).
    Es werden aber auch keine Syntaxfehler angezeigt.


    Hat jemand eine Idee, wie man eine externe Zusatzachse bei der KRC4 abkoppeln kann, damit $axis_act beschreibbar werden?
    Habe ich in den Madas eine Einstellung vergessen? Wie kann ich die Einzelbremsensteuerung aktivieren?


    Vielen Dank, Gruß

    Hallo,


    es gibt auch noch die Überschleifbedingung c_vel. Wenn du diesen Wert vorher auf 100% setzt, sollte der Roboter die Geschwindigkeit halten und die Bahn entsprechend überschleifen.
    Wird irgend eine andere Geschwindigkeitsgrenze erreicht, wird der Roboter trotzdem abbremsen. Also vel_ori usw. ausreichend groß wählen. Deine cp Geschwindigkeit muss den kleinsten Wert haben.


    Liegen die Punkte zu dicht zusammen wird der Roboter auch abbremsen. Kann mir vorstellen, dass sich die Überschleifradien der beiden Punkte nicht berühren dürfen. Liegen die Punkte zu dicht, musst du einen Spline verwenden.


    Gruß Lars

    Zitat

    Wollte das in C++ oder Visual C versuchen und dann das ganze irgendwie so programmieren, dass das KRC -Programm die Punkte Stück für Stück einliest. Wie das geschehen soll, weiß ich noch nicht. Aber theoretisch wäre das doch sicherlich möglich, oder?


    Ja, das ist möglich. z.B. aus einer Textdatei kannst du die Punkte in den Robi kopieren. es gibt aber auch weitere möglichkeiten die Punkte in den Roboter zu bekommen.


    Zitat

    Also muss ich das Ganze von meiner Stiftspitze aus berechnen?


    siehe Bild. Ich denke, du musst deine Punkte im Base KOS beschreiben. d.h. V-Vektor + Euler winkel bestimmen. (bitte mal testen)


    Gruß

    Für 1 Woche mit Robotern beschäftigen ist das eine ganz schön anspruchsvolle Aufgabe. Ist das deinem Chef klar?


    Zitat

    Du hast deine Base. Von diesem KOS hast du einen Vektor (xyz) zu deinem Punkt.


    und an diesen fährt der Robi mit dem TCP.

    Hallo,


    Ich gehe jetzt von einem Tool am Flansch aus. Base ist irgendwo im Raum. Mit externem Tool müsste das genauso sein.


    Du hast deine Base. Von diesem KOS hast du einen Vektor (xyz) zu deinem Punkt. In dem Punkt hast du wieder ein KOS. Die orientierung von diesem bekommst du durch die Euler Winkel. Ausgehend von der Base drehst du um A,B,C. somit hast du die orientierung in dem Punkt.


    Der Robi fährt nun so, dass Punkt -KOS und Tool KOS deckungsgleich sind.
    klar??


    Warum nimmst du nicht den stift als tool?


    Gruß

    Hallo,


    Der Robi fährt so, dass dein Punkt- und Toolkoordinatensystem deckungsgleich sind.


    Das Punktkoordinatensystem bekommst du aus einer Verschiebung und Drehung ausgehend vom Base koordinatensystem.


    Schau dir dazu auch deinen anderen Beitrag an...


    Gruß

    Guten morgen,


    ... du willst erstmal einen Strich auf das Bauteil malen.


    1. Auf einem gekrümmten Bauteil wirst du sehr wahrscheinlich keine LIN bewegung machen können. Überleg dir ob du mit CIRC weiterkommst. Falls nicht tendiere ich immer zu vielen kleinen LIN bewegungen (oder Spline). Dafür brauchst du n Stützpunkte (entweder teachen oder aus CAD etc.) Eine Feder am Stift wirst du dann wohl brauchen....


    2. Die orientierung erhält der Roboter, indem das Tool koordinatensystem und das Punktkoordinatensystem deckungsgleich sind. Ausgehend vom Base koordinatensystem drehst du um die 3 Euler Winkel.... Dann hast du die orientierung in einem Punkt.
    Die Euler Winkel kannst du dir z.B. aus den 3 Richtungsvektoren eines Dreibeins berechnen. An das Dreibein kommst du wieder über das CAD - Modell.


    Also überleg dir erstmal wie du generell an die benötigten Punkte kommen willst, kannst. (teachen, CAD, Robotworks, etc.....)
    Eine einfache Sache wird das auf jeden Fall nicht!!!! Lohnt sich der Aufwand?? Wenn du dann mehr als einen Strich zeichnen willst wird es richtig aufwand....

    Guten morgen,


    Das "neue Problem"


    Zitat

    neues problem:
    nun habe ich den effekt, obwohl der roboter auf (0/0/0) im bezug zu dem koordinatensystem auf der platte des dkp stehen bleiben sollte (der roboter also so nachgeführt wird, dass das tool seine position zum tisch nicht ändert) laufen mir mit zunehmendem kipp bzw drehwinkel langsam die xy-werte in der ist-anzeige (und auch tatsächlich) des roboters davon. bei 45° kippen zb sind x und y nicht mehr 0, sondern ca 2mm und das wird mit zunehmenden kipp/drehwinkeln immer mehr.


    ist mir an einer anderen externen kinematik auch schon aufgefallen.
    Woher kommt das?


    Gruß