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.
Lesezeichen