Main Content

Simulation 3D Scene Configuration

3D シミュレーション環境のシーン構成

  • Simulation 3D Scene Configuration block

ライブラリ:
Simulink 3D Animation / Simulation 3D / Environment
Aerospace Blockset / Animation / Simulation 3D
Automated Driving Toolbox / Simulation 3D
Robotics System Toolbox / Simulation 3D
UAV Toolbox / Simulation 3D
Vehicle Dynamics Blockset / Vehicle Scenarios / Sim3D / Sim3D Core

説明

メモ

Simulation 3D Scene Configuration ブロックを含むモデルのシミュレーションには、Simulink® 3D Animation™ が必要です。

Simulation 3D Scene Configuration ブロックは、Epic Games® の Unreal Engine® を使用してレンダリングされる 3D シミュレーション環境を実装します。Vehicle Dynamics Blockset™ による 3D シミュレーション環境と Simulink の統合により、車両周囲の環境を照会して、知覚、制御、計画の各アルゴリズムをバーチャルにテストできます。このブロックを使用すると、シーン内の太陽の位置と気象条件も制御できます。詳細については、太陽の位置と気象を参照してください。

あらかじめ用意された一連のシーン、または独自のカスタム シーンからシミュレーションを実行できます。シーンをカスタマイズするには、Vehicle Dynamics Blockset Interface for Unreal Engine Projects サポート パッケージが必要です。詳細については、車両運動のシミュレーションのための 3D シーンのカスタマイズを参照してください。

また、RoadRunner で設計および構築されたカスタム シーンをシミュレーションすることもできます。これを行うには、まず RoadRunner からシーンをエクスポートし、エクスポートしたシーンのアーティファクトへのパスを Simulation 3D Scene Configuration ブロックの [プロジェクト] パラメーターで指定する必要があります。

ヒント

Simulation 3D Scene Configuration ブロックは、3D 環境にデータを送信するブロックの後、かつ 3D 環境からにデータを受信するブロックの前に実行する必要があります。そのようなブロックの実行順序を確認するには、ブロックを右クリックして [プロパティ] を選択します。次に、[一般] タブで、[優先順位] の設定が次になっていることを確認します。

  • 3D 環境にデータを送信するブロックについては (Simulation 3D Vehicle with Ground Following ブロックなど)、[優先順位]-1 に設定する必要があります。これにより、これらのブロックで準備されたデータが 3D 環境で受信されます。

  • モデル内の Simulation 3D Scene Configuration ブロックについては、[優先順位]0 に設定する必要があります。

  • 3D 環境からデータを受信するブロックについては (Simulation 3D Message Get ブロックなど)、[優先順位]1 に設定する必要があります。これにより、3D 環境で準備されたデータをこれらのブロックが受信できます。

実行順序の詳細については、実行順序の制御と表示を参照してください。

パラメーター

すべて展開する

シーン

シーンの選択

シミュレーションを実行するシーンのソース。次の表のいずれかのオプションとして指定します。

オプション説明
Default Scenes

[シーン名] パラメーターで指定された、あらかじめ用意された既定のシーンのいずれかでシミュレーションを実行します。

RoadRunner

RoadRunner シーンでシミュレーションを実行します。シーンをインポートするには、[プロジェクト] パラメーターで RoadRunner ファイルを指定します。

RoadRunner からシーンをエクスポートするには、CARLA Filmbox を使用したエクスポート (RoadRunner)でオプション "CARLA Filmbox" を使用します。

Unreal Executable

Unreal Engine の実行可能ファイルの一部であるシーンでシミュレーションを実行します。[プロジェクト名] パラメーターで実行可能ファイルを指定します。[シーン] パラメーターでシーンを指定します。

高速シミュレーション用として実行可能ファイルにパッケージ化されたカスタム シーンのシミュレーションを実行する場合に、このオプションを選択します。

Unreal Editor

Unreal Engine のプロジェクト (.uproject) ファイルの一部であるシーンを Unreal® で開き、シミュレーションを実行します。[プロジェクト名] パラメーターでプロジェクト ファイルを指定します。

カスタム シーンを開発している場合にこのオプションを選択します。[Unreal Editor を開く] をクリックすることにより、Simulink および Unreal Editor の内部でコシミュレーションを実行し、シミュレーション結果に基づいてシーンを変更できます。

シミュレーションを実行する、あらかじめ用意された 3D シーンの名前。次のいずれかのオプションとして指定します。シーンの詳細については、リスト内の対応するリファレンス ページを参照してください。

