Samstag, 21. Dezember 2019

Tello SDK





Tello kann man nicht nur fliegen, sondern auch programmieren. So wie ich es vom Cozmo kenne, einem kleinen Roboter, wird vom Hersteller ein System Design Kit SDK zur Verfügung gestellt.


Cozmo beim Test der Gesichtserkennung

Cozmo hat Garchen Rimpoche erkannt

Im Gegensatz zum Cozmo liegt die SDK beim Tello (oder bei der Tello, ich weiß noch immer nicht ob er, sie oder es) komplett in der Firmware. Auf dem PC (oder Handy) ist keine eigene Bibliothek oder Unterstützungs-Software notwendig, auf dem PC muss nichts tello-spezifisches installiert werden. So ist man in der Wahl der Programmiersprache komplett  frei. Es gibt ein Beispielprogramm in Python, eine in der Robotik verbreitete Programmiersprache.

Auch Pepper, ein humanoider Roboter mit dem ich an der TU Wien arbeite, wird in Python programmiert.


Pepper

Tello unterhält sich mit dem PC oder Handy über das WLAN per UDP. Die Befehle und Rückmeldungen sind utf8-codierte ASCII-Strings. "takeoff" schicken und auf "ok" warten. Es gibt Befehle zum Abheben, vorwärts, rückwärts fliegen, zum Landen, zur Abfrage des Akku-Ladezustandes und ähnliches.

Eine Besonderheit der SDK-Kommunikation sind die "abgehackten" Bewegungen: Wenn ich z.B. "forward 50"schicke dann kippt Tello nach vorne um zu beschleunigen, fliegt 50 cm nach vorne und kippt nach hinten um stehen zu bleiben. Dann schickt er "ok" und ist bereit für den nächsten Befehl.

Ich habe ein Tello-Beispielprogramm mit einem Cozmo-Programm kombiniert und um die Möglichkeit erweitert, Befehle aus einem File zu lesen und abzuarbeiten. So können Tello und Cozmo gemeinsam eine vorgegebene Route abfliegen bzw. -fahren. Wer früher am Wendepunkt ist wartet auf den anderen, ein Pas de Deux.



Beim Programmieren ist mir ein Hoppala passiert: Ich wollte Tello um einen halben Meter Höher steigen lassen und habe "up 500" eingegeben. Schon ist er an der Zimmerdecke gepickt. Was ist los? Ach ja, Cozmo rechnet in Millimeter, Tello in Zentimeter.....


Links:


https://dl-cdn.ryzerobotics.com/downloads/tello/0228/Tello+SDK+Readme.pdf

https://dl-cdn.ryzerobotics.com/downloads/Tello/Tello SDK 2.0 User Guide.pdf
Zum Thema "SDK 2.0" gibt es noch etwas zu sagen, das kommt im nächsten post.

https://github.com/dji-sdk/Tello-Python Beispielprogramme mit Video-Übertragung und pose-recognition .... Ich habe bisher glücklos versucht, irgend eines dieser Programme zum laufen zu bringen :-(

https://github.com/f41ardu/Tello-Python library mit Video-Übertragung, h.264-decoder und Gesichtserkennung

https://github.com/damiafuentes/DJITelloPy ... sehr gute python library
Unterstützt auch Drohnenschwarm (für den Drohnenschwarm braucht man den Tello EDU)

https://godoc.org/github.com/SMerrony/tello



Keine Kommentare: