63
1 © 2016 The MathWorks, Inc. 自動運転開発に向けた、MATLAB/Simulink 活用ソリューションの提案 MathWorks Japan アプリケーションエンジニアリング部 乙部 雅則

自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

1© 2016 The MathWorks, Inc.

自動運転開発に向けた、MATLAB/Simulink

活用ソリューションの提案

MathWorks Japan

アプリケーションエンジニアリング部

乙部雅則

Page 2: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

2

Agenda

背景・ユーザー事例紹介 ADAS・自動運転開発/検証を取り巻く課題 シミュレーション環境

検出・認識 画像処理・コンピュータビジョン LiDAR信号処理 レーダー信号処理

ROS活用による、自動運転開発

システム開発・検証への展開 車両ダイナミクスを含む自動速度制御 外界環境を含む自動運転

センサーフュージョン

ユーザー事例ならびにまとめ

Page 3: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

3

Agenda

背景・ユーザー事例紹介 ADAS・自動運転開発/検証を取り巻く課題 シミュレーション環境

検出・認識 画像処理・コンピュータビジョン LiDAR信号処理 レーダー信号処理

ROS活用による、自動運転開発

システム開発・検証への展開 車両ダイナミクスを含む自動速度制御 外界環境を含む自動運転

センサーフュージョン

ユーザー事例ならびにまとめ

Page 4: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

4

自動運転・ADASシステムの開発へ向けたチャレンジ

From Advance Driver Assistance Systems Market, Drivers,

Functions , Continental AG, KSAE 2011

アダプティブクルーズコントロール

ストップ&ゴー

前方衝突防止警告

緊急ブレーキ支援

先進緊急ブレーキシステム

道路標識認識

ヘッドライトコントロール

車線変更支援

後退時支援

車線逸脱警告

車線維持システム

死角検知

• 複雑化するアルゴリズム

• 異なるシステムの統合

• 検証工程の増大

• 認識• 複数のセンサーによるセンサーフュージョン• 経路計画• 制御(乗り心地)

Page 5: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

5

自動運転・ADASシステム開発ワークフロー

DESIGN

VEHICLE INTEGRATION

IMPLEMENTATION

REQUIREMENTS

Sensor Simulation and Acquisition

Sensor Fusion and Control Logic

VHDL, Verilog

Perception Algorithm Design

SYSTEM

TEST

TE

ST

AN

D V

ER

IFIC

AT

ION

Rapid Prototyping

C, C++

DESIGN

TEST

REGRE-

SSION

TEST

画像処理

レーダー

制御

センサーフュージョン

統合シミュレーション

(Simulink)

(Computer Vision

System Toolbox)

(Control System Toolbox)

(Phased Array

System Toolbox)

機械学習(Statistics & Machine

Learning Toolbox)

ラピッドプロトタイピング(Simulink Real Time)

Page 6: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

6

Agenda

背景・ユーザー事例紹介 ADAS・自動運転開発/検証を取り巻く課題 シミュレーション環境

検出・認識 画像処理・コンピュータビジョン LiDAR信号処理 レーダー信号処理

ROS活用による、自動運転開発

システム開発・検証への展開 車両ダイナミクスを含む自動速度制御 外界環境を含む自動運転

センサーフュージョン

ユーザー事例ならびにまとめ

Page 7: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

7

設立:1984年

1985 1990 1995 2000 2005

• Rapid prototyping and HIL

• DSP designs • State charts • Physical modeling

• Video & Image processing Blocksets

•Model checking

• Test and measurement

• Code verification

• Embedded software

• VHDL/Verilog generation

MATLAB

Simulink

• Control design

• Signal processing

• Image processing Toolbox

• Computational finance

• Computational biology

• Application deployment

• Parallel computing• Student version

•Optimization

• Statistics

システム設計シミュレーション

自動コード生成

テスト検証

• Instrument and database connectivity

• DSP software

• Communications systems

2010

• Certification kits

