Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Software-Defined Vehicle (SDV) and SOAFEE
title: About Software-Defined Vehicles and SOAFEE
weight: 2

### FIXED, DO NOT MODIFY
Expand All @@ -8,17 +8,17 @@ layout: learningpathall

## Introduction to Software-Defined Vehicles

In recent years, the automotive industry has been undergoing a transformation driven by software, with the concept of the Software-Defined Vehicle (SDV) emerging as a key paradigm for the future of intelligent cars. As the number of Electronic Control Units (ECUs) increases and vehicle systems become more complex, the traditional hardware-driven development approach is no longer sufficient. To improve development efficiency and product quality, automotive software development is shifting toward a Shift-Left approach, accelerating validation and deployment processes.
In recent years, the automotive industry has been undergoing a transformation driven by software, with the concept of the Software-Defined Vehicle (SDV) emerging as a key paradigm for the future of intelligent cars. As the number of Electronic Control Units (ECUs) increases and vehicle systems become more complex, the traditional hardware-driven development approach is no longer sufficient. To improve development efficiency and product quality, automotive software development is moving to a Shift-Left approach, accelerating validation and deployment processes.

## The Evolution of Software-Defined Vehicles
## The evolution of Software-Defined Vehicles

The core idea of SDV is to make software the primary differentiating factor of a vehicle, enabling continuous feature updates via Over-The-Air (OTA) technology. This approach allows manufacturers to shorten development cycles while continuously improving safety and performance after a vehicle is released. Moreover, SDV promotes the adoption of Service-Oriented Architecture (SOA), enabling modular and scalable software that integrates seamlessly with cloud services.

However, this transition introduces new challenges, particularly in software development and validation. The traditional V-model development process struggles to meet SDV demands since defects are often detected late in development, leading to costly fixes. As a result, Shift-Left has become a crucial strategy to address these challenges.

