Verfolgen Sie ein sich bewegendes Objekt


7

Wenn dies bereits beantwortet wurde, weisen Sie mich bitte darauf hin.

Ich bin gerade dabei, einen Quadcopter zu bauen, den ich schließlich autonom betreiben möchte, indem ich ihm erlaube, ein Objekt zu verfolgen und einen Video-Feed davon aufzunehmen.

GPS ist eine der Optionen, die ich im Grunde in Betracht gezogen habe:

  • GPS-Antenne auf sich bewegendem Objekt (Person, Auto, Fahrrad, Surfer)
  • GPS-Antenne am Quadcopter
  • Radio zur Übertragung von Koordinaten vom sich bewegenden Objekt zum Quad-Copter

Einige der Herausforderungen, die ich vorhersehen kann, sind

  • Sichtlinie für Kamera. Woher weiß die Kamera genau, wohin sie zeigen soll?
  • Winkel, wie kann ich das Quad vorprogrammieren, um immer aufzunehmen, sagen wir ... 10 m rechts vom sich bewegenden Objekt, oder noch besser, programmieren Sie eine Reihe von Winkeln, aus denen Sie aufnehmen können, während Sie mit dem Objekt Schritt halten
  • GPS-Genauigkeit, was passiert, wenn die GPS-Sperre schwach ist?

Was sind einige meiner anderen Optionen? Ich habe diesen TED Talk gesehen, bei dem die Quads einem kugelförmigen Sensor folgen. Ich glaube, es werden Kinect-Kameras verwendet und viele davon, was für diese Herausforderung keine Option ist.

Daher bin ich offen für einige Ideen, bevor ich mit der Forschung und Entwicklung dieser Funktionen beginne.

Antworten:


5

In dem von Ihnen referenzierten TED Talk wird ein Vicon Motion Capture- System verwendet. Es ähnelt einem Kinect darin, dass es die 3D-Koordinaten jedes Objekts angibt, das in seinem Sichtfeld verfolgt wird. Wie der Kinect verwendet er IR, verwendet jedoch IR-reflektierende Kugeln, die am Quadrotor und am Zeiger des Präsentators angebracht sind, um Objekte zu identifizieren und zu verfolgen. Ganz zu schweigen davon, dass es sich um ein wesentlich teureres System handelt.

Systeme wie Vicon und Kinect funktionieren nicht im Freien, da sie IR verwenden und die Sonne sie blind macht. Die von Ihnen vorgeschlagene GPS-Lösung ist ein gängiger Ansatz für dieses Problem bei Veranstaltungsorten im Freien. Ein anderer Ansatz könnte die Verwendung von Quuppa sein , einem RF-basierten Bewegungserfassungssystem.

Unabhängig davon, welche Verfolgungsmethode Sie verwenden, sobald Sie die Position des Roboters und des Ziels kennen, ist das Problem der Berechnung der Richtung zum Ziel oder davor ein grundlegendes geometrisches Problem. Wenn Sie die Roboterposition von der Zielposition abziehen, erhalten Sie die Richtung, in die die Kamera gerichtet werden soll. Um ein paar Fuß vor dem Ziel zu verfolgen, fügen Sie zunächst der Zielposition einen Vektor hinzu, der die Fahrtrichtung und die Führungsentfernung darstellt (in Ihrem Beispiel 10 m).

Wenn Sie den Standort des Roboters nicht kennen müssen, sondern nur seine relative Position zum Ziel, können Sie mithilfe von Computer-Vision-Techniken das Ziel verfolgen und sich mit ihm bewegen. Natürlich müssen Sie dabei Hindernisse vermeiden. Auch die Hindernisse selbst könnten Ihre Sicht verdecken. In diesem Fall benötigen Sie eine Möglichkeit, die Bewegung des Ziels vorherzusagen. Dies kann besonders schwierig sein, wenn Sie Menschen im Freien verfolgen.