• PLC code

•MATLAB Mobile for iPhone/iPad

•MATLAB Coder

• Computer Vision System Toolbox

MATLAB/Simulink 様々なオプション製品

データ解析アルゴリズム開発

テクニカルコンピューティング

多様なオプション製品により、複合的な要素を統合して評価可能 制御設計のみならず、画像処理、レーダー分野にも実績

• Phased Array System Toolbox

• RF Tools

Page 8: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

8

画像処理のベースとなる関数群Image Processing Toolbox™

各種画像データの読み書き

画像調査用の各種アプリケーション

画像(色・コントラスト等)の調整・変換

幾何学的変換(位置や形の変換)

レジストレーション(位置合せ)

各種画像フィルタ処理

モルフォロジー処理(膨張・収縮等の様々な形態処理)

オブジェクト(物体)検出・解析

セグメンテーション(領域切出し)

画像の領域の定量評価

ROIベースの処理(特定領域処理)

Page 9: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

9

画像処理やコンピュータビジョンのための機能・高速ストリーミング処理Computer Vision System Toolbox™

カメラキャリブレーション

グラフィックス

大量の画像取扱い用クラス

特徴点検出・特徴量抽出、マッチング・レジストレーション

物体認識、文字認識(OCR)

– 顔・人物認識、機械学習による物体認識

– Bag-of-Visual Wordsによる物体認識・画像検索

動画ストリーミングデータの高速処理

物体のトラッキング・動き推定

ステレオビジョン向けワークフロー

3次元点群処理 ・ Structure from Motion

画像処理用のSimulink ブロックセット

Page 10: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

10

各種カメラからの画像データ直接取込みImage Acquisition Toolbox

RGB画像+骨格座標 深度画像

業界標準のHWからの動画像取込み機能を提供

– フレームグラバ (画像入力ボード)

Analog入力

Camera Link入力

– DCAM 互換 FireWire (IIDC 1394)

– GigE Vision

– USB3 Vision

– 一般的なUSB Webカメラ => 簡易的取込みはMATLABの関数で可能

– IPカメラ (MATLAB基本関数)

Microsoft Kinect for Windows v1

Microsoft Xbox One Kinect センサー

カスタムアダプター開発キット

Simulink ブロック

Page 11: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

11

Simulinkによる画像処理

画像処理用の Simulinkブロック ライブラリー(Computer Vision System ToolboxTMにより提供)

Simulink環境を用いることで、制御ロジック等とのシステムモデリングやラピッドプロトタイピング環境を提供

Page 12: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

12

デモ:Simulink

デモ

Page 13: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

13

幾何学変換

幾何学的変換(位置や形の変換)

簡潔なコードで処理を実行各種GUIツール デモ

Page 14: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

14

人物検出、トラッキング

トラッキング(物陰への隠れ)

物体が隠れてしまっても、位置を予測しながらトラッキングを続ける

複数の人物の同時トラッキング

% 人物認識 用のオブジェクト

vision.PeopleDetector() HOG 特徴量

detectPeopleACF() ACFアルゴリズム

人物検出

人物認識

Page 15: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

15

誤認識の補償

人検出結果検出漏れ

カルマンフィルタによるトラッキングで、位置を予測

補償

vision.KalmanFilter() 物体トラッキング用カルマンフィルター

デモ

Page 16: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

16

様々な特徴量を用いた、さらに複雑な機械学習Statistics and Machine Learning Toolbox

特徴変換

– 主成分分析 (PCA)

– 因子分析

クラスタリング

– 階層クラスタリング

– K平均クラスタリング

– ガウス混合分布モデル

クラシフィケーション(分類)

– サポートベクターマシン (SVM)

– SVMを用いた複数クラスの学習

– 単純ベイズ分類器

– 線形分類器

– K近傍分類器

モデルの結合(アンサンブル学習)

– バギング(Tree Bagger等)

– ブースティング(AdaBoost等)

Page 17: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

