AIMOTIVEの自動運転ソフトウェアスタック(オートモーティブワールド2020)《撮影:中尾真二》

現在、自動運転車両の開発に欠かせないのが、高精細な3Dグラフィックスを再現できるシミュレータだ。ADASやレベル2以上の自動運転では、カメラが最重要なセンサーであり、シミュレータは、実際に車両を走行させないで、あらゆる走行シーンを周辺環境と合わせて再現し、ターゲットECUに読ませる必要があるからだ。

オートモーティブワールド2020においてAIMOTIVEは、このシミュレータを含む、自動運転車両の開発に必要なソフトウェアソリューションを3つ展示していた。ひとつは今説明したシミュレータ(aiSim)。もうひとつは、L4自動運転のベースとなるコンポーネント機能が用意されたソフトウェアスタック(aiDrive)。最後は、ニューラルネットに特化したCPUを搭載したハードウェアを含むECU開発キット(aiWare)。

aiSimは、自動運転車両の開発に特化したもので、天候など道路状況の他、事故やヒヤリハットの状況を再現できること。パラメータ設定の自由度が高いので、理屈の上ではシナリオの数はいくらでも増やせる。事故や事故につながるよう無数の状況を任意に再現できるということは、ターゲットシステムの単体テスト、結合テストのバリエーションを増やせるだけでなく、画像認識AIの学習フェーズにも活用できるということだ。

シミュレートする画像は、光学的カメラ映像だけでなく、セグメンテーション済みの画像データ、バウンディングボックス、オプティカルフロー、車線のみのデータ、さらにLiDAR等の点群データも再現可能だ。LiDARとカメラを組み合わせた自動運転車両でも、統合的なテスト、学習が可能だ。

aiDriveは、車両インターフェイス、ADAS/AI機能モジュール、ADASアプリケーション、レベル2・レベル4自動運転アプリケーションという4つの階層構造をもったソフトウェアスタック。自動運転に特化した車両制御用のOSといってもいいだろう。

開発メーカーは、aiDriveのインターフェイス部をターゲット車両のセンサーや他ECUに適合させれば、ライブラリのように用意された各種機能モジュールを利用できる。機能モジュールには、セマンティックセグメンテーション(オブジェクトの形状を含む認識)、レーン検知、深度検知、行動予測、進路計画などが含まれる。さらに機能モジュールを組合わせたADASアプリケーションの層では、レーンキープ、アダプティブ・クルーズ・コントロール、緊急ブレーキのような機能も用意される。このレイヤのLKA(lane Keep Assist)、BSA(Blind Spot Assist)、AEB(Autonomous Emergency Brake)、AES(Autonomous Emergency Steering)などは、EURO NCAPに準拠した機能が実装されている。

いちばん上位の自動運転アプリケーションの層では、レベル2オブジェクト認識、レベル4自動運転、自動バレーパーキングが提供される。といっても、これらが実際に搭載される機能として完成されているわけではない。最終的な車両に実装するには、各OEMらが細かい制御や機能の調整を行う必要がある。

3つ目のaiWareは画像認識や進路探索に不可欠なAI専用のアクセラレータのIPソリューションだ。製品としてはGPUよりさらに機械学習処理に最適化されたニューラルネットプロセッサが搭載された評価ボード(ハードウェア)と開発キット一式が提供される。評価ボードは、FPGAで構成されているので、AI部分だけでなく制御ロジックなどと組み合わせてプログラミングが可能だ。IPソリューションなので、最終的にはASICや専用のチップに組み込むことができる。

AIアクセラレータは、一般的なGPUの4倍の演算速度、1/6の消費電力という。TENSORFLOWなど標準的なGNNフレームワークが利用可能だ。

AIMOTIVEの自動運転ソフトウェアスタック(オートモーティブワールド2020)《撮影:中尾真二》 AIMOTIVEの自動運転ソフトウェアスタック(オートモーティブワールド2020)《撮影:中尾真二》 aiWareのサンプル実装《撮影:中尾真二》 aiDriveによるリアカメラ処理のデモ《撮影:中尾真二》 aiSimによるテスト走行データ《撮影:中尾真二》 AIMOTIVEの自動運転ソフトウェアスタック(オートモーティブワールド2020)《撮影:中尾真二》