Die Realität ist, dass das Problem, mit dem Sie sich befassen, ein sehr aktives Forschungsgebiet ist. Ich kenne mehrere Forschungsgruppen aus Wissenschaft und Industrie, die versuchen, dieses Problem anzugehen. Ich habe hier nur die Oberfläche zerkratzt.


1
Vielen Dank für die ausführliche Antwort. Ich werde mit der Implementierung der GPS-Lösung beginnen und sehen, wie es mir geht, und wahrscheinlich weitere Fragen stellen.
Marko

1

Informieren Sie sich über die Genauigkeit Ihrer vorgeschlagenen GPS-Empfänger. Sie können enttäuscht sein. Sie können die GPS-Genauigkeit erhöhen, indem Sie die Ausgabe des GPS-Empfängers mit Daten eines Trägheitssensors verschmelzen. Soweit ich weiß, können Sie jedoch kein Hobby-Preissystem erhalten, bei dem dies bereits geschehen ist, und das Problem ist keineswegs trivial zu lösen .

Betrachten Sie zum Zeigen einen Kompass auf Ihrem Quad-Copter.

Es wird ein ziemlich grobes Problem sein, es zu lösen, insbesondere wenn Sie möchten, dass der Quad-Copter klein und nicht an eine Bodenstation gebunden ist (Sie könnten viel tun, wenn Sie über Videoverarbeitungsfunktionen verfügen und die Zeit, um sie zum Laufen zu bringen, aber Das passt nicht leicht auf einen kleinen Hubschrauber.


Ich glaube, die Ardupilot APM-Karten machen genau das, was Sie beschreiben - kombinieren Sie GPS- und Trägheitsmessungen.
Evan Krall

1

In diesem Fall ist Ihre Absolutpositionierungstechnologie ein roter Hering. Wenn Sie versuchen, ein Objekt zu verfolgen, ist alles, was zählt, Ihre relative Position. Wir haben eine solche visionsbasierte Navigation (relativ zu einer Unterwasserstruktur) mit einem Unterwasserfahrzeug durchgeführt, das im Unterwasser keine GPS-Signale empfangen konnte.

Angenommen, Sie haben die Möglichkeit eingerichtet, ein Objekt in einem Videorahmen zu lokalisieren (und Ihre Reichweite und Peilung relativ dazu abzuleiten), müssen Sie nur noch die gewünschte Position berechnen und diese in Ihre X / Y-PID-Regelung einspeisen. Der einzige schwierige Teil besteht darin, das Objekt zunächst in den Rahmen zu bringen. (Vermutlich bringt Sie Ihre grobe GPS-Steuerung in den richtigen Ballpark.)

Ich kann mir drei ziemlich einfache Möglichkeiten vorstellen, wie Sie Ihre Reichweite und Peilung aus einem Eingangsvideostream ermitteln können. Der beste Weg wäre, native 3D-Unterstützung in der Kamera zu haben (z. B. in einem Kinect). Andernfalls sollten Sie in der Lage sein, den Bereich basierend auf der Anzahl der Pixel zu berechnen, wenn Sie die Größe Ihres Ziels kennen (und wissen, wie Sie es im Frame erkennen). Verwenden Sie im schlimmsten Fall einfach eine Augmented-Reality-Glyphe für Ihr Ziel - diese sind für Computer Vision relativ einfach zu erkennen.


Die Reichweite zum Ziel ist nur erforderlich, wenn Sie versuchen, die Plattformbewegung zu kompensieren. Da Sie die Zielbewegung nicht kennen, ist es oft nicht hilfreich, nur die Plattformbewegung zu kompensieren. Oft reicht in einer optischen Tracking-Anwendung nur die Peilung (und wie sich die Peilung ändert) aus.
TimWescott

Ich bin mir nicht sicher, ob ich Ihren Kommentar verstehe. Wenn Sie versuchen, die Formation mit einem Ziel zu halten, das sich von Ihnen entfernt, warum benötigen Sie dann nicht die Entfernungsmessung?
Ian

1

Ihre vorgeschlagene GPS-Lösung ist mit Abstand die beste Option, solange Sie sich in einer Umgebung befinden, in der GPS verfügbar ist (auch bekannt als Sie immer im Freien sind).

Vision-basierte Lösungen mögen verlockend erscheinen, sind aber in dieser Situation wirklich nicht angemessen. Sie sind nicht nur in Bezug auf Kameraqualität und Verarbeitungsleistung eingeschränkt, sondern die Objektverfolgung an beliebigen Orten im Freien ist ein schrecklich schwieriges Problem, insbesondere wenn Sie teilweise / vollständige Okklusionen haben.

Sie haben auch einen sehr schönen Vorteil, da die überwiegende Mehrheit der GPS-Fehler beide Empfänger gleichzeitig betrifft. Ihre "globale" Position mag um Dutzende von Metern versetzt sein, aber ihre relativen Positionen sind wahrscheinlich viel, viel näher. (Dies ist im Wesentlichen DGPS .)

Sobald Sie die Position Ihres Quadrotors relativ zur Position des Ziels kennen, reduziert sich das Problem auf High-School-Trigger oder grundlegende lineare Algebra.

Beachten Sie, dass sobald Sie über Hindernisvermeidung oder Robustheit sprechen, wenn Sensoren ausfallen, die Dinge wieder wirklich kompliziert werden.

Ehrlich gesagt wäre eine zuverlässige Lösung für dieses Problem, bei der kein Leuchtfeuer auf dem Ziel platziert wird, mindestens eine Doktorarbeit wert und wahrscheinlich viel mehr wert.


1

Wenn Sie das sich bewegende Objekt im Submeter verfolgen möchten, reicht GPS allein nicht aus. Ich stimme zu, dass passive visionsbasierte Techniken eine Menge Engineering erfordern, um implementiert zu werden, ganz zu schweigen von beträchtlicher Größe, Gewicht und Leistung. Ich empfehle die Verwendung differenzieller GPS-Techniken - nicht gerade einfach, aber vom Standpunkt des Systems aus einfacher. Sie benötigen einen GPS-Empfänger mit hoher Aktualisierungsrate, der Trägerphasen- und Pseudo-Range-Daten ausgibt, sowie eine herkömmliche GPS-Lösung. Sie müssen diese zusätzlichen Daten auch von einer nahe gelegenen Referenzstation und dem sich bewegenden Objekt an Ihren Quadcopter übertragen. Es ist nützlich, eine stationäre Referenzstation zu haben, da ihre Position genau bekannt ist. Mit der Satelliten-Ephemeride können Sie die Ausbreitungs- und Zeitsteuerungsfehler von jedem Satelliten sehr genau bestimmen. Da Sie die ungefähre Geometrie sowohl für die nicht bewegte Referenzstation als auch für das sich bewegende Objekt kennen und die Pfade zu den Satelliten in beiden Fällen ungefähr gleich sind, können Sie die von der Referenzstation gelernten genau berechneten Ausbreitungs- und Zeitsteuerungsfehler übernehmen und anwenden sie zum sich bewegenden Objekt. Zusätzliche Genauigkeit wird durch die Berechnung einer relativen Positionslösung sowohl für den Quadcopter als auch für das sich bewegende Objekt erzielt, die die beobachteten Änderungen der Trägerphase über die Zeit erklärt, wenn sich beide bewegen. Da es sich um Phasenänderungen handelt, ist die ganzzahlige Anzahl von Zyklen unbekannt und muss gelöst werden, um mit einer bekannten Technik ganzzahlige Lösungen für Probleme mit kleinsten Quadraten zu finden (der Name entgeht mir im Moment). Ein Kalman-Filter oder ein Partikelfilter wird typischerweise auch benötigt, um unter Verwendung der Trägerdaten nach dem Verschmelzen mit den aus dem Pseudobereich abgeleiteten Daten zur richtigen Positionslösung zu konvergieren. Beispiele für diese Art von Arbeit finden Sie im Navlab der Auburn University.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.