arrow arrow--cut calendar callback check chevron chevron--large cross cross--large download filter kununu linkedin magnifier mail marker menu minus Flieger phone play plus quote share

Hackdrone

Auf dem ersten Hackathon der Cologne Intelligence hat sich das HackDrone Team ausführlich dem Thema Spracherkennung und Sprachsteuerung via App gewidmet. Das Ergebnis war ein echter Überflieger.

Foto von  Hackdrone-Team
Hackdrone-Team

  • Sprachsteuerung, fliegend leicht
  • Drohnensteuerung via App
  • Steuerung einer Drohne via Spracherkennung

Spracherkennung und Sprachassistenz sind in vielen Apps nicht mehr wegzudenken und sind ein wichtiges Medium in der Benutzung von Apps.

Welche einfachen Möglichkeiten aber haben wir, Roboter via Sprache zu steuern?
Das HackDrone Team hat sich auf dem Cologne Intelligence Hackathon dieser Fragestellung angenommen und prototypisch die Steuerung einer Drohne via Sprache über eine App umgesetzt.

Ziel war es also, das Verhalten einer Drohne über Sprachbefehle wie „Take Off“, „Land“ oder „Move Forward“ zu steuern.

Der Prototyp wurde mit der „Parrot Bebop“ Drohne umgesetzt. Das SDK von Parrot ARDroneSDK3 [1] ist sehr intuitiv und gut geeignet für mobile Plattformen (Android, iOS).

Die Sprachsteuerung der App basiert auf der Spracherkennung von Android [2] und dem seit iOS 10 verfügbaren Speech Framework [3] von Apple.

Wenn nun die App das Sprachkommando erkennt, wird dieses über WiFi an die Drohne übertragen, so dass über die spezifischen Aktionen und deren Parameter die korrespondierenden Aktivitäten ausgeführt werden [3].

Die Steuerung erfolgt dabei über die Angabe von Winkeln oder Geschwindigkeiten.
Die Spracheingabe „Go Up“ wird beispielsweise für die Drohne übersetzt in „vertikale Geschwindigkeit 50% für die Dauer von einer Sekunde“.

Hört sich einfach an. War es das auch?

Findings iOS

  • Das Framework arbeitet ausschließlich netzbasiert, d.h., erfordert eine Internetverbindung. Eine Antwort kann mehrere Sekunden dauern.
  • Das Framework wandelt gesprochene Sprache in Text um.
  • Das Framework ist hauptsächlich aufs Diktieren auslegt, d.h. es versucht ganze Sätze zu erkennen und hat sich im Rahmen der Spracherkennung stark an den Namen der Kontakte aus dem Adressbuch orientiert.

Wir hatten bis zum Schluß keine Möglichkeit gefunden, das Framework so zu konfigurieren, dass es nur aus einem bestimmten Wortschatz die Spracherkennung durchführt.

Angesichts dieser Voraussetzungen ist ein Einsatz zur direkten Steuerung (Rauf, runter, drehe links) nicht praktikabel. Ein möglicher Anwedungsfalll ist das Starten von Skripten, also längeren Handlungsanweisungen, oder so was wie „Bringe das Päckchen zu Cologne Intelligence in Kalk, danach fliege zur Basis zurück.“

Findings Android

  • es gab zwei Möglichkeiten, die Drohne via WiFi unter Benutzung der Spracherkennung zur gleichen Zeit anzusteuern  offline Spracherkennung + WiFi ohne Internet Verbindung  - offline Spracherkennung + WiFi ohne Internet Verbindung.  - 4G für die Spracherkennung und WiFi zur Kommunikation mit der Drohne (Konfiguration hat nicht funktioniert).
  • Die App hat die Drohne nur dann erkannt, wenn Sie explizit über die WiFi Verbindung (ohne Internet) angesprochen wurde. Andernfalls funktioniert die „discover Funktion” nicht vernünftig.
  • Die Nutzung der „Build-in“ Spracherkennung von Android, benötigte 3 Sekunden für die Ausführung von Kommandos (obwohl das System offline war).
  • Die Offline Spracherkennung musste heruntergeladen und  installiert werden: http://stackoverflow.com/questions/17616994/offline-speech-recognition-in-android-jellybean/17674655#17674655 

Wie auch immer. Es hat Spaß gemacht und wir haben in den 24h einen echten „High Flyer“  produziert, wie das folgende Video zeigt.

Wir freuen uns über Feedback und Anregungen zur Weiterentwicklung des Prototypen.

Das HackDrone Team:
Dennis Prieß
Javier Rodriguez Puigvert
Tran Huy Nguyen
Thomas Kuleßa

Quellen:
[1] http://developer.parrot.com/docs/SDK3/#general-information
[2] https://developer.android.com/training/wearables/apps/voice.html#FreeFormSpeech
[3] https://developer.apple.com/reference/speech
[4] http://developer.parrot.com/docs/SDK3/#piloting