20
V0.1 | 2019-07-07 Vector India Conference – 2019-07-17 Workshop ADAS Tooling – Algorithm Prototyping in vADASdeveloper & ECU Validation with CANape DA

Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

V0.1 | 2019-07-07

Vector India Conference – 2019-07-17

Workshop ADAS Tooling – Algorithm Prototyping in vADASdeveloper & ECU Validation with CANape DA

Page 2: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

2

Integrated ADAS development tool chain

Overview ADAS Development Tool Chain

ADAS solution - Efficient development of multisensor applications

Data Fusion Library “Create Embedded”

C/C++ Code

CANape / vSignalyzerOffline Data Analysis

Models

Rapid controller prototyping

vADASdeveloper(Fusion) Algorithm prototyping

Data Fusion Library “Create”

vADASdeveloper runADAS algorithm validation

CANape + Option DAADAS ECU validation

VX1000ECU Calibration Hardware

ECU Reprogramming / “Flashing”

Offline algorithmevaluation

PC based sensor fusion prototype

CANape forHigh Performance Recording

Dynamicmodels

OtherImage Processing

C/C++/…

User Code

Embedded BSW & project work: DCU Architecture, Safety/ISO26262, Function optimization, …

Page 3: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

3

Efficient Development of Driver Assistance Systems & HAD with vADASdeveloper

Contents of Vector ADAS solution – algorithm prototyping

Rapid prototypingand

Bypassing

High speed ECU (RAM)

measurement

ADAS ECU road validation

ADAS Algorithm&

software development

Algorithm toolbox / library for sensor data fusion, probabilistic filtering and trackingFrom protoype to series code

