- LiTime Speicher und Akkus         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Koordinatentransformationen im Raum

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.04.2018
    Beiträge
    5

    Koordinatentransformationen im Raum

    Anzeige

    Praxistest und DIY Projekte
    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
    55
    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.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    22.04.2018
    Beiträge
    5
    ROS käme nach meinem Chef nicht in Frage weil es wohl nicht echtzeitfähig ist. Gäbe es denn keine Alternative oder zumindest eine mathematische Vorschrift nach der man nur den Input geben muss und dieser dann die Gelenkwinkel als Output wieder gibt.

  8. #8
    shedepe
    Gast
    Wenn du keine Erfahrung mit Programmierung hast, ist Echtzeitfähigkeit etwas was du auch nicht mal eben nebenbei in einem Programm einbaust. Würde deinen Chef lieber von ROS überzeugen, es gibt mehr als genug Systeme die bewiesen haben, dass Echtzeitfähigkeit nicht zwangsläufig notwendig ist. Alternative wäre Orocos das kann Echtzeit, ist aber nicht soweit verbreitet.

    Zur Mathematik. Prinzipiell erstellt man zu einer gegeben Kinematik eine Kette von Transformationsmatrizen die ausgehend von der Basis deine Koordinaten anhand des Gelenkwinkels vorwärts transformiert. Diese Kette kann man dann prinzipiell invertieren und damit von Koordinaten auf Gelenkwinkel schließen. (Im Zweifelsfall kann man das numerisch machen). Das Problem dabei ist, die Invertierung Singularitäten aufweisen kann und nicht eindeutig sein muss. Im Roboternetz wissen ist glaube ich auch ein Artikel dazu.

    Um mal weiteren Fragen vorzubeugen -> Wir bewegen uns in Bereiche dabei in denen du dich selbst einarbeiten musst und nicht in einem Forum mal eben nebenbei eine Lösung dafür bekommst.

  9. #9
    HaWe
    Gast
    Zu Kinematik und Inverser Kinematik s. z.B. hier:

    https://homepages.thm.de/~hg6458/Robotik/Robotik.pdf (insb. S. 49ff, 62ff, 83ff.)
    https://www.tu-chemnitz.de/informati.../robotik_4.pdf (insb. S. 36ff, 53ff, 72ff.)
    Geändert von HaWe (29.04.2018 um 16:15 Uhr)

  10. #10
    Erfahrener Benutzer Roboter-Spezialist Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    47
    Beiträge
    456
    Es muss nicht alles in Echtzeit sein. Servoregler müssen in Echtzeit regeln. Pfadplanung muss das nicht sein. Klassisch ist hier, bsp. Hardware Regelungen mit µC (Echtzeit System), Höhere Logik mit ROS oder anderem System. Damit baut man das System in Schichten/Layer auf. Wie so etwas gehen kann, zeigt das Video des Mars Rover Curiosity.

    [1] https://youtu.be/3SdSKZFoUa8?t=9m49s

Seite 1 von 2 12 LetzteLetzte

Ä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
  •  

LiFePO4 Speicher Test