メインコンテンツ

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

シナリオ アンカリング システム

RoadRunner Scenario には、オブジェクトの位置を "アンカー" と呼ばれるポイントに対して相対的に指定できるアンカリング システムが使用されています。アンカーとは、RoadRunner のオブジェクトで、シナリオ内の他のオブジェクトとの相対位置用に参照点として機能するオブジェクトです。アンカーは、シナリオのオブジェクトに基づく任意の位置にすることができます。たとえば、アンカーを次にすることができます。

  • 道路または junction 上のポイント

  • アクターの位置を指定するポイント

  • 経路のウェイポイント

RoadRunner には、2 種類のアンカーがあります。

  • "シナリオ アンカー" — シナリオの一部であるアンカーであり、シナリオのアンカー システムをシーンから分離できます。これにより、シーン データを上書きすることなく、単一のシーン上で独自のアンカー構成をもつ複数のさまざまなシナリオの作成と編集ができます。シナリオ アンカーは、シナリオ編集モードで作成した新規アンカーの既定のアンカー タイプです。シナリオ アンカーは青で表示されます。Scenario anchor icon

  • "シーン アンカー" — シーンの一部であるアンカーであり、これを使用することで、多くの異なるシナリオ間での互換性を最大にするシーン テンプレートを作成できます。シーン アンカーは、シーン編集モードで作成した新規アンカーの既定のアンカー タイプです。シナリオ編集モードでシーン アンカーを作成するには、RoadRunner Scenario の [Application Preferences] で既定のアンカー タイプをシーン アンカーに変更します。シーン アンカーはラベンダー色で表示されます。Scene anchor icon

RoadRunner Scenario の [Application Preferences] でアンカー タイプを変更するには、RoadRunner Scenario のツール バーから [Edit][Preferences] の順に選択します。次に [Application Preferences] ダイアログ ボックスで、[Default Anchor Type][Scene Anchor] または [Scenario Anchor] に設定します。シナリオ内のアクターに関して、シーン アンカーとシナリオ アンカーの機能は同じです。

Edit menu options and the RoadRunner Scenario Application Preferences

メモ

既定のアンカー タイプを変更するには、シナリオ編集モードでなければなりません。シーン編集モードがアクティブなときには、シナリオ アンカーを作成できません。

アンカリングされたオブジェクトの動作

車両や経路のウェイポイントなど、任意の位置ベースのシナリオ オブジェクトにアンカリングできます。アンカーを移動すると、それにアンカリングされているオブジェクトも一緒に移動します。この機能によって、1 つのポイントをドラッグしてシナリオ全体を新しい位置に移動できます。また、アンカーとそれに接続されたシナリオをシーン内またはシーン間で再配置できます。アンカーとシナリオの再配置の詳細については、シナリオの再配置を参照してください。

4 台の車両がアンカーの直接的または間接的な子であるシナリオを考えてみましょう。次の図のオレンジ色の矢印は、このシナリオのアンカーの親子関係を示しています。シーン アンカーはラベンダー色で表示されています。

Four vehicles anchored to an anchor point, where orange arrows indicate the direct parent anchor of each vehicle.

白いミキサー車を後退させると、ミキサー車に直接的または間接的にアンカリングされているその他 3 台の車両も後退します。アンカーは固定されたままです。

Four vehicles moved backward

青いピックアップ トラックを前進させると、赤い救急車のみが一緒に移動します。これは、救急車がピックアップ トラックの子である唯一の車両であるためです。

Blue pickup truck and red ambulance moved forward

黄色い車を動かしても、一緒に動く車はありません。これは、黄色い車をアンカーの親とする他のオブジェクトは存在しないためです。赤い救急車についても同じことが言えます。

アンカーを動かすと、4 台の車両すべてが一緒に動きます。これにより、シナリオをシーン内のまったく新しい位置に移動できます。

Four vehicles at a new scene location

道路の形状を変更すると、各車両は互いの相対的な位置の制約を維持したまま、道路の変化に適応します。

