Sign up to get full access to all our latest automotive content, reports, webinars, and online events.

Flexibility drives rapid change in in-vehicle-infotainment

Add bookmark
Automotive IQ
Automotive IQ
08/15/2016

In-vehicle infotainment (IVI) systems are set for a period of rapid change. The course of this process of evolution is leading to a reshaping in the way OEMs and tier ones approach the development of software for these systems with OEMs taking more control of the software development, particularly when it comes to the human-machine interface (HMI).

Vehicles such as the Tesla Model S have shown how large touch-based displays can change the infotainment experience for drivers and passengers. The trend to multiple displays in vehicles will provide occupants with a range of services and entertainment with content on each screen tailored to the particular consumer of the information. For the driver, a mixture of touch, gestures and spoken commands make it possible to maintain focus on the road ahead but still have full control over sound, navigation and other facilities.

The integration of large displays provide the driver with improved visibility of road conditions thanks to the use of 360° camera views of the environment around the car and other visual aids for driving. The computing power behind these features will gradually be incorporated into more advanced forms of driver assistance.

Getting IVI HMI innovation right relies on the ability to rapidly design and prototype systems and to have fast iteration cycles from design to implementation. Faster iteration cycles allow more iterations, resulting in a better the end product. It is also important to be able to test human-computer interaction (HCI) not just in the lab on the designer’s desktop but also on real hardware to validate performance and in real-world environments. There are many ways to present information to the driver but safety considerations mean they have to be done in a way that minimizes distractions. Theories of how the system should behave do not always work well in practice and it is hard to anticipate all the HCI edge cases on the drawing board. Tools to enable rapid deployment and iteration of design are critical to enable experimentation under different driving conditions to show which strategies work and which do not.

Drivers and passengers increasingly expect vehicles to be an extension of their lifestyle. They want the same kind of interaction with the infotainment systems within the car as they do with smartphones, tablets and home computers. The apps they use are personal to them and they expect to be able to have the same breadth of choice on IVI hardware as on the tablet they carry around. At the same time, the apps that are downloaded to run on the IVI systems must not interfere with the car’s core control systems.

The best way to enforce the separation between apps and the rest of the car is an automotive environment with a layered security structure, such as that provided by the Qt Automotive Suite. In this structure, an application manager coordinates requests made by apps to underlying services. The manager supports the maintenance of security, safety and resilience by enforcing policies for applications that can be set individually. The policies ensure apps do not conflict with each other or run the risk the leaking of data between components. By making a single manager component responsible for policy enforcement, OEMs have the flexibility to respond to changes in demand for services and offer the ability to host app stores for customers that give them the ability to customize their driving and riding experience. 

Not only does an application manager help to make bringing in external applications safer, it also helps with the development of the core HMI. Instead of having one application to control all IVI features such as radio, vehicle diagnostics and multimedia, these are now split into separate applications. This allows separate teams to develop each independently, thereby reducing interdependencies and making the system more robust. For example, the Radio application can be updated without worrying about possible side effects to the diagnostics HMI. Regional variation can be handled by different versions of an application and by allowing application updates over the air, the final software can even be shipped after the car has left the production line.

Separation of responsibilities provides an answer for the IVI software development and testing challenge. Clear separation between parts of the application that deal with user interaction and those that deal with the underlying control logic makes it possible for different members of the development team to make changes without interfering with each other. 

User-interaction designers and developers can experiment, test and refine novel approaches more easily without affecting the core logic of the software. The separation of functions makes it possible to use the same core logic to drive versions that may be deployed in different vehicles or which evolve over time as the manufacturer obtains better understanding of how the systems are used by customers. This way, the same core control logic can work with spoken or touchscreen interactions, for example. It also allows different user-interface elements to be used for different models of vehicle without needing to change the underlying code. The separation is enabled by application programming interfaces (APIs) that link the core logic with the user-interface elements.

The clear separation between control logic and the user interface allows the most appropriate style of programming to be used for each. Procedural languages such as C++ continue to provide the best results for control logic. For user-interfaces, internet applications have shown that a declarative programming model enhances flexibility. While HTML5 is such a declarative language, it is primarily a document layout language that has been adapted for application development. QML, on the other hand, is a markup language designed from the ground up to support easy and rapid user interface application development using declarative-programming techniques. While simple application logic in QML can be written using industry standard JavaScript, it is trivial to integrate native C++ for any heavy lifting making for a very powerful UI implementation environment.

QML allows binding of UI element properties to objects so developers can quickly try out different interface configurations to suit the individual display environment of each target device.  What may be initiated on one device using a gesture may be performed on another using a slider object. The interface they provide to the control logic remains the same. The runtime environment renders and processes the user interface elements using the declarations made in QML. 

Qt’s Automotive Suite supports GENIVI, AGL (Automotive Grade Linux) and QNX architectures. This provides the choice of choosing the best architecture for a given project while providing the flexibility to change architectures without needing to re-implement the HMI. In combination with the flexible nature of QML, it supports the need for differentiation within product families, to provide a luxury experience for some models and a more basic set of features for low-cost variants. 

The suite works with GENIVI-compliant automotive platforms, such as Pelagicore's PELUX Reference Platform, and includes KDAB’s GammaRay tool for high level debugging of applications; finding those normally hard to pin down problems that soak up the last 10% of a project. The QmlLive tool allows the QML markup to be updated on a live system so that designers can experience immediately the impact of their changes, allowing them to iterate more frequently and so react to the results of tests more quickly and easily.

The result of the architecture promoted by the Qt Automotive Suite is the ability to rapidly deliver quality software that meets the needs of IVI systems and of the overall car design.

RECOMMENDED