17

機械学習:サポートベクターマシンの例Statistics and Machine Learning Toolbox

学習用データ (pos画像)

分類器

手書き文字の中で数字2を識別

学習用データ (neg画像)識別

前処理

特徴量抽出

機械学習

HOG特徴量

Toolboxの組合せで、機械学習のフローの構築

容易なアルゴリズム探索

Computer Vision

System Toolbox

Page 18: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

18

ニューラルネットワークを用いた機械学習Neural Network Toolbox™

教師あり学習– フィードフォワードネットワーク

– 放射基底ネットワーク

– 動的ネットワーク(NARX, Layer-Recurrent)

– 学習ベクトル量子化(LVQ)

教師なし学習– 競合学習、自己組織化マップ(SOM)

汎化性能の改善– 正則化、早期終了

制御システムへの適応– モデル予測制御、線形化、モデル規範型適応制御

– SimulinkブロックおよびSimulink Coderへの対応

大規模データ及び学習の高速化– 並列分散およびGPU上での演算

深層学習(Deep Learning)への対応– Stacked Autoencoder

– Convolutional Neural Networks

0 5 10 15 20 25 30

10-3

10-2

10-1

100

Best Validation Performance is 0.01227 at epoch 26

Mean S

quare

d E

rror

(m

se)

32 Epochs

TrainValidationTestBest

デモ

Page 19: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

19

ニューラルネットワークとは?

通常状態 興奮状態

電位のレベルが閾値を超えると自身が発火する

Weight

𝑥1

𝑥2

𝑥𝑛

Σ 𝑓

𝑤1

𝑤2

𝑤𝑛

𝑦

1

𝑏

Transfer Function

Bias

𝑦 = 𝑓

𝑘=1

𝑛

𝑤𝑘 ∙ 𝑥𝑘 + 𝑏0

1

0

LogisticSigmoid

RectifiedLinear Unit

1120.2

1953.1

1231.5

0.0057

0.0022

0.9746

0.0000

0

0

1

0

出力層隠れ層入力層

パーセプトロン: 人間の神経細胞の動きを模擬

神経細胞 他の複数の神経細胞からの興奮状態が伝わり、電位のレベルが上昇する

パーセプトロンを1つのノードとして、多層接続

Page 20: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

20

Deep Learning:畳込みニューラルネットワークNeural Network Toolbox, Parallel Computing Toolbox

compute capability 3.0以上の、CUDA GPUが必要

畳込み層(フィルタ処理)入力層

フィルタ#1の結果(マップ#1) マップ#N

ReLU

活性化関数層

局所正規化層

max

pooling層

一定領域内の最大値

全結合層 ソフトマックス

最大を選択

2

識別結果

入力画像

特徴量を自動で学習

Page 21: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

21

Deep Learning: 転移学習Neural Network Toolbox, Parallel Computing Toolbox,

Computer Vision System Toolbox

compute capability 3.0以上の、CUDA GPUが必要

入力画像

学習済みのニューラルネットワーク(NN)

識別結果

NNや

SV

M等

認識結果

多次元の特徴量ベクトル取得

activation()

この部分の分類器のみを学習

入力画像

別の物体を認識したいとき

学習工数が膨大なNN構築を、既存のNN一部流用により効率化

学習済みのニューラルネットワークを画像の特徴量抽出器として使用

Page 22: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

22

ステレオビジョン

キャリブレーション用パターンの撮影

ステレオカメラ キャリブレーション

ステレオ画像の並行化

左右の画像のずれから、視差・距離の計算

高速化

専用アプリケーション

抽出したパラメータ

Page 23: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

23

複数画像によるStructure from Motion

Step#1

カメラの自己位置・姿勢推定

Step#2

密な3次元点群 (マップ) 再構成

各画像間の対応点のマッチング 複数画像上の点対応関係から、各点の3次元位置を推定 :triangulateMultiview

複数Viewにまたがる、点の全対応関係情報 : findTracks

