Roboter Gerade fahren mit Beschleunigungssensor überprüfen

Gast #3233549
Hallo,

ich würde bei meinem Roboter gerne detektieren, ob dieser geradeaus 
fährt oder nicht, bzw. ob dieser eine saubere Kurve fährt oder nicht.
Ist dazu ein Beschleunigungssensor geeignet, der die Beschleunigung in x 
und y Richtung misst?
Mein Grundgedanke dahinter sagt, wenn der Roboter in x Richtung fährt, 
dann sollte ja die Beschleunigung in y Richtung = 0 sein, wenn diese 
sich ändert, dann fährt er schräg.
Bei einer sauberen Kurve sollte der Beschleunigungswert in y Richtung 
konstant bleiben, und somit der Radius der Kurve gleich. (Natürlich 
alles bei konstanten Geschwindigkeiten)
Ist diese Überlegung soweit richtig oder habe ich vergessen etwas  zu 
beachten?
Beschleunigungssensoren haben einen nicht vernachlässigbaren Offset und 
ein eher starkes Eigenrauschen. Beides kann man kompensieren, bzw. 
filtern. Zusätzlich beeinflussen Vibrationen und Schläge die Messwerte 
stark. Kleine Beschleunigungen sind fast nicht zuverlässig zu erkennen, 
weil diese im Grundrauschen untergehen.

Natürlich gibt es auch bessere Bausteine, kosten halt einfach mehr.
Gast
Hey Vielen Dank für die Antworten.

Dass der Untergrund uneben ist, daran habe ich echt nicht gedacht. Dies 
lässt sich vermutlich auch kaum irgendwie ohne verhältnismäßigen Aufwand 
kompensieren/detektieren
Dann wird wohl nur eine Lösung mit CNY70 und Encoderscheibe als 
zuverlässige Alternative in Frage kommen.
Drehgeber mit Encoderscheiben ist auch nicht ganz einfach, aber sicher 
zuverlässiger. Wenn du dir daraus die Beschleunigung berechnest, wird 
diese auch verrauscht sein. Am besten ist es wohl, am linken und rechten 
Rad je einen Drehgeber zu montieren und aus der resultierenden 
Geschwindigkeitsdifferenz deine Kurve herzuleiten. Natürlich müssten die 
beiden Räder mechanisch unabhängig sein. Zusätzlich kannst du so auch 
noch durchdrehende oder blockierte Räder erkennen. Den 
Beschleunigungssensor kannst du ja noch zusätzlich verwenden.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.