- SF800 Solar Speicher Tutorial         
Seite 2 von 8 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 76

Thema: Linearisierung von Spinnenbeinen

  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.07.2004
    Ort
    bei Stuttgart
    Alter
    42
    Beiträge
    760
    Anzeige

    Praxistest und DIY Projekte
    Hallo,
    hab grad mal versucht das in Paint zu verdeutlichen.
    Schöne Weihnachten Jeffrey
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken bild_hexapod.jpg  

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    23.12.2006
    Beiträge
    12
    Hallo Jeffrey,

    danke für die Grafiken.
    Vom Ergebnis her sieht das so ähnlich aus, wie mein Ansatz.
    Mit Deiner Idee das Problem als Optimierungsaufgabe zu betrachten, warst Du natürlich auf dem richtigen Weg, wie man am Ergebnis sieht.

    Mir scheint, um das für reale Steuerungen zu nutzen, ist wohl der einfachste Weg, eine Tabelle mit den Werten für Alpha und Beta in Abhängigkeit von Tau zu benutzen. Hier tatsächlich die kleinen Microcontroler rechnen zu lassen ist wohl viel zu zeitintensiv.

    Daher die Bitte: Stell doch mal die Tabelle mit den ca. 250 Weten für Tau mit Alpha und Beta hier zur Verfügung. Dise Tabelle kann man dann ja nutzen um die Servos passend zu steuern.

    Damit hättest Du Dir, den Ruhm bei den Roboterbauern auf ewig gesichert.
    Wie HannoHupmann schrieb:
    "Für eine saubere Lösung wären alle Spinnenroboterbastler auf ewig dankbar."

    Na eben.

    Grüße
    Marvin_MAV

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.07.2004
    Ort
    bei Stuttgart
    Alter
    42
    Beiträge
    760
    Hi,
    ich denke auch, dass eine Lookup-Tabelle sinnvoll ist. Mein PC hat schon mehrere Minuten gebraucht, um das zu berechnen.
    Allerdings sind die Werte natürlich von a, b, B und C abhängig. Deswegen ist diese Tabelle nur für die oben angegebenen Werte sinnvoll. Ich kann sie natürlich trotzdem gerne veröffentlichen.
    Ich denke aber, nachdem die Formel und das Vorgehen jetzt da stehen, kann jeder diese Aufgabe ziemlich schnell und einfach für seine eigenen werte durch rechnen.
    MfG Jeffrey

  4. #14
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.08.2006
    Ort
    Budapest
    Alter
    37
    Beiträge
    563
    Stell doch das Matlab .m File zur Verfügung, dann kann jeder die Ausgangswerte nach belieben verändern, und selber die Ergebnisse sehen.

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.07.2004
    Ort
    bei Stuttgart
    Alter
    42
    Beiträge
    760
    Hallo,
    hier die Matlab Files. Die Berechnung dauert allerdings einige Zeit.
    MfG Jeffrey
    Angehängte Dateien Angehängte Dateien

  6. #16
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    42
    Beiträge
    4.534
    Blog-Einträge
    1
    @Marvin MAV Leider ist die Lösung zwar Richtig und wirklich gut bzw. Brauchbar aber noch nicht dass, was ich gesucht oder gefordert habe.

    Im Prinzip haben wieder nur eine Tabelle mit den Werten für jede Position, diesmal aber hochaufgelöst mit jedem Grad zwischen 0 und 180. Sehr fein und gut. Allerdings sobald wir die Beine etwas ändern also ein Bein etwas länger oder die Systemhöhe anders wollen müsste die gesammte Tabelle neu berechnet werden.
    Soweit offline kein Problem, wenn es der Roboter aber selber rechnen muss irgendwie sehr umständlich.

    Eine Funktion f(tau) = {a, b, C, D, alpha Beta} wäre irgendwie handlicher. Sprich wie bei einer Parabelfunktion gibt man einen x wert ein (in unserem Fall tau) und erhält den dazu passenden y (in unserem Fall, die Winkel für die Gelenke der Beine).
    Diese Funktion kann wahrscheinlich recht einfach in einen Algorithmus gepackt werden und wird nicht viel Platz im Speicher eines Roboter brauchen. Die Konstanten a, b, C, D fliessen natürlich mit ein in die Funktion und werden ebenfalls im Algorithmus hinterlegt. Damit lässt sich z.B. die Systemhöhe wärend des laufens ändern ohne, dass alle Positionen neu berechnet werden müssen.
    Auch ich diese Funktion dann für alle Spinnenroboter verwendbar, da nur jeder seine Werte für C und D hinterlegen muss.

    Also die Lösung ist nahe aber leider noch nicht gefunden.

    PS: jeffrey hat selbst gesagt, dass seine Tabelle nur für die oben genannten Werte (welche meinem Roboter entsprechen) sinnvoll sind aber noch nicht universal für jedes dreigelenkiges Bein.

  7. #17
    Neuer Benutzer Öfters hier
    Registriert seit
    23.12.2006
    Beiträge
    12
    Hallo HannoHupmann,

    also ich lehne mich jetzt mal aus dem Fenster, und behaupte:
    Die Form des Grafen (alfa über tau) und (beta über tau) wird sich nicht ändern. Egal bei welchen Längen der einzelen Bein-Teile. Ohne es bisher genau agbeleitet zu haben bin ich der Meinung dass der Graf einfach nur ein Sinus ist, der in der dritten Raumebene geneigt ist (also um die X-achse des koordinatensystems, wie auf den Bildern von Jeffrey).
    Der Kippwinkel wird mit dem Verhältnis der Bein-Längen zu tun haben.



    Hoffe ich.

    Aber ich mach mal an meinen Formeln weiter, dann kann man vieleicht auch während des Laufens die Körperhöhe "b" ändern.

    Ich melde mich wieder.

    Gruß
    Marvin_MAV

  8. #18
    Neuer Benutzer Öfters hier
    Registriert seit
    23.12.2006
    Beiträge
    12
    Hallo,

    ich nochmal:

    Also ich habe jetz einen halben Notizblock mit geometrischen Gleichungen gefüllt, und muß feststellen: Ich bin zu dumm.
    Vieleicht fehlt mir auch nur die Übung; aber ich finde keine Lösung.
    Mein bisheriger Ansatz (mit Anleihen aud Jeffreys Gleichungen war der:
    Unterarmlänge (C) und Oberarmlänge (B) stehen in einem festen Verhätnis.
    Die Winkel alpha und beta stehen durch das Verhältnis C/B im Zusammenhang mit tau und dem gewünschten Abstand des Aufsetzpunktes des Fußes (a) und zusammen mit der "Bodenfreiheit" .......

    ups, ich komme da gerade auf eine neue Idee....

    Bis später.

    Marvin_MAV

  9. #19
    Neuer Benutzer Öfters hier
    Registriert seit
    23.12.2006
    Beiträge
    12
    Hallo,

    Aaaaaalso, ich brauche Hilfe:
    Nach langem Formeln-Umstellen bin ich zu der Erkenntnis gelangt, dass nach dem Sinus-Satz alpha=90-90+beta-beta+alpha ist.
    Genau :-]
    Gekürzt also: alpha ist gleich alpha. Na immerhin:
    Ich habe mich nicht verrechnet, und habe bewiesen, dass das so ist.
    Na toll.

    Aber im Ernst.
    Eigendlich ist die Aufgabe gelöst

    cos(tau)=a/(bx+cx) mit bx=sin(beta)*b

    cos(tau)=a/(sin(beta)*b)+cx mit cx=(sin(gamma)*c)

    cos(tau)=a/(sin(beta)*b)+(sin(gamma)*c)

    Mein Problem ist nur:

    Da das Servo für den Unterarm am Oberarm befestigt ist, ist leider Gamma durch eine Funktion mit Alpha UND! Beta verknüpft.

    Das ist kein lineares Gleichungssystem mehr. Ich finde leider keinen Ansatz und bitte daher hier um Hilfe.

    Siehe die bisherigen Zeichnungen und meinen Anhang

    Grüße
    Marvin_MAV
    (gute Nacht)
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken spinnenbeine_linear_3d_02.jpg  

  10. #20
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    42
    Beiträge
    4.534
    Blog-Einträge
    1
    @all, um alle zu beruhigen die jetzt in Verzeiflung ausbrechen, das Problem ist bei weitem nicht so trivial wie es auf den ersten Blick den anschein macht. Ich hab mich auch lange hingesetzt und darüber nachgedacht. Und bin ebenfalls zu der Erkenntnis gekommen, dass ich es nicht einfach lösen kann.

    Jetzt hab ich das Problem an meinen Mathematikerfreund weiter gegeben, scheint aber wirklich höhere Semester Mathematik zu werden.

    Vielleicht kann ich euch am nächstes Jahr eine Lösung präsentieren.
    Hinzu kommt, dass bei den Meisten Robotern die Schulter und die Hüftgelenke nicht genau auf einer Achse liegen sondern eine kleine Strecke dazwischen ist.

    @Marvin_MAV leider ist sie noch nicht gelöst. Da du die Winkel alpha und beta noch als funktion von Tau ausdrücken musst. Sprich in einer funktion die nur von f(tau) abhängt gibt es keine weiteren Variablen ausser Tau und konstanten in Form der Strecken a, b, C, D.

    Als Beispiel, um es zu verdeutlichen, gebe ich für tau einen Winkel von 20° ein muss die Funktion zurückliefern: alpha = 40° beta = 30°. Wenn nun diese Winkel bei den Servos eingestellt werden, dann befindet sich die Fussspitze genau auf der gesuchten linearisierten Strecke s.

Seite 2 von 8 ErsteErste 1234 ... LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress