Anfahren von Punkten im zeitlichen Takt

  • Hallo,
    :hilfe:
    ist es bei Kuka möglich Punkte in einem vorgegeben Takt (zeitlicher Abstand) anzufahren? Ich würde gerne verschiedene Punkte in einem 1 oder auch 2 sekunden Takt anfahren und den Takt auch bei Erhöhung der Verfahrgeschwindigkeit halten.


    Für Hinweise, Info´s und Lösungen bin ich wie immer gerne zu haben.
    :danke:
    Danke und Gruß
    Markus

  • Schritt für Schritt zum Roboterprofi!
  • Ich glaube man versteht nicht so recht was du willst.
    Willst Du zum Beispiel stets von Punkt A zu Punkt B wechseln, wobei die Geschwindigkeit variabel ist jedoch
    die Ankunft an den Punkt auf den Takt genau ist?


    Wenn ja dann zielt die Lösung darauf ab die notwendige Pause/den Losfahrzeitpunkt
    zu berechnen:


    Du hast die aktuelle Zeit T_Akt
    Die Zeit der Ankunft T_INPOS
    und suchst nach dem Losfahrzeitpunkt.
    Richtig?


    Oder du möchtest sagen, lieber Robi mach was Du willst aber sei in 2 Sekunden an Punkt X egal wo Du jetzt gerade stehst.?

  • Na ja, dann will ich mal versuchen genauer zu werden...


    Der Robi soll zu Demonstrationzwecken am "Tag der offenen Tür"
    ein Lied auf einem Keyboard spielen. Ich würde gerne einal den "Takt" festlegen und der sollte eingehalten werden egal ob der Overide auf 30% oder 75% steht.
    Der "Takt" muß sollte kein externes Triggersignal sein, er muß auch nicht immer mitlaufen, sondern das was ich meine zielt nur dahin das der Roboter zu bestimmten Zeiten am nächsten Punkt sein soll und die Geschwindigkeit soweit als möglich flexibel ist und mich nnicht weiter interessiert.


    Ich hoffe mein Problem ist klarer geworden.


    Danke und gruß
    Markus

  • Es kommt wirklich darauf an, wie die Geschwindigkeits in Abhängigkeit der Zeit - s(t) - zwischen den zwei Punkten A und B aussehen soll.


    Was willst Du? von Punkt A maximal Beschleunigen und entsprechend der Distanz zu B anschliessend die Geschwindigkeit der Verfahrzeit anpassen? Das wäre dann eine schöne Schulrechnungsaufgabe...



    Bei solchen Aufgaben ist es meistens nützlich, den ganzen Prozess erneut zu analysieren. So kann die Aufgabe eventuell einfacher gelöst werden...Vielleicht :)


    Gruss Casmen

  • sorry...du warst schneller :)



    Die Melodie sollte somit immer gleich tönen, einfach je nach Override langsamer oder schneller abgespielt werden...



    Aus meiner Sicht geht Dies nur mit einem Vergleich der Ist und Soll Position vor dem Start an den nächsten Punkt. Geteilt durch die Taktzeit ergiebt die durchschnittliche Geschwindigkeit...natürlich muss der effektive Weg dafür verwendet werden (Achsspezifisch)...

  • Also ich würd das so machen das ich mit maximaler Geschwindigkeit über eine Taste fahre und am
    ZeitPunkt X Ein Lin_REL Z-20 oder so machen würde
    Die Zeit bis zum erreichen der Taste also die Lin_rel fahrt kannst du ausmessen wenn Du auch noch zu einem
    Externen Takt spielen willst, ansonsten ist es egal wie lange er braucht weil er quasi immer gleich lang braucht für den Anschlag.

  • Ich würds so machen:


    2 Teilwege: (1)Fahrt über die Taste (2)Anschlag


    - Anschlag teachen
    - Die Fahrt mit der längsten Dauer ausmessen. (Entfernteste Tasten)
    - Bei den anderen Fahrten am Anfang einen Timer starten um an Ende warten bis er die Dauer der längsten Fahrt erreicht hat.


    Damit kannst Du beliebige Tasten hintereinader immer im gleichen Tempo spielen. (Du könntest jetzt noch bei den anderen Fahrten mit der Geschw [abhängig vom Tastenabstand zb] so runter gehen, dass der Rob kaum wartet - sieht blöd aus.)


    Um das dann in beliebigen Geschwindigkeiten fahren zu könntest Du die Dauer der längsten Fahrt für unterschiedliche Overrides speichern und je nach Override dann ändern.


    \edit:
    Oder so:
    -Einfach mal alle Fahrten direkt teachen (dynamisch erstellt von beliebiger Taste zu beliebiger Taste.)
    -Eine Matrix erstellen für die Fahrt von jeder Taste zu jeder Taste
    -Alles abfahren und Zeitdauer messen und in Matrix eintragen
    -Matrix normieren (Maximum ermitteln und alle Werte in der Matrix dadurch dividieren, sodaß 1 das Maximum ist)
    -Bei jeder Fahrt: Override=genereller Override * Wert für die aktuelle Fahrt.


    Damit sollten auch alle Fahrten gleich lang dauern und Du kannst am Anfang das Tempo vorgeben.

    Einmal editiert, zuletzt von atw12az5 ()

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