Sprachen

inStaNt-drone - SS 2015, WS 2015/2016

Thema: 

inStaNt-drone - Grafisch interaktive Steuerung und autonome Navigation von Drohnen

Zeitraum: 

SS 2015, WS 2015/2016

Veranstalter: 

Dr. Frank Weichert, Informatik VII (Graphische Systeme),
OH16, R.121, Tel.: 755 - 6122, E-Mail: frank.weichert@tu-dortmund.de

Frederik Lütkes, Informatik VII (Graphische Systeme),
OH16, R.120, Tel.: 755 - 6328, E-Mail: frederik.luetkes@tu-dortmund.de

Einzelpräsentation: 

Mittwoch, den 07.01.15 um 12.00 Uhr in der OH16, Raum E18

Thematik: 

a) Motivation: Der Einsatz unbemannter Fluggeräte und Fahrzeuge – kurz Drohnen – gewinnt zunehmend an Bedeutung, da sie eine flexible neue Herangehensweise für unterschiedliche Anwendungsszenarien repräsentieren1. Neben dem militärischen Einsatz von High-Tech-Drohnen, durchdringen sie zunehmend auch den industriellen Markt und das private Segment. Als sogenannte Flying Cam bieten sie z.B. für Filmaufnahmen eine kostengünstige Alternative zu Helikoptern. Unbemannte Fluggeräte werden auch zur Landvermessung und zur Überwachung von Agrarflächen eingesetzt. Polizei und Feuerwehr nutzt diese ebenfalls zur Kontrolle von Großveranstaltungen oder von Brandherden. Zunehmend tritt auch der Einsatz von Drohnen für die (Paket-)Zustellung in den Fokus (DHL-Paketkopter). Insbesondere die im privaten Bereich eingesetzte Bedienung per Smartphone oder Tablet weist grundlegende Einschränkungen auf, da die Steuerung neben der Ausnutzung des Bewegungssensors primär unter visueller Kontrolle erfolgt, entsprechende Bedienkonzepte vielfach nicht intuitiv sind, nur eine eingeschränkte Unterstützung mit sekundären Daten (z.B. zur Geographie) vorliegt und keine automatische Adaptierung an veränderliche Umgebungssituationen erfolgt (z.B. Hinderniserkennung). Ausgehend von dieser Problemstellung ist die Zielsetzung der Projektgruppe der Entwurf und die Implementierung eines Systems zur intuitiven teilautonomen Navigation und Exploration durch zuvor (zumindest teilweise) erkundetes Gebiet oder Umgebungen, zu denen Basisinformationen (z.B. Grundriss) vorliegen. Innerhalb der Projektgruppe soll daher ein System realisiert werden, welches ein grafisch intuitives (eventuell augmentiertes) Steuerungskonzept und eine automatische Detektion von Umgebungssituationen zur autonomen Steuerung von Drohnen beinhaltet – die autonome Steuerung soll dabei als Assistenzsystem fungieren. Dieses ist besonders im Hinblick auf dynamische Hindernisse in kooperativen Umgebungen relevant. Konkrete Teilaufgabenstellungen sind die bildbasierte Erkennung und das Tracking von Landmarken sowie die Überführung dieser Daten in ein Umgebungsmodell unter Berücksichtigung von Vorwissen (Basiskarten). Auf einer zweiten Ebene können diese Daten zusammen mit der Odometrie zur Selbstlokalisation der Drohnen genutzt werden und bieten damit die Ausgangsbasis für eine Bewegungsplanung. Neben Komponenten zur autonomen Steuerung soll eine grafisch interaktive Steuerung erarbeitet werden. Für die aufgezeigten Komponenten sollen mehrere Möglichkeiten der effizienten Programmierung für den Einsatz von unbemannten Fluggeräten und Fahrzeugen analysiert und evaluiert werden, um hinreichend skalierbare Verfahren zu erhalten.