Vehicle Dynamics Blockset Interface for Unreal Engine Projects には、上記のシーンのカスタマイズ可能なバージョンがあります。シーンのカスタマイズの詳細については、車両運動のシミュレーションのための 3D シーンのカスタマイズを参照してください。

依存関係

このパラメーターを有効にするには、[シーン ソース][Default Scenes] に設定します。

Unreal Engine の実行可能ファイルの名前。有効な実行可能プロジェクト ファイル名として指定します。ファイルを参照するか、バックスラッシュを使用してプロジェクト ファイルの絶対パスを指定できます。シミュレーションを実行するシーンをこのファイルから指定するには、[シーン] パラメーターを使用します。

既定で、[プロジェクト名]VehicleSimulation.exe に設定されており、これは MATLAB® 検索パス上にあります。

メモ

現在のバージョンの MATLAB とは互換性のないバージョンの Unreal Engine で作成されたカスタムの Unreal 実行可能ファイルを選択すると、次のいずれかのエラー メッセージが表示されます。

  • "Incompatible version of 3D Simulation engine: Undefined":Unreal 実行可能ファイルが R2023b より前の MATLAB リリース用にビルドされている場合

  • "Incompatible version of 3D Simulation engine: 23.2.0":Unreal 実行可能ファイルが MATLAB R2023b 以降用にビルドされている場合

これらのエラーを解決するには、Unreal プロジェクトを移行し、インストールした最新のサポート パッケージを使用して実行可能ファイルをリビルドする必要があります。詳細については、車両運動のシミュレーションのための 3D シーンのカスタマイズを参照してください。

例: C:\Local\WindowsNoEditor\AutoVrtlEnv.exe

依存関係

このパラメーターを有効にするには、[シーン ソース][Unreal Executable] に設定します。

ASAM OpenDRIVE ファイルを指定します。Simulation 3D Scene Configuration ブロック パラメーター [Select ASAM OpenDRIVE file] を選択して、ASAM OpenDRIVE ファイルを指定します。Simulation 3D Vision Detection Generator (Automated Driving Toolbox) ブロックを使用する車線検出アプリケーションをカスタム シーンで実行する場合、ASAM OpenDRIVE ファイルが必要です。

依存関係

このパラメーターは、Scene Source[Unreal Executable] または [Unreal Engine] のいずれかに設定した場合に使用できます。

データ型: Boolean

[プロジェクト名] パラメーターで指定した実行可能ファイルからのシーン名。有効なシーン名へのパスとして指定します。

Unreal Engine プロジェクトからシーンを実行可能ファイルにパッケージ化すると、Unreal Editor はシーンを実行可能ファイルの内部フォルダーに保存します。このフォルダーは、パス /Game/Maps にあります。このため、シーン名の先頭に /Game/Maps を付ける必要があります。このパスは、スラッシュを使用して指定する必要があります。ファイル名には、.umap 拡張子を指定しないでください。たとえば、シミュレーションを実行する実行可能ファイルからのシーンの名前が myScene.umap である場合は、[シーン]/Game/Maps/myScene として指定します。

あるいは、対応する Unreal Engine プロジェクト内でシーンを参照できます。これらのシーンは通常、プロジェクトの Content/Maps サブフォルダーに保存されます。このサブフォルダーには、プロジェクト内のすべてのシーンが含まれます。シーンの拡張子は .umap です。[プロジェクト名] パラメーターで指定した実行可能ファイルにパッケージ化したシーンのいずれかを選択します。バックスラッシュを使用し、シーンには .umap 拡張子を指定します。

既定では、[シーン]/Game/Maps/HwStrght に設定されます。これは、[プロジェクト名] パラメーターで指定される既定の実行可能ファイル VehicleSimulation.exe に含まれるシーンです。このシーンは、あらかじめ用意された [Straight Road] シーンに対応します。

例: /Game/Maps/scene1

例: C:\Local\myProject\Content\Maps\scene1.umap

依存関係

このパラメーターを有効にするには、[シーン ソース][Unreal Executable] に設定します。

Unreal Engine のプロジェクト ファイルまたは RoadRunner ファイルの名前。有効なプロジェクト ファイル名として指定します。ファイルを参照するか、バックスラッシュを使用してファイルの絶対パスを指定できます。ファイル名にスペースが含まれていてはなりません。