Top image: Four vehicles anchored to a straight road. Bottom image: The same four vehicles anchored to a curved road.

アンカーの作成および変更

RoadRunner Scenario で、アクターを道路に配置するか、Anchor Tool を使用することで作成されるアンカーの既定のタイプはシナリオ アンカーです。シナリオ アンカーはシナリオを分離して、付随するシーンの誤った変更を防ぐため、シナリオの設計時に使用が推奨されるアンカー タイプです。ただし、シナリオ オブジェクトの追加、変更、およびアンカーへの割り当ての各プロセスは、シーン アンカーとシナリオ アンカーの両方で同じです。

道路へのオブジェクトのアンカリング

既存のアンカーをもつ道路上または道路付近に、車両などのシナリオ オブジェクトを初めて追加すると、そのアンカーに新しいオブジェクトがアタッチされます。シーン内またはシナリオ内にアンカーが存在しない場合、または配置したオブジェクトが既存のアンカーから遠すぎる場合、RoadRunner Scenario は道路中央の、オブジェクトと平行になる位置に新しいアンカーを追加します。

Red ambulance parallel to an anchor with a dashed line between them

既定では、シナリオに追加する各オブジェクトでアンカリングが有効化されています。これを確認するには、アクターの [Attributes] ペインの [Point Offsets] で、[Enable Anchoring] 属性が選択されていることを確認します。この動作は、車両やその他のアクターのほか、経路のウェイポイントに適用されます。

同じ道路にさらにオブジェクトを追加すると、これらのオブジェクトも最も近いアンカーにアタッチされます。オブジェクトを新しい道路にドラッグすると、オブジェクトの親アンカーは新しい道路のアンカーに切り替わります。オブジェクトのアンカーが変更されないようにするには、そのオブジェクトの [Attributes] ペインで [Lock To Anchor] を選択します。

アンカーの手動追加

既存のアンカーがないシナリオに車両を追加すると、RoadRunner Scenario が常に新しいアンカーを自動作成します。新しいアンカーは、Scene Anchor Tool を選択することでシーンに、Anchor Tool を選択することでシナリオに手動で追加することができます。アンカーを手動で追加すると、1 本の道路に複数のアンカーを追加できます。これは長い道路で有用な場合があります。

道路にアンカーを手動で追加するには、次の手順に従います。

  1. RoadRunner Scenario ツール バーにある [Anchor Tool] をクリックします。

  2. 道路上を右クリックして、アンカーを道路の中心に適用します。

    Anchor added to road

これで、他のアンカーと同様に、これらアンカーにオブジェクトをアタッチできます。

シーン編集モードとシナリオ編集モードのいずれでも、アンカーを追加できます。シナリオ編集モードで作成した各アンカーは、[Application Preferences] で指定したアンカー タイプに一致します。ただし、シーン編集モードでは、シーン アンカーのみを作成できます。

オブジェクトのアンカーに対する相対的な移動

アンカリングが有効な各オブジェクトの [Attributes] ペインには、アンカーからの前方オフセットと車線オフセットを示す [Point Offsets] セクションがあります。

オブジェクトを車線に沿ってドラッグすると、[Attributes] ペインの [Forward Offsets] で、親アンカーからのオブジェクトの [Offset] の値が変化します。単位はメートルです。次の表は、前方オフセットの変化のサンプルを示しています。

正の前方オフセット負の前方オフセット

Red ambulance ahead of anchor

Forward offset attribute set to 10 meters

Red ambulance behind anchor

Forward offset attribute set to negative 10 meters

オブジェクトを別の車線にドラッグすると、[Attributes] ペインの [Lane Offset] で、基準レーンからのオブジェクトのオフセットが変化します。次の表は、設定可能な [Lane Offset] の属性を示しています。