Landmarks auf Basis einer Sensoraufnahme
Abbildung 1:Exemplarische Darstellung (a) zur Bild-basierten Extraktion von Landmarks auf Basis einer Sensoraufnahme und (b) einer hybriden Bewegungsplanung unter Beachtung statischer (grau) und dynamischer (rot) Hindernisse

b) Aufgabenbeschreibung: Aus Sicht der Informatik umfasst das Gesamtkonzept der Projektgruppe zwei wesentliche Aufgabengebiete, die in einem Optimierungs- und Validierungszyklus eingebunden sind. Das erste Teilgebiet der Projektgruppe fokussiert sich dabei auf die Steuerung der Drohne und die Kommunikation mit dieser sowie die Kalibrierung der vorhandenen Sensorik und Aktorik. Hierzu sind folgende Arbeitspunkte umzusetzen:

  • Kontrollsystem:Die zentrale Einheit zur Kontrolle der Drohne ist die Erarbeitung eines proaktiven bidirektionales Steuerungskonzeptes, welches die Daten der Sensoren (optisch und nicht optisch) und Aktoren akquiriert, diese an die verschiedenen Verarbeitungskomponenten (u.a. Bewegungsplanung) weiterleitet und daraus abgeleitet Steuerbefehle an die Drohne schickt. Teilaspekte sind die (WLAN-) Kommunikation, die hardwarenahen Steuerbefehle (direkt oder über das SDK) und eventuell ein Monitoring von fehlerhaften Zuständen oder die Beachtung von Signalausfällen.
  • Kalibrierung und Vorverarbeitung:Sowohl durch die Kamerasensorik als auch durch die realen Bedingungen kann es zu geometrischen Verzerrungen und Diskontinuitäten (z.B. Rauschen, Reflektionen) innerhalb der Aufnahmesequenzen kommen. Diese Artefakte sind durch Methoden digitaler Bildverbesserung zu beheben [7]. Zudem ist eine photogrammetrische Kalibrierung der optischen Sensoren [15], möglicherweise auch der Aktoren, zur Bestimmung von Ungenauigkeiten im Hinblick auf die Selbstlokalisation und Odometrie, notwendig.
  • Steuerung-/Bedienschnittstelle:Die multiplen Daten der Sensoren und Aktoren, die Ergebnisse der Selbstlokalisierung innerhalb des Umgebungsmodells sowie die Bewegungsplanung sollen in einem interaktiven Visualisierungssystem dargestellt und mit einer intuitiven Schnittstelle zur Steuerung der Drohne versehen werden. Umsetzungsszenarien können den Einsatz einer Multitouch-Workbench, berührungsloser Sensoren (z.B. Leap) oder eines VRSystems (z.B. Oculus Rift) beinhalten.
Das zweite Teilgebiet der Projektgruppe geht von den o. g. Verfahren für das Kontrollsystem und innerhalb der Steuerung-/Bedienschnittstelle aus und zielt auf die autonome Navigation innerhalb eines zuvor erkundeten Gebietes ab. Hierzu sind folgende Arbeitspunkte umzusetzen:
  • Generierung eines Umgebungsmodells:Ausgehend von der Erkennung charakteristischer Strukturen in der Umgebung (sogenannter Landmarks, s. Abb.1(a)) soll in Kombination mit den zur Verfügung stehenden Ausgangsdaten (z.B. Höhenkarte, Grundriss) ein adaptives Umgebungsmodellaufgebaut werden. Dies beinhaltet die Erkennung von allgemeinen Umgebungsfeatures über geometrische und Farb-assoziierte Merkmale [2] oder spezifischen Landmarks [8], eventuell auch über das Anlernen von geometrischen Primitiven mittels maschineller Lernverfahren sowie das Tracking dieser als auch die explizite Detektion von Hindernissen [14].
  • Selbstlokalisation:Die Selbstlokalisation beschreibt die räumliche Einordnung und Ausrichtung (der Drohne) innerhalb des Umgebungsmodells. Konzeptionell wird dabei zwischen einer relativen und absoluten Positionierung unterschieden [4]. Beispielsweise kann unter Ausnutzung von Translations-, Rotations- und Geschwindigkeitsmaßen die (relative) Position bestimmt werden (Trägheitsnavigation). Alternativ können natürliche Landmarken (im teilerkundeten Gebiet) oder künstliche Landmarken (u.a. auch aktive Formen wie GPS) optisch erfasst und über einen Abgleich mit dem Umgebungsmodell zur Lokalisation genutzt werden. Neben der optischen Lokalisation ist die Odometrie ein alternativer Ansatz zur Selbstlokalisierung unter der Ausnutzung sekundärer Sensoren innerhalb der Drohnen (z.B. Gyroskop, Beschleunigungssensor). Methodische Ansätze zur Selbstlokalisierung beruhen auf probabilistischen Algorithmen, u.a. Kalman-Filter [13], Partikel-Filter [9] oder Markow- oder Monte-Carlo-Lokalisierung [12] sowie spezielle adaptive Erweiterungen [3].
  • Bewegungsplanung:Über diese Komponente soll die Navigation durch ein zuvor erkundetes Gebiet ermöglicht werden. Dies beinhaltet die Wegbestimmung für zuvor definierte Start-/Ziel-Positionen und unter Einbeziehung der Fahr-/Flugfähigkeiten der verwendeten Drohne sowie der Berücksichtigung von Umgebungsänderungen (s. Abb. 1(b)). Gemäß dieser Zielsetzung ist eine Kombination aus globaler (Start-Ziel) und lokaler (reaktiver) Bewegungsplanung zu erarbeiten. Dabei beinhaltet die lokale Bewegungsplanung die direkte Steuerung (Geschwindigkeit, Lenkung) und die Reaktion auf Hindernisse durch eine Umwegplanung (lokale Trajektorienplanung). Diese Bewegungsplanung mit hybrider Dimensionalität beinhaltet den Aufbau eines hochdimensionalen Suchraums auf Basis von Bewegungsprimitiven, die Dimensionsreduktion dieses und die Ermittlung der kürzesten Wege im erzeugten Suchraum. Hierzu können Suchgraphen über z.B. den Hybrid-A*-Algorithmus [5] analysiert werden oder als Gitterstruktur [11] sowie dynamische Ansätze zur Berücksichtigung z.B. unterschiedlicher Geschwindigkeiten [10] oder mit adaptiver Dimensionalität [6] untersucht werden.
Die entwickelten Algorithmen zur Steuerung der Drohnen, als auch die Implementierung der Benutzungsschnittstelle sollen kontinuierlich evaluiert werden. Hierzu stehen mit Parrot2 AR. Drone 2.0 eine Flugdrohne und mit dem Parrot Jumping Sumo eine fahrende Drohne sowie verschiedene Systeme zum Aufbau einer virtuellen und/oder augmentierten Mensch-Maschine-Schnittstelle (u.a. 70 Zoll Multitouch-Display, Oculus Rift) und zur externen Positionsbestimmung (u.a. IR-Tracking-System) im Hinblick auf die Kalibrierung und Validierung zur Verfügung. Bei der Umsetzung dieser Anforderungen in ein Softwaresystem sollen verschiedene Entwurfsphasen beachtet werden und adäquate Werkzeuge (Quellcodeverwaltung, Wiki-System) eingesetzt werden [1]. Dieses geht mit der angestrebten modularen Umsetzung einher, welche eine spätere einfache Erweiterung des Systems erlaubt, beispielsweise zur Einbindung unterschiedlicher oder eventuell auch mehrerer Drohnen. Das gewählte Thema gibt einen engen thematischen Anschluss zu verschiedenen Forschungsarbeiten am Lehrstuhl sowie hoch aktuellen Fragestellungen im Kontext der Sensor-basierten autonomen Steuerung von Drohnen und erlaubt damit den Teilnehmenden, sich für eine Reihe von möglichen Abschlussarbeiten am Lehrstuhl zu qualifizieren.

