Main Content

Cuboid To 3D Simulation

直方体の座標のアクターを 3D シミュレーション座標に変換

R2020a 以降

  • Cuboid To 3D Simulation block

ライブラリ:
Automated Driving Toolbox / Driving Scenario and Sensor Modeling

説明

Cuboid To 3D Simulation ブロックはワールド座標の直方体アクターの姿勢を、Simulation 3D Vehicle with Ground Following ブロックで使用される [X][Y]、および [ヨー] の座標に変換します。変換された値を使用することで、ドライビング シナリオ デザイナー アプリを使用して作成されたアクター用の 3D シミュレーション環境内で車両の位置を設定します。シーンの地上地形により、車両のロール (x 軸回転)、ピッチ (y 軸回転)、および仰角 (z 軸位置) が決まります。

単一のアクターの姿勢または複数のアクターの姿勢が含まれたバスを指定できます。既定では、このブロックはバス内の最初のアクターの姿勢を変換します。姿勢を変換するアクターを指定するには、そのアクターの ActorID を指定します。

直方体ドライビング シナリオと 3D シミュレーション ドライビング シナリオでは、座標系は同じですが、車両の原点が異なります。直方体ドライビング シナリオでは、車両の原点は後車軸の中心の下にある地面上にあります。このブロックはこの原点を 3D シミュレーション環境で使用される原点 (車両の幾何学的中心の下) に変換します。次の表では、2 つの環境の原点の違いを示します。Scenario Reader ブロックを使用して直方体ドライビング シナリオを読み取る必要があります。

直方体の車両の原点3D シミュレーションの車両の原点

Cuboid vehicle in blue with origin at the center of the rear axle

3D simulation vehicle in red with origin at the geometric center of the vehicle

端子

入力

すべて展開する

ワールド座標での直方体アクターの姿勢。MATLAB 構造体が含まれた Simulink バスとして指定します。

この構造体入力を取得するには、Scenario Reader ブロックを使用してシナリオからアクターを読み取ります。既定では、Scenario Reader ブロックは自車座標でアクターを出力します。自車座標の姿勢をワールド座標に変換するには、Vehicle To World ブロックを使用します。

このバス内の構造体には、単一のアクターの姿勢または複数のアクターの姿勢を含めることができます。

単一の姿勢の構造体

単一のアクターの姿勢を指定するには、構造体には次のフィールドが含まれている必要があります。

フィールド説明
ActorID

シナリオで定義されているアクター識別子。正の整数として指定します。

Position

アクターの位置。[x y z] という形式の実数値ベクトルとして指定します。単位はメートルです。

Velocity

x 方向、y 方向、z 方向のアクターの速度 (v)。[vx vy vz] という形式の実数値ベクトルとして指定します。単位はメートル/秒です。

Roll

アクターのロール角。実数値スカラーとして指定します。単位は度です。

Pitch

アクターのピッチ角。実数値スカラーとして指定します。単位は度です。

Yaw

アクターのヨー角。実数値スカラーとして指定します。単位は度です。

AngularVelocity

x 方向、y 方向、z 方向のアクターの角速度 (ω)。[ωx ωy ωz] という形式の実数値ベクトルとして指定します。単位は度/秒です。

複数の姿勢の構造体

複数のアクターの姿勢を指定するには、構造体には次のフィールドが含まれている必要があります。

フィールド説明
NumActorsアクターの数非負の整数
Time現在のシミュレーション時間実数値スカラー
Actorsアクターの姿勢アクターの姿勢の構造体から成る、長さが NumActors の配列

Actors 内のアクターの姿勢の各構造体には以下のフィールドが含まれている必要があります。

フィールド説明
ActorID

シナリオで定義されているアクター識別子。正の整数として指定します。

Position

アクターの位置。[x y z] という形式の実数値ベクトルとして指定します。単位はメートルです。

Velocity

x 方向、y 方向、z 方向のアクターの速度 (v)。[vx vy vz] という形式の実数値ベクトルとして指定します。単位はメートル/秒です。

Roll

アクターのロール角。実数値スカラーとして指定します。単位は度です。

Pitch

アクターのピッチ角。実数値スカラーとして指定します。単位は度です。

Yaw

アクターのヨー角。実数値スカラーとして指定します。単位は度です。

AngularVelocity

x 方向、y 方向、z 方向のアクターの角速度 (ω)。[ωx ωy ωz] という形式の実数値ベクトルとして指定します。単位は度/秒です。

このブロックは配列 Actors の 1 つの姿勢のみを変換します。変換する姿勢を指定するには、[アクター ID の指定] を選択してから、[変換に使用される ActorID] パラメーターを使用してアクターの ActorID を指定します。

出力

すべて展開する

3D シミュレーション座標におけるアクターの縦方向の位置。数値スカラーとして返されます。単位はメートルです。

この座標系では、X 軸の正方向を見ると、正の Y 軸は左を指し、Z 軸は上を指します。

3D シミュレーション環境で車両の X 位置を指定するには、この端子を Simulation 3D Vehicle with Ground Following ブロックの [X] 入力端子に接続します。

3D シミュレーション座標におけるアクターの横方向の位置。数値スカラーとして返されます。単位はメートルです。

この座標系では、X 軸の正方向を見ると、正の Y 軸は左を指し、Z 軸は上を指します。

3D シミュレーション環境で車両の Y 位置を指定するには、この端子を Simulation 3D Vehicle with Ground Following ブロックの [Y] 入力端子に接続します。

3D シミュレーション座標における Z 軸に関するアクターのヨー方向の角度。数値スカラーとして返されます。単位は度です。

この座標系では、Z 軸の正方向を見ると、ヨーは時計回りの方向に正です。ただし、2D トップダウン パースペクティブからシミュレーションを表示すると、負の Z 軸に沿ってシーンを表示することになるため、ヨーは反時計回りの方向に正になります。

3D シミュレーション環境で車両のヨー方向の角度を指定するには、この端子を Simulation 3D Vehicle with Ground Following ブロックの [ヨー] 入力端子に接続します。

パラメーター

すべて展開する

このパラメーターは、3D シミュレーション座標に変換する直方体アクターの姿勢の ActorID を指定できる [変換に使用される ActorID] パラメーターを有効にする場合に選択します。

このパラメーターをクリアすると、ブロックは入力 [アクター] バス内の最初のアクターの姿勢を変換します。

3D シミュレーション座標に変換する直方体アクターの ActorID 値。正の整数として指定します。このパラメーターは、入力 [アクター] バスに含まれている有効な ActorID でなければなりません。

依存関係

このパラメーターを有効にするには、[アクター ID の指定] を選択します。

  • インタープリター型実行 — MATLAB インタープリターを使用してモデルをシミュレートします。このオプションにより、起動時間が短縮されます。インタープリター型実行モードでは、ブロックのソース コードをデバッグできます。

  • コード生成 — 生成された C/C++ コードを使用してモデルをシミュレートします。シミュレーションを初めて実行すると、Simulink によってブロック用の C/C++ コードが生成されます。モデルが変更されない限り、この C コードは後続のシミュレーションで再利用されます。このオプションにより、起動時間が長くなります。

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2020a で導入