点群位置とカメラ位置・姿勢を最適化 : bundleAdjustment

Page 24: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

24

LiDAR信号処理

MATLABを用いることで、データの可視化や解析、

アルゴリズム開発の効率化

LiDAR: Light Detection

And Ranging

レーザーによる高精度な距離測定

デモ

Page 25: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

25

3次元点群処理

3次元表示

点群データの間引き複数点群データの位置合せ点群データの幾何学的変換複数点群データの結合幾何学形状(面等)へのフィッティング

複数の点群データのスチッティング

Page 26: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

26

自動運転システムに向けた3-D Vision

一つの環境(MATLABもしくはSimulink)上で、ロボットプラットフォーム(ROS)とvision アルゴリズムの統合開発環境の提供 デモ

Page 27: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

28

レーダーシステムのモデル化・シミュレーション

Phased Array System Toolbox

送信/受信モデル

ターゲット/環境モデル

アンテナアレイの設計・解析

波形設計・解析

時間処理

空間処理

時空間適応処理

Simulinkブロック

10-10

10-8

10-6

10-4

10-2

100

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

SNR=0dB

SNR=3dB

SNR=10dB

SNR=13dB

NonfluctuatingCoherent Receiver Operating Characteristic (ROC) Curves

Pfa

Pd

0 0.005 0.01 0.015 0.02 0.025 0.03

-300

-280

-260

-240

-220

-200

-180

-160

-140

-120

Time (ms)

Pow

er

(dB

w)

Target Range Estimation

Page 28: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

29

Phased Array System ToolboxのApps

レーダ方程式計算

レーダー波形解析

センサーアレイ解析

Page 29: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

30

Agenda

背景・ユーザー事例紹介 ADAS・自動運転開発/検証を取り巻く課題 シミュレーション環境

検出・認識 画像処理・コンピュータビジョン LiDAR信号処理 レーダー信号処理

ROS活用による、自動運転開発

システム開発・検証への展開 車両ダイナミクスを含む自動速度制御 外界環境を含む自動運転

センサーフュージョン

ユーザー事例ならびにまとめ

Page 30: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

31

ROS (Robot Operating System) とは?

研究者の皆様が、標準的なツールやインタフェースを使用し、新しいロボティクスシステムを手早く開発することが出来るようにすること、を意図しています。

Jonathan Bohren

ROS Crash-Course, Part I: Introduction to ROS distribution, build system and

infrastructure

ロボットアプリ開発のミドルウェアでは#1

内部プロセス間通信の為の標準プロトコルを提供

複数の開発言語とのインタフェース(C++, Python, Java, etc.)

画像データなど標準のフォーマットを提供

良く使用されるアルゴリズムや、カメラや3Dセンサーなどの各種ドライバを提供

オープンソース

http://rosindustrial.org/ric-americas/

Page 31: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

32

ROS上のアプリケーション開発

Ethernet

Main CPU

Kinematics& Control

MATLAB

Image pre-

processing

Localization& Mapping

Image

Processing

Map server

Local

Planner

Global

Planner

NODE NODE NODE

NODE NODE NODE

NODE

NODE

Sensors /

ActuatorsRobot (CPU 2)

NODE

NODE

NODENODE

NODE

ROSネットワークにおいて、ノード間でのデータ通信により処理を行う

Page 32: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

33

自動運転に対するROS使用のメリット

• センサーデータの容易な取得

• 信頼性の高い分散処理アーキテクチャ

• 容易なコンポーネント化

• 自立ロボットシミュレーション環境との容易な統合

MATLAB・SimulinkとROS間の容易な接続環境を提供するToolbox

Page 33: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

34

Robotics System Toolbox

MATLAB/SimulinkをROSネットワーク上のnodeとして登録する事が可能 (ROS

masterにもなれる)

MATLAB上で開発したアルゴリズムを、ROS NodeとしてROSネットワークに接続可能

