NVIDIA Jetson TX2

Von appliedAI habe ich eine Nvidia Jetson TX2 bekommen. Dies wird meinen Raspberry Pi  und den Atmega32 ersetzen.

Die Jetson CPU hat zwei Denver Kerne und vier Cortex-A57 Kerne. Die Denver Kerne bieten eine wesentlich höhere Singlethread performance, die Kortex Kerne sind sparsamer.  In dem Modul ist auch eine 256 Core Pascal GPU integriert welche sich super für das inferencing von tiefen neuronalen Netzen eignet.

Der Raspi und der Atmel Atmega32 sind jetzt mit der Nvidia Jetson ersetzt. Die Antennen rechts im Bild an dem Board sind für WLAN.

Autonomes Schiff

Ein anderes Projekten an dem wir zur Zeit arbeiten, ist ein autonomes Schiff. Hier soll erst nur die perception pipeline entworfen, implementiert und getestet werden um herauszufinden, welche Sensoren wirklich gebraucht werden, welche Probleme es gibt und welche Algorithmen eingesetzt werden können. Das planning und control wird dann zu einem späteren Zeitpunkt entwickelt.

Wir benutzen Kameras, LiDARs, GPS, IMU und Accelerometer für unsere Navigation. Später könnten dann noch Radar oder etwa AIS Daten hinzukommen.

Die Daten der SICK 3D LiDARs benutze ich um SLAM mit dem Google Cartographer zu machen. Dieser Algorithmus ist zur Zeit state of the art, was LiDAR SLAM angeht. Das Paper zu dem Algorithmus, allerdings für 2D Daten, kann man sich hier durchlesen.

Die LiDARs habe ich mit unseren Kameras kalibriert, so haben wir zusätzlich zu den Tiefeninformationen auch RGB Daten, was sich für die Objekterkennung nutzen lässt.

In ein paar Wochen werden wir unser System auf einem Schiff montieren und dann ausgiebig testen. Ich bin gespannt!

Autonome Drohne

Eines meiner Projekte an denen ich bei appliedAI arbeite ist eine autonome Drohne welche indoor navigiert. Das Einsatzgebiet und -Zweck soll allerdings zur Zeit noch geheim bleiben.

Die Drohne ist ausgestattet mit einer ToF RGBD Kamera und einem (relativ) leistungsstarken onboard Rechner. Einer meiner Aufgaben in diesem Projekt ist die Realisierung der Navigation und Stabilisierung, da GPS in geschlossenen Räumen nicht verfügbar ist.

Zur Zeit benutze ich eine Implementierung des ORB-SLAM 2, da dieser sehr effizient läuft und wir keine dichte Karte unserer Umgebung brauchen. Die Genauigkeit ist sehr gut, allerdings macht der SLAM bei der Initialisierung noch Probleme, gerade wenn nicht viele Key-Points im Sichtfeld der Kamera sind.

AppliedAI

Seit Dezember 2017 bin ich Junior AI Engineer bei appliedAI, eine Initiative welche zum Ziel hat den Einsatz von künstlicher Intelligenz in der Industrie und Gesellschaft zu beschleunigen.

Wir arbeiten mit verschiedensten Partnern zusammen und ein Netzwerk an Firmen, Startups und Experten aufzubauen, entwicklen mit Partnern zusammen Prototypen und bilden im Bereich KI weiter.

Meine Aufgaben sind das Entwickeln an Robotik-Projekten, speziell SLAM, sensor fusion und Navigation. Aber auch deep learning für Robotik und Projekt Management sind Teil meiner Arbeit!

Ich habe mir nun ein Semester Zeit genommen um Vollzeit bei appliedAI zu arbeiten.

Audi Smart Factory Hackathon

Am 4. Oktober war habe ich mit vier Kollegen an dem Audi Smart Factory Hackathon teilgenommen. Das Ziel des Events war es innerhalb von 25 Stunden eines von 11 verschiedenen Themen im Bereich Big Data / Data Science zu bearbeiten und dazu einen Prototypen zu entwickeln.

Wir haben uns mit der Konstruktion von Karosserien beschäftigt und hatten einen Datensatz von mehreren Millionen Messungen aus der Produktionsstraße zur Verfügung. Damit haben wir ein Programm entwickelt mit welchem sich potentiell voraussagen lässt wann eine Karosserie so viele Fertigungsgenauigkeiten hat das sich eine Weiterproduktion dieser Karosserie nicht mehr lohnt da die Fehlerbehebung teuerer ist als das Bauteil. So könnte Audi viel Geld in der Produktion sparen.

