最新のクルマ開発のトレンドは、何といっても自動運転と、クルマをセンサとして使うビッグデータ解析だ。自動運転はいつ頃実用化するのかという質問がいつも出されているが、自動運転に必要な技術は極めて多い。ADASと呼ばれる安全システムやインターネットとつながるコネクテッドカー、人やクルマの認識技術、周辺のクルマや物体との距離を測るLIDAR(Light Detection and Ranging)などの測距技術、居眠り検出、逆走検出・警告、これらの認識技術からブレーキやエンジンなどのボディ制御技術の進化などだ。

総じて、クルマというシステムが複雑になってきたことに対してどのようにして解決するか、が問われるようになってきている。この解決策として、MATLAB/Simulinkが威力を発揮する、とMathWorks EMEAのIndustry Marketing担当Guido Sandmann氏(図1)は述べる。

図1 MathWorks社EMEAのIndustry Marketing担当Guido Sandmann氏

例えば、クルマの制限スピードは1種類だけではない。高速道路では走行している地域や場所、欧州では国境などで制限スピードが変わる。こういった変化をとらえるのはカメラだけではなく、GPSからの信号も活用する。つまり、制限スピードの認識でさえ、カメラからの入力とGPSからの入力の2つが使われるようになっている。

さらに、標識によっては、制限スピードだけを示しているわけではない。人間なら、例えば注意・警告としての情報として、トンネルの入り口に時速80km以内なら事故の起こる確率は何%、90kmなら何%というような表示がある場合(図2)、クルマはそれを何の意味かリアルタイムですぐに理解しなければならない。標識の中にさまざまな数字があればどの数字が制限速度なのか、ほかの数字は何を意味しているのか、理解しなければならない。しかも欧州のように国境をまたがり、異なる言葉で表されている場合は、判断しなければならないデータは膨大になる。こういった道路を自動で即座に判断することは難しい。交通標識を自動的に認識し理解する機能を開発しなければならない。それもクルマに搭載する前にシミュレーションでアルゴリズムが正しいかどうかを確認する必要がある。

図2 制限速度が場所で変わるだけではなく、余計な数字が何を表しているのかも把握する必要がある (出典:MathWorks)

自動運転の開発で難しいことはクルマの周囲の状況を把握するための認識機能である。それも正確にリアルタイムで認識しなければならない。さまざまなセンサデータを結び付け、確度とコストとのトレードオフも考慮する必要がある。例えばレーダーとカメラを使って物体を検知する場合、それぞれ利害得失がある。レーダーは、距離や相対速度を測定できるが、形は測定できない。カメラはその逆で、物体の形や幅を検出できるが、距離は測れない。両者の融合データを解析して物体認識制度を高めることになる。

そしてその状況を理解し予想するために周辺状況を解析しなければならない。雨天や夜間の場合や信号機の検出もある。また、正確な位置をGPSではない手段、例えば走行履歴の解析などを使って把握しなければならない。歩行者や物体との衝突を回避し、ブレーキをかける必要も出てくる。もちろん、信頼性や機能安全(ASIL-Dレベル)も満たす必要がある。数百万kmの走行試験も欠かせない。

機械に代わり、電子制御で解決するためにハードウェアだけの電子回路ではとても時代の変化にはついていけない。このためコンピュータ(マイコンやプロセッサとメモリなどを使った組み込みシステム)で、演算・制御することでコスト的に見合うシステムができるようになっている。逆に言えば、ソフトウェアの負担が極めて大きくなってきているのだ。例えば「メルセデスのSクラスのクルマでは、最新航空機ボーイング787のソフトウェアコードの15倍ものソフトウェア行数になる」と言われている。クルマに搭載するECU(電子制御ユニット)の数は増加する一方だからである(図3)。

図3 自動車システムはますます複雑になる。ECUの数も増える一方 (出典:MathWorks)

膨大なプログラム行数に対処するため、できるだけ基本的な機能を統一して表せるようにAUTOSARという標準のソフトウェアプラットフォームを利用する。安全基準もISO26262に準拠する。差別化を図る機能は、モデルベース設計でシミュレーションして確認する(図4)。こういったクルマ設計の一連のツールを提供するのがMathWorksだ。同社のプログラム言語MATLABとそれを使った環境でのシミュレーションやモデルを利用できるSimulinkが複雑になるシステムをシミュレーションするのに活用できる。

図4 ソフトウェア増加にはAUTOSARとISO26262を活用、さらにモデルベースデザインで差別化を図る (出典:MathWorks)

MATLABは、先ほどのような自動交通標識認識機能を開発するためのツールとなり、Simulinkは開発したその機能をシミュレーションするためのツールとなる(図5)。図の例では、ADASや自動運転する場合のMathWorksのソリューションを示している。カメラセンサのデータからビジョンアルゴリズム、レーダーからは測距やスピード測定のアルゴリズム、それらを融合して周囲状況を解析したら、その結果を制御アルゴリズムでアクチュエータを動かす。

図5 MATLAB/Simulinkを用いて自動運転車を設計 (出典:MathWorks)

図5のセンサカメラからの解析では、画像処理やコンピュータビジョンシステムのツールボックスを利用し、統計や機械学習(マシンラーニング)のツールボックスも用意している。レーダーからは、レーダーを発射するアンテナのツールボックスやフェーズドアレイシステム用ツールボックス、RF回路のツールボックスなどを備えている。センサフュージョンから周囲状況解析を終えた後の制御アルゴリズムでは、MathWorksにはこれまでの実績がある、とSandmann氏は述べる。Simulinkやコントロールデザイン、Simulinkの検証やリアルタイム性などを使いながら、実際のクルマに落とし込んでいく。

図6はセンサからの多数のデータを解析した例を示したもの。この図は、スウェーデンのトラック大手Scaniaが緊急ブレーキシステムを開発した2015年のケーススタディである。MATLABとSimulinkを使った。カメラからのデータを集め、テストシナリオは再利用し、ソフトウェアを選び、再シミュレーションを行うというサイクルを何度も行い、シミュレーションデータを格納しておく。データ量はペタバイト(百万GB)にもなるという。このように機械学習を行うことによって周囲状況を自動的に検出できるようになる。それらのデータパターンを統計的に生成し、周囲状況のデータベースを作り分類した。これによって、新しい状況に出くわしてもブレーキをかけたりハンドルを回したりして状況に自動的に対処できるようになった。MATLABとSimulinkを使って、アルゴリズムを開発、検証し、予測モデルを創り出したのである。

図6 トラックの自動緊急ブレーキシステムを開発したScaniaの例 (出典:MathWorks)

MathWorksのツールを使い、膨大なビッグデータを解析することで、クルマを「センサ」としてデータをとる道具に使うこともできる。例えば水素を利用した燃料電池車では、さまざまな地域のドライバが長い期間にわたって走行し、その走行データを集めることでそのような道を通ることが多いのかという「地図」を描くことができる。これも機械学習だ。この地図を使えば、クルマが多く通る場所に水素ステーションを設置すべきことがわかるようになる。