Main Content

シンプルなシナリオの探索とシミュレーション

この例では、RoadRunner Scenario の対話的なエディターでサンプル シナリオを探索し、シナリオ設計とシミュレーションの基礎を学習します。この例では、RoadRunner の操作に関する予備知識があり、プロジェクトを既に作成していることを前提としています。詳細については、RoadRunner 入門およびRoadRunner プロジェクトとシーン システムを参照してください。RoadRunner Scenario をはじめて操作する場合は、最初にRoadRunner Scenario の基礎を参照することを検討してください。

シナリオを開く

この例で使用するサンプル シーンとシナリオを開きます。

  1. RoadRunner アプリケーションを開き、スタート ページから、[Open Scene] を選択します。

  2. 現在のプロジェクトの Scenes フォルダーに移動し、ScenarioBasic.rrscene シーンを選択します。RoadRunner Scenario に編集キャンバスでシーンが開きます。

  3. シナリオ編集モードに切り替えます。RoadRunner アプリケーションの右上隅から、[Scene Editing][Scenario Editing] を順に選択します。

    Scene Editing and Scenario Editing toggle with Scenario Editing selected

  4. [File] メニューから、[Open Scenario into Current Scene] を選択します。

  5. 現在のプロジェクトの Scenarios フォルダーに移動し、TrajectoryCutIn.rrscenario シナリオを選択します。RoadRunner Scenario に編集キャンバスでシナリオが開きます。

    TrajectoryCutIn scenario

    ヒント

    元のシナリオが上書きされないように、シナリオのコピーを作成してそれで作業します。[File] メニューから、[Save Scenario As] を選択します。シナリオに MyScenario.rrscenario という名前を付けます。

[Scenario Editing] モードでは、車両やその経路など、動的なシナリオ要素が編集に対して有効になっています。道路や樹木など、静的なシーン要素はロックされています。シナリオとシーンの編集を切り替える場合は、RoadRunner アプリケーションの右上隅にある黄色い [Scene Editing] または [Scenario Editing] の切り替えを使用します。

シナリオのシミュレーション

このシナリオには Ego という名前の白いセダンと Lead という名前の赤いセダンが含まれています。車両はシミュレーション時に事前定義した走行経路を追従します。シナリオをシミュレートし、車両がどのように相互作用するか観察します。

  1. RoadRunner Scenario メニューから、RoadRunner Scenario ツール バーで Simulation Tool をクリックします。

  2. 右にある [Simulation] ペインで、[Play] をクリックします。

    メモ

    シミュレーションの実行が速すぎる場合は、[Simulation] ペインのスライダーを使用してシミュレーションを減速します。

    このシナリオでは、赤いセダンはすぐに走行を開始します。白いセダンは少し遅れてから走行を開始し、赤いセダンの車線に割り込みます。割り込みの少し後に、赤いセダンは加速し、ターゲット速度に達すると、減速して停止します。白いセダンは、割り込み後、赤いセダンの後ろを走行し、停止するまで赤いセダンの速度に合わせます。

    White sedan cuts in behind red sedan

  3. シミュレーション中、シナリオ要素は編集に対してロックされます。シミュレーションが完了したら、RoadRunner Scenario ツール バーで [Scenario Edit Tool] をクリックして、シナリオ編集モードに再び切り替えます。

車両の変更

RoadRunner Scenario の車両は [Library Browser]Vehicles フォルダーにあります。車両を追加または変更してみてから、[Simulation Tool] に切り替えて、シミュレーションへの影響を観察します。次の表に車両の変更例をいくつか示します。

説明

車両を選択して [Attributes] ペインから新しい色を選択し、車両の色を変更します。

メモ

すべての車両の色がシナリオ エディターで可視化されるわけではありませんが、色の値はエクスポートに含められます。

このイメージは、色が白からピンクに変更されたセダンを示しています。

Pink sedan

車両を選択して [Library Browser] から [Attributes] ペインの [Vehicle Type] イメージ サムネイルに新しい車両アセットをドラッグし、車両のタイプを変更します。追加の車両タイプは車両アセットで選択できます。