コード生成機能を使い、SimulinkモデルからROS nodeを生成できます。

座標変換・経路計画・トラッキング等、関連するさまざまな関数を提供

ROS

MATLAB/

Simulink

Page 34: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

35

BMW : Automated Driving with ROS at BMW

PDF: http://roscon.ros.org/2015/presentations/ROSCon-Automated-Driving.pdf

Video: https://vimeo.com/142622935

M. Aeberhard, et.al., ROSCon 2015, Hamburg, Germany, Oct. 3-4, 2015

Page 35: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

36

Agenda

背景・ユーザー事例紹介 ADAS・自動運転開発/検証を取り巻く課題 シミュレーション環境

検出・認識 画像処理・コンピュータビジョン LiDAR信号処理 レーダー信号処理

ROS活用による、自動運転開発

システム開発・検証への展開 車両ダイナミクスを含む自動速度制御 外界環境を含む自動運転

センサーフュージョン

ユーザー事例ならびにまとめ

Page 36: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

37

自動運転・ADASシステムの開発

制御

複合的な要素を含む閉ループシミュレーション

ハンドルブレーキ /

アクセル

カメラ

センサー レーダー レーザー ソナー

外界環境 白線, 標識 天候 障害物 / 歩行者 車両ダイナミクス

物体検出 / 認識 Computer vision

Machine learning

行動・経路の決定

距離 / 速度推定 Phased Array

RF

判断 センサー

フュージョン

Page 37: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

38

システム検証事例1:

アダプティブ クルーズコントロール

レーダーシステム– Phased Array System Toolbox

– SimRF (Optional)

制御– Simulink

環境モデリング– Phased Array System Toolbox

可視化

– Simuink 3D

Page 38: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

39

システム検証事例1

制御

複合的な要素を含む閉ループシミュレーション

ハンドルブレーキ /

アクセル

カメラ

センサー レーダー レーザー ソナー

外界環境 白線, 標識 天候 障害物 / 歩行者 車両ダイナミクス

物体検出 / 認識 Computer vision

Machine learning

行動・経路の決定

距離 / 速度推定 Phased Array

RF

判断 センサー

フュージョン

デモ

Page 39: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

40

Snapshots of the models

Top level model of ACC System

Radar model with Phased Array

Radar model with SimRF

Page 40: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

41

Snapshots of the models

Radar model with Phased Array System Toolbox

Transmitted chirp signal

from car 1

Sample rate :

150[MHz]

3D Directivity

(Sensor Array)

Relative velocity

b/w two vehicles

Distance b/w

two vehicles

TX FMCW

signal

RX dechirped

signal

77[GHz]

FMCW

Page 41: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

42

システム検証事例2:レーンキープアシストシステム

車線からの車両の逸脱を監視、認識

ドライバーへの警告や、ステアリングを自動的に調整し車両位置を修正

Vision algorithm for lane detection

Control algorithm for steering

input

Vision algorithm for lane

detection

Control System for Steering

Input

Page 42: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

43

PreScan (TASS International)– 3D driving environment modeling

– is used to test various driving conditions

Provides:

– 各種センサーや、自動車のモデル

Multiple Camera、 Rader

Simple Dynamics Model

– ビル、道路などの環境モデル

– 天候、照度、道路のコンディションの変化

自動運転・ADASシステムの開発システムレベルシミュレーション

オープンなMATLAB/Simulink環境に、サードパーティー製品を接続可能

- 閉ループシミュレーション- 様々な条件下のシミュレーションを容易に実現

Page 43: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

44

システム検証事例2

制御

複合的な要素を含む閉ループシミュレーション

ハンドルブレーキ /

アクセル

カメラ

センサー レーダー レーザー ソナー

外界環境 白線, 標識 天候 障害物 / 歩行者 車両ダイナミクス

物体検出 / 認識 Computer vision

Machine learning

行動・経路の決定

距離 / 速度推定 Phased Array

RF

判断 センサー