Development tool for implementing, debugging and testing multi sensor applications in Visual Studio (C#, C/C++)

vADASdeveloper

Typical user group:Algorithm & function developers

embedded

Page 4: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

4

Prototyping Use Cases / Tool Requirements

Efficient Development of Driver Assistance Systems & HAD with vADASdeveloper

VisualizationAlgorithmValidation

Data Recording

REC

Access to sensorson diverse networks

Automotive sensors

Reference Sensors

High recordingbandwidth

Detected objectsfrom each sensor

Fused data / environmentmodel

Images fromreference cams & LIDARs

Vehicle state datae.g. speed, position, course

Run algorithmGUI-less againsttest & referencedata

Remote control bymaster application/ test logic

Code Development

Usage of standardIDE for OO languages

Replay recordedsensor data toalgo

Synchronousdebugging → stop

data stream on breakpoint in algorithm

Page 5: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

5

vADASdeveloper - Implementing, debugging and testing multi sensor applications

Efficient Development of Driver Assistance Systems & HAD with vADASdeveloper

Automotive network access, cameras, LIDAR etc. for algorithm prototyping in C#/C++/C

Extensible with

User-built components

Domain libraries for Image Processing, Neural networks, …

Custom GUIs

Built-in High Performance Recording (CANape engine)

Data replay - offline analysis and debugging

BST (own format), MDF

Custom file types, ADTF

Raw data for sensor re-simulation

Integrated into Microsoft Visual Studio - easy offline debugging

Output = Windows .exe / application

Page 6: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

6

MDF

Efficient Development of Driver Assistance Systems & HAD with vADASdeveloper

Step 1 - „Sensor Data Recording“

WebCam

Supplier2Cam

MobilEyeCam

Pre Processing

Supplier1Radar

Support of arbitrary sensors

CAN/FR/ETH

XCP

Integration of own sensors

By user

By Vector & BASELABS (project)

Recording to BST(objects) and MDF (signals)

Recorder1

Recorder2

LayeredGraph

BirdsEyeView

Parallel recording of large quantities of object data

Time synchronization of multi-channel network data

Visualization only as reference

(Web)Cameras only as reference

No algorithm yet

CANape Source

Page 7: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

7

Graphical configuration via Visual Studio embedded editor

Graphical device/bus and measurement signal configuration

Network access, object mapping, recording - CANape Source Component

Efficient Development of Driver Assistance Systems & HAD with vADASdeveloper

Sources configuration- CAN, LIN, FR, A/D- Automotive Eth (ARXML)- ECU Debug (VX1000)

Measurement signal selection

Radar_HSCAN

+ Mapping of signals to data objects

Page 8: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

8

Efficient Development of Driver Assistance Systems & HAD with vADASdeveloper

Step 2 - „Algorithm Development / Test“ - in the lab

Player

Pre Processing

BirdsEyeView

LayeredGraph

BirdsEyeView

Use offline / recorded data instead of online sensors

Large/Major part of algo development in this mode

Player Component

Replays different data formats

MDF3/4

Signal oriented

Raw / byte data

BST = vADASdev native OO streaming format

AVI (video)

ADTF DAT

Custom formats

DataFusion

Develop the algorithm/fusion prototype

From scratch (C#/C/C++)

By reusing existing C/C++ modules & libraries

By using Baselabs Create embedded toolbox

Page 9: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

9

Simple display of object overlays in all windows

Interactive configuration

No need for graphics coding

Visualization Component – Video, Map & Scene views

Efficient Development of Driver Assistance Systems & HAD with vADASdeveloper

Video display

Perspective display of overlay objects

Web based map display

Vehicle position, street signs, sensor detections…

3D Scene display

Freely configurable view and perspective

Page 10: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

11

Efficient Development of Driver Assistance Systems & HAD with vADASdeveloper

Step 3 „Algorithm validation“ e.g. MIL Testing in Virtual Environments

vADASdeveloper

Testcase_1

Testcase_2

Testcase_n

Control of virtual scenario

Replay recorded scenarios, or

Control “synthesized” scenarios e.g.

> Object trajectories

> Lighting conditions

> Sensor model parameters (false detections rates, time behavior,..)

Sensor output from virtual scene e.g. radar objects,

Includes sensor errormodeling (checking“robustness” ofalgorithm)

Algorithm result

Test Controller

FDX orFMI/FMU

DUT Control by tester

FDX

Dynamic model output

Virtual Scenario Framework

Vehicle dynamicsmodel

Artificial road scene

Baselabs “Models”Real time capable, probabilistic sensor

models

FMI/FMU

Many interfacing options - Remoting API (included), FMI & FDX (examples)

DYNA4

Page 11: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

12

→ Demo/Samples vADASdeveloper

Page 12: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

13

ADAS solution – ECU road validation

Contents of Vector ADAS solution / Typical Use Cases

Rapid prototypingand

Bypassing

High speed ECU (RAM)

measurement

ADAS ECU road validation

ADAS Algorithm&

software development

Time synchronized measurement and calibration of ECUs

Measuring all signals from ECUs (networks, debug) and cyber-physical systems

For ADAS: Graphical object overlay- Video/GPS window- SceneView

CANape Option „Driver Assistance“

Typical user group:ECU Validation engineers

Page 13: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

14

MCD Tool (Measurement, Calibration, Diagnostics, Analysis)

CANape intro

CANape

ECU Measurement & Calibration

Bus Monitoring

GPS

Audio / Video / Image

Processing

Digital/Analog MeasurementHigh-End

Data Recording

Bypassing

Model-based Development

Diagnostics

FlashProgramming

Offline Evaluation

&Data Mining

Page 14: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

15

CANape is a highly sophisticated measurement tool

CANape intro

Time synchronized access and recording of

ECU signals

Analog / digital signals

Bus messages / signals

GPS

Video

Audio

Individual measurement hardware

Page 15: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

16

Time synchronized recording of measurement signals and video / audio

Support of cameras & video grabbers with DirectX/DirectShow driver

Time offset between measurement signals and video pictures can be adjusted for offline evaluation

Synchronized Recording of CAN, XCP,… and Video Signals

ADAS solution – ECU road validation

Page 16: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

17

Graphical object overlay for detected objects like vehicles, lane markers, traffic signs, …

Bird’s Eye view, Video & GPS overlay

GFX Editor to link overlay objects to signals, functions andvariables

Object overlay

ADAS solution – ECU road validation

Page 17: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

18

A data-object is an instance of defined classes

It could be a measurement data-object or a measurement file data-object

Existence of data-objects is optional

Similar to structs

Classes

Definitions or building plans of one or multiple data-objects

Can consist of structures

Data-object list/container

List of multiple instances of a class

Definition of Data-Objects

Data-Objects and Their Visualization

CAR_2 CAR_1

Obje

ct

„CAR“

Relative Velocity Long

Relative Velocity Lat

Displacement Long

Displacement Lat

Orientation Angle

Size Length

Size Width

Page 18: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

19

Retrieval of Signal Conditions and Automated Analysis

ADAS solution – ECU road validation / Automated Analysis of Measurement Files

More and more measurement files with thousands of signals are recorded

It is not possible to validate all data live during measurement

How to find specific conditions and signal combinations in big archives?

Calculation of functions and scripts based on signals are complex> Difficult to calculate during runtime

> Post calculation to find specific conditions for actual use-cases

Lane on both sides detected?

Yes if condition:

“RightLineQuality” &

“LeftLineQuality” =

“lane_valid”

List of all “Hits” Marker and fast navigation

Page 19: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

20

→ Demo/Samples CANape DA

Page 20: Workshop ADAS Tooling – Algorithm Prototyping in ...€¦ · A data-object is an instance of defined classes It could be a measurement data-object or a measurement file data-object

21 © 2019. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V0.1 | 2019-07-07

Author:Aydt, Alexander, Chacko, JojoVector Germany

For more information about Vectorand our products please visit

www.vector.com