GithubHelp home page GithubHelp logo

sdv's Introduction

AutoCore SDV Project

Logo

For business and partnership, please visit our website: www.autocore.ai.

Table of Contents

  1. Overview
  2. Quick Start Guide

Overview

SDV (Software Defined Vehicle) project is a cooperative project between Autocore and Futurewei, which aims at providing the technology-consulting services by means of this 100 percent open source software stack with reference design for SDVs. Cloud-Edge service is also integrated as a part of this project to extend the V2X capabilities.

The SDV software stack is based on open source Autoware/ROS2/DDS and Zenoh, where DDS/Zenoh act as the E2E Vehicle-Edge-Cloud middleware layer for the SDV platform. Thru the integration with Futurewei’ s open source KubeEdge project, the SDV platform will leverage Cloud Native Ecosystem tools to provide management, monitoring and software LCM (Life-Cycle-Management) functions.

The system architecture of SDV platform project is shown in the figure below:

Architecture

The software modules in host container runtime are as follows:

And the PCU Container runtime acts as the Domain controller in vehicle with the following software modules:

Quick Start Guide

Hardware requirement

  • Host:

    • Host PC:
      • CPU: x86_64 4 Core or above
      • RAM: 8G+
      • Disk: 30G+ free space
      • OS: Ubuntu 18.04+
      • cable Ethernet
  • For each Worker (default sets 2 workers in cluster):

    • AutoCore PCU

      • Flash images from Release for k8s install

      • cable Ethernet

        OR

    • Worker PC (Needs when you don't have AutoCore PCU):

      • CPU: x86_64 8 Core or above
      • RAM: 8G+
      • Disk: 30G+ free space
      • OS: Ubuntu 18.04+
      • cable Ethernet

Environment setup

  1. Host PC:
  • $ source Utils/setup/k8s/control-plane/setup.bash
    Concole will output the information like kubeadm join xxx, please use this information for clients to join in later steps.
  1. AutoCore PCU OR Worker PC:
  • $ source Utils/setup/k8s/worker/setup.bash
  • $ sudo kubeadm join xxx
    Please find the xxx in the concole output of Host PC as described in step 1.
  1. Back to Host PC
  • For each worker node, label them:
    $ kubectl label node <worker_node_name> app=autoware

Deploy workloads with config file

Default configs 2 workers in cluster, and if you have two works hardware, just run the default command:

$ kubectl apply -f https://raw.githubusercontent.com/autocore-ai/SDV/develop/sdv_demo.yaml

And if you have other custom deployment, Just download sdv_demo.yaml and fix the replicas: 2 to your worker count N:

spec:
- replicas: 2
+ replicas: N
  selector:

then use this config file:

$ kubectl apply -f sdv_demo.yaml

Use CloudViewer to display scene and send commands.

Open CloudViewer with Chromium based browser

  • Config IP Address to Host PC IP (defaults 127.0.0.1)

  • Move viewer with key WSAD and mouse midde and right key.

  • Click on vehicle and traffic light to inspect and send commands.

Video tutorial

SDV demo on multi AutoCore PCUs

sdv's People

Contributors

kaka0459 avatar moelang avatar sharrrrk avatar zhili-chao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

sdv's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.