How you can use real-time computing to prototype software defined vehicles in the cloud
Automotive software developers often face challenges when they want to try out their software on target hardware. Which can cause issues since multiple teams have to share limited hardware resources and prototype benches. With the microchip shortage, it’s become even more difficult to get hardware benches for testing and debugging software.
Thanks to advancements in cloud computing, a lot of the development can be done remotely with access to state-of-the-art performance and collaboration options. With cloud-based development, engineers have access to high performance capabilities that exceed the ones on embedded systems by a significant margin, therefore, the results and outcomes are not indicative of how the target systems would behave in real conditions.
More often than not, the results won’t be representative compared to the target hardware, either because the vehicle interfaces get saturated or due to differences in memory management. Therefore, the challenge with cloud-based development lies in taking the target system’s constraints into account.
The environmental parity approach solves this issue by simulating the target hardware as much as possible.
What is environmental parity?
The environmental parity concept involves developing in a cloud environment that replicates the same properties as the components in the vehicle. It becomes possible to test and validate code in a more accurate way which is close to what would happen in the physical world.
Of course, it is difficult to have a replica of 100% of the physical properties, it is therefore important to understand beforehand the required constraints of the target use cases (for example, real-time analysis for autonomous driving).
Environmental parity can help reduce the development time by validating your code in a cloud environment. And having tested your code in a cloud environment, you will be able to deploy directly to the target hardware with confidence, be it a prototype bench or a vehicle.
This virtualised approach abstracts potential hardware complexity and encourages teams to move closer to software-defined vehicle (SDV) concepts. By embracing cloud-native and SDV approaches, engineers will be able to enhance the flexibility of their software and be able to deploy to different hardware platforms as long as these follow specific hardware abstraction principles.
“Develop and validate first in the cloud, try it in the streets later” is the future of automotive software development. This way of working will also accelerate the use of digital twins, which will become more reliable and closer to the final product, generating results that are closer to reality.
How real-time in the cloud is a game changer
Canonical has recently announced Ubuntu with the real-time kernel on the AWS marketplace. Thanks to the PREEMPT-RT patchset, which includes a priority scheduler as well as additional real time mechanisms, Ubuntu benefits from kernel preemption. With a preemptive approach, a task with higher priority will be executed first, with a deterministic response time, therefore reducing potential kernel latencies.
You might be wondering what would be the use of having a real-time OS on a cloud platform. As mentioned above, it’s often difficult to obtain sufficient hardware platforms for all automotive developers, which is why companies are looking for powerful and reliable tools that can enable their teams to bypass hardware limitations.
Following the environmental parity concept, the ability for an engineer to execute their embedded software stack in the cloud allows them to be more efficient without needing dedicated hardware. This provides a lot of advantages, including a faster time to market.
Multiple automotive software domains require real-time capacities which require immediate execution of their instructions. For example, autonomous driving (AD) and advanced driver-assistance systems (ADAS) that handle torque and swerve manoeuvres require real time for powertrain control, for braking and for collision avoidance systems.
When it comes to these products requiring real time, very few options were available. Now, developers can access a development and testing environment that closely mirrors their physical target. With real-time Ubuntu on AWS, developers can quickly validate and optimise their software even before implementing it on real hardware.
Unlock real-time computing in the cloud today
With Ubuntu Pro 22.04 LTS and real-time kernel on AWS, teams can deliver quality software faster without the need for hardware parts. Combining real time in a cloud environment opens new opportunities for the industry, improving the processes, reducing cost and time to market.
The real-time Ubuntu kernel is already being used in automotive-related developments and prototypes related to autonomous driving, for example. If you are an automotive developer or engineer looking for a reliable OS with deterministic capabilities, Ubuntu Pro with a real-time kernel is a compelling option.
Try Real-Time Ubuntu today directly from the AWS marketplace.
Do you want to learn how real-time and security fit in a changing automotive world? Watch our webinar!