For the majority of consumers, autonomous cars are still a thing from exhibitions and promotional events. For software developers, however, autonomous driving is a reality, and developers know exactly how your brand-new car should work. Autonomous car software is now a differentiator on the competitive automotive market, and self-driving car engineers are worth millions. In smart cars, everything boils down to software. As a vendor of autonomous car technology, Intellias knows what it takes to build software for self-driving cars and how automotive software development has changed in recent years to meet demand.
Software for the automotive industry is changing to meet the needs of autonomous driving
Why is everybody so excited about self-driving capabilities, you may ask, if they’re still not here? True, driverless cars are yet to win over consumers, but we’re talking about various levels of autonomy, and this technology is improving each day and is here to stay. While at the moment, our roads see only partially independent cars, the global market for autonomous vehicles is estimated to reach $36 billion by 2025, with the US owning 29% of all driverless cars.
The higher the level of autonomy in a vehicle, the more intricate the software it hides under the hood and the more specific the expertise the engineering team needs. A classification system introduced by SAE International in 2014 recognizes six levels of autonomous car technology. At level zero, a driver is entirely in charge of the vehicle, with no assistance at all. At level one, the vehicle can control its own speed. We’re now somewhere at level three and approaching level four, where the car can be in charge of many situations, warning and assisting the driver, who can occasionally take his or her eyes off the road.
Source — How-To Geek
As for automotive software development, a serious change has happened between level two and level three autonomy. Level three conditional automation presupposes that a driver can take their eyes off the road and simply confirm the vehicle’s decisions. It’s not assistance anymore, but rather independence that increases with use cases and situations.
Still, the road from level three to level four autonomy isn’t smooth. The requirements of level three push the limits of classic ADAS rule-based functions with if–then conditions. Use cases in urban environments require decision-making capabilities close to those of a human. Therefore, self-learning systems based on artificial intelligence (AI) are becoming a key technology in the automotive field.
The role of AI and machine learning in today’s automotive landscape: it’s all about data
Artificial intelligence in the automotive industry isn’t only about autonomous driving; it’s also about road safety and connectivity. All the artificial brain needs is data. Various IoT devices built into vehicles, from cameras to sonar, constantly produce volumes of information for AI systems to process. According to Intel, a single connected car may generate about 40 terabytes of data over an eight-hour period. There’s also demand for advanced infotainment systems and various in-car services, which is another need AI technology can cover in a modern autonomous vehicle.
All in all, AI deployments can cover a whole bunch of use cases within the automotive field besides autonomous driving itself:
- Machine learning for product design
- Modeling and simulation
- Sales predictions
- Quality control
- Customer service
- And more
There’s no possibility to support even level three autonomy with classic coding. AI and machine learning are crucial to analyzing traffic situations that are highly dynamic and include multiple variables. Also, the data collected by all vehicle sensors has to be processed and interpreted instantaneously to react to road situations. This can be achieved only with self-learning systems. Machine learning and deep learning algorithms help autonomous vehicle technology approach human decision-making and, in some cases, complement it with additional knowledge.
AI-based software for self-driving cars
The center of all this is data. The automotive industry probably understands the importance of data mining even better than other industries. The challenge is to properly connect existing data with business needs. For instance, to teach a driverless car not to hit pedestrians, you have to build a simulator that mimics real-life accidents and use this data for reinforced learning.
The modern car is a supercomputer on wheels, and its sensors and cameras generate a wealth of data that someday might be worth more than the automobile itself
As Intellias delivery manager , companies have to push to the limits all the data they have and all the skills they possess to ensure stable, predictable, and responsive autonomous technology.
This focus on data and AI-based automotive development makes OEMs and Tier 1 companies change the way they do things. Some of the major shifts in processes are happening in the product and work structures as well as in the technologies used for car manufacturing.
- Focus on software instead of hardware
The traditional hardware-driven philosophy presupposes that every function is carried out by a separate device — a phone is used for calling, a head unit is for playing music, and so on. With tech companies stepping up to compete with traditional OEMs, automakers feel the need to become more software-oriented. The old single-function model is being substituted by multifunctional software platforms. The changes also apply to the way software is supported: now, software has to be frequently updated, whereas in the past, control units stayed unchanged during the entire vehicle lifecycle.
- Agile software development wins over waterfall
In the waterfall methodology, the development of separate software components requires extensive time and detailed upfront planning. Development is plan-driven and function-specific, and technical decisions are passed from the top down. Dependencies between software components form queues, which affect the time for development. Agile, on the other hand, is based on cross-functional development, where teams are built around product features. In the automotive field, however, agile has quite a few challenges. Since we’re talking about embedded autonomous driving technology with a significant number of hardware components, a solid partnership between OEMs, suppliers, and software vendors is a must.
- New technologies substitute legacy systems
With all that in mind, it’s natural that legacy systems cannot cope with the requirements of autonomous car software development. Therefore, traditional OEMs are looking to new partnerships, mergers, and acquisitions that can provide them with the necessary expertise. On the other hand, tech companies are seeking to cooperate with OEMs and component suppliers since they have neither the experience in building hardware nor the established sales market to cover all development stages from the factory to end customers.
The trend from hardware to software in the automotive industry requires new thinking, starting with innovative product architectures up to new target costing approaches and entire vehicle business cases.
High-demand technologies and disciplines for autonomous car software
Developing an autonomous vehicle requires a wide range of skills and capabilities, and neither OEMs nor tech players alone can cover all of them in-house. Experience with hardware and scaling has to be complemented with agile software development, the ability to innovate, and tech expertise.
As we move towards the driverless future, it’s not strange that self-driving software engineers are in high demand. And their value is enormous. David Silver, the head of self-driving cars at educational project Udacity, an average cost of $10 million per engineer.
The technologies crucial for autonomous driving are the following:
- Computer vision
- Sensor fusion
Every component deals with a separate area of software engineering, some of them focusing on cameras, others on sensor programming, still others on teaching artificial intelligence. Building software for self-driving cars happens at the intersection of disciplines, from mechanical and electrical engineering to data science. The distribution of responsibilities is essential in such a context, and companies like Intellias that are developing self-driving car software cover a big part of development for autonomous cars, from data layer to V2X connectivity solutions.
Fully self-driving vehicles are still being tested, and some years will pass before we see them on our roads. Yet modern cars have solidly achieved level three autonomy, and this naturally changes the traditional process of building a car. Software-driven, agile, and innovative automotive software development is the new norm. More than that, autonomous vehicle technology requires a specific skill set that neither traditional automakers nor tech companies possess on their own. Only a partnership between hardware and software providers can meet the requirements of today’s competitive automotive market.
As a reliable automotive software vendor, Intellias helps OEMs and Tier 1 suppliers adapt to autonomous driving. Contact our experts to find out more about Intellias’ expertise in this field.