Labor elektronische Systeme und Software Defined Vehicles

In diesem Labor erarbeiten wir uns anhand von Projekten, wie sich autonome oder mobile Systeme mithilfe moderner Middelware- und Kommunikationsschnittstellen als Software Defined Product realisieren lassen.

Im Labor wechseln wir dabei ab zwischen autonomen Robotern, deren Komponenten mit Hilfe des Robot Operation System kommunizieren (ROS2), hierbei werden beispielsweise Sensoren wie Odometer, Beschleunigungssensor, Kamera, LIDAR über ROS angebunden, außerdem Algorithmen wie Pfadplaner und Regler, sowie Aktoren wie Motoren oder Servos.

Im zweiten Teil arbeiten wir mit der Open Source Lösung KUKSA/velocitas und entwickeln Algorithmen und Schaltungen für Fahrzeugkomponenten in einer zonalen Fahrzeugarchitektur. Hier steht ein Demonstrator zur Vefügung, der auf verschiedene smarte Sensoren und Aktoren im Fahrzeug zugreifen kann, die alle an der Hochschule entwickelt wurden. 

Autonome Systeme mit ROS2


ROS 2 (Robot Operating System 2) ist ein 

quelloffenes, flexibles Software-Framework zur Entwicklung komplexer Robotersysteme. Es bietet Werkzeuge und Bibliotheken für Navigation, Bildverarbeitung und Hardwaresteuerung, die auf verschiedenen Betriebssystemen (Linux, Windows, macOS) laufen. Im Vergleich zum Vorgänger ROS 1 nutzt es den DDS-Standard (Data Distribution Service) für verbesserte Kommunikation, Echtzeitfähigkeit und Zuverlässigkeit in industriellen Anwendungen. Wir arbeiten hier mit LINUX Distributionen (ubuntu) auf Raspberry PI Rechnern.

Die Studierenden lernen, verschiedene Sensoren und Aktoren über ROS zu verknüpfen und damit ein autonomes Fahrzeug zu steuern.

Die Veranstaltung im Rahmen des Labors "elektronische Systeme" eignet sich als Vorbereitung für die Vorlesung "Modellbasierte Softwareentwicklung" und kann bereits im vierten Semester besucht werden.

Beispiel aus dem Labor: Roboter, der ARUCO Marker liest.

Software Defined Vehicle

SDV Demonstrator Board in G715

Wir haben gemeinsam mit unseren Studenten eine Reihe von Platinen und Softwaremodulen entwickelt und befinden uns nun in der Phase der Fehlerbehebung und Integration aller Komponenten. Auf dem Bild sehen Sie den gesamten Demonstrator. Er ist in drei Schichten aufgebaut. Die untere Schicht ist die Ethernet/TSN-Schicht mit zwei RaspberryPi, von denen einer als KUKSA-Broker (14) fungiert und einer ein Cluster-Instrument (13) betreibt. Außerdem gibt es zwei Zonensteuerungen (8, 9), beide sind Arduino PortentaH7 mit (künftig) Zephyr. Nr. 8 ist die vordere Zonensteuerung und Nr. 9 die hintere Zonensteuerung.
Die mittlere Schicht enthält die CAN-Zonen, links ist die hintere Zone, rechts die vordere Zone des Autos. In der hinteren Zone befinden sich Lichtmodule für die linken und rechten Lampen, die Bremslichter, Blinker/Warnblinker, Rückfahrscheinwerfer und Rücklichter (1 und 6), einen Ultraschall-Parksensor (10) und ein CAN-LIN-Gateway (2) realisieren. Die vordere Zone besteht aus den Scheinwerfermodulen (5 und 12) mit Blinker, Fernlicht, Abblendlicht und Standlicht, einem Schaltmodul (4), zwei Türöffnungssensoren (3 und 11) und einem Fernbedienungsmodul für die Türverriegelung mit einem 433-MHz-HF-Modul. Schließlich ist Nr. 15 ein Fußgängererkennungsmodul, das eine Arduino NiclaVision-Platine mit einem Deep-Learning-edgeAI-Modell enthält, das bei jeder Erkennung eines Fußgängers eine CAN-Nachricht mit der Entfernung sendet.
Die obere Schicht, das kleine Rechteck über dem CAN-LIN-Gateway, ist die LIN-Subbus-Schicht, die bis zu vier LIN-Module aufnehmen kann. Derzeit ist nur eines für die Innenraumbeleuchtung vorhanden. Wie Sie leicht erkennen können, ist noch Platz für weitere Steuerungen vorhanden.
Alle Hashtag#edge-Steuerungen wurden in Hardware (Schaltung plus Layout) und Software von Studenten meines Kurses „Verteilte Systeme” entwickelt. Sie studieren im zweiten Jahr „Automotive Systems Engineering” und „Angewandte Künstliche Intelligenz” an der Hochschule Heilbronn – Hochschule für Technik, Wirtschaft und Informatik. Der Schalthebel wurde von Austauschstudenten in meinem Labor entwickelt. Alle basieren auf microchip ATMega286 und MCP2515 CAN-Controllern.
Wie geht es weiter? Wir wenden derzeit eine CI/CD-Pipeline auf Basis von digitalauto, velocitas, KUKSA und sdvruntime von autoWRX an, zunächst für den funktionalen Teil, ohne die Edge-Controller zu berühren. Dies kann jedoch der nächste Schritt sein.