- 12V Akku mit 280 Ah bauen         
Seite 3 von 8 ErsteErste 12345 ... LetzteLetzte
Ergebnis 21 bis 30 von 76

Thema: Linearisierung von Spinnenbeinen

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

    Powerstation Test
    Hallo,
    eigentlich sind doch für 2 unbekannte 2 gleichungen angegeben, also sollte es sich lösen lassen, ob das allerdings schnell auf einem µc zu rechnen ist, bin ih mir nicht so sicher.

    aist=sin(tau)*(sin(alpha-90+beta)*C+cos(beta)*B)
    bist= cos(alpha-90+beta)*C-sin(beta)*B

    Ich hab mal angefangen einige Sachen umzuformen, allerdings kommen da sehr komplizierte Sachen raus.
    für alpha:

    alpha=arcos((b+sin(beta))*B/C)+pi/2-beta

    das in die erste gleichung eingesetzt, dann kommt raus:

    0=sin(tau)*(sin(arcos((b+sin(beta)*B)/C))*C+cos(beta)*B)-a

    Da kommt nur noch beta und tau vor, gibt also eine direkte abhängigkeit der beiden Variablen an.
    Das sollte man mit Newton lösen können, wenn man will, ich denke aber nicht, dass das auf einem µc online berechnet werden kann.

    MfG Jeffrey

  2. #22
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.07.2004
    Ort
    bei Stuttgart
    Alter
    41
    Beiträge
    760
    So mir fällt gerade nochmal was ein, weiß0 aber nicht genau, ob das funktioniert, ein kompromiss wäre doch, dass man sagt man ändert b nur in einem bestimmten bereich. dann könnte man beta als wert abspeichern, und alpha online berechnen, natürlich ändert sich dadurch die gerade, aber ich weiß nicht wie stak sich das auswirkt. werde es mal testen.
    mfg jeffrey

  3. #23
    Benutzer Stammmitglied
    Registriert seit
    21.03.2004
    Ort
    73061 Ebersbach
    Alter
    55
    Beiträge
    52
    Hallo,
    ich versuche mich auch mal daran
    und hoffe dass ich nicht zu weit neben dem ziel liege
    (hab aber noch keinen Roboter außer dem Asuro gebaut, deshalb urteilt nicht zu hart über mich falls meine Überlegungen mist sind- Mangel an Praxis)

    Grundüberlegung:
    Bekannt ist
    • die Länge des Oberarms (Oc)
    • die Länge des Unterarms (Uc)
    • die Höhe in der sich der Roboter bewegen soll (h)
    • die Spurbreite = wie weit außerhalb des Roboters setzen die Füße auf (Spur)

    Über Phythagoras lässt sich Sc berechen, die Strecke von der Schulter bis zum Arm am Boden. Sc= Wurzel (Höhe^2+Spur^2)

    Für den Winkel Sbeta gilt im rechtwinkligen Dreieck tan (Sbeta)= Höhe / Spur

    Für das Dreieck aus Oberarm, Unterarm und SC kann man beta1 über den Kosinussatz berechen.
    Cos (beta1)= - (Oc^2-Uc^2-Sc^2)/ ( 2*Uc*Sc)

    Da Ubeta sich aus Sbeta uns beta1 zusammen setzt kann man nun alle Winkel in den Armdreiecken berechen.

    Ich habe dazu mal ein kleines Excell-Blatt erstellt.
    In den Tabellenfeldern RUHE sind einige Grundwerte hinterlegt
    Unter Winkel Tau bitte die Start und Endpunkte sowie den Schritt wählen und dann „Knopfdrücken“ Voilá!

    Bei meinen Beispielzahlen war Tau (der Winkel der Schuler) nur bis 39° möglich.


    Gruß
    downad
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken spinnenbein.png  
    Angehängte Dateien Angehängte Dateien
    Das, was immer von jedermann und überall als richtig akzeptiert wurde, ist mit ziemlicher Gewißheit das Falsche.
    Paul Valéry (1871-1945), frz. Dichter

  4. #24
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    41
    Beiträge
    4.534
    Blog-Einträge
    1
    @all, nochmal es wird kein Tabellenwerk mehr gesucht. Diese Aufgabe wurde bereits hinreichend gelöst. Danke hier an alle die sich die Mühe gemacht haben. Ist immerhin auch eine Menge Arbeit.
    Aber es ist umständlich und kompliziert jedesmal die ganze Tabelle in den µC zu packen für jeden Winkel.
    Ich Suche noch immer die schöne Formel für die online Berechnung auf dem µC für den Winkel. Ganz ohne Tabelle.
    Das Problem an den Tabellen ist immer gleich, sie sind nur für EINE mögliche Beinlänge gültig und nur für EINE höhe. Soll aber die Höhe oder die Spur wärend des Laufens verändert werden (Hindernisse, Platzangebot etc) dann ist es wieder notwendig eine komplett neue Tabelle zu übertragen.

    Streng genommen sind also alle Längen mehr oder minder auch Variablen, welch sich eventuell ändern, z.B. die Höhe.

    Abgesehen davon kann die Formel dann für jedes Spinnenbein verwendet werden.

  5. #25
    Benutzer Stammmitglied
    Registriert seit
    21.03.2004
    Ort
    73061 Ebersbach
    Alter
    55
    Beiträge
    52
    also das in eine Formel zu packen hatte ich versucht aber das war mir zu unübersichtlich. nun sind es 11 schritte zum Ziel.

    Bekannt:
    • die Länge des Oberarms (Oc)
    • die Länge des Unterarms (Uc)
    • die Höhe in der sich der Roboter bewegen soll (h)
    • die Spurbreite = wie weit außerhalb des Roboters setzen die Füße auf (Spur)

    Drehwinkel tau in der Schulter –Vorwärtsbewegung!

    aus dem Drehwinkel tau ergibt sich die Länge Sa (Abstand Schulter - Bodenpunkt des Beines)
    cos (Tau) = spur / Sa
    Sa = spur / cos (Tau) [1]
    Die Hypothenus des Substitutionsdreiecks (Sa, Höhe, Sc) ergibt
    Sc = wurzel ( Sa^2 + h^2) [2]
    Der Winkel Sbeta Cos (Sbeta) = Höhe/Sc
    Sbeta= arccos((Höhe/Sc) [3]
    und Cos (beta1)= - (Oc^2-Uc^2-Sc^2)/ ( 2*Uc*Sc)
    beta1=arccos(Oc^2-Uc^2-Sc^2)/ ( 2*Uc*Sc) [4]

    In Armdreieck (Oberarm, Unterarm,Sc) ist Ubeta berechenbar
    Ubeta = Sbeta+beta1 [5]
    Mit Ubeta kann einen Winkel im Ellenbogen Ualpha berechen
    Ualpha = 90 – Ubeta [6]

    Über die Strecke Uc und den Winkel Ubeta lässt sich Ua berechen Cos (Ubeta) = Ua/Uc
    Ua = cos(Ubeta) * Uc [7]
    Damit ist Ob gegeben – da Sa = Ob + Ua ist
    Ob = Sa- Ua [8]

    Nun kann man Obeta berechen; sin(Obeta) = Ob/Oc]
    Obeta= arcsin(Ob/Oc) [9]
    Folglich ist der Ellbogenwinkel
    Ellenbogenwinkel= Obeta+Ualpha [10]

    Und der Schulterwinkel-Oberarm
    Oalpha = 90 – Obeta [11]
    Voilá alle Winkel sind aus den gegeben Werten (
    Uc, Oc sowie h und spur ) berechnet.

    servo1, Schulter: Tau muss man vorgeben: läuft von -tau bis +tau oder wie auch immer
    servo2, Schulter-Oberarm:Oalpha = 90 – Obeta
    servo3, Ellenbogen:Ellenbogenwinkel= Obeta+Ualpha

    ich würde nun am Anfang eine Initialisierung auf dem µC laufen lassen und die 3 Werte in einer Tabelle ablegen.

    gruß

    downad
    Das, was immer von jedermann und überall als richtig akzeptiert wurde, ist mit ziemlicher Gewißheit das Falsche.
    Paul Valéry (1871-1945), frz. Dichter

  6. #26
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    41
    Beiträge
    4.534
    Blog-Einträge
    1
    hab gerade nur grob draufgeschaut und noch nicht alle Gleichungen durchgeschaut. Aber ich sehe bei deiner letzten Auflösung, dass der Winkel Oalpha von obeta abhängt und und der nächste winkel von obeta und Ualpha.
    Das sind aber noch immer nicht die Abhängigkeiten von Tau. Nur Tau soll verändert werden alle anderen Winkel aus der Verändung von Tau resultieren.

    Dabei sind die Längen (Spuhr, Abstände, Längen der Beine) ohne Werte anzunehmen.

  7. #27
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2006
    Beiträge
    10
    Ich glaube das Problem werdet ihr nicht mehr so einfach Analytisch lösen können.

    Eine einfache allgemeinere Lösungen sollten mit einer Gradientenmethode zB http://freespace.virgin.net/hugo.elias/models/m_ik2.htm möglich sein. Diese Berechnungen sind sicher in Echtzeit realisierbar. Allerdings haben Modellbauservos immer das Problem, dass die Geschwindigkeit nicht explizit gesetzt werden kann und sie kein Positionsfeedback geben (was die Bewegung mMn immer etwas ruckeliger als nötig macht)

    Für komplexe Bewegungen muss man sich höchst wahrscheinlich in Inverse Kinematik einlesen. Das ich auch nicht so schwer, aber eventuell übersteigt es normale Mittelschulmathematik (und bringt den Mikrocontroller eventuell in die Knie)

  8. #28
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    41
    Beiträge
    4.534
    Blog-Einträge
    1
    @Hobbes, da geb ich dir recht rein Analytisch werden wir über die Tabellenform nicht hinaus kommen.
    Ob es mit der Gradientenmethode oder mit Euklidischen Vektoren lösbar ist wissen wir noch nicht.
    Genauso muss es erst ausprobiert werden ob ein µC sowas dann noch online rechnen kann oder es eben doch auf ein eingespeichertes Tabellenwerk hinaus läuft.

    Die Frage des Positionsfeedbacks stellt sich erst einmal gar nicht, denn die meisten unserer Spinnenroboter fahren mit dem Servo die Position einfach an und vertrauen darauf, dass diese danach auch erreicht wird. Hindernisse und Stolperschwellen werden hier erst einmal komplett weggelassen.

  9. #29
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.04.2005
    Ort
    Freiberg
    Alter
    40
    Beiträge
    311
    Hallo,

    ich denke mal an meine reichlichen Verspätungen dürften sich die meisten schon gewöhnt haben..
    Außerdem war ich mal etwas faul und habe mir vor allem die bisherigen mathematischen Leistungen nicht sooooo genau angeguckt. Na das haben wir ja gerne: schreiben wollen, aber nicht lesen können...

    Aber erstmal vorweg: huch, ich dachte sowas gibt's schon, deshalb bin ich immer schmunzelnd über eine solche (einfache?) Sache drüber hinweggegangen. Da bitte ich doch glattweg auch mal um Entschuldigung für diese Abwertung. Zwar habe auch ich zu Beginn einen kleinen Denkfehler begangen, quasi einen völlig falschen Weg eingeschlagen. Aber so im Nachhinein kann man es wahrlich als sehr einfach bezeichnen. Natürlich kann auch alles was ich hier jetzt vorstelle völliger Humbug sein. In dem Fall möchte ich diesen vorhergehenden Satz nie gesagt haben...

    Da fang ich doch einfach mal an:

    Die Bezeichnungen habe ich mal frecherweise um zwei Größen erweitert: eine Strecke D und der Winkel <delta>, der damit und mit dem Boden eingeschlossen wird.

    Bild hier  

    Da kann man ganz einfach erstmal behaupten (auch wenn ich hier womöglisch die eine oder andere Beziehung wiederhole):

    Bild hier  

    und auch der Winkel <delta> sowie die Strecke D lassen sich ziemlich einfach bestimmen:

    Bild hier  

    Des weiteren kann man von dem guten alten Kosinussatz Gebrauch machen:

    Bild hier  

    Und der andere nennt sich ähnlich: Sinussatz:

    Bild hier  

    Und da ja die Summe aller Innenwinkel eines Dreiecks immer 180° sein muss, erhält man ganz schnell <alpha>:

    Bild hier  

    Das baut zwar alles aufeinander auf, aber wer lustig ist, kann auch alles ineinander einsetzen und dann alles ausschließlich von den Gegebenheiten abhängig machen.
    Leider habe ich keine passende Methode um das alles zu überprüfen, aber ich habe mal ein wenig in Excel rumgespielt und da sah alles doch zumindest im Ansatz recht vertrauenserweckend aus.
    Aber sollte jemand noch irgendeine Kniffelichkeit oder einen Fehler finden, würde ich mich über Korrektur freilich freuen!
    Grüß
    NRicola
    Gurken schmecken mir nicht, wenn sie Pelz haben!

  10. #30
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    41
    Beiträge
    4.534
    Blog-Einträge
    1
    @NRicola leider nur die halbe Arbeit und wieder nur das, was wir hier schon 3-4 mal präsentiert bekommen haben.

    Genau das alles in Abhängigkeit zueinander setzten so dass am ende nur noch eine Abhängigkeit von Drehwinkel Tau in der Hüfte. Das hab bisher noch keiner präsentiert als formel. Wohl aber als Tabelle.

    Die ganzen Trigonometrischen Sachen sind wohl für viele einfach zu lösen.

Seite 3 von 8 ErsteErste 12345 ... LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests