Vollkreis vom Mittelpunkt Berechnen

  • Hallo zusammen,


    ich benötige mal eure :hilfe:


    Ich möchte einen Mittelpunkt Teachen und dann einen Vollkreis Fahren. Der Kreis muss oft im Durchmesser angepasst werden. Mit einer CIRC Bewegung haut das hin. Ich würde aber gerne nur den Mittelpunkt Teachen und dann die Kreisbewegung Automatisch Berechnen lassen. In einem Gewissen Abstand muss ich diese Kreise Fahren. Den Mittelpunkt würde ich mit einem Palletrierungsprogramm auch Berechnen lassen.


    :danke: für eure Hilfe

  • Schritt für Schritt zum Roboterprofi!
  • vom mittelpunkt mit radius und sin / cos ein array von 360 Positionen berechnen und dann lin überschleift anfahren....

    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.

  • Oder den Mittelpunkt dreimal kopieren und mit mit pstart.x=mp.x + r, pzwischenpkt.y=mp.y +r und pzielpunkt.x=mp.x-r verlegen und den Kreis mit CA 360 fahren, wenn man den MP von vornherein so berechnet, dass seine XY-Ebene die Kreisebene darstellt und {x+r, y, z} der Startpunkt ist.


    Grüße,
    Michael

  • :nocheck:


    Danke für eure Antworten. Leider Check ich das nicht.
    Habe dafür zuwenig Erfahrung damit. Bin jetzt das erste mal dabei Kreisbahnen zu Programmieren.
    Könnt ihr mir ein Beispiel schreiben, wie ich ab dem geteachten Mittelpunkt fortfahren muss.

  • Na, verrat uns doch erst einmal, wie Deine Mittelpunkte ausgerichtet sind und wie die Kreise im Vergleich dazu stehen sollen. Ist ja nicht selbstverständlich. Ist die Kreisebene eine der Koordinatenebenen des jeweiligen BASE oder auch TOOL (also des Punktes selbst)? Dann geht die von mir vorgeschlagene Methode. Ist das nicht so oder der Startpunkt MUSS in einem von den Achsen abweichenden Winkel liegen, wird es aufwendiger.
    Fest steht: ein Kreis besteht immer aus einem Punkt, an dem man bereits ist, und einer Kreisbahn über einen Zwischenpunkt auf den Zielpunkt. Damit hast Du drei Punkte, und drei Punkte liegen immer auf einer Kreisbahn. Den Rest macht der KUKA.


    Grüße,
    Michael


  • :nocheck:


    Danke für eure Antworten. Leider Check ich das nicht.
    Habe dafür zuwenig Erfahrung damit. Bin jetzt das erste mal dabei Kreisbahnen zu Programmieren.
    Könnt ihr mir ein Beispiel schreiben, wie ich ab dem geteachten Mittelpunkt fortfahren muss.


    Beispiel schreiben??
    So einfach geht das hier nicht.


    Den Kreismittelpunkt hast du ja.
    Einen Kreis in Winkelabschnitte aufzuteilen sollte ja eigentlich kein Problem sein, oder?
    Winkelfunktionen sind kein Fremdwort?
    Dann die berechneten Punkte in ein Array abspeichern und anschliessend abfahren.
    Null Problem!

    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

  • Hallo Roland,


    theoretisch kann ich das nachvollziehen.
    Aber wie sieht das Array mit den 360 Positionen dann aus, und wie verknüpf ich das mit dem LIN Befehl .
    Syntax dazu? Oder vielleicht doch ein kleines Beispiel (so als Tip :pfeif: )


    Grüße
    Uli

  • das array?
    Nimm den Array-Assistenten von Orangeedit.
    erstell ein array aus e6pos (Name z.B. kreispos)
    Und dann
    for n=1 to 360
    <berechne Position>
    endfor


    und dann
    for n=1 to 360
    lin kreispos[n]
    endfor

    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.

  • o man ....


    e6pos ZP[3]
    e6pos HP[3]


    for idx=1 to 3
    ZP[idx]=xGespeicherterPunkt
    HP[idx]=xGespeicherterPunkt
    ZP.x=ZP.x+(radius * cos((idx)*120.0) )
    ZP.y=ZP.y+(radius * sin((idx)*120.0) )


    HP.x=HP.x+(radius * cos((idx-1)*120.0 + 60.0) )
    HP.y=HP.y+(radius * sin((idx-1)*120.0 + 60.0) )
    endfor


    LIN ZP[3]
    for idx=1 to 3
    circ HP[idx] ZP[idx] c_dis
    endfor

  • es geht auch ohne SIN und COS


  • kein problem


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