フュージョン

デモ

Page 44: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

45

外界環境シミュレーションと組み合わせたアクティブセーフティー システムシミュレーション

画 像 処 理コンピュータビジョン

コントローラ

PreScan (TASS International)上で、外界の画像を生成

Page 46: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

47

– 単一のセンサーの弱点を補完

– センサーフュージョン:複数のセンサー情報を用い、

精度の向上 更にステレオカメラや、レンジの異なるレーダー等

レーダー 項目 カメラ画像

正確 距離 不正確

直接測定可能 速度、レンジレート 画像から推定

不得意 角度分解能 比較的良好

不得意 物体の判別 可能

システム検証事例3: センサーフュージョン- センサーフュージョンシステムの目的

Page 47: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

48

システム検証事例3:センサーフュージョン

制御

ハンドルブレーキ /

アクセル

カメラ

センサー レーダー レーザー ソナー

外界環境 白線, 標識 天候 障害物 / 歩行者 車両ダイナミクス

物体検出 / 認識 Computer vision

Machine learning

行動・経路の決定

距離 / 速度推定 Phased Array

RF

判断 センサー

フュージョン

Page 48: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

49

コーナー進入時の、自車線前方車両CIPV (Critical In-Path Vehicle) 検出

システム検証事例3:センサーフュージョンシステム

With Sensor Fusion

by Yaw rate

デモ

Page 49: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

50

Simulink モデル

入力:画像・車位置情報(リファレンス用)[PreScanで生成]

レーダーモジュール. レーダーのモデリング. 検出. トラッキング

センサーフュージョン. データ相互の関連付け

. データフュージョン, TTC

. 同一車線車両の認識

可視化

カメラモジュール. 白線検出. 車両検出. トラッキング

それぞれのブロックに対し、アルゴリズム等の切替え

Page 50: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

51

シミュレーション結果ヨーレートによる進行方向

検出した車線

ヨーレートを基にした前方車両

検出した車線を基にした前方車両

ピンク: カメラの視野紫: レーダーの範囲

* : Vision Target

o : Radar Target

x : Fusion Target

Page 51: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

52

衝突回避の例 (Closed Loop Simulation)

制御

ハンドルブレーキ /

アクセル

カメラ

センサー レーダー レーザー ソナー

外界環境 白線, 標識 天候 障害物 / 歩行者 車両ダイナミクス

物体検出 / 認識 Computer vision

Machine learning

行動・経路の決定

距離 / 速度推定 Phased Array

RF

判断 センサー

フュージョン

Page 52: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

53

衝突回避の例 (Closed Loop Simulation)

Page 53: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

54

Agenda

背景・ユーザー事例紹介 ADAS・自動運転開発/検証を取り巻く課題 シミュレーション環境

検出・認識 画像処理・コンピュータビジョン LiDAR信号処理 レーダー信号処理

ROS活用による、自動運転開発

システム開発・検証への展開 車両ダイナミクスを含む自動速度制御 外界環境を含む自動運転

センサーフュージョン

ユーザー事例ならびにまとめ

Page 54: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

55

センサーフュージョン

レーダーアルゴリズム

画像認識

自動運転に向けた、MATLAB/Simulink活用事例

Page 55: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

56

ContinentalDeveloping a Traffic Sign Recognition System

標識認識アルゴリズム開発用ツールチェーン構築。オプションツールの活用により、ツール開発コストを低減。運転支援システムの開発・評価において、MATLABを日常的に使用。

Source: 2015 MathWorks Automotive Conference Europe, Stuttgart, Germany, September 24, 2015

Engineering challenge

MATLAB-based toolchain

講演資料・ビデオ https://jp.mathworks.com/company/events/conferences/automotive-conference-stuttgart/2015/proceedings/proceedings.html

Page 56: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

57

Source: 2013 MathWorks Automotive Conference, Plymouth, MI, May 9, 2013

