Ich versuche, die Position und Unsicherheit meines LIDAR-Sensors in einer Box zu ermitteln. Für Position: x-, y-Werte in mm und Winkel in Grad, für Unsicherheit: σx-, σy-Werte in mm und σθ in Grad. Ich verwende RaspberryPi mit RPLIDAR A2 und programmiere mit C++. Ich möchte die Position des LIDAR innerhalb der übergeordneten Box abrufen.
Update 1: Ich erhalte Daten (Entfernung und Winkel) vom LIDAR und zeichne in Matlab. Aber ich muss die Position des LIDAR in der Box finden. Ich brauche keine genauen Codes, nur Schritte durch sie können mir helfen.
Update 2: Hier ist der Plot von Matlab (dieser Messwert stammt jedoch nicht aus einer Box). Derzeit ist der Sensor immer in der Mitte, wenn ich ihn bewege. Ich möchte die Position des Sensors erhalten, da sich die Box in einer festen Position befindet. Das sich bewegende Ding ist der Sensor selbst.
Letztlich geht es um Mathematik, nicht um Elektrotechnik.
Soweit es das LIDAR betrifft, befindet es sich im Zentrum des Universums und definiert eine Null-Grad-Achse. Alle Koordinaten, die es zurückgibt, sind relativ zu diesem Zentrum und dieser Achse.
Es gibt wahrscheinlich Polarkoordinaten (r, θ) zurück, wobei r der Bereich und θ der Winkel relativ zur Achse ist. Es sollte ein einfacher Trig sein, wenn Sie möchten, dass sie in (x, y) umgewandelt werden.
Ihre Aufgabe ist es, diese Koordinaten zu rotieren und zu verschieben, um sie mit dem auszurichten, was Sie als Mittelpunkt des Universums gewählt haben - der Box. Das Knifflige ist, herauszufinden, was diese Translation und Rotation ist.
Wenn Sie sich in einer Box befinden, sollten Sie feststellen, dass die Punkte sauber in gerade Linien fallen. Sie müssen einen Weg finden, um zu bestimmen, welche Punkte in welchen Linien liegen. Verwenden Sie vielleicht eine Hough-Transformation. Oder wählen Sie einfach eine Gruppe aufeinanderfolgender Punkte aus dem LIDAR aus und bestimmen Sie, ob sie nahe genug sind, um eine gerade Linie zu bilden.
Sobald Sie wissen, wo sich die Linien relativ zum LIDAR befinden, können Sie die Drehung ausarbeiten, um die Linien dorthin zu drehen, wo Sie sie haben möchten, und dann die Verschiebung, um alles relativ zur Mitte der Box zu verschieben.
Beachten Sie, dass es immer eine gewisse Mehrdeutigkeit gibt, wenn die Box ein einfaches Rechteck oder Quadrat ist. Wenn eine hinterhältige Person das LIDAR für einen Moment ausschaltet, das Ganze um 180° dreht und wieder einschaltet, haben Sie keine Möglichkeit, es zu wissen.
Wenn Sie eine Karte des Raums haben, können Sie so etwas wie einen Partikelfilter verwenden, um Ihren Standort zu schätzen. Dies wird Lokalisierung genannt . Es gibt viele Artikel, Ressourcen und Tutorials zu diesem Thema.
Es wird auch von Algorithmen für fahrerlose Autos verwendet, um den Standort eines Autos zu schätzen.
Quelle: Toward Data Science
Phil C
AKM Tariqul Islam
Selvek
Phil C
AKM Tariqul Islam
dpdt
AKM Tariqul Islam
Analogsystemerf