- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 11

Thema: Koordinatentransformationen im Raum

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.04.2018
    Beiträge
    5

    Koordinatentransformationen im Raum

    Guten Tag,

    undzwar habe ich folgendes Problem. In meiner Roboterzelle befindet sich ein Roboter und quaderförmige Objekte. Die Objekte sind als Punktewolken modelliert und auf ihren Oberflächen ist ein Koordinatensystem aufgespannt. Nun möchte ich das Koordinatensystem des Robotergreifers (Tool-KS)
    so verschieben, dass es über dem Objekt-KS liegt. Das heisst der Greifer soll normal zur Fläche des Objektes auf dem das KS aufgespannt ist stehen.
    Beide KS befinden sich in einem WELT-KS.
    Ich weiß wie man über Transformationsmatrizen Punkte verschiebt und rotiert entlang von Koordinatenachsen, aber wie kann ich denn im WELT-KS mein TOOL-KS auf das Objekt-KS bewegen?
    Würde das ganze in C++ programmieren.

    Danke im voraus.
    Beste Grüße Alsen

  2. #2
    shedepe
    Gast
    Hallo prinzipiell (wenn ich dich richtig verstanden habe) fragst du ja nicht nach einer Koordinatentransformation sondern eher danach: Wie plane ich einen Weg so dass TOOL-KS über Objekt-KS liegt? Also ein Problem der Bahnplanung nicht des Rechnens.
    Das jedoch wesentlich kompliziert (Je nachdem wie deine Robotergeometrie ist) weil du musst für deinen Roboterarm von seinem Startpunkt zu seinem Zielpunkt bewegen, dazu musst du in der Regel eine abfolge von erlaubten Gelenkwinkelkonfiguriationen generieren, die der Arm abfahren kann.

    Um das ganze kurz zu umreißen: (Für eine fertige Lösung ist das Problem meiner Ansicht nach zu kompliziert)
    1. Die gewünsche Zielpose des Arms im WELT-KS ausdrücken. Dazu kannst du die Normale zu der Flächeberechnen (Das zeigt dir Wikipedia: https://de.wikipedia.org/wiki/Normalenvektor). Dann wählst du z.B. den Mittelpunkt der Fläche aus und verschiebst ihn in Richtung des Normalenvektors soweit, wie du den Abstand zwischen Zentrum deines Tool-KS und deines Object-KS haben willst. Deine Orientierung ist die gleiche wie die des Objeckt-KS relativ zum Welt-KS.
    2. Du musst irgendwie eine Bahn zwischen Start Pose deines Arms und ZIel Pose (die du in Schritt 1 erstellt hast) berechnen. Dazu gibt es z.B. in ROS fertige Bahnplaner. Aber einfach sind die nicht zu verwenden weil sie zwangsweise ein Kinematisches Modell des Arms brauchen.
    3. Die berechnete Trajektorie musst du in erlaubte Gelenkwinkelkonfigurationen via Inverser Kinematik umrechnen (Bzw. viele Bahnplaner suchen auch nur im Gelenkwinkelraum nach Trajektorien)
    4. Diese Trajektorie die als Abfolge von Gelenkwinkeln ausgedrückt ist, kannst du dann ausführen.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    22.04.2018
    Beiträge
    5
    Ich danke dir vielmals für deine schnelle Antwort!

    Nach Absprache mit meinem Chef weiss ich nun, dass die Punktwolke mir für die einzelnen Punkte 6 Freiheitsgrade gibt, weswegen ich mit den rotatorischen Freiheitsgraden den Greifer automatisch ausrichten kann.
    Demnach erspart mir das sehr viel Arbeit.

    Danke dennoch für deine Mühen.

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Das ganze erinnert mich an einen Teil des Leistungsumfangs von COSIMIR
    https://de.wikipedia.org/wiki/COSIMIR

    Ggf. hilft es sich mal da die Diplom und Doktorarbeiten anzusehen und deren Litteratur Verzeichnisse.
    Bsp.:
    https://eldorado.tu-dortmund.de/bits...ssertation.pdf

    Dort wurde die (Roboter)Zelle als Basis genommen, da sich ja der Roboter und jedes Objekt darin befinden.
    Alle KS wurden also ins Welt-KS transformiert.
    Wobei es damals (bei der Version mit der ich gearbeitet habe) noch keine Kollisionserkennung gab für Teile des Roboter die nicht zum Greifer gehörten.

    Jedes Objekt wurde in COSIMIR als hiraschischer Baum aus 4x4 Matritzen beschrieben, so das man den Objektursprung in allen 6 Freiheitsgraden auf den Welt-KS Ursprung bezog und auf den Objektursprung dann Punkte und Flächen der Objekte.
    Bei einem Roboter selbst wurde so dann auch die kinematische Kette von der Basis bis zum TCP aufgebaut.
    Für inverse Kiniematik und Endstellungen waren dann Eigenschaften in den entsprechenden Objekten hinterlegt.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    22.04.2018
    Beiträge
    5
    Danke dir,

    werde mir das ganze mal anschauen.
    Letztendlich muss ich die inverse Kinematik in meinen C++ Code einbauen, da ich kaum was bisher programmiert habe könnte das schwer werden.

    Kennt ihr denn vllt. fertigen Code für die inverse Kinematik, wo ich als Input nur die Objektkoordinaten brauche und dieser mir dann die Gelenkwinkel des Roboters wieder gibt ?
    Anderweitig werde ich mich wohl mit Denavit Hartenberg auseinander setzen müssen und das ganze selber implementieren.
    Koordinatentransformationen gehen in C++ denke ich mal über die Bibliothek eigen oder ?

    Beste Grüße
    Alsen

  6. #6
    shedepe
    Gast
    Mein Tipp, schau dir ROS an. Da gibt es das alles als Nodes.

Ähnliche Themen

  1. Positionsbestimmung im Raum
    Von Thegon im Forum Sensoren / Sensorik
    Antworten: 19
    Letzter Beitrag: 20.05.2019, 23:07
  2. Raum Aufzeichnen
    Von Asgar434 im Forum Sensoren / Sensorik
    Antworten: 23
    Letzter Beitrag: 07.12.2015, 18:30
  3. Positionsbestimmung im Raum
    Von Mandi Nice im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 5
    Letzter Beitrag: 07.02.2010, 23:12
  4. Raum- und Hindernisserkenung
    Von Devil im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 17.01.2006, 17:12
  5. orientierung im raum...
    Von Bluesmash im Forum Sensoren / Sensorik
    Antworten: 8
    Letzter Beitrag: 10.08.2005, 20:27

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen