Richtig. Und da nur Kräfte in Zugrichtung wirken, kann man ein Kräftegleichgewicht aufstellen und nach positiven Lösungen suchen. Da man die Richtungen kennt, kümmern einen nur noch die Beträge.Mein Ansatz wäre: eine bestimmte Pose soll angefahren werden, damit sind die Abstände der Umlenkrollen zu den Aufhängepunkten der Plattform definiert und können recht leicht im kartesischen Koordinatensystem ausregerechnet werden (Pythagoras oder Winkelfunktionen). Entsprechend ergeben sich die einzustellenden Seillängen.
Was allerdings benötigt wird ist die maximale Kraft, die entlang eines Seils wirkt, um damit die Dimension des Getriebes und des Motors festzulegen. Entweder benötigt man also Optimierungsverfahren (eleganter Ansatz) um das Maximum der Kräfte über alle möglichen Positionen zu finden oder man berechnet durch Brute Forcen alle möglichen Positionen und wählt zum Schluss das Maximum aus.
Vorteil von letzterem ist der, dass man das globale Maximum finden kann. Nachteil ist der immense Rechenaufwand, da man den ganzen Arbeitsraum in ein großes Raster einteilt und für jeden Knoten einmal das von dir beschriebene Verfahren anwendet.
Optimierungsverfahren sind da anders. Ihr Vorteil ist, dass sie sich sehr mit sehr hoher Auflösung durch den Arbeitsraum bis zum Maximum vorarbeiten können. Sie sind zwar ebenfalls numerisch, allerdings deutlich schneller als die Brute Force Methode, da sie nur einen Bruchteil der Positionen berechnen.
Nachteil ist hier: Die Konvergenz ist nicht gesichert und es ist vor allem ungewiss, ob das gefundene Maximum das globale Maximum ist oder nur ein lokales. Des Weiteren ist es nicht möglich danach Plots der Kräfteverteilung anzufertigen.
Ich würde gerne schon anfangen, die Steuerung zu schreiben, allerdings ist der Trafo sowie der Speicher für meinen "Hauptrechner" noch per Post unterwegs, weshalb das mit dem Debuggen schwierig wird.
Tatsächlich ist ein Teil der Steuerung (die inverse Kinematik) gar nicht so verschieden von unserem Diskussionsthema. Es ist allerdings nur der Teil mit den 60 µs also durchaus Echtzeitfähig.
Bei dem Kräftegleichgewicht hast du recht. Ich hatte da irgendeine utopische Vorstellung von der Sache. Danke, dass du es angesprochen hast.
Deshalb werde ich wohl für den Roboter im Raum ein Minimum von 7 Seilen verwenden, da ich so die vollständige Pose inklusive Rotationen bestimmen kann.
Mal schauen, wie ich die Seile an der Plattform befestige. Vielleicht nehme ich auch 8 Seile, zwecks Symmetrie.
Das Wichtigste, grobes Abstecken der Größenordnung des Roboters, ist ja nun geschehen. Und da abzusehen ist, dass die damit verbundenen Kosten tragbar sind, werde ich mal zur Tat schreiten und anfangen eine Steuerung zu schreiben.
Wenn ich die Software gescheit auslege, dann sollte es einfach sein, Aufhängungspunkte sowie Anzahl von Seilen und Motoren zu ändern. (Hoffe ich zumindest.)
Wenn ihr wollt, kann ich auch Bilder davon bereitstellen, sobald etwas vorzeigbares herauskommt. Allerdings bezweifele ich, dass es spannend ist, einem Haufen Code und blinkenden LEDs zuzusehen.
Bis zu den Motoren wird es jedenfalls noch ein Weilchen dauern, viel Freizeit habe ich in den nächsten Wochen kaum.
Außerdem wäre das wohl eher ein Fall für einen anderen Bereich des Forums.
Lesezeichen