属性説明
Relative Toアンカーの基準にする位置を指定します。選択可能なオプションは Road Edge のみです。
Offset Fromオブジェクトの車線オフセットを進行方向に向かって一番左の車線から測定するか、一番右の車線から測定するかを、[Left Lane] または [Right Lane] のいずれかを選択することにより指定します。
Lane Offsetオブジェクトが車線からオフセットされる車線の数を選択します。
Travel Directionオブジェクトをアンカーの進行方向に沿ってオフセットするか、進行方向とは逆向きにオフセットするかを選択します。
Lateral Offsetオブジェクトがその車線の中央から何メートルにオフセットされているかを指定します。[Lateral Offset] は、車線中央から左にオフセットされている場合は負、右にオフセットされている場合は正になります。

たとえば、次の車両は左側の道路のエッジから 2 車線オフセットされています。この車両はアンカーの進行方向に追従し、横方向のオフセットは適用されていません。

Red ambulance offset two lanes from road edge and corresponding attributes set

シーン内でシナリオを再配置すると、アクターは車線に対して相対的な位置を維持します。たとえば、車が一番右の車線 (道路のエッジから 0 車線) にあり、道路が交差点に近づくに従って屈折車線が形成されているとします。アンカーを道路に沿って交差点の方向に動かすと、車は道路のエッジから 0 車線という相対位置を保つため、屈折車線に入ります。

Left: Anchor selected and vehicle in rightmost lane before turning lane. Right: Anchor moved right and vehicle moves into turning lane on right road edge.

これを解決するには、車に事前定義された経路を設定します。例については、経路追従シナリオの設計の例を参照してください。

メモ

シーン内またはシナリオ内にあるアンカーを編集するには、それぞれ Scene Anchor Tool または Anchor Tool を選択する必要があります。

アンカーの属性の変更

アンカーの属性を変更するには、アンカー、または別のオブジェクトのアンカーになっているアクターまたは経路のウェイポイントを選択し、[Attributes] ペインで変更を行います。シナリオ アンカーと同様に、RoadRunner は車両や経路のウェイポイントなどのシナリオ オブジェクトのアンカー属性をシナリオに保存します。これらの属性を変更すると、そのシナリオ内の他のオブジェクトのみに影響を与えます。RoadRunner は、シーン アンカーの属性をシーンに保存します。他のシナリオ ファイルがシーンまたはシーン アンカーを参照する場合、シーンまたはシーン アンカーを変更するとそれらのファイルも影響を受けます。

ヒント

アンカー名を選択するときは、後でシナリオを簡単に再配置できるように、覚えやすい名前を選びます。

たとえば、あるシーン アンカーの [Name] 属性を ScenarioStart に変更するとします。

Name attribute of anchor changed to ScenarioStart

現在のシナリオ内で、そのシーン アクターを参照するアクターについては、新しい名前に合わせてその親アンカーの名前が自動的に更新されます。ただし、このシーンを使用する他のシナリオ ファイルでは、親アンカーの名前は変更されません。その代わり、このアンカーに以前アタッチされていたオブジェクトのアンカリングが解除されるため、変更前の名前をもつアンカーを手動でシーンに配置する必要があります。

アクターの進行方向の変更

アンカーを選択したら、[Attributes] ペインで [Travel Direction] の設定を変更して、そのアンカーに直接的または間接的にアタッチされているすべての親オブジェクトおよび子オブジェクトの進行方向を変更できます。[Forward][Backward] の進行方向オプションは、道路が作成された方向に基づいています。

順方向に設定された進行方向逆方向に設定された進行方向

Three vehicles placed in a road with the same travel direction as the anchor

Three vehicles placed in a road with the opposite travel direction of the anchor

アンカーを使用したオブジェクトの整列

アンカーはアライメント ポイントとしても使用できます。たとえば、同じアンカーをもつ 2 台の車両をフロント バンパーの位置で整列させるとします。

Red ambulance and white car with the same anchor