TUfast Driverless Hockenheim

Das Rennen der autonomen Autos in Hockenheim ist nun vorbei. Wir haben den 5. Platz (von 15 Teilnehmern) belegt. Unser Auto und unsere Entwicklungen haben definitiv das Potential für weitaus mehr, allerdings gab es Probleme mit mit den Motoren und anderer Hardware während des Events.

Für die Erkennung der Absperrhütchen welche die Strecke markieren haben wir 2 Flir Kameras benutzt um Stereobilder zu erhalten. Die Tiefeninformationen wurden mit den Daten des LiDARs kombiniert für eine höhere Präzision. Meine Aufgaben waren unter anderem das Kalibrieren des LiDARs mit den Kameras, der erkennen der cones in den LiDAR Daten und mergen der Kameradaten mit denen des LiDARs. Zu beginn war eine Erkennung mit Hilfe eines neuronalen Netzes angedacht, dies stellte sich aber als zu rechenintensiv und nicht erforderlich heraus, da die cones sehr markant und gut (auch mit eher herkömmlichen Methoden) zu erkennen sind.

Die erkannten Absperrhütchen (also die landmarks) wurden dann für den SLAM verwendet.

Als Rechner benutzten wir drei NVIDA Jetson Computer welche sich um alle Computervision und path-planning Aufgaben kümmerten.

TUfast LiDAR

Ich habe verschiedene Test mit zwei verschiedenen LiDARs durchgeführt um zu ermitteln welches für uns am geeignetesten ist. Die Anforderung an den Sensors sind recht hoch: wir müssen die Absperrhütchen welche die Rennstrecke makieren auch bei hoher Geschwindigkeit sicher erkennen. Die Daten des LiDAR werden zusammen mit den Daten der Stereokameras für für SLAM benutzt.
Das LMS 511 und LMS 151 von SICK.
Zur Zeit arbeite ich an der Kalibrierung der Kameras und des LiDARs um die point clouds der beiden Systeme fusen zu können. Fast fertig ist meine cone detection, also der Algorithmus mit dem die Absperrhütchen in der point cloud gefunden werden.

Reifeberechnung der Erdbeeren

Nun funktioniert auch die Reifeberechnung der Erdbeeren (meißtens) gut. Allerdings nur von einer Seite. Um die Erdbeere von der anderen Seite zu betrachten wird die Kamera vom Roboter bewegt werden. Auch die Berechnung des Punktes wo die Erdbeere abgeschnitten werden soll macht Fortschritte. Dazu muss die Erdbeere im Raum lokalisiert und die Ausrichtung berechnet werden.

Wir haben uns erstmal dazu entschieden keine Bilder des Prototypen zu veröffentlichen.

TUfast Driverless

Seit einiger Zeit nun bin ich Mitglied im Verein TUfast Driverless der TUM. Das Racing Team des Vereins baut jedes Jahr zwei neue Rennwagen: einen mit Verbrennungsmotor, den anderen mit Elektromotor. Mit diesen Wagen wird dann bei der Formula Student in verschiedenen Ländern zum Rennen angetreten. Die Rennen werden von Rennfahrern gefahren.
Ab 2017 gibt es aber eine neue Kategorie: Driverless. Dabei muss ein Rennwagen vollautonom drei challenges absolvieren. Ein Beschleunigungsrennen, drei Runden im Skidpad (eine „Acht“) und zehn Runden auf der eigentlichen Rennstrecke. Bei dem Rennen wird aber immer nur ein Auto zur Zeit fahren, gewonnen hat das Team mit der kürzesten Zeit.

Dies ist der Elektrorennwagen von 2015, welchen wir zum autonomen fahren umrüsten. Ich arbeite an der Sensor Integration und Perception, also das auswählen und anbringen der Sensoren sowie das verarbeiten der Daten um dem Control/Planning Team ein optimales Lagebild zu bieten. Unser Rennen ist im August 2017 auf dem Hockenheim Ring! Bis dahin ist noch einiges zu tun..

Verbesserte Bilderkennung

Die Erdbeererkennug des Roboters macht gute Fortschritte. Das Programm läuft auf einem Raspberry Pi 3, die Daten liefert in dem aktuellen Prototyp eine RaspiCam 2.0. Das Erkennen und Lokalisieren der Erdbeere im Bild funktioniert (zumindest unter aktuellen Testbedingungen) gut. Zum simulieren einer Erdbeere benutze ich bisher einfach verschiedene ausgedruckte Bilder.
Ein aktuelles Problem ist das Bestimmen des Reifegrades.