Unreal Editor で Unreal Engine プロジェクト ファイルのシーンのシミュレーションを実行するには、[Unreal Editor を開く] をクリックします。Unreal Editor セッションが既に開かれている場合、このボタンは無効になっています。

シミュレーションを実行するには、Simulink で [実行] をクリックします。Unreal Editor の [Play] をクリックする前に、次の確認メッセージが [診断ビューアー] ウィンドウに表示されるまで待ちます。

In the Simulation 3D Scene Configuration block, you set the scene source to 'Unreal Editor'.
In Unreal Editor, select 'Play' to view the scene.
この確認メッセージは、Simulink が Unreal Engine 3D 環境で車両やカメラなどのシーン アクターをインスタンス化したことを示します。[診断ビューアー] ウィンドウにこの確認メッセージが表示される前に [Play] をクリックすると、Simulink により Unreal Editor 内でアクターがインスタンス化されないことがあります。

RoadRunner シーンのシミュレーションを実行するには、エクスポートした RoadRunner シーン ファイルを含むフォルダーを参照し、Filmbox (.fbx) ファイルを指定します。CARLA Filmbox を使用したエクスポート (RoadRunner)でオプション "CARLA Filmbox" を使用して、RoadRunner シーンをエクスポートできます。このオプションは、これら 3 つのファイルをフォルダーにエクスポートします。

  • Filmbox (.fbx) ファイル

  • ASAM OpenDrive (.xodr) ファイル

  • XML (.rrdata.xml) ファイル

依存関係

このパラメーターを有効にするには、[シーン ソース][Unreal Editor] または RoadRunner に設定します。[RoadRunner] オプションには Simulink 3D Animation のライセンスが必要です。

シーンのパラメーター

シミュレーション中にシーンを表示するバーチャル カメラの配置を構成します。

  • モデルに車両ブロックが含まれていない場合、シミュレーション中にはシーン原点に配置されたカメラからのシーンがフリー カメラ モードで表示されます。表示をカスタム視点に変更するには、[シーン ビュー]Custom に設定します。次に、[ビューアーの初期並進][ビューアーの初期回転] の値を設定して、指定した視点におけるフリー カメラ モードでシーンを表示します。

  • モデルに少なくとも 1 つの車両ブロックが含まれている場合、既定では、モデル内に配置された最初の車両に取り付けられたカメラからのシーンが表示されます。表示を別の車両に変更するには、[シーン ビュー] をその車両の名前に設定します。[シーン ビュー] パラメーター リストには、モデルに含まれる車両ブロックのすべての [名前] パラメーター値が入力されます。

車両ブロックを追加する前に、モデルに Simulation 3D Scene Configuration ブロックを追加すると、バーチャル カメラはシーン原点に配置されたままになります。車両に追従するようにカメラを再配置するには、このパラメーターを更新します。

シーン制御

[シーン ビュー]Scene Origin または Custom に設定した場合、シミュレーション中にキーボードまたはマウス操作でカメラの位置を変更してシーン内を移動できます。また、シミュレーションの一時停止時にカメラの位置を変更することもできます。

3D 環境内を移動するには、次のキーボード ショートカットを使用します。

キーボード ショートカットカメラ コントロール

W

前に移動します。

Shift+W

前に速く移動します。

S

後ろに移動します。

Shift+S

逆方向に速く移動します。

A

左に移動します。

Shift+A

左に速く移動します。

D

右に移動します。

Shift+D

右に速く移動します。

Q

上に移動します。

Shift+Q

上方向に速く移動します。

E

下に移動します。

Shift+E

下方向に速く移動します。

マウスのスクロール ホイール

カーソル ポイントからのカメラの距離を制御します。

Shift+マウスのスクロール ホイール

カメラが速く移動します。

マウスを右クリックしてドラッグ

カーソル ポイントの周りを旋回移動します。

O

カーソル ポイントの下のアクターにカメラを取り付けます。

マウスを左クリックしてドラッグ

カメラをアクターに取り付けた後、アクターの周りを旋回移動します。

P

アクターからカメラを取り外します。

L

現在の視点を記録し、シーン上に Location saved を表示します。

1 ~ 9

利用可能な場合は、保存された視点にアクセスします。

Tab

シーン内のすべての車両およびシミュレーション開始時の視点間で、ビューを順方向に切り替えます。

Shift+Tab

シーン内のすべての車両およびシミュレーション開始時の視点間で、ビューを逆方向に切り替えます。

