Main Content

interpolate

상태 사이의 보간

R2019b 이후

설명

예제

interpStates = interpolate(space,state1,state2,ratio)는 지정된 보간 비율 ratio에 따라, 지정된 시작 상태 state1과 종료 상태 state2 사이의 상태를 보간합니다.

예제

모두 축소

디폴트 속성을 사용하여 SE(2) 상태공간을 생성합니다.

space = stateSpaceSE2
space = 
  stateSpaceSE2 with properties:

                 Name: 'SE2'
          StateBounds: [3x2 double]
    NumStateVariables: 3
             WeightXY: 1
          WeightTheta: 0.1000

2차원 공간에서 한 쌍의 상태를 생성합니다.

state1 = [2 10 -pi];
state2 = [0 -2.5 -pi/4];

두 상태 사이의 중간을 보간합니다.

state = interpolate(space,state1,state2,0.5)
state = 1×3

    1.0000    3.7500   -1.9635

고정 간격으로 여러 점을 보간합니다.

states = interpolate(space,state1,state2,0:0.02:1)
states = 51×3

    2.0000   10.0000   -3.1416
    1.9600    9.7500   -3.0945
    1.9200    9.5000   -3.0473
    1.8800    9.2500   -3.0002
    1.8400    9.0000   -2.9531
    1.8000    8.7500   -2.9060
    1.7600    8.5000   -2.8588
    1.7200    8.2500   -2.8117
    1.6800    8.0000   -2.7646
    1.6400    7.7500   -2.7175
      ⋮

디폴트 속성을 사용하여 SE(3) 상태공간을 생성합니다.

space = stateSpaceSE3
space = 
  stateSpaceSE3 with properties:

                 Name: 'SE3'
          StateBounds: [7x2 double]
    NumStateVariables: 7
            WeightXYZ: 1
     WeightQuaternion: 0.1000

3차원 공간에서 한 쌍의 상태를 생성합니다.

state1 = [2 10 3 0.2 0 0 0.8];
state2 = [0 -2.5 4 0.7 0.3 0 0];

두 상태 사이의 중간을 보간합니다.

state = interpolate(space,state1,state2,0.5)
state = 1×7

    1.0000    3.7500    3.5000    0.7428    0.2519         0    0.6203

고정 간격으로 여러 점을 보간합니다.

states = interpolate(space,state1,state2,0:0.02:1)
states = 51×7

    2.0000   10.0000    3.0000    0.2425         0         0    0.9701
    1.9600    9.7500    3.0200    0.2663    0.0109         0    0.9638
    1.9200    9.5000    3.0400    0.2899    0.0217         0    0.9568
    1.8800    9.2500    3.0600    0.3133    0.0326         0    0.9491
    1.8400    9.0000    3.0800    0.3365    0.0434         0    0.9407
    1.8000    8.7500    3.1000    0.3594    0.0542         0    0.9316
    1.7600    8.5000    3.1200    0.3821    0.0650         0    0.9218
    1.7200    8.2500    3.1400    0.4045    0.0757         0    0.9114
    1.6800    8.0000    3.1600    0.4266    0.0864         0    0.9003
    1.6400    7.7500    3.1800    0.4484    0.0969         0    0.8886
      ⋮

입력 인수

모두 축소

state space 객체로, stateSpaceSE2 객체 또는 stateSpaceSE3 객체, stateSpaceDubins 객체 또는 stateSpaceReedsShepp 객체로 지정됩니다.

보간을 위한 시작 상태로, 실수 값 요소를 3개 또는 7개 가진 벡터로 정의됩니다.

2차원 state space 객체 stateSpaceSE2, stateSpaceDubins, stateSpaceReedsShepp의 경우, 상태는 [x y theta] 형식의 벡터입니다. 이는 상태공간에서 상태의 xy 위치와 방향 각도 theta를 정의합니다.

3차원 state space 객체 stateSpaceSE3의 경우, 상태는 [x y z qw qx qy qz] 형식의 벡터입니다. 이는 상태공간에서 상태의 xyz 위치와 쿼터니언 방향 [qw qx qy qz]를 정의합니다.

데이터형: single | double

보간을 위한 종료 상태로, 실수 값 요소를 3개 또는 7개 가진 벡터로 정의됩니다.

2차원 state space 객체 stateSpaceSE2, stateSpaceDubins, stateSpaceReedsShepp의 경우, 상태는 [x y theta] 형식의 벡터입니다. 이는 상태공간에서 상태의 xy 위치와 방향 각도 theta를 정의합니다.

3차원 state space 객체 stateSpaceSE3의 경우, 상태는 [x y z qw qx qy qz] 형식의 벡터입니다. 이는 상태공간에서 상태의 xyz 위치와 쿼터니언 방향 [qw qx qy qz]를 정의합니다.

데이터형: single | double

보간 비율로, 범위 [0, 1] 내의 스칼라로 지정되거나 범위 [0, 1] 내의 값을 n개 가진 열 벡터로 지정됩니다. n은 보간할 점의 개수입니다.

데이터형: single | double

출력 인수

모두 축소

보간된 상태로, 실수 값으로 구성된 n×3 행렬 또는 n×7 행렬로 반환됩니다. n은 ratio 입력 인수에 의해 지정된 보간 점의 개수입니다.

2차원 state space 객체 stateSpaceSE2, stateSpaceDubins, stateSpaceReedsShepp의 경우, 각 행은 [x y theta] 형식을 가집니다. 이는 보간된 상태의 xy 위치와 방향 각도 theta를 정의합니다.

3차원 state space 객체 stateSpaceSE3의 경우, 각 행은 [x y z qw qx qy qz] 형식을 가집니다. 이는 보간된 상태의 xyz 위치와 쿼터니언 방향 [qw qx qy qz]를 정의합니다.

데이터형: single | double

버전 내역

R2019b에 개발됨