トヨタ自動車、ADAS 向けバーチャルテスト環境を構築
リアルな仮想テストを実現するデジタルアセットを開発
愛知県にある技術本部で、白く光沢を放つトヨタの SUV 試験車が、厳しいテスト走行に向けて準備を整えていました。トヨタのエンジニア達は、ドライバーロボットが曲がりくねった道路で、先進運転支援システム (ADAS) を含む車両運動性能を正確に評価できるように機器を設置しました。
この試験走行で使われる曲がりくねった道路は実はすべて仮想空間で作られたものであり、ADAS や車両性能を評価するための VILS 環境で使われるものでした。車両の前にある大型のスクリーンには 3D シーンが映し出されており、ドライビング シミュレーターが車両の動きに合わせてバーチャル環境内の車両の動作をリアルタイムで再現していました。そこでは LiDAR やカメラなどの各種センサーもリアルタイムで連携されていました。
トヨタの VILS である先進運転支援システム リアルカー シミュレーター (ADAS-RCS) は、シャシーダイナモ・車両・シミュレーション環境をリアルタイムで連携することで、現実世界と仮想世界をつなげています。主要な性能指標についてはロボットが運転を行うことで、潜在的な課題を網羅的に洗い出します。同時に人工知能が結果に基づいて効率的な弱点探査を進めます。
トヨタのVILS、ADAS-RCS。(画像著作権:トヨタ自動車)
「このシミュレーターの主な特徴は、一度にさまざまな機能を評価できる点です」と、トヨタ自動車の MBD XILS グループの車両性能開発エンジニアであり、MBD 基盤グループも兼務する宮田 大毅氏は述べています。同氏のチームは、重点的なシミュレーションを通じて、車両開発プロセスの効率化に取り組んでいます。目指しているのは、リーンな車両開発の実現です。
トヨタの ADAS-RCS では、リアルな環境を再現することで、同社の実際のテストコースにはない複雑な路面でのテストができるように技術開発がなされてきました。しかし、3D 道路データモデルを開発するには多くの時間と労力が必要となる点がボトルネックとなっていました。そこでチームは、実際の走行環境を再現するために MATLAB® と RoadRunner を活用しました。
「RoadRunner を採用したのは、3D バーチャルシーンを作成できることに加え、多様な環境の地図データを読み込め、さらに MATLAB と連携して地図データを解析できる点に感銘を受けたからです。RoadRunner で直感的に調整できることも決め手となりました」と宮田氏は語ります。
トヨタチームの VILS は主にアダプティブ クルーズ コントロールを対象としていますが、今後は車線追従や車線変更支援、プリクラッシュセーフティ (PCS) システム、さらには新しい先進安全機能にもこのシミュレーターを活用する計画です。
「ADAS-RCS は運用段階に入ったばかりです。今後、さまざまな可能性が広がっていくと考えています」と宮田氏は述べています。
リスクの高い道路状況のフロントローディング
かつてトヨタ自動車では、マスタードライバーと呼ばれる熟練ドライバーが施設内のテストコースで長時間かけて車両性能を評価する手法が主流でした。しかし設計上の制約から、最悪ケースのシナリオのテストは自動車開発プロセスの終盤に行わざるを得ませんでした。さらに、現地でのテストは天候の影響を受けやすく、再テストが必要になることもあり、タイトなスケジュールにさらなるプレッシャーがかかっていました。
ADAS (先進運転支援システム) と SDV (ソフトウェア・ディファインド・ビークル) の登場により、自動車開発はますます複雑化しています。同社のエンジニアは、渋滞時の車線変更や曲がりくねった山道など、ドライバーの反応や判断、車両操作に影響を与える状況を再現することで、ADAS の道路テストを初期段階で実施しようとしています。
「現実における天候、歩行者、移動物体などの要素は、事前に定義された定型的なシナリオでは捉えきることは困難です。」と宮田氏は言います。「このようなエッジケースのシナリオをいち早く見つけて解決することが、車両の安全性やセキュリティを高める上で不可欠だと考えています。」
視界の遮られた場所や見通しの悪いカーブは、技術的に最大の課題となりました。従来の手作業によるシーン生成プロセスでは、3D 道路の作成は非常に困難な作業で、1 コースあたり 6 か月以上もの時間を要していました。加えて、これらのルートは MILS や SILS を含むトヨタの他のシミュレーターでは利用できないという問題もありました。
「トヨタではさまざまなシミュレーターを利用しており、使い回しのできないシーンを個別に用意するとなると莫大なコストがかかってしまいます」と宮田氏は言います。チームはより高速かつ効率的なアプローチを必要としていました。
宮田氏がトヨタで車両性能エンジニアとして着任した当初は、車両の快適性向上を担当していました。同氏は、エンジン音をテストする手法を開発している際に MATLAB と出会い、「信号処理について実践的に理解を深めることができました」と振り返ります。「MATLAB とそのツールボックスのおかげで、本当にやりたかったことに集中できました。」
そのような経験から、同氏は MBD XILS グループのシミュレーションベンチ用の 3D 走行ルートの生成に MATLAB と RoadRunner を選択しました。初期段階として、チームはゼンリン®データコムの標準地図セグメントから、道路生成段階で必要な緯度・経度・標高データを抽出しました。
宮田氏は、MATLAB の経験を活かして、点データの平滑化やカーブフィッティングなど、道路のバンク生成に必要となる煩雑な前処理作業を自動化する手法を考案しました。その後、Automated Driving Toolbox™ のドライビング シナリオ デザイナー アプリを用いて、地図データを OpenDRIVE® 形式に変換しました。
「ドライビング シナリオ デザイナー アプリは利便性が高く、思った以上に素早く作業を終えることができました」と同氏は言います。
周辺環境の生成
道路を生成した後、エンジニアは RoadRunner を活用して、周辺環境を構築しました。ところが、道路生成の際にピッチ問題が生じていたことが判明しました。描写上では道路は平坦に見えたにもかかわらず、宮田氏がシミュレーターで運転してみると、車両は凸凹した道路を走行しているかのように上下に揺れたのです。RoadRunner による道路生成は OpenDRIVE ファイルをベースにしていますが、接続部の標高が不連続で、道路上に数センチメートル単位の段差が発生していました。
宮田氏は MATLAB で道路を作成する際、道路標高データに多項式近似を適用することで解決することができました。ただし今では RoadRunner Scene Builder を活用することで同様の振動を未然に防ぐことができるようになりました。「RoadRunner Scene Builderによって、さらに効率的に、優れた拡張性を備えた道路モデルを生成できるようになりました」と同氏は言います。
道路については解決したものの、他のメンバーと試乗会を行った結果、別の課題があることがわかりました。道路のみの描写では青空に浮かんでいるように見えてしまい、周囲の地形データがないと違和感がありました。またブラインドの観点からも地形は必要でした。
この対応過程で、一部の区間で標高データが欠損しているという問題に直面しました。使用している数値標高データは、全国の測量と地図作成を担う国土地理院から提供されたものです。国土地理院の数値標高データでは河川部分などは -9,999 という標高値になっています。当初はサードパーティ製ツールを使用していましたが、これらのデータは欠損値とみなされてしまい崖のようになってしまっていました。宮田氏は、この状況への対応として MATLAB を活用し補間することで解決しました。
併せて標高データと画像データを統合し、RoadRunner 向けにモザイク結合された GeoTIFF 形式に変換するツールを AppDesigner を用いてチーム内で開発しました。標高データを効率的に RoadRunner に読み込ませ、特定の地図領域に絞り込むことで欲しい部分だけの標高情報を反映できるようにしました。また画像データを地表データに貼り付けて道路データの位置を微調整し、OpenDRIVE から道路データの生成を行いました。その後は数回のクリック操作で、道路に破線状の車線境界線を追加して二車線に変更し、微調整を加えてから標高データと道路データを合体させました。
「RoadRunner のGUI はとても直感的で、このような取り扱いが難しい操作も簡単に調整できます。」と宮田氏は話します。
最終工程では RoadRunner Scenario の動画再生機能を用いて生成した道路の確認を行いました。RoadRunner Scenario のシミュレーションではボタン操作で簡単に視点の切り替えができ、ドローン視点で上空から車両の周囲 360 度を見渡すものから、ドライバー目線で道路を見るものまで一瞬で変更することが可能です。今回は、ADAS-RCS により傾斜した場所や起伏のある山岳シーンが正確に再現されており、道路も空中に浮くような違和感もありません。更に起伏のある地形に陰影や細部を追加したことで、よりリアルな環境が作り出されました。
「RoadRunner がなければ、仮想コースの作成に膨大な時間と労力がかかっていたでしょう」と宮田氏は語ります。同氏は、チームが同様の運転シナリオを作成する場合、少なくとも 6 か月はかかると見積もっています。
リーンな車両開発の拡大
かつて宮田氏のチームが 1 日以上かけて新規作成していた 3D コースが、今では 30 分以内に作成できるようになりました。RoadRunner により、チーム全体の生産性が大幅に向上しました。
「OpenDRIVE や OpenSceneGraph など、さまざまなシミュレーターに対応した形式に出力できる機能を活用することで、シーン生成にかかるコストを大幅に削減できます。これは非常に大きなメリットです」と宮田氏は述べています。
次にチームが目指すのは、VILS プロセスのさらなる自動化と効率化です。また、量産開発チームと連携して、シミュレーションの利点を共有できるようにする計画も進めています。宮田氏は、他の部門や関係者がこの技術を活用し、課題を見つけて改善につなげていくことが重要だと考えています。
MATLAB Expo Japan での講演中に、宮田氏は開発のスケールアップについて取り上げました。特に、MATLAB ライブ スクリプト、App Designer、MATLAB Compiler™ の活用により、地理情報システムデータの処理用コードを複数のユーザーに向けて展開できる点を強調しました。また、Git™ を利用することでバージョン管理やユーザーのニーズに合わせたカスタマイズが可能になったと述べています。続けて、ライブ スクリプトにより、JupyterLab などの環境下で理解しやすいマニュアル作成が実現し、ユーザーフレンドリーなアプリの展開が容易になったと説明しました。
MATLAB Expo 以降、同氏のチームは、無料の編集可能な世界地図 OpenStreetMap® を活用してシミュレーターの機能を拡張し、シンプルな建物を再現しました。この建物は四角い豆腐に似ていることから「豆腐アセット」と呼ばれています。トヨタ自動車には、高精度なアセット生成を専門とする部署もあります。ADAS-RCS の取り組みは、彼らがこうしたリソースの新たな活用方法を模索するきっかけになったと、宮田氏は言います。
公道における運転評価を ADAS-RCS で前倒しして実施する取り組みは現在も検証中ですが、宮田氏らは最終的に試験走行期間が約 70% 短縮できると期待しています。
将来的には、現地で収集した点群データを利用して、AI で RoadRunner 上に建物アセットを自動的に分類・配置する計画です。複合現実 (MR) 技術についても検討が進められています。
「さらに、RoadRunner Scenario を活用することで、大きな進展があり、実際の交通の流れを組み込むことができました。リアルなシミュレーション環境がなければ、ADAS を十分にテストするのは不可能でしょう」と同氏は言います。
チームは、シミュレーション環境のデジタルアセット構築において、難易度の高いさまざまなケースにも対応してきました。高機能で使いやすいツールの導入は不可欠でした。
「デジタルアセットの有効活用ができれば、ADAS-RCS と XILS はさらにレベルアップしていくでしょう」と同氏は続け、「それをツールチェーンとして展開できるようになれば、車両開発プロセス全体の改善につながります」と結んでいます。