Main Content

navPath

説明

navPath オブジェクトには、通常、幾何学的パス プランナーで作成されたパスが格納されます。パス上の点は、関連付けられた状態空間に状態として格納されます。

作成

説明

path = navPath は、SE2 状態空間を使ってパス オブジェクト path を既定の設定で作成します。

path = navPath(space) は、space で指定された状態空間を使ってパス オブジェクトを作成します。space 入力は、StateSpace プロパティの値も設定します。

path = navPath(space,states) では、states で指定された状態サンプルでパスを初期化できます。states は状態サンプルの行列として指定します。状態 space オブジェクトの StateBounds 外にある状態はその範囲まで減らされます。states 入力は、States プロパティの値も設定します。

プロパティ

すべて展開する

パスの状態空間。状態空間オブジェクトとして指定します。パスの各状態は、指定された状態空間からのサンプルです。stateSpaceSE2stateSpaceDubinsstateSpaceReedsShepp などのオブジェクトを状態空間オブジェクトとして使用できます。nav.StateSpace オブジェクトを使用して状態空間オブジェクトをカスタマイズすることもできます。

データ型: object

パスの状態。実数値の M 行 N 列の行列。M はパス内の状態数で、N は各状態の次元です。このプロパティは、オブジェクトの作成中または関数 append を使用する場合にのみ設定できます。

データ型: double

パス内の状態サンプルの数。非負の整数として指定します。この数は、States プロパティで指定された状態行列の行数と同じです。

データ型: double

オブジェクト関数

appendAdd states to end of path
copyCreate copy of path object
interpolateパスに沿って点を内挿
pathLengthパスの長さ

すべて折りたたむ

Dubins 空間で、複数のウェイポイントに基づいて navPath オブジェクトを作成します。

dubinsSpace = stateSpaceDubins([0 25; 0 25; -pi pi])
dubinsSpace = 
  stateSpaceDubins with properties:

   SE2 Properties
                 Name: 'SE2 Dubins'
          StateBounds: [3x2 double]
    NumStateVariables: 3

   Dubins Vehicle Properties
     MinTurningRadius: 1

pathobj = navPath(dubinsSpace)
pathobj = 
  navPath with properties:

    StateSpace: [1x1 stateSpaceDubins]
        States: [0x3 double]
     NumStates: 0

waypoints = [...
    8 10 pi/2;
    10 12 pi/4;
    12 17 pi/2;
    11 10 -pi];
append(pathobj, waypoints);

ちょうど 250 個の点が含まれるよう、そのパスに内挿を行います。

interpolate(pathobj, 250)

内挿されたパスと元のウェイポイントを可視化します。

figure;
grid on;
axis equal;
hold on;
plot(pathobj.States(:,1), pathobj.States(:,2), ".b");
plot(waypoints(:,1), waypoints(:,2), "*r", "MarkerSize", 10)

Figure contains an axes object. The axes object contains 2 objects of type line.

パスの長さを計算します。

len = pathLength(pathobj);
disp("Path length = " + num2str(len))
Path length = 19.37

バージョン履歴

R2019b で導入