Das Software-Team

Das Team entwickelt Software die sowohl auf den Robotern direkt als auch an Land angewendet wird um den autonomen Betrieb und dessen Überwachung zu ermöglichen. Hierfür setzen wir uns mit Methoden aus dem maschinellen Lernen, der Computer Vision und der Regelungstechnik auseinander. Als einsteigerfreundliche Programmiersprache verwenden wir derzeit Python 3 zusammen mit dem sogenannten Robot Operating System 2 (ROS2).

Bei der Softwareentwicklung stehen wir vor vielen komplexen Herausforderungen, beispielsweise der Aufbereitung und Auswertung von Sensordaten in Echtzeit, bei deren Implementierung uns ROS2 ermöglicht auf eine breite Auswahl von existierenden Paketen zurück zu greifen. Außerdem bietet ROS2 eine Vielzahl an Möglichkeiten, ein Netzwerk aus Prozessen zu starten und Nachrichten zwischen den einzelnen Softwarekomponenten auszutauschen oder auf Events zu reagieren. Schließlich ermöglicht ROS2 dem Team an separaten Paketen zu arbeiten und somit die Softwareentwicklung flexibel und agil zu gestalten sowie spezialisierte Konfigurationen je nach Roboter zu erstellen und auszuführen. Als weltweit sehr beliebtes Framework in der Robotik bietet die Arbeit mit ROS außerdem dem Team die Möglichkeit, wichtige Praxiserfahrungen für die Arbeit mit Robotern  zu erlangen die auch im späteren Arbeitsumfeld relevant bleiben.

Im autonomen Betrieb ist es wichtig in kurzer Zeit auf neu gewonnene Informationen zu reagieren und ohne menschliche Eingaben agieren zu können. Je nach Anwendung, z.B. der Atlantiküberquerung oder dem Bestehen von Herausforderungen wie Hindernisparcours, ist es für uns wichtig Methoden zu verwenden welche sowohl mit der begrenzten Rechenleistung an Bord als auch den geringen Energiekapazitäten des Roboters vereinbar sind.

Um die Qualität der Software zu sichern, arbeiten wir auf einer eigens gehosteten Gitlab Instanz welche jede Änderung der Software mittels Continuous Integration Pipeline auf die Einhaltung von Standards guter Softwareentwicklung kontrolliert. Hiermit stellen wir sicher, dass bei autonomen Betrieb die Software unsere Roboter nicht im Stich lassen wird. Bei uns lassen sich also grundlegende Kenntnisse aus der Arbeit mit Versionsverwaltung und Qualitätssicherung erlangen, welche sich für das spätere Berufsleben als essentiell erweisen können.