Für das Gieren reicht es aus, drei unterschiedliche Datenpunkte in einer Ebene parallel zur Rotordrehung am Hubschrauber zu befestigen: beispielsweise verschiedenfarbige LEDs. Sie könnten sie auf drei dünne Radialarme legen, die am Fahrwerk befestigt sind. Vielleicht würden auch farbige reflektierende Materialien funktionieren, aber Sie müssten Änderungen des Umgebungslichts ausgleichen.
Dann ist es einfach, den Gierwinkel zu ermitteln. Angenommen, die Lichter sind rot, grün und blau, 120 Grad voneinander entfernt und von oben gesehen ccw.
Im Bild sehen Sie diese Lichter in verschiedenen x-Koordinatenreihenfolgen. Wenn sich der Hubschrauber von der im Diagramm gezeigten Position aus dreht:
G R B // green and blue in front; red in back
R G B // green in front; red and blue in back
R B G // red and gree in front; blue in back
B R G // etc...
B G R
G B R
(Natürlich werden an den Grenzen dieser Regionen zwei Lichter zu einem einzigen Punkt zusammengeführt. Diese können als Sonderfälle behandelt werden.)
Mit 3 Lichtern haben Sie also alle möglichen Gieren in 6 x 60 Grad Segmente aufgeteilt.
Sie können die Auflösung weiter auf 30 Grad senken, indem Sie einfach die linke und rechte "Spalt" -Breite vergleichen. Wenn der Azimut-Theta-Null-Grad direkt von der Kamera weg zeigt und das rote Licht auf der Nase ist (wie auf dem Bild), lautet der Algorithmus:
Xr = -sin(theta)
Xg = -sin(theta + 60)
Xb = -sin(theta + 120)
if (Xg < Xr && Xr <= Xb) {
// Green and blue are in front of red
dxLeft = Xr - Xg
dxRight = Xb - Xr
yaw = (dxLeft < dxRight) ? 15+-15 : -15+-15;
}
else if (Xr < Xg && Xg < Xb) {
// Green is in front of red and blue
dxLeft = Xg - Xr
dxRight = Xb - Xg
yaw = (dxLeft < dxRight) ? 30+-15 : 60+-15;
}
else ... four more cases
Die X+-15
obigen mittleren X
Grade plus oder minus 15: ein 30-Grad-Segment. Um den genauen Versatz zu erhalten, können Sie eine vorverarbeitete Tabelle erstellen, die das Verhältnis konvertiert
R = dxLeft < dxRight ? xLeft / xRight : xRight / xLeft
Dies ist eine ziemlich einfache Trigonometrie, die zu berechnen ist, und das Schöne ist, dass sie unabhängig davon funktioniert, wie weit der Hubschrauber entfernt ist, solange er niemals auf den Kopf gestellt wird!
Ein weiterer Nebeneffekt: Der Bildabstand zwischen den beiden äußeren Lichtern gibt Ihnen einen umgekehrten Abstand zur Kamera.