このイメージは、ごみ収集車に変更される赤いセダンを示しています。

Sedan vehicle type changing to garbage truck.

[Library Browser] から車両アセットをシナリオ編集キャンバスにドラッグして、新しい車両を追加します。シミュレーション中、走行経路のない車両は既定でその車線を追従します。

このスクール バスはシミュレーション時に単独で走行し、出口で右折します。

School bus without driving path in turning lane on opposite side of highway

走行経路の変更

走行経路を選択すると、その経路は赤に変わります。最終ウェイポイントは黄色いピンポイント アイコンとして現れ、中継のウェイポイントは白いピンポイント アイコンとして現れます。シナリオで走行経路を変更してみてから、[Simulation Tool] に切り替えて、シミュレーションへの影響を観察します。次の表に走行経路の変更例をいくつか示します。

説明

車両をクリックしてドラッグし、シミュレーションでの開始位置を変更します。走行経路は新しい開始位置の道路と車線の形状を反映するように自動的に更新されます。

白いセダンをドラッグすると、割り込みを開始する点が変更され、シミュレーションが衝突で終了する原因となる場合があります。

Collision between white sedan and red sedan

経路で最後のウェイポイントをクリックしてドラッグし、走行経路を変更します。既定では、走行経路は中央車線を追従し、道路ネットワークの交通規則に従うため、特定の車線に経路を移動すると、その長さが大幅に変更される場合があります。

新しいウェイポイントを使用して経路を拡張するには、経路を選択し、シナリオを右クリックします。経路セグメント内を右クリックして新しいウェイポイントを形成し、経路を分割できます。

赤いセダンの最後のウェイポイントを反対車線に移動すると、セダンが方向転換して反対方向を走行できるように経路がループします。

Long driving path to reach new waypoint

経路セグメントを選択し、[Attributes] ペインで [Freeform] を選択し、自由形式の経路を作成します。

経路セグメントを自由形式として指定すると、一連のウェイポイントを使用して経路を指定できます。交通規則に従わずに経路を反対車線に移動させたり、経路を道路外に動かせます。

White sedan path traveling through opposing lanes and off the road

経路のウェイポイントを選択し、[Attributes] ペインで [Lateral Offset] の値を更新して、車線内で車両の位置を変更します。

白いセダンがその車線内で左にそれます。経路のウェイポイントは [Lateral Offset] 値が -2 メートル (車線中央から左に 2 メートル) です。

White sedan with lateral offset along path

シナリオ アンカーの変更

RoadRunner Scenario はアンカリング システムを使用してオブジェクトの相対位置を指定します。アンカーとして指定されたオブジェクトを移動することにより、シーン内でシナリオ全体を新しい位置に移動できます。

RoadRunner Scenario ツール バーで [Show All Anchors] をクリックして、シナリオ内のすべてのアクターに対するアンカーを表示または非表示にします。アンカーは、これらを参照するエンティティを選択すると常に表示されます。

道路にオブジェクトを追加すると、それらは道路のアンカーにアタッチされます。このシナリオでは、車両は交差点の左側の ScenarioStart アンカーに固定されます。このアンカーをドラッグしてみます。車両とその経路がこれと共に移動します。

Road anchor dragged to new location

アンカーは経路のウェイポイントまたは別の車両にすることもできます。たとえば、白いセダンを選択し、[Attributes] ペインで、その [Anchor]Lead アクターに設定されることを確認します。今度は、両方の車両をドラッグしてみます。

  • 赤いセダンをドラッグすると、白いセダンがそれと共に移動します。赤いセダンは白いセダンの親アンカーであるためです。

  • 白いセダンをドラッグしても、赤いセダンはそれと共に移動しません。

シナリオ ロジックの変更

[2D Editor] ペインで、[Logic] エディターによってシナリオの車両間の相互作用が定義されます。グラフィカル インターフェイスはさまざまなアクション フェーズと、それらのアクション フェーズをトリガーする条件で構成されます。シミュレーション中、[Logic] エディターにアクションと条件のステータスが表示されます。緑は完了したアクションと条件、オレンジはアクティブなアクションと条件、グレーはまだ実行されていないアクションと条件を示しています。