I

キーボード ショートカットを画面に表示します。

車両ビュー

[シーン ビュー] を車両名に設定した場合、シミュレーション中に車両周囲のカメラの位置を変更できます。また、"Tab" キーを押すことで、シミュレーション中にビューを車両に設定することもできます。

カメラ ビューを滑らかに切り替えるには、次のキーボード ショートカットを使用します。

キーボード ショートカットカメラ ビュー

1

左後方

A diagram shows numbered key commands corresponding to camera views

 アニメーション GIF の表示

2

後方

3

右後方

4

5

内部

6

7

左前方

8

前方

9

右前方

0

その他のカメラ コントロールについては、次のキーボード ショートカットを使用します。

キーボード ショートカットカメラ コントロール
Tab

シーン内のすべての車両間でビューを切り替えます。

 アニメーション GIF の表示

マウスのスクロール ホイール

車両からのカメラの距離を制御します。

 アニメーション GIF の表示

L

カメラのラグ効果のオンとオフを切り替えます。ラグ効果を有効にすると、カメラ ビューに以下が含まれます。

  • 車両の並進加速度に基づく位置のラグ

  • 車両の回転速度に基づく回転のラグ

このラグにより、車両の加速と回転の全体的な可視化が改善されます。

 アニメーション GIF の表示

F

フリー カメラ モードのオンとオフを切り替えます。フリー カメラ モードを有効にすると、マウスを使用してカメラのピッチとヨーを変更できます。このモードを使用すると、車両の周りをカメラが旋回移動できます。

 アニメーション GIF の表示

可視化エンジンのサンプル時間、Ts。正の実数スカラーとして指定します。単位は秒です。

可視化エンジンのグラフィックスのフレーム レートはサンプル時間の逆数です。たとえば、[サンプル時間]1/60 の場合、可視化エンジンのソルバーは 60 フレーム/秒のフレーム レートを実現しようとします。ただし、グラフィックス カードのパフォーマンスやモデルの複雑さなどの要因により、リアルタイム グラフィックスではしばしばフレーム レートが比較的低くなります。

可視化エンジンからデータを受信するブロックは、既定でこのサンプル レートを継承します。

3D 可視化環境で、結果を可視化せずに、つまり "ヘッドレス モード" でシミュレーションを実行するかどうかを選択します。

次の場合に、ヘッドレス モードでの実行を検討します。

  • さまざまな Unreal Engine のシナリオでモデルをテストするために、複数の 3D シミュレーションを並列実行する。

  • 結果を可視化せずにモデル パラメーターを最適化する。たとえば、Unreal Engine で定義された地形のシナリオで車両サスペンションのパラメーターを調整する場合に、ヘッドレス モードの使用を検討します。

依存関係

このパラメーターを有効にするには、[シーン ソース][Default Scenes] または [Unreal Executable] に設定します。

気象

シミュレーション中にシーンの気象と太陽の位置を制御するかどうかを選択します。有効にしたパラメーターを使用して、太陽の位置、雲、霧、雨、および雪を変更します。

次の表は、特定時刻における太陽の位置の設定をまとめています。

時刻設定Unreal Editor の環境

午前 0 時

太陽高度: -90

太陽方位角:180

Road at midnight

北半球の日の出

太陽高度:0

太陽方位角:180

Road at sunrise

正午

太陽高度:90

太陽方位角:180

Road at noon

次の表は、特定の雲の状態の設定をまとめています。

雲の状態設定Unreal Editor の環境

なし

雲の不透明度:0

Road with clear skies

多量

雲の不透明度:85

Road with cloudy skies

多量

ボリュメトリック クラウドを有効にする:オン

雲量:50

雲層の高度:6

Road with volumetric clouds

次の表は、特定の霧の状態の設定をまとめています。

霧の状態設定Unreal Editor の環境

なし

霧の濃度:0

Road with no fog

多量

霧の濃度:100

Road with heavy fog

次の表は、特定の雨の状態の設定をまとめています。

雨の状態設定Unreal Editor の環境

少量

雲の不透明度:10

雨の密度:25

City scene with light rain

多量

雲の不透明度:10

雨の密度:80

City scene with heavy rain

次の表は、特定の雪の状態の設定をまとめています。

雪の状態設定Unreal Editor の環境
多量降雪の密度:50

Road scene with heavy snow

太陽の設定

南から太陽光線の水平面投影までを測定した水平方向の方位角 (度単位)。

