waypointTrajectory
웨이포인트 궤적 생성기
설명
waypointTrajectory System object™는 지정된 웨이포인트를 기반으로 궤적을 생성합니다. System object를 생성할 때 각 웨이포인트에서의 도달 시간, 속도, 대지 속도(ground speed)를 지정할 수 있습니다. 또한 각 웨이포인트에서의 방향과 같은 다른 속성을 선택적으로 지정할 수 있습니다. 자세한 내용은 알고리즘 항목을 참조하십시오.
웨이포인트에서 궤적을 생성하려면 다음을 수행하십시오.
waypointTrajectory객체를 만들고 속성을 설정합니다.함수를 호출하는 것처럼 객체를 호출합니다.
System object의 작동 방식에 대해 자세히 알아보려면 System object란? 항목을 참조하십시오.
생성
구문
설명
는 디폴트 정지 웨이포인트(stationary waypoint)를 기반으로 궤적을 생성하는 System object인 trajectory = waypointTrajectorytrajectory를 반환합니다.
은 생성된 궤적이 각 웨이포인트를 통과하는 도달 시간을 지정합니다. 자세한 내용은 trajectory = waypointTrajectory(Waypoints,TimeOfArrival)TimeOfArrival 속성을 참조하십시오.
팁
TimeOfArrival 인수를 지정하는 경우 다음 속성을 지정해서는 안 됩니다.
JerkLimitInitialTimeWaitTime
는 생성된 궤적이 각 웨이포인트를 통과할 때의 대지 속도를 지정합니다. 자세한 내용은 trajectory = waypointTrajectory(Waypoints,GroundSpeed=groundSpeed)GroundSpeed 속성을 참조하십시오.
는 생성된 궤적이 각 웨이포인트를 통과할 때의 속도를 지정합니다. 자세한 내용은 trajectory = waypointTrajectory(Waypoints,Velocities=velocities)Velocities 속성을 참조하십시오.
는 이름-값 인수를 사용하여 각 속성을 설정합니다. 지정되지 않은 속성은 디폴트 값이나 유추된 값을 가집니다. 이 구문을 위에 열거된 구문 중 하나와 함께 사용할 수 있습니다.trajectory = waypointTrajectory(___,Name=Value)
예: trajectory = waypointTrajectory([10,10,0;20,20,0;20,20,10],[0,0.5,10])은 웨이포인트 [10,10,0]에서 시작하여 0.5초 후 [20,20,0]을 통과하고 10초 후 [20,20,10]을 통과하는 웨이포인트 궤적 System object인 trajectory를 생성합니다.
속성
사용
설명
[는 지정된 생성 인수와 속성을 기반으로 궤적 데이터의 프레임을 출력합니다.position,orientation,velocity,acceleration,angularVelocity] = trajectory()
출력 인수
객체 함수
객체 함수를 사용하려면 System object를 첫 번째 입력 인수로 지정하십시오. 예를 들어 obj라는 System object의 시스템 리소스를 해제하려면 다음 구문을 사용합니다.
release(obj)
예제
알고리즘
waypointTrajectory System object는 웨이포인트를 부드럽게 통과하는 궤적을 정의합니다. 이 궤적은 궤적 기준 프레임에서 중력 방향이 일정하다는 가정을 바탕으로 웨이포인트들을 보간하여 연결합니다. 일반적으로 waypointTrajectory를 사용하여 수백 킬로미터 이내의 거리 범위에서 플랫폼이나 이동체의 궤적을 모델링할 수 있습니다.
궤적의 평면 경로(x-y 평면 투영)는 조각별 클로소이드 곡선으로 구성됩니다. 2개의 연속된 웨이포인트 사이 곡선의 곡률은, 그 사이의 곡선 길이에 대해 선형으로 변화합니다. 진로가 Course 속성을 통해 명시적으로 지정되거나 Velocities 속성을 통해 암묵적으로 지정된 경우를 제외하고는, 각 웨이포인트에서의 진로 접선 방향은 곡률의 불연속성을 최소화하도록 선택됩니다. 경로가 정해지면, 객체는 3차 에르미트 보간을 사용하여, 시간과 평면 이동 거리의 함수로서 경로 전반에 걸친 이동체의 위치를 계산합니다. JerkLimit 속성이 지정된 경우, 객체는 두 웨이포인트 사이의 각 구간에 대해 수평 사다리꼴 가속도 프로파일을 생성합니다. 사다리꼴 가속도 프로파일은 다음의 세 하위 구간으로 구성됩니다.
저크 크기가 일정한 하위 구간
가속도 크기가 일정한 하위 구간
저크 크기가 일정한 하위 구간
이후 궤적의 법선 성분(z 성분)은, ClimbRate 속성이나 Velocities 속성의 세 번째 열을 통해 상승률이 명시적으로 지정되어 있지 않는 한, 형태 보존 조각별 스플라인(PCHIP)을 충족하도록 선택됩니다. 선택한 ReferenceFrame에 따라 상승률의 부호를 선택합니다.
'ENU' 기준 프레임을 선택한 경우, 양의 상승률을 지정하면 z 값이 증가합니다.
'NED' 기준 프레임을 선택한 경우, 양의 상승률을 지정하면 z 값이 감소합니다.
경로를 따라가는 이동체의 방향은 다음 두 가지 주요 방법으로 정의할 수 있습니다.
Orientation속성이 지정된 경우, 객체는 조각별 3차 쿼터니언 스플라인을 사용하여 시간 함수로서 경로를 따라가는 방향을 계산합니다.Orientation속성이 지정되지 않은 경우, 이동체의 요(yaw)는 항상 경로의 방향에 맞춰 정렬됩니다. 롤과 피치는 각각AutoBank속성값과AutoPitch속성값에 의해 결정됩니다.AutoBankAutoPitch설명 falsefalse이동체가 항상 수평입니다(피치와 롤이 0임). 이는 일반적으로 대형 선박에 사용됩니다. falsetrue이동체의 피치가 경로 방향에 맞춰 정렬되며 롤은 항상 0으로 유지됩니다. 이는 일반적으로 지상 이동체에 사용됩니다. truefalse중력을 포함한 순 가속도 방향에 로컬 z축이 정렬되도록 이동체의 피치와 롤이 선택됩니다. 이는 일반적으로 회전익 항공기에 사용됩니다. truetrue중력을 포함한 순 가속도 방향에 로컬 횡방향 평면(local transverse plane)이 정렬되도록 이동체의 롤이 선택됩니다. 이동체의 피치는 경로 방향에 맞춰 정렬됩니다. 이는 일반적으로 2륜 이동체와 고정익 항공기에 사용됩니다.






