Action phases in Logic editor during simulation

シナリオ ロジックの要素を探索します。

初期化フェーズ

[Logic] エディターの最初のフェーズは初期フェーズです。これらはシミュレーション開始時の車両のアクションを定義します。

Logic editor with initialization phases highlighted n red

2 つの初期フェーズをクリックし、[Attributes] ペインでフェーズの属性を確認します。両方の車両に Initialize Speed アクションが含まれています。車両の初期 [Speed] 値を変更してみて、シミュレーションへの影響を観察してください。

条件フェーズ

円形ノードは車両が次のアクションを開始する前に満たす必要がある条件を指定します。条件は任意のフェーズの後に追加できます。

Logic editor with condition nodes selected in red

赤いセダンの条件ノードを選択します。赤いセダンの [Simulation Time] 条件では [Time] 属性が 2 秒に設定されています。この条件は、シミュレーションの開始時に、車両は 2 秒経過するまで待機してから次のアクションを実行することを意味します。この値を増やしてみて、シミュレーションへの影響を観察します。たとえば、[Time]10 秒に設定してみます。このシナリオ ロジックに反映されたように、今度は白いセダンが割り込み操縦を完了し、赤いセダンの速度と一致してから、赤いセダンが加速します。

Logic editor with updated logic

今度は白いセダンの条件ノードを選択します。白いセダンには [Distance to Point] 条件があります。シナリオ キャンバスにこの点が表示されます。この点は赤いセダンの経路に沿っています。赤いセダンがこの半径内のいずれかの点に到達すると、白いセダンは次のアクションを開始します。

Red sedan with distance to point condition in blue

この条件の属性を変更してみて、シミュレーションへの影響を確認します。条件をトリガーする経路のウェイポイントを移動することによっても条件を変更できます。

アクション フェーズの後の任意のノードを右クリックし、[Attributes] ペインから条件を選択することで、条件を追加してみることもできます。たとえば、赤いセダンの加速フェーズ後に [Duration] 条件を追加してみて、シミュレーションがどのように変化するかを観察します。

シミュレーション全体の後に、失敗条件などの条件を追加できます。

Logic editor with final simulation condition node selected in red

アクション フェーズ

条件の後の後続フェーズはアクション フェーズです。このシナリオには速度変更アクションのみが含まれています。

Logic editor with action phases selected in red

白いセダンのアクション フェーズを選択します。[Attributes] ペインに Change Speed アクションの属性が表示されます。これらの属性を変更してみて、シミュレーションへの影響を観察します。たとえば、次のようにします。

  • 白いセダンが赤いセダンよりも高速または低速の一定速度で走行するように [Direction] を設定する。

  • 白いセダンが赤いセダンと一致する速度に変わるまでの時間がより長くなるように、[Dynamics][Time]10 秒に設定する。

RoadRunner Scenario では、車両アクターに使用される速度と加速度の単位を変更できます。次の速度の単位から選択できます。

  • Feet per second (ft/s)

  • Kilometers per hour (km/h)

  • Meters per second (m/s)

  • Miles per hour (mph)

次の加速度の単位から選択できます。

  • Feet per second squared (ft/s^2)

  • G-force (g)

  • Kilometers per hour per second(km/h-s)

  • Meters per second squared (m/s^2)

  • Miles per hour per second (mph/s)

これらの単位オプションにアクセスするには、[Scenario Editing] モードで、RoadRunner Scenario のツール バーから、[Edit][Preferences] の順に選択します。速度単位と加速度単位の変更は車両アセットとアクション フェーズに対して [Attributes] ペインに反映されます。

また、さまざまなアクションを選択してみたり、アクション フェーズを右クリックして選択したフェーズの後、上、または下に新しいアクションを追加してみたりできます。フェーズの上と下のアクションは選択したフェーズと並列で発生します。

参考

関連する例

詳細