-
        

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: Welche Sensoren für mini-Segway

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.04.2010
    Beiträge
    11

    Welche Sensoren für mini-Segway

    Anzeige

    Hey Leute!
    Also wir sind gerade dabei einen mini-segway zu bauen, der sich selbst ausbalanciert. Ich habe jetz bereits einen 3-Achsen Beschleunigungssensor(http://www.robotikhardware.de/downlo..._MMA7260QT.pdf). Habe jedoch gelesen, dass man noch einen zweiten beschleunigungssensor benötigt. Stimmt das, oder reicht dieser sensor aus um den Winkel zu bestimmen? Und wenn ja, wie mache ich dass, da der Sensor ja nur die Beschleunigung in eine bestimmte richtung misst.
    Und wo soll ich den Sensor am klügsten platzieren bei meinem segway? Auf Achshöhe, so weit oben wie möglich oder dazwischen drin??

    Vielen dank für eure Unterstützung!

    Viele Grüße
    Andi

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.01.2008
    Alter
    24
    Beiträge
    540
    ich habe mich zwar mit der technik noch nie beschäftigt, aber ich würde den beschleunigungssensor so weit oben wie möglich platieren. da hast du dann die höchsten geschwindigkeiten und die messungen werden genauer. wenn der sensor dann ein kippen meldet, kannst du mit den motoren gegensteuern. meiner meinung würde also ein sensor ausreichen, ich würde aber vll. jemand fragen, der sich auf dem gebiet besser auskennt, auch wegen der genauigkeit der sensoren.

    mfg roboman

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    08.03.2008
    Alter
    24
    Beiträge
    49
    Hallo,

    wenn du nur einen Beschleunigungssensor benutzt, hast du das Problem, dass du nicht zwischen der Erdbeschleunigung und der Beschleunigung des Robters unterscheiden kannst.
    Um den Kippwinkel zu bestimmen, brauchst du die Erdbeschleunigung. Die Messachse des Beschleunigungssensors wird parallel zur Erdoberfläche angeordnet. Wenn der Roboter gerade steht, bemerkt der Sensor nichts von der Erdbeschleunigung. Sobald er aber kippt, wird diese vom Sensor gemessen. Damit lässt sich dann der Winkel berechnen.

    Allerdings misst der Beschleunigungssenor natürlich auch eine Beschleunigung, wenn der Roboter fährt. Er kann diese Beschleunigungen nucht unterscheiden.

    Theoretisch ist es möglich mit zwei Beschleunigungssensoren zu balancieren: Einer wird oben und einer unten am Roboter befestigt. Wenn der Roboter dann kippt, werden unterschiedliche Beschleunigungen gemessen, da der obere Sensor stärker bewegt wird. Durch das Rauschen des Sensors ist diese Methode allerdings fast unmöglich, der berechnete Winkel wird sehr ungenau.

    Am besten funktioniert die Kombination von einem Beschleunigungssensor mit einem Gyro. Ein Gyro kann eine Winkelgeschwindigkeit messen. Damit kann dann zumindest näherungsweise der Winkel bestimmt werden.

    Zur Platzierung des Sensor:
    Ich bin mir nicht ganz sicher, aber ich glaube im Schwerpunkt des Roboters funktioniert es am besten.

    Viele Grüße,
    Jan

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.12.2008
    Beiträge
    319
    Moin, ich verwende, wenn sie mal ankommen, Sensoren von Analog Device! Und zwar habe ich mich da etwas bei den Microkoptern umgeschaut. Eine Kombination aus Gyro und Beschleunigungssensor eben.
    Ich habe sehr oft gelesen das die günstigen Sensoren mehr Probleme bereiten und viele dann auf die von AD umgestiegen sind...

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    23.01.2010
    Ort
    Hannover
    Alter
    36
    Beiträge
    35
    Hallo alphatier, ich quote mal kehrblechs post, will damit natürlich auch deine Fragen beantworten oder besser beantvermuten.

    Aus den drei Beschleunigungswerten der orthogonalen Achsen lässt sich ein Vektor bilden.
    Plump gesagt: Wohin DER zeigt "ist unten". Der Betrag dieses Vektors sollte dann bei ca. 1G (9.81m/s^2) liegen. Über Winkelfunktionen (sin cos) lässt sich der Winkel zur Erdoberfläche berechnen. blabla..
    Liegt der Vektorbetrag über dem Wert der Erdbeschleunigung, erfährt der Sensor eine zusätzliche Beschleunigung durch z.B. eine Vorwärtsbeschleunigung.
    Zitat Zitat von kehrblech
    Hallo,
    wenn du nur einen Beschleunigungssensor benutzt, hast du das Problem, dass du nicht zwischen der Erdbeschleunigung und der Beschleunigung des Robters unterscheiden kannst.
    Wie Kehrblech schreibt lässt es sich so nicht unterscheiden. Ich hätte grade aber auch keine Idee, ob ein zweiter Sensor (z.B. oben am Griff) da helfen könnte..
    Hast du eine Quelle zu der zwei 3-Achsen Sensor Kombination?

    Zitat Zitat von kehrblech
    Wenn der Roboter gerade steht, bemerkt der Sensor nichts von der Erdbeschleunigung. Sobald er aber kippt, wird diese vom Sensor gemessen. Damit lässt sich dann der Winkel berechnen.
    Wenn der Segway gerade steht, misst im Optimalfall genau eine Achse die komplette Erdbeschleunigung. Beim Kippen des Sensors wird diese auf die anderen Achsen verteilt.

    Zitat Zitat von kehrblech
    Allerdings misst der Beschleunigungssenor natürlich auch eine Beschleunigung, wenn der Roboter fährt. Er kann diese Beschleunigungen nucht unterscheiden.
    [...]
    Am besten funktioniert die Kombination von einem Beschleunigungssensor mit einem Gyro. Ein Gyro kann eine Winkelgeschwindigkeit messen. Damit kann dann zumindest näherungsweise der Winkel bestimmt werden.

    Zur Platzierung des Sensor:
    Ich bin mir nicht ganz sicher, aber ich glaube im Schwerpunkt des Roboters funktioniert es am besten.

    Viele Grüße,
    Jan
    Das Kippen lässt sich im Stand sowie während der Fahrt (bei konstanter Geschwindigkeit) mit dem 3-Achsen Beschleunigungssensor messen. Für die "Kippwinkelmessung" während des Beschleunigungs- und des Bremsvorgangs wird ein Gyro benötigt. Ich habe keinen Schimmer, wie die "richtigen" Segway aufgebaut sind - das wäre mal ne Nachforschung wert.

    Wenn ich es mir aussuchen könnte, würde ich den Sensor mittig, "im Unterbau", nahe der Fahrzeugachse unterbringen. Eine Montage am Haltegriff bzw. der Stange würde vermutlich die Datenaufbereitung durch die Zappelei des Fahrers noch weiter erschweren.

    Gruß
    ebenfalls Jan
    Ich bastel derzeit an AKS888.
    Mein Videoausstoß bei YouTube.

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.10.2005
    Alter
    64
    Beiträge
    157
    Moin,

    man kann nicht zwischen der Beschleunigung des Robotors und der Erbeschleunigung unterscheiden. Prinzipiell nicht. Das ist eine physikalisches Phänomen und kein Problem irgendwelcher Sensorschwächen (wer's nicht glaubt, möge sich sein altes Schulbuch schnappen oder warten bis es in der Schule d'rankommt ).
    Auch zwei gelichartige Sensoren helfen nicht weiter. Die messen beide das gleiche (Begründung: s.o).

    Auch ist es ziemlich egal, wo man den Sensor anbringt! Die diversen Hinweise auf Geschwindigkeit und Bewegung sind -mit Verlaub gesagt- schlichtweg Blödsinn. Einziges Argument ist: Suche ein Stelle, an der es möglichst wenig Fehlerinflüsse gibt. Beschleunigungssensoren sind extrem Vibrationsanfällig.

    Ein Beschleunigungssensor (in der Konstallation SegWay) misst die Resultierende aus Erdbeschleunigung und Beschleunigung des Segways (genauer: die des Sensors). Immer! Ein Gyroskop misst Winkelgeschwindigkeiten. Beim Segway: die Geschwindigkeit mit der das Ding kippt. Differenzierung ergibt die Winkelbeschleunigung, Integration den Winkel (Winkellage). Das letze wäre eigentlich das, was man benötigt und ist vergleichbar mit dem, was der Beschleunigungssensor misst (Winkel zur Lotrechten). Aber: Gyroskope haben ekelhafte Langzeitprobleme (wobei "Langzeit" hier nur einige Sekunden sind). Eine Komonation aus beiden (Beschleunigungssensor und Gyroskop) wird i.d.R. zur Stabilisierung von Koptern (Heli- Quadro-, Okto-, ...) eingesetz und über Sensorfusion miteinader abgelichen (Kalmanfilter). Wen du hiernach googelst, wirst du viele Hinweise finden.

    Ein Segway hat aber prinzipiell eine weitere Datenquelle: Radsensoren. Die geben einen guten Wert für die Beschleunigung des Systems. Mit einem bisschen Geometrie (Vektoraddition) kann man ziemlich präzise Aussagen über den Zustand des Systems erhalten.

    Viele Grüße
    Red Baron

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    23.01.2010
    Ort
    Hannover
    Alter
    36
    Beiträge
    35
    Zitat Zitat von RedBaron
    Auch ist es ziemlich egal, wo man den Sensor anbringt! Die diversen Hinweise auf Geschwindigkeit und Bewegung sind -mit Verlaub gesagt- schlichtweg Blödsinn. Einziges Argument ist: Suche ein Stelle, an der es möglichst wenig Fehlerinflüsse gibt. Beschleunigungssensoren sind extrem Vibrationsanfällig.
    Du scheinst dich mit der Thematik auszukennen. Pauschal alle Hilfestellungen als Blödsinn abzustempeln finde ich da zu bequem. Das macht es dem Threadersteller nicht einfacher.
    Die unterschiedlichen Positionen machen einen Unterschied. Je weiter entfernt der Sensor von der Achse des Unterbaus montiert wird, desto stärker wirken sich die Kippbewegungen (im Stillstand) des Fahrers aus. Das Optimum wäre eine Position, bei der eine der Sensorachsen exakt auf der Radachsen liegt.
    Ich bastel derzeit an AKS888.
    Mein Videoausstoß bei YouTube.

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.10.2005
    Alter
    64
    Beiträge
    157
    Nun ja, eigentlich sollte derjenige, der eine Behauptung aufstellt eine Begründung abgeben und nicht derjenige, der sie nicht glaubt…. Ich probiere es trotzdem einmal, es zu erklären.

    Ein Segway ist ein starrer Körper (jedenfalls alle die, die ich kenne). Die Teile zueinander haben eine fixe Lage, Zustandsänderung bzgl. der Umwelt (hier Erdoberfläche und Schwerefeld) werden gleichermaßen durchgeführt. D.h. konkret: alle Entfernen und Winkel im System selbst ändern sich nie. Bei Drehbewegungen (Kippen) sind Winkel, Winkelgeschwindigkeit und Winkelbeschleunigung bei allen Komponenten gleich. Zur Regelung des Segway wird eine Lageinformation benötigt, konkret der Winkel zur Lotrechten, der ausgeregelt werden soll (0° bei Stillstand, einige wenige Grad Vorlage bei Fahrten). Soviel zur Theorie.

    Nehmen wir nun einmal ein reales System. Der Beschleunigungssensor sei wie folgt angebracht. Z-Achse: lotrecht, Y-Achse: parallel zur Radachse, X-Achse: die üblich Bewegungsrichtung. Der Sensor habe einen Abstand A von der Radachse. Eine andere Orientierung ändert nichts, auch keine "schiefe". Nur die Berechnungen werden schwieriger.

    Was misst man?
    Y: Ausschließlich die Zentripetalkraft bei Kurvenfahrten. Die ist unerheblich.
    X: Zum einen die Beschleunigung des System. Die stört. Dann beim Kippen die Tangentialbeschleunigung des Sensors. Die ist abhängig von der Winkelgeschwindigkeit und dem Abstand. Sie wird umso größer, je weiter der Sensor von der Achse entfernt ist. Ich nehme an, das ist das, was du meinst. Im Prinzip misst man hier die Winkelbeschleunigung, versehen mit einem (proportional-) Faktor. Das Problem ist leider, dass man mit dem Messwert so gut wie nicht anfangen kann. Man braucht eine Lageinformation. Um aus der Beschleunigung auf den Winkel zu schließen, muss man zweimal integrieren. Das führt zu Langzeitinstabilitäten (Siehe Gyroskop, weiter oben).
    Z: Hier misst man cos(Alpha)*g (Alpha=Winkel zur Lotrechten, g=Erdbeschleunigung). ArcCos(Alpha) liefert also einen Wert proportional zum Winkel und muss zur Steuerung herangezogen werden. Dies ist unabhängig vom Abstand des Sensors zur Drehachse. Ob der Sensor über der Achse oder weit daneben liegt, spielt auch keine Rolle.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    30.04.2010
    Beiträge
    11
    Hey Leute!
    Vielen dank für das großartige Feedback! Ich entnehme euren Anmerkungen, dass ich mit dem genannten Beschleunigungssensor auf keinen grünen Zwei kommen werde. Also brauche ich ein Gyroskopsensor +beschleunigungssensor in Z richtung als Referenz für die Winkelmessung. An den Roten Baron ein besonderes Dankeschön für die ausführlichen Erläuterungen. @the_muck, ich werde mich mal um Sensoren von AD bemühen und dann werde ich posten wie sich die Dinge entwickeln.
    Ich wünsche noch einen schönen Abend!
    Viele Grüße
    Andi

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.12.2008
    Beiträge
    319
    Mal zu der ganzen Theorie, vorweg ich habe noch keinen Segway gebaut bin aber an so einem Kugelroboter dran.

    Das Problem was ich bei bei den "0°" sehe ist, das ich doch Erstmal den Schwerpunkt des Systems finden muss. Oder besser der Segway sich ihn beim einschalten selber sucht... der ist ja je nach last unterschiedlich, Lotrechte muss da doch Erstmal gar nichts sein....

    schau mal hier:
    http://www.roboternetz.de/phpBB2/viewtopic.php?t=52338

    er hat vieles sehr gut Dokumentiert

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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