Eine gestengesteuerte 3D Automotive-UI auf der Basis von Qt Commercial, die mit dem Qt-Framework entwickelt wurde.

Eine gestengesteuerte 3D Automotive-UI auf der Basis von Qt Commercial, die mit dem Qt-Framework entwickelt wurde.Digia Qt

Viele Mittelklasse-Fahrzeuge bieten heute bereits eine grafische Mittelkonsole für Navigation, Kommunikation und Diagnose. Fahrzeuge der Oberklasse werden mit mobiler Datenanbindung ausgestattet, die Internet-Zugriff und Mehrwertdienste für die Insassen ermöglicht. Die Forderung nach solchen Neuerungen kommt aus verschiedenen Richtungen: Käufer erwarten ein besseres Fahrerlebnis, Gesetzgeber erlassen neue Vorschriften für mehr Sicherheit im Straßenverkehr, und die Fahrzeughersteller wollen ihre Kunden durch zusätzliche elektronische Mehrwertdienste an sich binden.

Qt für die UI-Entwicklung

Das Applikations-Framework Qt ermöglicht die Entwicklung qualitativ hochwertiger Anwenderschnittstellen. Qt Quick eignet sich speziell für die iterative Entwicklung dynamischer und animierter UIs mit hoher Leistungsfähigkeit für verschiedene Plattformen.

Design von Benutzerschnittstellen

Der gemeinsame Aspekt dieser Systeme besteht darin, dass die Touchscreen-Head-Unit eine ständig wachsende Vielfalt von Eingangssignalen verarbeiten muss: TV, DVD, Live-Video, Grafiken fortschrittlicher Fahrerassistenzsysteme, Statusinformationen verschiedener Fahrzeugsensoren, Bluetooth-Kommunikation, GPS und Kartendaten sowie Internet-Inhalte wie Verkehrsinformationen, Nachrichten und Social-Media-Inhalte.

Das Design der Benutzerschnittstelle (UI; User Interface) ist dabei entscheidend, da Fahrer den maximalen Nutzen aus der Interaktion mit dem System ziehen wollen, ohne dabei beim Fahren abgelenkt oder mit Informationen überfrachtet zu werden. Entwickler müssen daher auch jenseits des Layouts und der Menüstruktur denken und verschiedene Interaktionsmöglichkeiten mit dem System berücksichtigen: neben der Betätigung von Tasten auf der Konsole sowie auf dem Lenkrad sind dann noch sowohl eine Berührungs- (Touch), Gesten- als auch Sprachsteuerung erforderlich.

Während die Layout-, Grafik und Steuerungseingaben unbedingt intuitiv und ergonomisch sein müssen, ist auch die Performance des zugrundeliegenden Systems sehr wichtig. Für eine fehler- und ablenkungsfreie sowie zeitgenaue Funktion im Straßenverkehr muss das System schnell, genau und reibungslos ohne Verzögerungen oder Störungen funktionieren.

Typisches Beispiel für einen Stack beim Einsatz von Qt.

Typisches Beispiel für einen Stack beim Einsatz von Qt.Digia Qt

Bessere Embedded-Hardware

Entwickler fortschrittlicher Fahrzeug-Infotainment-Systeme können die Vorteile hochleistungsfähiger Embedded-Prozessoren für mobile Anwendungen nutzen. Damit stehen eine hohe Datenverarbeitungsleistung und Energieeffizienz, Datenanbindung, Multimedia-Funktionen und Support für hochauflösende Bildschirme bereit. Auch die Entwickler von Automotive-UIs kommen damit auf ihre Kosten: die Möglichkeiten zur Grafikverarbeitung sind hervorragend, da ein eigener Grafik-Core enthalten ist und Standards wie OpenGL unterstützt werden.

Auch bei der Wahl geeigneter Betriebssysteme besteht große Freiheit: Embedded-Linux und Echtzeit-Betriebssysteme (RTOS) wie QNX Neutrino, Integrity von Green Hills sowie VxWorks von Wind River sorgen für deterministische Performance.

Softwareentwicklung

Mit höherer Embedded-Verarbeitungsleistung und leistungsfähigeren Automotive-UI-Konzepten im Markt ergeben sich neue Designs, während der Bedarf an besseren Softwareentwicklungsplattformen steigt. Entwickler können damit alle Ressourcen nutzen und noch attraktivere Produkte bereitstellen.

Entwickler benötigen eine Softwareplattform, die einfach und intuitiv zu bedienen ist. Damit können sie in einer grafischen Umgebung arbeiten, um komplexe Designs schnell zu erstellen und zu evaluieren. Die Tool-Anbieter müssen dafür applikationsspezifische Funktionen bereitstellen, beispielsweise Layout- und Design-Tools, die für Embedded-Projekte optimiert sind.

Ein flexibles Entwicklungs-Framework ist entscheidend, um mit der schnellen Weiterentwicklung im Automotive-Sektor Schritt zu halten und eine Kundenspezifizierung zu garantieren, die verschiedene Anforderungen abdeckt. Das Optimieren der Software-Entwicklungsplattform minimiert die Hardwareabhängigkeit und bietet eine plattformübergreifende Portierbarkeit. Entwicklern steht damit frei, den optimalen Prozessor für ihre Anwendung zu wählen und diese über Plattformen hinweg zu migrieren. Dabei muss einfach nur nach Bedarf für verschiedene Betriebssysteme neu kompiliert werden.

