このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
trajectory
ドライビング シナリオでアクターまたは車両の軌跡を作成
構文
説明
trajectory
関数は、各ウェイポイントにおけるアクターの速度値または到着時間のいずれかに基づいて軌跡を作成します。既定では、関数はステアリング位置が後車軸にある車両の軌跡を作成します。ステアリング位置が前車軸にある車両の軌跡を作成するには、名前と値の引数 ReferenceSteerPosition
を使用します。
アクターの速度情報からの軌跡
trajectory(
は、一連のウェイポイントから、アクターまたは車両 ac
,waypoints
)ac
の軌跡を作成します。
メモ
関数 trajectory は、ウェイポイント間で加速度に不連続性がある軌跡を生成するため、加加速度が大きくなります。滑らかで加加速度の制限された軌跡を生成するには、代わりに関数 smoothTrajectory
を使用します。
trajectory(___,
は、前述の構文の任意の引数の組み合わせに加え、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、Name=Value
)Course=course
は、各ウェイポイントにおけるアクターまたは車両のステアリング方向を定義するコース角 course
を指定します。
アクターの到着時間からの軌跡
R2024b 以降
trajectory(
は、各ウェイポイントにおけるアクターの到着時間 ac
,waypoints
,TimeOfArrival=timeOfArrival
)timeOfArrival
を使用して、一連のウェイポイント waypoints
からアクターまたは車両 ac
の軌跡を作成します。
trajectory(
は、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、ac
,waypoints
,TimeOfArrival=timeOfArrival
,Name=Value
)MotionDirection=motionDirection
は、各ウェイポイントにおけるアクターの動く方向 motionDirection
を指定します。
例
入力引数
名前と値の引数
ヒント
特定の車体位置を基準とする車両の位置を取得するには、
getReferencePosition
関数を使用します。少なくとも 1 つの車両の前車軸の軌跡がドライビング シナリオに含まれている場合、
record
関数によって返されるActorPoses
構造体のFrontAxlePosition
フィールドから前車軸の位置を取得できます。前車軸の軌跡がドライビング シナリオに含まれている場合に後車軸と前車軸の両方の軌跡をプロットするには、
plot
関数の名前と値の引数ShowRearAxle
を"on"
として指定します。
アルゴリズム
関数 trajectory
は、シナリオ内でアクターが従う軌跡を作成します。軌跡は、オブジェクトが従うパスと、パスに沿ったオブジェクトの速度で構成されます。パスは、N 個の 2 次元または 3 次元のウェイポイントを使用して指定します。ウェイポイント間の N – 1 個のセグメントはそれぞれ曲線を定義し、その曲率はセグメントに沿って、距離に対して直線的に変化します。関数は、ウェイポイントの両側の曲率を一致させることにより、区分的な "クロソイド" 曲線をウェイポイントの (x, y) 座標に近似します。閉じていない曲線の場合、最初と最後のウェイポイントの曲率はゼロです。最初と最後のウェイポイントが一致する場合は、端点の前後の曲率が一致します。軌跡の z 座標は、形状維持区分的 3 次曲線を使用して内挿されます。
生成される軌跡は、ウェイポイント間の各セグメントの区分的な等加速度プロファイルとなります。これらのセグメントの間には、加速度の不連続性があります。加速度の不連続性を回避するには、代わりに関数 smoothTrajectory
を使用して軌跡を生成します。