Unser Roboter verfügt über eine kreisförmige Anordnung von 12 Sonarsensoren, die folgendermaßen aussehen:
Die Sonarsensoren selbst sind ziemlich gut. Wir verwenden einen Tiefpassfilter, um mit Rauschen umzugehen, und die Messwerte scheinen ziemlich genau zu sein. Wenn der Roboter jedoch auf eine flache Oberfläche wie eine Wand stößt, passiert etwas Seltsames. Die Sonare zeigen keine Messwerte an, die auf eine Wand hinweisen, sondern erscheinen wie eine gekrümmte Oberfläche.
Die Darstellung unten wurde gemacht, als der Roboter vor einer Wand stand. Sehen Sie die Kurve in den blauen Linien im Vergleich zur geraden roten Linie. Die rote Linie wurde unter Verwendung einer Kamera erzeugt, um die Wand zu erfassen, wobei die blauen Linien gefilterte Sonarwerte zeigen.
Wir glauben, dass dieser Fehler auf Übersprechen zurückzuführen ist, bei dem der Impuls eines Sonarsensors in einem Winkel von der Wand abprallt und von einem anderen Sensor empfangen wird. Dies ist ein systematischer Fehler, daher können wir nicht wirklich so damit umgehen wie mit Lärm. Gibt es irgendwelche Lösungen, um dies zu korrigieren?
quelle
Antworten:
Dies ist ein häufiges Problem und eines von vielen. Die akustische Wahrnehmung ist ein kompliziertes Forschungsgebiet, von dem ein erheblicher Teil damit verbracht wird, zu erraten, welchen Weg eine Schallwelle zwischen dem Senden und Empfangen eingeschlagen hat. Wie Sie bemerkt haben, führt die Annahme, dass es direkt herauskam und direkt zurückkam, in der Praxis zu merkwürdigen Ergebnissen.
Um es wirklich zu lösen, müssen Sie ein System verwenden, das jedem Sensor eine eindeutige Frequenz und / oder Tonlänge zuweist. Dies kann zu erheblichen Extremen geführt werden, z. B. zur Frequenzsprung-Pseudozufallsimpulsbreitenmodulation, um das Übersprechen von Sonarsensoren in mobilen Robotern zu beseitigen .
Es gibt auch eine Low-Tech-Lösung, deren Konzept recht einfach ist. Wenn Sie einfach das Übersprechen erkennen möchten, müssen Sie den Impuls eines einzelnen Sensors zwischen dem Auslösen aller Sensorimpulse auslösen. Wenn Sie den Rückimpuls mit einem anderen Sensor erfassen, wissen Sie, dass Sie sich in einer Übersprech-Situation befinden.
In der Praxis ist dies ziemlich verschwenderisch: Beachten Sie, dass sich dadurch die Anzahl der Proben, die Sie entnehmen können, effektiv halbiert. Sie können also die Implementierung verbessern, indem Sie die Sensoren in Gruppen unterteilen, in denen jedes Mitglied der Gruppe weit genug von den anderen entfernt ist, dass es kein Übersprechen erhält. Die robusteste Version dieses Ansatzes besteht darin , die Gruppen selbst pseudozufällig zu machen, wodurch nicht nur die Fehler über die Zeit gemittelt werden können, sondern auch die Erkennung von Übersprechen auf der Basis einzelner Sensoren unterstützt wird.
In Ihrem speziellen Fall haben Sie den zusätzlichen Vorteil, dass ein von Ihnen angezeigter Kamerasensor einen korrekteren Wert für die Bereiche zurückgibt. Strategien, um separate (und möglicherweise widersprüchliche) Messungen zu einer genaueren Schätzung zu kombinieren, sind ein sehr weit gefasstes Thema ( Fusion genannt , Beispiel 1 , Beispiel 2 ), aber ein sehr relevantes für das, was Sie hier tun.
quelle
Einige Sensoren, wie der Maxbotix MB1200 XL-MaxSonar-EZ0, verfügen über ein integriertes Verkettungssystem, bei dem ein Sensor den nächsten Sensor auslöst, sobald die Messung abgeschlossen ist. Auf diese Weise können Sie N Sensoren haben und sicherstellen, dass nur einer gleichzeitig feuert, aber dass dort der nächste Sensor feuert, sobald der erste seine Rückkehr gesammelt hat. Diese Lösung ist einfach, reduziert aber offensichtlich die Datenmenge, die Sie pro Zeiteinheit erhalten, erheblich. Ians Lösungen sind dem Optimum viel näher.
quelle
Ist es möglich, mehrere Ultraschallsensoren an einem einzigen Roboter zu verwenden? Ja: "Verwenden mehrerer Sonarsensoren" .
Wie Sie bereits herausgefunden haben, empfängt ein Sensor häufig Echos von Pings, die von einem anderen Sensor gesendet wurden. Es gibt verschiedene Möglichkeiten, mit Querempfindlichkeit umzugehen, ungefähr in der Reihenfolge der einfachsten zuerst:
PS: Haben Sie "Infrarot vs. Ultraschall - Was Sie wissen sollten" gesehen ?
(Ja, das habe ich schon bei "Multiple Ultrasonic Rangefinder Question" gesagt .)
quelle