Diagram of sun altitude angle (vertical arrow) and sun azimuth angle (horizontal arrow

[太陽高度][太陽方位角] のパラメーターを使用して、シーンの時刻を制御します。たとえば、北半球の日の出を指定するには、[太陽高度] を 0 度、[太陽方位角] を 180 度に設定します。

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド] を選択します。

太陽光線とその水平面投影がなす垂直方向の高度角 (度単位)。

Diagram of sun altitude angle (vertical arrow) and sun azimuth angle (horizontal arrow)

[太陽高度][太陽方位角] のパラメーターを使用して、シーンの時刻を制御します。たとえば、北半球の日の出を指定するには、[太陽高度] を 0 度、[太陽方位角] を 180 度に設定します。

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド] を選択します。

地理空間の太陽を有効にするには、このチェック ボックスをオンにします。地理空間の太陽を有効にすると、極付近、または昼夜の長さが大幅に異なる場所における状態のシミュレーションに役立ちます。

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド] を選択します。

地球上の地理的位置の緯度。度単位のスカラーとして指定します。

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド][地理空間の太陽を有効にする] を選択します。

地球上の地理的位置の経度。度単位のスカラーとして指定します。

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド][地理空間の太陽を有効にする] を選択します。

日付。形式 YYYY-MM-DD の整数として指定します。

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド][地理空間の太陽を有効にする] を選択します。

時間。形式 HH:MM:SS の整数として指定します。

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド][地理空間の太陽を有効にする] を選択します。

タイム ゾーンは、協定世界時 (UTC) またはグリニッジ標準時 (GMT) からの時差を指定します。

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド][地理空間の太陽を有効にする] を選択します。

夏時間を有効にするには、このチェック ボックスをオンにします。

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド][地理空間の太陽を有効にする] を選択します。

雲の設定

Unreal Editor の [Cloud Speed] グローバル アクターのターゲット値に対応するパラメーター。正の値では雲が西から東に移動し、負の値では東から西に移動します。

Cloud Opacity and Cloud Speed settings in Unreal Editor

[雲の不透明度][雲の速度] のパラメーターを使用して、シーンの雲を制御します。

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド] を選択します。

Unreal Editor の [Cloud Opacity] グローバル アクターのターゲット値に対応するパラメーター (パーセント単位)。ゼロは雲のないシーンです。

Cloud Opacity and Cloud Speed settings in Unreal Editor

[雲の不透明度][雲の速度] のパラメーターを使用して、シーンの雲を制御します。

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド] を選択します。

ボリュメトリック クラウドを有効にするには、このチェック ボックスをオンにします。

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド] を選択します。

Unreal Editor の [Cloud Density] グローバル アクターのターゲット値に対応するパラメーター (パーセント単位)。

Cloud coverage settings in Unreal Editor

[雲量] パラメーターを使用して、シーンの雲を制御します。

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド][ボリュメトリック クラウドを有効にする] を選択します。

Unreal Editor の [Layer Bottom Altitude] グローバル アクターのターゲット値に対応するパラメーター (km 単位)。

Cloud altitude setting in Unreal Editor

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド][ボリュメトリック クラウドを有効にする] を選択します。

霧の設定

Unreal Editor の [Set Fog Density][Set Start Distance] のターゲット値に対応するパラメーター (パーセント単位)。

Set Fog Density setting in Unreal Editor

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド] を選択します。

雨の設定

Unreal Editor の雨の密度、湿気、水たまり、その波紋を制御するローカル アクターに対応するパラメーター (パーセント単位)。

Unreal Editor settings to control rain density. The Get Components by Class on the left activates or deactivates the rain density settings. The rain effects on the right control settings such as wetness, rain puddles, and ripples.

[雲の不透明度][雨の密度] のパラメーターを使用して、シーンの雨を制御します。

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド] を選択します。

カメラ レンズ上の雨滴を有効にするには、このチェック ボックスをオンにします。

Cloud altitude setting in Unreal Editor

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド] を選択します。

雪の設定

このパラメーターは Unreal Editor で降雪の密度を制御するグローバル アクターに対応します (パーセント単位)。

Cloud altitude setting in Unreal Editor

依存関係

このパラメーターを有効にするには、[シーンの気象をオーバーライド] を選択します。

詳細

すべて展開する

バージョン履歴

R2018a で導入

すべて展開する