Skip to content

Latest commit

 

History

History
112 lines (89 loc) · 6.32 KB

README.md

File metadata and controls

112 lines (89 loc) · 6.32 KB

!! UNDER CONSTRUCTION !!

DES04 - Automatic Car Distance Controll (AC⚡️DC) and Advanced Driver Assistance Systems (ADAS)

Table of contents

Introduction

This project merges the requirments of Park-Distance-Control (DES04) and autonomous lane detection (ADS01) into a scalable open-source E/E Architecture.

The goal of this project is to enhance integrating a new embedded in-vehicle feature <Park Distance Control (PDC) system> and a new in-vehicle feature for ADAS Lane Keeping Assist System (LKA).
The PDC system utilizes ultrasonic sensors to detect the distance between the vehicle and any obstacles, and provide an response to the driver. In addition, the full stack feature development will be integrated into the existing Yocto image, creating a comprehensive and fully functional system.
Furthermore, the intersection of virtual simulations and real-world applications is used to enable mechanisms of the Lane Keeping Assist System (LKA), a pivotal Level 1 autonomous driving feature. Using advanced simulation platforms and hardware implement an LKAS that can operate both virtually and in the real world.

The following sections will provide further details on the technical requirements, system architecture, software design, implementation, results, and references for this project.

Collaborators

If you find any kinds of bugs or issues, please contact Kian, Jinghong, Seungwoo, Nikas👌🏽

Demonstration Video

The following videos demonstrate the features of the project.

Demo Feature 1:

E/E Architecture

The image below shows the centralized E/E architecture.
It is devided into two layers:

  • Computing Layer
  • Sensor Layer

In the Computing Layer, you will find the central computing Unit, the ADAS Unit and the Cloud-Connector Unit.
The Sensor Layer is sub-devided into Zones:

  • Front Zone
  • Central Zone
  • Rear Zone

The Front Zone contains the PDC System. The Central Zone contains the Drive-Train & Battery Control. The Rear Zone contains the Speed Sensor System.

Project Structure

This repository is structured as followed.

Software- and Harware Architecture

The following image gives a brief overview about the software structure that runs on the cars' system structure.
Each application serves a different functional purpose and uses different peripheral interfaces and devices.
BMWs' CommonAPI ensures the communication between the applications in the Computing Layer via Scalable Service-Oriented Middleware over IP (SOME/IP). It is easy to add more apps by using our CI/CD workflows for CommonAPI.
The rear zone controller feeds speed sensor messages to the cars' CAN Bus (interface 1).
The front zone controller feeds distance informations of a sonar o the cars' CAN Bus (interface 0). The Central Computing Unit operates with a custom-made Yocto Image deployed on a Raspberry Pi4B. The ADAS runs on a NVIDIA Jetson Nano.
The NVIDIA Jetson Nano is connected to the Raspberry Pi via Ethernet.

Continuous Integration and Continuous Deployment (CI/CD)

The development in each submodule is done individually by the assigned developer following the teams' project conventions.

Continuous Integration (CI)

The CI is done by the developers in the submodules.
Once a change is pushed to the main branch, the CI will be triggered.

Continuous Deployment (CD)

The Meta Team2 submodule is the only submodule that has a CD workflow.
It fatches the latest changes from the submodules and builds the Yocto Image.
To roll out the software, the sensors' controller and the ECU needs to be flashed.
A OTA update is not implemented yet.

Documentation

  1. Requirements Gathering:
  2. Planning Design, System & Software:
  3. Team Collaboration:
  4. Integration:
    • Technologies: tbd.
    • Apps & Sensors: see submdoules's README.md
  5. Testing: