This blog post was originally published at AImotive’s website. It is reprinted here with the permission of AImotive.
It has been recognized by many leaders in the automotive industry that vehicles of the future will rely on far more highly integrated, scalable software that can be rapidly and regularly updated throughout the life of the vehicle. That means not only more software engineers, but also a carefully planned hardware platform roadmap and a deep and close collaboration between hardware and software engineering teams to maximize innovation, scalability and shortest time to production.
Software relies on hardware
The international automotive industry has reached a conclusion: the future is going to rely on software, and lots of it. But this is very different software to that used in mobile phones, PCs or servers. It is embedded software: software designed to implement several well-defined, highly demanding but fixed tasks. Software powering automated vehicles needs to execute a number of highly specialised tasks extremely efficiently without fail, day in, day out, for perhaps 10–20 years.
This is partly driven by consumer expectations: as they recognize more of the functions they use in cars are software-driven, consumers have come to expect anything powered by software to be regularly updated, typically every few months. Companies like Tesla have been quick to realize that by regularly updating their software, their relationship with their customers gets stronger. That in turn improves customer retention, which makes good business sense.
No longer is the customer relationship just about image and performance: it is now also about the latest software update.
But that poses a challenge: if the software developers need to keep adding new, high performance, real-time features, the software developers need to know exactly what the hardware platform it will be executing on will be. And that needs to be not only when the vehicle first ships from the factory, but throughout its operating life of as much as 20 years.
In a mobile phone, increasingly key features are driven by the hardware enabling them. From higher resolution cameras and other sensors to higher performance AI acceleration, the relationship between the operating system, software apps and the hardware is getting closer and stronger. That’s why companies like Apple and Samsung chose to develop their own chips to power their mobile phones, so they could ensure their software can deliver the fullest capabilities of the chips powering them. It’s why Tesla designed its own chips to ensure its algorithms. And it is why Apple have now announced their latest chip, the M1, powering their new Arm-based Mac PCs: enabling new features and better battery life.
Embedded software needs excellent hardware awareness
The software teams writing code to control and utilize hardware-based functions such as cameras, radars, lidars and other sensors need to consider many factors:
- Will my software always work correctly, and handle failures safely, whatever hardware it is executing on?
- Can I upgrade algorithms such as AI NNs as new research emerges?
- For how long will this hardware be suitable for our software before we will be forced to upgrade it?
- If the hardware changes, will my software still work?
Such challenges are often key to why industry leaders in areas as diverse as mobile phones, laptop PCs, data centers and automotive increasingly choose to design some of the key chips executing software at the heart of their products. By controlling their hardware platform roadmap, they can ensure that they are in control of the answers to many of these challenges.
AImotive’s aiDrive software stack development team have spent the past five years developing software that not only delivers class-leading AI-powered automated driving capabilities, but also software that can make maximum use of the full hardware capabilities of each chip running the software, and the sensors connected to it. That isn’t easy: indeed, it is one of the biggest challenges facing automotive software teams today.
That is one of the reasons why AImotive invested in its hardware capabilities from the start, including:
- Design and integration of specialized hardware to enable its fleet of test vehicles to be controlled by aiDrive software
- Building a series of hardware boxes for executing aiDrive software using several different SoCs (systems on chip), installed in our test vehicles and used in the lab for HIL (Hardware In the Loop) testing
- Design of aiWare hardware IP for NN acceleration, ensuring that AImotive NN engineers have a deep understanding of how the design of their NNs impacts utilization of all types of hardware accelerators
It is this deep understanding of how different chips are designed, and how different accelerators work, that enables AImotive’s software engineers to be masters at embedded software portability.
Indeed, this expertise has been recognized by companies such as Arm, who have been working with AImotive to develop new ways to ensure software portability across the breadth of the Arm software ecosystem.
Embedded hardware needs to understand embedded software too
Increasingly, AImotive’s partners are finding a key benefit of working with us is that we can bring together our deep understanding of embedded software, algorithms and hardware to create a far more efficient, cost-effective and robust solution.
For example, our aiWare customers often ask us to create complete AI solutions to best utilize their hardware and demonstrate their chip’s capabilities. We respond by bringing our aiDrive NN algorithm specialists plus AI application software teams to work alongside our aiWare hardware team.
Another example is our close relationship with imaging and other sensor module vendors. By bringing our aiSim simulation and design validation software engineers alongside our aiDrive embedded software team, we can model the exact behavior of their sensor solution in the context of a real-time system. We can integrate their sensor into one of our test vehicles, or connect it to one of our hardware rigs for HIL (hardware-in-the-loop) testing of an aiDrive application using their sensors controlled by aiSim. This enables the sensor suppliers to demonstrate the capabilities of their solutions to their customers in a unique, informative and compelling way.
Embedded software will define the future of automated driving. However, if it is to be scalable, regularly updated to reflect latest algorithms, safety methodologies or consumer trends, it must be written with a deep understanding of the underlying hardware platforms it executes on. We have seen how industry leaders such as Tesla and Apple design their own chips to help them ensure they have full control of their hardware roadmap, and that the chips contain exactly what they need to optimize the performance of their software.
We believe that a deep understanding of the synergies between hardware and software makes AImotive’s portfolio of modular, portable and scalable technologies – and the team of engineers creating them – unique in the automotive industry.
Executive Advisor, AImotive