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 を使用して軌跡を生成します。