Magna ElectronicsDesigning Complex Driver Assistance Logic with MATLAB and Simulink

http://jp.mathworks.com/company/events/conferences/automotive-conference-michigan/2013/proceedings/designing-complex-driver-assistance-logic-with-matlab-and-simulink.pdf

標識の理解・解釈のアルゴリズム開発(多次元行列)MATLABコードからの量産C生成

Page 57: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

58

センサーフュージョン

レーダーアルゴリズム

画像認識

自動運転に向けた、MATLAB/Simulink活用事例

Page 58: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

59

ChallengeDeliver a production automotive radar sensor alignment algorithm in

four weeks

SolutionUse MATLAB to develop algorithms, compare algorithm

performance, and test algorithm robustness. Use MATLAB Coder

to generate production C code

Results

Generated C code as efficient as handwritten

C code for this algorithm

Development time halved

Algorithm changes verified

and coded in seconds

Delphi Developing Production Radar Sensor

Alignment Algorithm

Delphi’s multimode electronically

scanning radar (ESR), which uses a

single radar to provide wide

coverage at midrange and high-

resolution coverage at long range.Image courtesy of Delphi

“MATLAB is my preferred tool because it

speeds algorithm design and

improvement. I can do the data analysis,

algorithm development, algorithm

visualization, and simulation in one place

and then generate C code that is reliable,

efficient, and easy for software engineers

to integrate within a larger system.”

Liang Ma

Delphi

レーダーセンサーのアライメントアルゴリズムを開発。MATLABコードからの量産コード自動生成。

Page 59: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

60

センサーフュージョン

レーダーアルゴリズム

画像認識

自動運転に向けた、MATLAB/Simulink活用事例

Page 60: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

61

Scania :Sensor Fusion for Advanced Emergency Breaking System

Source: 2015 MathWorks Automotive Conference Europe, Stuttgart, Germany, September 24, 2015

講演資料・ビデオ https://jp.mathworks.com/company/events/conferences/automotive-conference-stuttgart/2015/proceedings/proceedings.html

可視化

センサーフュージョンのシステム開発に、モデルベースデザインを適用。量産Cコード生成

MATLABコードを併用

システム構成

複数のSW候補 計算クラスター

Page 61: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

62

自動運転

センサーフュージョン

レーダーアルゴリズム

画像認識

自動運転に向けた、MATLAB/Simulink活用事例

Page 62: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

63

MathWorks 製品を用いた自動運転開発

Daimler

"Implementing Autonomous Cars"

BMW

Source: Keynote Presentation at

2015 MathWorks Automotive Conference Europe,

Stuttgart, Germany, September 24, 2015

Source: 2015 MathWorks Automotive Conference Europe,

Stuttgart, Germany, September 24, 2015

講演資料: http://roscon.ros.org/2015/presentations/ROSCon-Automated-Driving.pdf

Video: https://vimeo.com/142622935

Source: ROSCon 2015, Hamburg, Germany, Oct. 3-4, 2015

講演資料・ビデオ

https://jp.mathworks.com/company/events/conferences/automotive-conference-stuttgart/2015/proceedings/proceedings.html

講演資料・ビデオhttps://jp.mathworks.com/company/events/conferences/automotive-conference-stuttgart/2015/proceedings/proceedings.html

Page 63: 自動運転開発に向けた、MATLAB/Simulink - MathWorks · 制御システムへの適応 – モデル予測制御、線形化、モデル規範型適応制御 – SimulinkブロックおよびSimulink

64

まとめ

MATLAB・Simulinkを使用することにより、制御だけではなく

コンピュータービジョンおよびレーダーシステムの

アルゴリズム/システム検討・ラピッドプロトタイピング・

検証/実装

統合マルチドメイン開発プラットフォームを提供:– 画像・認識システム

– レーダーシステム

– 制御設計

– サードパーティー製品との幅広い連携による、外界環境を含んだ閉

ループシステムシミュレーション

自動運転に向けた各種開発効率向上