One useful Arm Automotive [landing page](https://www.arm.com/markets/automotive/software-defined-vehicles) that you can read.
You can read more about [Software Defined Vehicles](https://www.arm.com/markets/automotive/software-defined-vehicles).

## Shift-Left: Detecting Issues Early to Enhance Development Efficiency
## Shift-Left: detecting issues early to enhance development efficiency

Shift-Left refers to moving testing, validation, and security assessments earlier in the development process to reduce costs and improve reliability. In the SDV context, this means incorporating software architecture design, virtual testing, and automated validation in the early stages to ensure the final product meets safety and performance requirements.

Expand All @@ -32,9 +32,9 @@ The key benefits of Shift-Left include:

However, Shift-Left requires appropriate tools and frameworks to support its implementation; otherwise, it can increase testing complexity. This is where SOAFEE (Scalable Open Architecture for Embedded Edge) plays a critical role.

Check this [blog](https://newsroom.arm.com/blog/automotive-virtual-platforms) understand how to use virtual platforms enable the automotive industry to accelerate the silicon and software development process through virtual prototyping.
Read [Virtual Platforms from Arm and Partners Available Now to Accelerate and Transform Automotive Development](https://newsroom.arm.com/blog/automotive-virtual-platforms) to understand how virtual platforms enable the automotive industry to accelerate the silicon and software development process through virtual prototyping.

## SOAFEE: A Standardized Solution for SDV Development
## SOAFEE: a standardized solution for SDV development

SOAFEE, an open architecture initiative led by Arm and industry partners, aims to provide a unified framework for software-defined vehicles. It leverages cloud-native technologies and is optimized for embedded environments, enabling developers to adopt modern DevOps workflows to accelerate software development.

Expand All @@ -52,6 +52,6 @@ As the Software-Defined Vehicle paradigm gains traction, the automotive industry

With the adoption of SOAFEE, automotive software development will become more standardized and efficient, enabling companies to realize the vision of SDVs faster while delivering a safer, smarter, and more flexible vehicle experience.

Visit [SOAFEE](https://www.soafee.io/) website to find more detail.
Visit the [SOAFEE](https://www.soafee.io/) website to learn more.

In the following sections, you will explore a Shift-Left demonstration example that leverages SOAFEE to enable early deployment of autonomous driving software before the hardware is ready.
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
title: Essential Automotive Software Technologies
title: Essential automotive software technologies
weight: 3

### FIXED, DO NOT MODIFY
layout: learningpathall
---

Before diving into the Deep Dive section of this learning path, I would like to first introduce a few essential software technologies that you need to understand.
Before getting into technical details, there are two essential technologies used in automotive software that you need to understand, ROS 2 and Open AD Kit.

## Robot Operating System 2 (ROS 2)
## What is Robot Operating System 2 (ROS 2)?

Robot Operating System 2 (ROS 2) is an open-source robotics middleware designed to provide a flexible, scalable, and real-time capable framework for robot development. It builds upon the foundations of ROS 1, addressing limitations in distributed computing, security, and multi-robot collaboration. ROS 2 is widely used in autonomous systems, industrial automation, and research applications.

Expand All @@ -27,28 +27,31 @@ Applications of ROS 2:

- ROS 2 is used in autonomous vehicles, robotic arms, drones, and medical robots. It supports simulation tools like Gazebo and integrates with AI frameworks for advanced robotics applications.

- ROS 2s enhanced performance and flexibility make it a crucial enabler for the future of robotics, providing developers with a powerful platform for building intelligent, autonomous systems.
- ROS 2's enhanced performance and flexibility make it a crucial enabler for the future of robotics, providing developers with a powerful platform for building intelligent, autonomous systems.

Arms computing platform fully supports ROS 2 operations. You can use this [link](/install-guides/ros2/) to learn how to install it on an Arm-based machine.
Arm's computing platform fully supports ROS 2 operations. You can use the [ROS install guide](/install-guides/ros2/) to install it on an Arm-based machine.

## Autoware Open AD Kit
## Connecting ROS 2 and Automotive Applications

The [Open AD Kit](https://autoware.org/open-ad-kit/), the first SOAFEE blueprint, is a collaborative initiative within the [Autoware](https://autoware.org/) and SOAFEE ecosystems. Developed with contributions from Autoware Foundation members and alliance partners, its goal is to enable Autoware as a fully software-defined platform.
ROS 2 serves as the foundation for many modern automotive software platforms, particularly in autonomous driving applications. Its real-time capabilities, distributed architecture, and robust communication framework make it ideal for processing sensor data, implementing decision-making algorithms, and controlling vehicle systems. This is where Open AD Kit comes into play - it leverages ROS 2's capabilities to create a comprehensive autonomous driving platform that bridges the gap between robotics middleware and automotive-specific requirements. Together, these technologies enable developers to build sophisticated autonomous driving systems with standardized interfaces, scalable architectures, and the flexibility to deploy across various hardware configurations.

The Autoware Foundation hosts Autoware, the world’s leading open-source autonomous driving project.
## What is Autoware Open AD Kit?

[Open AD Kit](https://autoware.org/open-ad-kit/), the first SOAFEE blueprint, is a collaborative initiative within the [Autoware](https://autoware.org/) and SOAFEE ecosystems. Developed with contributions from Autoware Foundation members and alliance partners, its goal is to enable Autoware as a fully software-defined platform.

The Autoware Foundation hosts Autoware, the world's leading open-source autonomous driving project.

Autoware, built on ROS, features a modular AD stack with well-defined interfaces and APIs for perception, localization, planning, and control. It supports diverse sensors and hardware, enabling adaptability across vehicle types and applications, from research to commercial deployment.

Committed to democratizing AD technology, Autoware fosters collaboration among industry, researchers, and developers. By promoting open standards and innovation, the foundation accelerates autonomous driving adoption while ensuring safety, scalability, and real-world usability, driving the future of autonomous mobility through open-source development and ecosystem synergy.

The Open AD Kit Blueprint has evolved through multiple iterations of containerized Autoware software. It supports both cloud and edge deployments in physical and virtual environments, with OTA updates enabling seamless software upgrades.
The Open AD Kit project continues to be developed at the Open AD Kit working group, and the following are the main goals and principles of the collaborative project:
Introducing modern cloud-native development and deployment methodologies for the Autoware use
Introducing mixed-critical orchestration, paving the way for safety and certifiability
Enabling validation using virtual prototyping platforms to achieve shift-left paradigms
Providing a consistent production environment to deploy Autoware using hardware abstraction technologies to enable hardware-agnostic solutions
The Open AD Kit project continues to be developed by the Open AD Kit working group, and the following are the main goals and principles of the collaborative project:
- Introducing modern cloud-native development and deployment methodologies for the Autoware use
- Introducing mixed-critical orchestration, paving the way for safety and certifiability
- Enabling validation using virtual prototyping platforms to achieve shift-left paradigms
- Providing a consistent production environment to deploy Autoware using hardware abstraction technologies to enable hardware-agnostic solutions

The Open AD Kit Blueprint has been widely adopted by many ecosystem players to develop their own custom-flavored implementations. The blueprint provides a practical and demonstrable example of building SDV applications, particularly in the autonomous driving domain. Additionally, it serves as a model for creating SOAFEE blueprints, fostering a dynamic ecosystem around them.

In the following sessions, you will learn how to use the OpenAD Kit autonomous driving simulation environment to run SOAFEE within container and facilitate communication through ROS 2.

In the following sections, you will learn how to use the Open AD Kit autonomous driving simulation environment to run SOAFEE within a container and facilitate communication through ROS 2.
Original file line number Diff line number Diff line change
@@ -1,24 +1,23 @@
---
title: Setup OpenAD Kit
title: Set up Open AD Kit
weight: 4

### FIXED, DO NOT MODIFY
layout: learningpathall
---

## Execute Autoware Open AD Kit on Arm platform
## Execute Autoware Open AD Kit on an Arm Neoverse platform

Leveraging the high-performance computing power of Arm Neoverse CPUs and its comprehensive software ecosystem, you can run automotive software simulations on any Neoverse computing platforms.
Leveraging the high-performance computing power of Arm Neoverse CPUs and their comprehensive software ecosystem, you can run automotive software simulations on any Neoverse computing platforms.

This learning path can be seamlessly deployed in two type of development environments: Arm Cloud Instances and On-Premise servers.
This example has been tested on [AWS EC2](https://aws.amazon.com/ec2/) and [Ampere Altra workstation](https://www.ipi.wiki/products/ampere-altra-developer-platform), allowing you to choose the most suitable setup based on your needs.
You can use either an Arm Cloud Instance or on-premise servers to run Open AD Kit.
The example has been tested on [AWS EC2](https://aws.amazon.com/ec2/) and an [Ampere Altra workstation](https://www.ipi.wiki/products/ampere-altra-developer-platform), allowing you to choose the most suitable setup based on your needs.

## Installation

This learning path requires Docker to run OpenAD Kit.
You can refer to [here](https://learn.arm.com/install-guides/docker/) to learn how to install Docker on an Arm platform.
You need Docker to run Open AD Kit. Refer to the [Docker install guide](https://learn.arm.com/install-guides/docker/) to learn how to install Docker on an Arm platform.

First, verify whether Docker is installed on your development environment by running:
First, verify Docker is installed on your development computer by running:

```bash
docker --version
Expand All @@ -27,7 +26,7 @@ docker --version
If Docker is installed, it will display version information similar to the output below:

```output
Docker version 27.2.0, build 3ab4256
Docker version 28.0.4, build b8034c0
```

Clone the demo repository using:
Expand All @@ -36,8 +35,7 @@ Clone the demo repository using:
git clone https://github.com/autowarefoundation/openadkit_demo.autoware.git
```

The project is containerized within three Docker images, so you do not need to install additional software.

The project is containerized in three Docker images, so you do not need to install any additional software.

## Understanding the Open AD Kit Demo Packages

Expand All @@ -51,15 +49,15 @@ The Key Functions of Simulator are:

- Simulates autonomous driving environments
- Generates sensor data (LiDAR, cameras, radar, IMU)
- Publishes vehicle state information (position, speed, heading) via ROS 2 topics for other components to process.
- Publishes vehicle state information (position, speed, heading) via ROS 2 topics for other components to process
- Feeds data to planning-control for trajectory planning
- Acts as a data source for visualizer to render the simulation

Interaction with Other Components
Interaction with Other Components:
- Provides vehicle states and sensor data to planning-control
- Acts as the primary data source for visualizer

It is an example to starts a new Docker container named `simulator`, ensuring it runs in interactive mode with a terminal and is automatically removed upon stopping, while using a predefined Docker image pulled from the GitHub Container Registry.
The command below starts a new Docker container named `simulator`, ensuring it runs in interactive mode with a terminal and is automatically removed upon stopping, while using a predefined Docker image pulled from the GitHub Container Registry.

```bash
docker run --name simulator --rm -it ghcr.io/autowarefoundation/demo-packages:simulator
Expand All @@ -72,10 +70,10 @@ The planning-control module is responsible for path planning and vehicle control
The Key Functions of Planning-Control:
- Receives sensor data and map information from simulator
- Computes motion planning and generates optimal trajectories
- Generates control commands (steering, acceleration, braking) and sends them to the simulator for execution in the virtual environment.
- Generates control commands (steering, acceleration, braking) and sends them to the simulator for execution in the virtual environment
- Acts as the decision-making unit for vehicle movement

Interaction with Other Components
Interaction with Other Components:
- Receives sensor inputs and vehicle states from simulator
- Sends planned trajectories and control commands back to simulator
- Feeds trajectory and control data to visualizer for display
Expand All @@ -96,7 +94,7 @@ The Key Functions of Visualizer:
- Uses RViz & VNC for rendering visual outputs
- Supports remote access via Ngrok or VNC

Interaction with Other Components
Interaction with Other Components:
- Receives sensor and vehicle state data from simulator
- Receives planned trajectories and control commands from planning-control
- Presents a visual representation of all ROS 2 topic data
Expand All @@ -107,4 +105,4 @@ This command starts a new Docker container named `visualizer`, ensuring it runs
docker run --name visualizer --rm -it -p 6080:6080 ghcr.io/autowarefoundation/demo-packages:visualizer
```

After gaining a basic understanding of OpenAD Kit, the next section will guide you you through running three containers simultaneously on a single physical machine.
After gaining a basic understanding of Open AD Kit, the next section will guide you through running three containers simultaneously on a single physical machine.
Loading
Loading