Move Over Apple Car; Linux is Going to Drive
Automotive Grade Linux is collaborating to build the car of the future through rapid innovation with eight major automotive OEM supporters. Toyota, for one, has made significant contributions to AGL and plans to include AGL in Toyota vehicles in the next few years.
Cars have a long way to go to catch up with the user experience offered by smartphones. At present, every manufacturer has its own In-Vehicle Infotainment (IVI) with a different organization, touchscreen layout, and navigation. Automotive Grade Linux (AGL) has much to offer as an open source platform that will provide a standardized, open operating system and application framework. AGL is being developed collaboratively amongst over 80 member companies, sharing development work spanning standard parts that collectively make a common framework.
AGL’s ambition is to reduce the software design cycle to 12 months….
IVI typically encompasses GPS navigation, phone interface, video or rear view cameras, rear passenger entertainment, and may use a combination of touchscreen displays, physical buttons, and voice recognition. The picture is very different for Android smartphones, who share a common framework. The benefits could be rather striking; a rental car navigation screen could be in Klingon, but a familiar framework across all makers would allow you to change language settings quickly and punch in an address. In short, the difference in user experience between Android phones and Infotainment is stark. That will change dramatically within the next 2 – 3 years, however, as the model moves to open source.
Automotive Grade Linux (AGL), a collaborative open-source project for developing a Linux-based distribution for use in automotive electronics, is at its core an operating system. AGL has been around since 2012 but has seen tremendous growth over the past two years with Toyota, Honda, Ford, Jaguar Land Rover, Mitsubishi Motors, Subaru, Nissan, Mazda, and several other members coming on board. AGL is a custom distribution (“distro”) based on the Yocto Project and begins with a stripped-down version of the Linux kernel. Version 2 of the AGL Unified Code Base (UCB) was released in July 2016 at the Automotive Linux Summit. UCB Version 3 is expected in December 2016 and is the first release that is targeted to install in vehicles. AGL is gaining momentum. Since the end of 2014, there has been 105% growth in developer participation, and now close to 600 developers are on the AGL mailing list.
AGL will do much more than reduce frustration when driving unfamiliar vehicles, however. AGL will save money, improve the overall user experience by incorporating the best ideas from all AGL members, enhancing the security by incorporating hundreds of years’ worth of broad-based software security experience into AGL and distill AGL into the best platform via the proven success of Linux and the open source model. Hosted by the non-profit The Linux Foundation, AGL is royalty-free and frees automotive OEMs to focus on their core competency: designing cars, not software. The automotive industry has fallen behind smartphones in ease-of-use and functionality. Consumers paying $500 or more for navigation in cars expect a smartphone experience. The 100-year old automotive supply chain model for software has a 36-month production cycle, a time frame over which three iPhones can be released. AGL’s ambition is to reduce the software design cycle to 12 months with shorter deployment cycles and more frequent software updates. AGL will also enable a robust and global ecosystem of compatible hardware, software, user interfaces, and a variety of applications.
AGL is made up of several expert groups, a group of like-minded developers that get together and work on an area of the system. Dan Cauchy, Executive Director of Automotive Grade Linux at The Linux Foundation, says that Automotive Grade Linux has the ultimate goal of expanding from IVI into the instrument cluster, telematics, heads-up display (HUD), Advanced Driver Assistance Systems (ADAS), Functional Safety, and eventually Autonomous Vehicles.
How did we get to the point where cars needed operating systems? Older vehicles had direct wiring for electronics, but with hundreds of different electronic functions in modern vehicles, Electronic Control Units (ECUs) became the norm, mainly because wiring harnesses became too bulky and cumbersome to wire individual control loops throughout a car. ECUs control small but often complex control loops to handle algorithms for everything from operating door mirrors, automatic lighting functions, to luxury functions such as variable chassis suspension at the touch of a button. There can be a hundred or more ECUs in luxury vehicles, and the number of ECUs is reaching a limit. Greater integration of hardware and software is needed to address the high number of ECUs.
AGL, although four years old, relaunched under a new strategy a couple of years ago, borrowing the best software components from AGL, GENIVI, and Tizen IVI for the AGL platform. This new combination code base is what AGL calls the “unified code base,” or UCB, and unifies the best of AGL, Tizen™ IVI, and GENIVI® for the entire industry. Tizen IVI was an open project initially led by Samsung and Intel but was aimed more at consumer electronics. GENIVI is open source software from the GENIVI Alliance. However GENIVI targets a specification that allows multiple different vendors to be compliant with different code, versus AGL, which has a “code first” mindset and focuses on building a software base that provides automakers and suppliers with the same starting point for production programs. AGL recognizes the contributions of the open Tizen IVI and GENIVI modules within AGL.
Additional flourishes can be added by the manufacturer, much like smartphones often carry carrier-specific features and functions, however, the basic underlying functionality is the same across Android-based operating systems, and AGL will be no different. Developers will be able to add differentiating features, such as voice recognition, but the foundation will share a commonality that not only facilitates rapid time-to-market, but allows engineers to become experts on a common code base rather than learning several proprietary systems over a lifetime. AGL is a full distro, including middleware, and an app framework.
Collaboration is not new to Linux, but it is new to automotive. Nevertheless, there are several expert groups presently working on AGL focused on System Architecture, Application Framework and Security, Continuous Integration and Automated Testing, Connectivity and User Interface (UI) and Graphics.
The System Architecture Team defines the overall technical architecture per the strategy set by the steering committee and oversees how reference software and hardware solutions are implemented.
The Application Framework and Security expert group are building a foundational application framework for all AGL apps, so every design builds on a common shared framework. Security begins at a low level on the stack and necessarily permeates common functions. For example, in addition to cooperation with secure hardware, apps will be cryptographically signed and verified at installation and removal. There are also plans to provide a secure boot in the AGL framework to ensure that the car will not boot on a changed image unless a specific encryption key is provided. The User Interface (UI) and Graphics expert group is responsible for the design and architecture of driver-facing features such as multimedia, navigation, speech recognition and the home screen. The Connectivity expert group is concerned with CAN bus, LIN, MOST, Ethernet AVB, and an abstraction layer referred to as the automotive message broker, which abstracts the messaging to a firewalled vehicle bus. They are also responsible for remote vehicle interactions, cloud connectivity and how user devices connect to the IVI system. The Continuous Integration and Automated Testing group uses standard tools like JTA, LAVA, Gerrit and others.
The Future of AGL
After the AGL IVI is released, ongoing improvement, additions, and updates are expected indefinitely. However, the focus of AGL will shift beyond IVI to address other areas such as instrument cluster, telematics, heads-up display (HUD), Advanced Driver Assistance Systems (ADAS), Functional Safety and eventually Autonomous Vehicles.
The UCB distribution has been architected to allow different profiles to be created from the same code base to address all software applications in the car. As Cauchy explains, “It is in the AGL charter to implement code supporting the instrument cluster, which are often digital displays and have similar requirements in common with IVI.” Thus, using the same IVI code base and another iteration with Yocto to define specific meta data for new layers, AGL will have code specific to instrument clusters that OEMs can customize. Dan goes on to state, “Another profile, if you will, will yield a heads up display (HUD). Telematics is next, and has already begun, with the formal establishment of an expert group planned before the end of the year.”
AGL telematics will involve telemetry and sharing telematics data, which includes connecting to the cloud and creating the whole “connected car,” enabling functions such as remote updates that can replace visits to the dealership. Beyond IVI and telematics is ADAS, which Dan indicates may not be addressed until next year at the soonest. ADAS requires an operating system for system-level coordination including multiple sensors, cameras, and LIDAR to assist with keeping to a lane and collision avoidance, for example. Dan admits that this is farther out on AGL’s roadmap but went on to state, “Functional Safety certifications will be required for ADAS, and this will take some time. However, once we achieve ADAS, the next logical step is to leverage that and move forward to build software for fully Autonomous Vehicles, and that is part of our roadmap.“
Version 3 of the AGL UCB, or the “Charming Chinook” distro, will be released late in 2016, with a demonstration planned for CES 2017 showing the home screen with multiple display capability (front and rear seat), video playback, audio routing and the AGL app framework.
Linux is certainly a proven model for establishing a successful collaborative model that breeds innovation. Examples of Linux in daily life include Android on smartphones and the Apache web server (which exists in 50% of all web servers worldwide.) However, Linux is also used in nuclear power plants, entire systems of trains and their control, as well as in aeronautics.
AGL presents a new methodology for the automotive industry. Its success remains to be seen but judging from the success of carrier-grade Linux, and the fact that eight major OEMs and multiple technology companies are participating towards the success of AGL, one can imagine the future of AGL. Companies like Apple that aim to compete in automotive have a serious competitor in AGL but are also easily able to sell a differentiating application layer or a custom distribution, since open-source allows deep transparency down to the kernel.
AGL is still accepting participants for expert groups, which means entering on the ground floor of a significant opportunity is possible. As a non-profit, AGL is never going to IPO. But defining success by collaboration, not quarterly results, is a good thing.
Lynnette Reese is Executive Editor, Embedded Systems Engineering and Embedded Intel Solutions, and has been working in various roles as an electrical engineer for over two decades. She is interested in open source software and hardware, the maker movement, and in increasing the number of women working in STEM so she has a greater chance of talking about something other than football at the water cooler.