Wünschenswerte Kenntnisse:

  • Eine der Vorlesungen Mensch-Maschine-Interaktion, Eingebettete Systeme, Digitale Bildverarbeitung, Graphische Datenverarbeitung oder vorlesungsäquivalente Kenntnisse [vorausgesetzt]
  • Kenntnisse in einer Programmiersprache, z.B. Java, C++ oder C [vorausgesetzt]

Minimalziele:

Implementierung eines Softwaresystems zur interaktiven Steuerung einer ausgesuchten Drohne und zur Generierung eines Umgebungsmodells, u.a. unter Verwendung der vorhandenen Bild-basierten Sensoren zur Detektion „markanter“ Strukturen. Dieses Steuerungskonzept soll über eine ergänzend zu realisierende Selbstlokalisation zur autonomen Planung einer Route innerhalb einer
statischen Umgebung dienen.

Literatur:

[1] H. Balzert. Lehrbuch der Software-Technik. Spektrum Akademischer Verlag, 1997.
[2] Herbert Bay, Andreas Ess, Tinne Tuytelaars, and Luc Van Gool. Speeded-up robust features (surf). Comput. Vis. Image Underst., 110(3):346–359, June 2008.
[3] P. Beeson, A. Murarka, and B. Kuipers. Adapting proposal distributions for accurate, efficient mobile robot localization. IEEE Int. Conf. on Robotics and Automation, pages 49–55, 2006.
[4] G. DeSouza and A. Kak. Vision for mobile robot navigation: A survey. IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(2):237–267, 2002.
[5] D. Dolgov, S. Thrun, M. Montemerlo, and J. Diebel. Path planning for autonomous vehicles in unknown semi-structured environments. Int. Journal of Robotics Research, 29:485–501, 2010.
[6] K. Gochev, B. Cohen, J. Butzke, A. Safonova, and M. Likhachev. Path planning with adaptive dimensionality. In Proc. of the Fourth Annual Symposium on Combinatorial Search, 2011.
[7] Rafael C. Gonzalez and Richard E. Woods. Digital Image Processing (3rd Edition). Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 2006.
[8] M. Hirzer. Marker detection for augmented reality applications. Technical report, Inst. for Computer Graphics and Vision Graz University of Technology, Austria, 2008.
[9] C. Kwok, D. Fox, and M. Meila. Real-time particle filters. In Advances in Neural Information Processing Systems 15, pages 1081–1088. MIT Press, 2003.
[10] M. Likhachev and D. Ferguson. Planning long dynamically feasible maneuvers for autonomous vehicles. Int. J. Rob. Res., 28(8):933–945, August 2009.
[11] M. Pivtoraiko, R. Knepper, and A. Kelly. Differentially constrained mobile robot motion planning in state lattices. Journal of Field Robotics, 26(3):308–333, 2009.
[12] S. Thrun, D. Fox, W. Burgard, and F. Dellaert. Robust monte carlo localization for mobile robots. Artificial Intelligence, 128(1-2):99–141, 2001.
[13] Greg Welch and Gary Bishop. An introduction to the kalman filter. Technical report, Chapel Hill, NC, USA, 1995.
[14] F. Wen, Z. Qu, C. Wang, and B. Hu. Study on real-time obstacle avoidance of mobile robot based on vision sensor. In Automation and Logistics, IEEE Int. Conf. on, pages 2438–2442, Sept 2008.
[15] Zhengyou Zhang. A flexible new technique for camera calibration. IEEE Trans. Pattern Anal. Mach. Intell., 22(11):1330–1334, November 2000.

Rechtliche Hinweise:

Die Ergebnisse der Projektarbeit inklusive der dabei erstellten Software sollen der Fakultät für Informatik
uneingeschränkt zur freien Forschung und Lehre zur Verfügung stehen. Darüber hinaus sind keine Einschränkungen der Verwertungsrechte an den Ergebnissen der Projektgruppe und keine Vertraulichkeitsvereinbarungen vorgesehen.