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?
philipp schrieb: > Ist diese Überlegung soweit richtig oder habe ich vergessen etwas zu > beachten? wechselnde Querneigung des Untergrundes und damit eine Querneigung des Roboters, erzeugen dir "falsche vermeintliche Kurvenfahrten"
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.
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.
Wie wäre mit einem Drehratensensor? Beispiel SMI055, da ist Beschleunigung auch inklusive. oder BMC050. Verfügbarkeit und Lötbarkeit ist bei den Consumerteilen allerdings ein bisschen schwierig. Max
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.