Bestimmen der Position und Geschwindigkeit eines Laufkranwagens mit einer Digitalkamera und OpenCV





In der Bildverarbeitung gibt es eine Methode zum Messen der Entfernung zu einem Objekt ohne Verwendung von Tiefensensoren und Stereokameras. In diesem Artikel wird die Methode verwendet, um die Position und Geschwindigkeit eines Laufkranwagens zu bestimmen.



Aufgrund der Tatsache, dass der Wagen mit Encodern ausgestattet ist, kann ich zeigen, wie genau diese Methode, basierend auf der Ähnlichkeit von Dreiecken, funktioniert. Der Artikel zeigt, wie die Entfernung mit einer Kamera gemessen wird und wie sie für praktische Aufgaben verwendet werden kann.



Das Thema ist meiner Masterarbeit gewidmet, die ich vor zwei Jahren geschrieben habe.



Ausrüstung



Die Studie wurde im Industrielabor der OOO PO Privod-Avtomatika in Magnitogorsk mit einem installierten Trägerkran durchgeführt, der den Betrieb eines echten Laufkrans simuliert.







Während des Experiments wurde ein Video der Bewegung des Krans mit einem gleichzeitigen Verfahren zum Ablesen der Messgeräte aufgenommen. Die Geschwindigkeitsgraphen wurden mit der SoMove-Software von Schneider Electric erhalten.



Das Video wurde mit einer Canon EOS 1200D Kamera mit einer Auflösung von 1920x1080 aufgenommen.



Um den Wagen zu erkennen, wird ein grafisches Etikett mit einem gezeichneten Rechteck und einem Kreis darin verwendet. Die Lösung ist nicht ganz erfolgreich, vor dem Experiment hätte ich die Etiketten besser verstehen sollen. Mit Hilfe der Konturanalyse (Flächen- und Seitenverhältnisbeschränkungen) konnte ich jedoch immer noch das gewünschte Rechteck erkennen. Ich werde auch hinzufügen, dass, wenn das Objekt leicht zu erkennen ist und die physische Größe genau gemessen werden kann, keine grafische Beschriftung erforderlich ist.



Arbeitsalgorithmus



Die Entfernungsberechnungsmethode basiert auf der Ähnlichkeit von Dreiecken, die auf der Linsenapertur konvergieren.







Messen wir den Bereich der Marke auf Papier mit einem Lineal und den Bereich der Marke im Rahmen mit der opencv-Bibliothek. Wenn wir die Brennweite kennen, können wir die Entfernung zum Objekt berechnen.



Experimentieren



Eine Digitalkamera ist vor einem Laufkranwagen installiert. In einem Abstand, der ausreicht, damit der Betrachtungswinkel den gesamten Bereich des Krans abdeckt.





Installationsdiagramm. Sicht von oben.



Es wurden zwei Testvideos aufgezeichnet, die sich entlang der x-Achse - rückwärts, von der Kamera weg und entlang der y-Achse - zuerst nach links und dann nach rechts bewegten. Die Positions- und Zeitwerte werden in das Numpy-Array geschrieben und dann

nach Matlab exportiert, wo die Bewegungsgraphen S (t) aufgezeichnet werden.







Durch Differenzieren der Daten erhalten wir Diagramme der Geschwindigkeit V (t).



x_veloc = np.diff(x_position) / np.diff(time_mas)


Da die Bewegungsdiagramme ein subtiles Rauschen aufweisen, das mit einer ungenauen Kantenerkennung und einer ungleichmäßigen Beleuchtung verbunden ist, erhöht die Differenzierungsoperation dieses Rauschen erheblich.







Lassen Sie uns das Rauschen mithilfe eines Filters 1. Ordnung in Matlab glätten und die Encoder-Messwerte mit den Messwerten der Digitalkamera vergleichen.







Die Grafiken zeigen, wie genau die Entfernungsmessung mit einer Kamera erzielt werden kann.



Um den Geräuschpegel zu reduzieren und glattere Grafiken zu erhalten, wurde eine zweite Version des Tags mit Visier und lokaler Beleuchtung entwickelt.







Theoretisch sollte dies ermöglichen, das Rauschen zu reduzieren und dadurch die Messgenauigkeit zu erhöhen. Leider konnten wir die neue Version des Tags noch nicht ausprobieren.



Für diejenigen, die mehr über die Objektverfolgung auf der Grundlage von Konturanalysen erfahren möchten, gibt es einen guten Artikel, in dem die Genauigkeit von Verfolgungsmethoden zur Bestimmung von 2D-Koordinaten und Geschwindigkeiten mechanischer Systeme aus digitalen Fotodaten geschätzt wird.



In dem Artikel habe ich über die einfachste Methode zum Messen der Entfernung zu einem Objekt gesprochen und gezeigt, welche Messgenauigkeit erzielt werden kann. Vielen Dank für Ihre Aufmerksamkeit.



All Articles