Implementierung eines Drohnenvermessungs-Skripts#
Verschoben von https://github.com/microsoft/AirSim/wiki/Implementing-a-Drone-Survey-script
Wollten Sie schon immer eine Reihe von Top-Down-Bildern einer bestimmten Location aufnehmen? Nun, die Python API macht dies wirklich einfach. Sehen Sie sich den Code hier an.

Nehmen wir an, wir wollen die folgenden Variablen
| Variable | Beschreibung |
|---|---|
| boxsize | Die Gesamtgröße der quadratischen Box, die vermessen werden soll |
| stripewidth | Wie weit die Fahrspuren auseinander liegen, dies kann zum Beispiel vom Typ des Kameralinsentyps abhängen. |
| altitude | Die Höhe, in der die Vermessung geflogen werden soll. |
| speed | Die Geschwindigkeit der Vermessung kann davon abhängen, wie schnell Ihre Kamera Aufnahmen machen kann. |
Mit diesen Werten können wir eine quadratische Flugbahnbox mit diesem Code berechnen
path = []
distance = 0
while x < self.boxsize:
distance += self.boxsize
path.append(Vector3r(x, self.boxsize, z))
x += self.stripewidth
distance += self.stripewidth
path.append(Vector3r(x, self.boxsize, z))
distance += self.boxsize
path.append(Vector3r(x, -self.boxsize, z))
x += self.stripewidth
distance += self.stripewidth
path.append(Vector3r(x, -self.boxsize, z))
distance += self.boxsizeUnter der Annahme, dass wir in der Ecke der Box beginnen, wird x um die Streifenbreite erhöht, dann wird die gesamte y-Dimension von -boxsize bis +boxsize abgeflogen. In diesem Fall ist boxsize die halbe Größe der tatsächlichen Box, die wir abdecken werden.
Sobald wir diese Liste von Vector3r-Objekten haben, können wir diesen Pfad sehr einfach mit dem folgenden Aufruf abfliegen
result = self.client.moveOnPath(path, self.velocity, trip_time, DrivetrainType.ForwardOnly,
YawMode(False,0), lookahead, 1)
Wir können ein geeignetes trip_time-Timeout berechnen, indem wir die Distanz des Pfades durch die Fluggeschwindigkeit teilen.
Der hier für eine glatte Pfadinterpolation benötigte lookahead kann aus der Geschwindigkeit mit self.velocity + (self.velocity/2) berechnet werden. Je mehr Lookahead, desto sanfter die Kurven. Deshalb sehen Sie im Screenshot, dass die Enden jeder Fahrspur sanfte Kurven statt eines quadratischen Boxmusters sind. Dies kann auch zu einem sanfteren Video Ihrer Kamera führen.
Das war's, ziemlich einfach, oder?
Nun können Sie natürlich noch viel mehr Intelligenz hinzufügen, z. B. bekannte Hindernisse auf Ihrer Karte umfliegen, Hügel auf- und absteigen lassen, um eine Böschung zu vermessen usw. Es gibt viel Spaß zu haben.