このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
自動運転用の Unreal Engine シミュレーション
Automated Driving Toolbox™ は、Simulink® で運転アルゴリズムをモデル化し、バーチャル シミュレーション環境でパフォーマンスを可視化するコシミュレーション フレームワークを提供します。この環境では、Epic Games® の Unreal Engine® を使用します。
メモ
3D 可視化環境でモデルをシミュレーションするには、Simulink 3D Animation™ が必要です。
シミュレーション環境に関連した Simulink ブロックは、[Automated Driving Toolbox] 、 [Simulation 3D] ブロック ライブラリにあります。これらのブロックにより、以下を行うことができます。
シミュレーション環境でシーンを構成する。
シーン内に車両を配置して移動する。
車両にカメラ、レーダー、LiDAR センサーを設定する。
車両の周囲の環境に基づいてセンサー出力をシミュレートする。
セマンティック セグメンテーションおよび詳細情報のためのグラウンド トゥルース データを取得する。
このシミュレーション ツールは、自動運転アルゴリズムの開発、テスト、パフォーマンスの確認を行う際に実データを補完するために一般的に使用されます。車両モデルとともにこれらのブロックを使用して、知覚から制御に至る自動運転スタック全体が含まれた現実的な閉ループ シミュレーションを実行できます。
シミュレーション環境の詳細については、自動運転用の Unreal Engine シミュレーションの仕組みを参照してください。
Unreal Engine シミュレーション ブロック
[Automated Driving Toolbox] 、 [Simulation 3D] ライブラリにアクセスするには、MATLAB® コマンドプロンプトで「drivingsim3d
」と入力します。
シーン
シミュレーション環境でコシミュレーションを行うようにモデルを構成するには、Simulation 3D Scene Configuration ブロックをモデルに追加します。このブロックを使用して、あらかじめ用意された一連のシーンからシーンを選択し、運転アルゴリズムをテストおよび可視化できます。また、このブロックを使用してシーンで太陽の位置や気象条件を制御することもできます。次のイメージは Virtual Mcity シーンからのものです。
ツールボックスには次のシーンが含まれています。
シーン | 説明 |
---|---|
Straight Road | 直線道路セグメント |
Curved Road | ループ状の曲線道路 |
Parking Lot | 空の駐車場 |
Double Lane Change | ダブル レーン チェンジ操作を実行するために設定されたトラフィック バレルおよび交通標識を備えた直線道路 |
Open Surface | 道路オブジェクトのない、平坦な黒い舗装路面 |
US City Block | 交差点、障壁、信号機を備えた都市ブロック |
US Highway | コーン、障壁、信号機、交通標識を備えたハイウェイ |
Large Parking Lot | 駐車車両、コーン、縁石、交通標識のある駐車場 |
Virtual Mcity | コーン、障壁、動物、信号機、交通標識が含まれている、ミシガン大学の性能試験場 (Mcity Test Facility を参照) である都市環境 |
Automated Driving Toolbox Interface for Unreal Engine Projects サポート パッケージがある場合は、これらのシーンを変更したり、新しいシーンを作成したりすることができます。詳細については、自動運転のための Unreal Engine シーンのカスタマイズを参照してください。
車両
シーンでバーチャル車両を定義するには、Simulation 3D Vehicle with Ground Following ブロックをモデルに追加します。このブロックを使用して、各タイム ステップにおける車両の位置および方向を定義する X、Y、およびヨーの各値を指定して車両の動きを制御できます。ビークルは自動的に地面上を移動します。
ビークルの色およびタイプを指定することもできます。ツールボックスには次の車両タイプが含まれています。
センサー
バーチャル センサーを定義してビークルのさまざまな位置に取り付けることができます。ツールボックスには次のセンサー モデリングおよび構成ブロックが含まれています。
ブロック | 説明 |
---|---|
Simulation 3D Camera | レンズ付きカメラ モデル。イメージ サイズ、焦点距離、歪み、およびせん断のパラメーターがあります。 |
Simulation 3D Fisheye Camera | Scaramuzza カメラ モデルを使用して記述できる魚眼カメラ。歪みセンサー、イメージ サイズ、マッピング係数のパラメーターがあります。 |
Simulation 3D Lidar | スキャン LiDAR センサー モデル。検出範囲、解像度、視野のパラメーターがあります。 |
Simulation 3D Probabilistic Radar | 検出のリストを返す確率レーダー モデル。レーダー精度、レーダー バイアス、検出確率、検出レポートのパラメーターがあります。電磁波伝播レベルのレーダーはシミュレートされません。 |
Simulation 3D Probabilistic Radar Configuration | モデルで Simulation 3D Probabilistic Radar ブロックによって検出されたすべてのアクターのレーダー シグネチャを構成します。 |
Simulation 3D Vision Detection Generator | オブジェクトおよび車線境界線の検出のリストを返すカメラ モデル。モデリング検出精度、測定ノイズ、カメラの内部パラメーターがあります。 |
センサーの選択の詳細については、Unreal Engine シミュレーション用のセンサーの選択を参照してください。
アルゴリズムのテストと可視化
Automated Driving Toolbox シミュレーション ブロックは、パス プランニング、車両制御、および知覚アルゴリズムをテストおよび可視化するためのツールを提供します。
パス プランニングおよび車両制御
Unreal Engine シミュレーション環境を使用して、あらかじめ用意されたシーンでビークルの動きを可視化できます。この環境は、パス プランニングおよび車両制御のアルゴリズムのパフォーマンスを分析する手段を提供します。Simulink でこれらのアルゴリズムを設計した後に、drivingsim3d
ライブラリを使用してあらかじめ用意されたシーンのいずれかで車両の動きを可視化できます。
パス プランニングおよび車両制御アルゴリズムの可視化の例については、Unreal Engine シミュレーションを使用した自動バレー パーキングの可視化を参照してください。
知覚
Automated Driving Toolbox は、詳細なカメラ、レーダー、および LiDAR センサー モデリング用の複数のブロックを提供します。バーチャル環境内でこれらのセンサーを車両に取り付けることで、合成センサー データまたはセンサー検出を生成して、知覚アルゴリズムに照らしてセンサー モデルのパフォーマンスをテストできます。レーダー検出の生成の例については、Unreal Engine 環境でのビジョン センサーとレーダー センサーのシミュレーションを参照してください。
また、深度推定アルゴリズムの検証やセマンティック セグメンテーション ネットワークの学習のためにグラウンド トゥルース データを出力して可視化することもできます。例については、Depth and Semantic Segmentation Visualization Using Unreal Engine Simulationを参照してください。
位置推定
位置推定アルゴリズムを開発して、さまざまな条件でそのパフォーマンスを評価するのは、困難なタスクです。最大の課題の 1 つとして、グラウンド トゥルースの取得があります。グラウンド トゥルースは高価で高精度な慣性航行システム (INS) を使用して取得できますが、バーチャル シミュレーションは費用対効果の高い代替手段です。このシミュレーションを使用すると、さまざまなシナリオおよびセンサー構成でテストを行えます。また、迅速な開発の反復も行え、正確なグラウンド トゥルースが得られます。Unreal Engine シミュレーション環境からの合成 LiDAR データを使用して LiDAR 位置推定アルゴリズムを開発して評価する例については、Lidar Localization with Unreal Engine Simulationを参照してください。
閉ループ システム
シミュレーション環境内で知覚システムを設計してテストした後に、そのシステムを使用して車両を実際にステアリングする制御システムを駆動できます。この場合、軌跡を手動で設定するのではなく、車両は知覚システムを使用して自動運転します。3D シミュレーション環境の閉ループ システムに知覚および制御を組み込むことで、車線逸脱防止支援やアダプティブ クルーズ コントロールなどの複雑なアルゴリズムを開発およびテストできます。
Unreal Engine 環境での閉ループ システムの例については、Highway Lane Followingを参照してください。