Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Double Lane Change シーンのデータの送受信

この例では、ダブルレーン チェンジ操作の実行時に Simulation 3D Message Set ブロックと Simulation 3D Message Get ブロックを使用して 3D 可視化環境と通信する方法を示します。具体的には、次を使用します。

  • 操作時に車両がどのバレルに達するかを受信するための Simulation 3D Message Get ブロック。

  • 信号機の点灯を制御するための Simulation 3D Message Set ブロック。

例を実行するためのハードウェアの最小要件については、Unreal Engine シミュレーション環境の要件と制限を参照してください。

ダブルレーン チェンジ操作の実行

3D 可視化環境を有効にして、ダブルレーン チェンジ操作を実行します。

  1. ダブルレーン チェンジ リファレンス アプリケーション プロジェクトの作業コピーを作成して開きます。

  2. 3D 可視化環境を有効にします。Visualization サブシステムで、3D Engine ブロック マスクを開き、[有効] を選択します。変更を適用し、モデルを保存します。

    あるいは、MATLAB® コマンド プロンプトで次のコードを入力します。

     3D 環境を有効にするコードを表示

  3. 操作を 25 秒間実行します。Simulation 3D Viewer でシミュレーションを表示します。車両の操作が完了すると、バレルに達します。

    3D image of double-lane change scene

     シミュレーションを実行するコードを表示

Simulation 3D Message Get ブロックを使用したバレル データの受信

Simulation 3D Message Get ブロックを使用して、操作時に車両がどのバレルに達するかを受信します。既定では、操作には Double Lane Change シーンが使用されます。

  1. Visualization、3D Engine サブシステムに移動します。3D Engine ブロックを右クリックし、[マスク][マスク内を表示] を選択します。Visualization、3D Engine、3D Engine サブシステムで、次のブロックを挿入します。

    • Simulation 3D Message Get

    • Display

  2. ブロックが Double Lane Change シーンからデータを受信するように Simulation 3D Message Get ブロックのパラメーターを設定します。ブロック パラメーターを次のように設定して変更を適用し、モデルを保存します。

    • [信号名、SigName]NumOfBarricadesHit

    • [データ型、DataType][boolean]

    • [メッセージ サイズ、MsgSize][1 8]

    • [サンプル時間]-1

    Simulation 3D Message Get block parameters dialog box

    あるいは、MATLAB コマンド プロンプトで次のコードを入力します。

     パラメーターを設定するコードを表示

  3. 次に示すように Simulation 3D Message Get ブロックと Display ブロックを接続します。ブロックのパラメーターを確認します。モデルを保存します。

    Simulink model with a Simulation 3D Scene Configuration block and a Simulation 3D Message Get block connected to a Display block.

  4. Simulation 3D Scene Configuration ブロックが Simulation 3D Message Get ブロックよりも先に実行されることを確認します。これにより、Unreal Engine® 3D 可視化環境でデータが準備されてから、そのデータを Simulation 3D Message Get ブロックで受信するようになります。ブロックの実行順序を確認するには、ブロックを右クリックして [プロパティ] を選択します。[一般] タブで、[優先順位] の設定が次のようになっていることを確認します。

    • Simulation 3D Scene Configuration0

    • Simulation 3D Message Get1

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

  5. 操作を実行します。シミュレーションの実行中に、車両が対応するバレルに達すると、Display ブロックは ReadMsg ブール値を 1 に更新します。

    Display block displaying a column with the number, one, highlighted in a red box.

    結果には、操作の終了時に車両が Drum01Node67 に達していることが示されています。

    次の表に、ReadMsg の配列要素に対応する Double Lane Change シーンのバレル名を示します。

    Simulation 3D Message Get ブロックの ReadMsg の値

    Unreal® Editor のバレル名

    ReadMsg(1,1)Drum01Node
    ReadMsg(1,2)Drum01Node67
    ReadMsg(1,3)Drum01Node68
    ReadMsg(1,4)Drum01Node69
    ReadMsg(1,5)Drum01Node70
    ReadMsg(1,6)Drum01Node71
    ReadMsg(1,7)Drum01Node72
    ReadMsg(1,8)Drum01Node73

Simulation 3D Message Set ブロックを使用した信号機の点灯の制御

  1. 操作を 5 秒後から開始します。Lane Change Reference Generator ブロックで、[操縦開始時間]5 に設定します。

     パラメーターを設定するコードを表示

  2. Visualization、3D Engine サブシステムに移動します。3D Engine ブロックを右クリックし、[マスク][マスク内を表示] を選択します。Visualization、3D Engine、3D Engine サブシステムで、次のブロックを挿入します。

    • Simulation 3D Message Set

    • Repeating Sequence Stair

  3. 信号機のデータを Double Lane Change シーンに送信するように Simulation 3D Message Set ブロックのパラメーターを設定します。ブロック パラメーターを次のように設定して変更を適用し、モデルを保存します。

    • [信号名、SigName]TrafficLight1

    • [サンプル時間]-1

    Simulation 3D Message Set block parameters dialog box

    次の表に、Double Lane Change シーンの WriteMsg の値に対応するシーンの信号機の色を示します。

    Simulation 3D Message Set ブロックの WriteMsg の値

    TrafficLight1 の色

    0Red
    1Yellow
    2Green

    あるいは、MATLAB コマンド プロンプトで次のコードを入力します。

     パラメーターを設定するコードを表示

  4. 信号機の赤、黄色、青に対応する指令を送信するように Repeating Sequence Stair ブロックのパラメーターを設定します。ブロック パラメーターを次のように設定して変更を適用し、モデルを保存します。

    • [出力値のベクトル][0 0 0 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2].'

    • [サンプル時間]1

      Repeating Sequence Stair block mask

    • [出力データ型]int32

      Repeating Sequence Stair block mask

    あるいは、MATLAB コマンド プロンプトで次のコードを入力します。ブロックの変更を適用し、モデルを保存します。

     パラメーターを設定するコードを表示

  5. 次のようにブロックを接続します。ブロックのパラメーターと信号の接続を確認します。モデルを保存します。

    Simulink model.

  6. Simulation 3D Message Set ブロックが Simulation 3D Scene Configuration ブロックよりも先に実行されることを確認します。これにより、Simulation 3D Message Set で信号データが準備されてから、そのデータを Unreal Engine 3D 可視化環境で受信するようになります。ブロックの実行順序を確認するには、ブロックを右クリックして [プロパティ] を選択します。[一般] タブで、[優先順位] の設定が次のようになっていることを確認します。

    • Simulation 3D Scene Configuration0

    • Simulation 3D Message Set-1

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

  7. 操作を実行します。シミュレーションの実行中に、Simulation 3D Viewer で、TrafficLight1 の色が赤、黄色、青の順に変わることを確認できます。

    3D image of traffic light showing yellow light.

    時間範囲 (秒)

    WriteMsg の値

    TrafficLight1 の色

    0–3

    0Red

    3–5

    1Yellow

    5–30

    2Green

参考

| | | |

関連する例

詳細