Main Content

interpolate

伝播関数ステップ サイズに基づいてパスを内挿

R2021b 以降

説明

interpolate(pathObj) は、pathObjControlStepSize プロパティに基づいてパスを評価し、すべての中間点をパスに追加します。

すべて折りたたむ

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;
             7 14 pi/4;
             10 17 pi/2;
             10 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. One or more of the lines displays its values using only markers

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

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

入力引数

すべて折りたたむ

制御パス。navPathControl オブジェクトとして指定します。

データ型: double

バージョン履歴

R2021b で導入