Franka Emika Panda

Seit ein paar Wochen habe wir nun den Panda Roboter von Franka Emika bei uns im Labor. Dies ist ein kollaborativer Roboterarm, der Roboter ist mit inertial measurement units (IMUs) und Sensoren in den Motoren ausgestattet um Kollisionen des Arms zu erkennen und die Bewegung schnell abzubrechen. So kann der Roboter sicher mit Menschen zusammen arbeiten.

Hier in diesem Video kann man erkennen wie gut die Vermeidung von Unfällen des Roboters funktioniert.

Hier ist der Roboterarm in zusammengeklapptem Zustand auf einer Platte montiert bei uns im Labor.

Die Projekte welche wir mit dem Arm und eventuellen anderen Sensoren und Komponenten machen werden sind für das Erste geheim – das es aber unglaublich coole Sachen sind welche wir vorhaben kann ich schon berichten!

orb_slam_2_ros

Seit kurzem ist meine Implementierung des ORB-SLAM2 für ROS online. Im vergleich zu der originalen Implementierung von Raul Mau-Artal ist meine Version auf den Einsatz mit ROS optimiert. Das Package kann komplett mit catkin build gebaut werden und die Position, die Pointcloud und ein Livestream der Kamera mit gefundenen Keypoints wird als ROS topic publiziert. Darüber hinaus verzichtet das Package auf den integrierten viewer, das Laden des vocabulary file wurde stark beschleunigt und Parameter sind über den ROS Parameterserver einstellbar.

Das Package findet sich hier, auf dem offiziellen Github account von appliedAI.

ORB-SLAM auf der Drohne

ORB-SLAM auf der Drohne funktioniert bis jetzt nicht immer verlässlich. Ich konnte das das Ergebnis durch Anpassungen an den Parametern zwar noch etwas verbessern, trotzdem verliert die Drohne gerade bei schnellen Bewegungen das Tracking. Auch das Initialisieren der Karte schlägt manchmal noch fehl.

 

Im Video sieht man sehr gut die ORBs welche vom Algorithmus gefunden und verfolgt werden. Die Drohne fliegt etwas durch den Raum zum testen.

Das paper zum ORB-SLAM findet sich hier.

 

Test auf dem Schiff

Wir haben nun unser Setup im live Betrieb auf einem Schiff getestet. Dabei haben wir die Daten aller Sensoren aufgezeichnet damit später die (neuen) Algorithmen in den gleichen Situationen immer und immer wieder testen zu können.

Hier ein kleiner Teil unseres Setups, eine Kamera und ein LiDAR.

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.