Plattformübergreifendes Framework

Qt ist ein Applikations-Framework, das immer mehr zur Anwendung kommt. Es bietet die Flexibilität und Tools, die Entwickler und Programmierer benötigen, um hochqualitative UIs schnell und einfach zu erstellen und die verfügbare Hardware umfassend zu nutzen. Qt enthält eine intuitive UI-Technik namens Qt Quick und eine umfangreiche C++-Klassen-Bibliothek mit einem intuitiven API und integrierten Tools für die GUI-Entwicklung und Internationalisierung. Das Qt-Framework trägt auch zu einer kostengünstigeren und schnelleren Entwicklung bei. Die Time-to-Market verkürzt sich, da sich Anwendungen auf verschiedenen Hardwareplattformen demonstrieren lassen, bevor die eigentliche Systemhardware zur Verfügung steht.

Qt Quick eignet sich speziell für die iterative Entwicklung dynamischer und animierter UIs mit hoher Leistungsfähigkeit für verschiedene Plattformen. Die UI-Entwicklung mit Qt Quick basiert auf einer CSS- und Javascript-ähnlichen Sprache namens QML, sodass keine C++-Kenntnisse bei der Entwicklung von UIs und Teilen der Applikationslogik notwendig sind; gewisse Javascript-Kenntnisse helfen jedoch. UI-Entwickler können die Benutzerschnittstelle pixelgenau erstellen und UI-Übergänge sowie -Animationen genau anpassen. Die Änderungen lassen sich sofort überprüfen und einsehen. Qt Quick erübrigt auch separates Prototyping, da es vom Konzept über das Design bis hin zum Endprodukt alles abdeckt. Die Produktivität wird erhöht und die Zeit vom anfänglichen Konzept bis zum fertigen Endprodukt verkürzt sich.

Mit Qt Quick haben Nutzer auch direkten Zugriff auf native APIs, was eine einfache Integration in zugrundeliegende Hardware- und Plattform-Frameworks ermöglicht. Qt Quick verwendet eine Hardwarebeschleunigung durch OpenGL, um maximale Leistungsfähigkeit zu erzielen. Dies dient auch zum Erstellen zusätzlicher Effekte – entweder mittels Qt OpenGL-APIs oder durch OpenGL-Shader-Effects.

Darüber hinaus ist ein komplettes Multimedia-Framework erhältlich, das umfangreiche Funktionen bietet und Entwicklern Zugriff auf die Multimedia-Funktionen und -Hardware einer Plattform bietet. Dies reicht von der Wiedergabe und Aufzeichnung von Audio- und Video-Inhalten bis zum Einsatz von Kameras und Radios.

Qt bietet auch eine integrierte Web-Browser-Engine namens Webkit, mit der sich Produkte verbessern lassen, indem Echtzeit-Inhalte und -Dienste direkt in die Anwendung integriert werden.

3D GUI in Aktion

Das 3D-HMI-Konzept setzt eine unmittelbare Interaktion für den Benutzer voraus. Wisch-Gesten erübrigen dabei präzises Antippen oder Berühren. Durch die automatische Aufbereitung kontextrelevanter Informationen hilft das System dem Anwender, den Überblick zu behalten, wenn mehrere Informationsquellen innerhalb des Fahrzeugs Daten bereitstellen, beispielsweise Erinnerungen, Navigation, Unterhaltung und Fahrzeugdiagnostik.

Das HMI-Konzept basiert auf speziellen Informationsdisplay-Panels mit einer einfachen Navigation zwischen den Panels und innerhalb eines Panels – und zwar durch einfache Abwärts/Aufwärts- und Links/Rechts-Gesten. Jedes Panel bereitet die wichtigsten und am meisten verwendeten Informationen auf und bietet dem Fahrer einen Überblick gängiger Themen aus dem Hauptmenü. Genauere Informationen über einen Menüpunkt lassen sich durch die Auswahl des jeweiligen Menüpunkts darstellen. Das System ist kontextbezogen und führt den Anwender zu den benötigten Informationen.

3D-Technologien, die OpenGL durch die Qt-OpenGL-API nutzen, bieten eine leicht verständliche, visuelle Anleitung zur Fahrzeugbedienung. So lassen sich Funktionen wie die Reifendrucküberwachung, Diagnose-Informationen und Sicherheitsmeldungen über ein 3D-Modell im Fahrzeug visualisieren. Fahrer können damit den Zustand ihres Fahrzeugs einsehen und erhalten auf einen Blick schnelle und intuitive Alarmmeldungen von Sensoren. Die Schnittstelle lässt sich über verschiedene mechanische Eingabegeräte steuern, zum Beispiel über ein Trackpad oder über Sprache – und zwar zusätzlich zur direkten Ansteuerung über Touchscreen.

Das Konzept ist so ausgelegt, dass es sich direkt an verschiedene Kunden- und Applikationsanforderungen anpassen lässt. Es ist flexibel genug, um weitere Sensoren und Datenquellen wie Sonar, intelligente Geschwindigkeitsregler und Rückfahrkameras integrieren zu können. Durch die plattformübergreifende Funktion des Qt-Frameworks lässt sich der Code für diese Anwendung auf eine Vielzahl anderer Hardwareplattformen und Betriebssysteme portieren.