次の手順に従います。

  1. 1 台目の車両を選択します。次に、[Attributes] ペインの [Forward Offset] で、[Manual Reference Line] を選択します。これで、アンカーからの [Offset] 値を測定する方法を変更できるようになりました。既定で、RoadRunner Scenario[Offset] を車両の中央から測定します。

  2. [Reference Line][Front] に設定します。これで、RoadRunner Scenario は車両のオフセットを車両のフロントから測定するようになりました。

  3. [Offset]0 に設定します。

  4. 2 台目の車両について、前の手順を繰り返します。これで、両方の車両のフロント バンパーがアンカーと整列しました。アンカーをドラッグするか、[Attributes] ペインでアンカーの [Distance] 値を調整しても、車のフロント バンパーは整列したままになります。

Front bumpers of red ambulance and white car aligned with anchor

経路のウェイポイントへのアンカーの設定

アクターに経路を指定すると、既定では、経路のウェイポイントは道路にアンカリングされます。アクターをドラッグしても、経路のウェイポイントの位置は変わりません。

経路のウェイポイントは、[Manual Reference Line] 属性を除き、アクターと同じ [Forward Offset] 属性および [Lane Offset] 属性をもちます。

アンカーの親の変更

オブジェクトのアンカーの親を変更するには、次の手順に従います。

  1. 車両などのオブジェクトをクリックして選択します。

  2. [Attributes] ペインで、[Anchor] 属性に定義されているアンカーの名前をクリックします。RoadRunner Scenario はシナリオ編集キャンバスと [Logic] エディターを青い線で強調表示し、新しい親アンカーを選択できる領域を示します。

  3. 青い線で強調表示された領域内で、新しい親アンカーを選択します。[Logic] エディターからアクション フェーズを選択すると、RoadRunner Scenario は、そのアクション フェーズに関連付けられたアクターにアンカーを更新します。

シナリオ内の親アンカーの現在位置を調べるには、[Anchor] 属性値の横にある [Frame] ボタン をクリックします。

シーン アンカーを含むテンプレートの作成

シーンおよびシナリオのすべてにわたって使用する目的で、標準化されたアンカー セットを作成する場合は、シナリオごとに固有のアンカー セットを作成する代わりに、シーン アンカーを使用します。シーン アンカーを使用すると、シーンとシナリオとの互換性を最大にするシーン テンプレートを設計できます。これにより、対応しないアンカーがシナリオの再配置後にマッピングされない状況を回避できます。シナリオの再配置の詳細については、シナリオの再配置を参照してください。

既存のシナリオで使用されているシーン アンカーを編集すると、それらのシナリオが無効になります。シナリオを作成する前に、必ずシーン アンカーに対して必要な変更をすべて完了してください。

プロジェクトにシーン テンプレートを作成するには、次の手順に従います。

  1. シーン編集モードで、テンプレートとして使用するシーンを開きます。[File][Open Scene] を選択します。

  2. RoadRunner ツール バーにある [Scene Anchor Tool] を選択します。

  3. 道路を右クリックしてシーン アンカーを追加します。この手順を繰り返して、さらにアンカーを追加します。

  4. アンカーを選択し、[Attributes] ペインでアンカーの名前を変更します。残りのアンカーについて、この手順を繰り返します。アンカーの名前を変更すると、複数のシーンにわたって対応するアンカーを作成しやすくなります。アンカーを使用するシナリオに複数のシーンとの互換性をもたせるには、シーン間でアンカーの名前が一致していなければなりません。

  5. シーンを保存します。

  6. シーン アンカー テンプレートとして作成する各シーンに対して、手順 1 ~ 5 を繰り返します。テンプレート間の互換性を確保するには、最初のシーンと同数のアンカーを追加し、アンカーに同じ名前を付けます。

Three separate scenes, each with the same number of scene anchors

各シーンには同じ名前をもつアンカーが同数あるため、あるシーンで作成するシナリオには他のシーンとの互換性があります。つまり、あるシーンで作成したシナリオを、同じアンカー テンプレートをもつその他すべてのシーンに再配置でき、不足しているアンカーやそのシナリオ オブジェクトを再マッピングする必要がありません。

参考

トピック