controllerPurePursuit
일련의 웨이포인트를 따라가도록 제어기 생성
설명
controllerPurePursuit
System object™는 차동 구동 이동체가 일련의 웨이포인트를 따라가도록 만드는 데 사용하는 제어기 객체를 생성합니다. 객체는 현재 자세가 주어지면 이동체의 선속도와 각속도를 계산합니다. 업데이트된 자세와 함께 객체를 연속적으로 호출하면 이동체에 업데이트된 속도 명령이 전달됩니다. MaxAngularVelocity
속성과 DesiredLinearVelocity
속성을 사용하여 이동체의 성능을 기준으로 속도를 업데이트합니다.
LookaheadDistance
속성은 이동체의 로컬 목표 지점인 경로상의 전방 주시 지점(look-ahead point)을 계산합니다. 각속도 명령은 이 점을 기준으로 계산됩니다. LookaheadDistance
를 변경할 경우 알고리즘의 성능에 상당한 영향을 미칩니다. 전방 주시 거리가 길수록 이동체의 궤적이 더 평활하게 되지만 이동체가 경로를 따르면서 코너를 무시하게 될 수도 있습니다. 전방 주시 거리가 짧으면 경로를 따르면서 진동이 발생하여 불안정한 동작을 야기할 수 있습니다. Pure Pursuit 알고리즘에 대한 자세한 내용은 Pure Pursuit 제어기 항목을 참조하십시오.
선속도 제어 명령과 각속도 제어 명령을 계산하려면 다음을 수행합니다.
controllerPurePursuit
객체를 만들고 속성을 설정합니다.함수를 호출하는 것처럼 인수를 사용하여 객체를 호출합니다.
System object의 작동 방식에 대해 자세히 알아보려면 System Object란? 항목을 참조하십시오.
생성
설명
는 pure pursuit 알고리즘을 사용하여 차동 구동 이동체에 대한 선속도와 각속도 입력값을 계산하는 pure pursuit 객체를 생성합니다.controller
= controllerPurePursuit
는 하나 이상의 controller
= controllerPurePursuit(Name,Value)Name,Value
쌍으로 지정된 추가 옵션을 사용하여 pure pursuit 객체를 생성합니다. 여기서 Name은 속성 이름이고 Value는 대응하는 값입니다. Name은 작은따옴표(' '
)로 묶어야 합니다. Name1,Value1,...,NameN,ValueN
과 같이 여러 개의 이름-값 쌍 인수를 임의의 순서로 지정할 수 있습니다. 지정되지 않은 속성은 디폴트 값을 유지합니다.
예: controller = controllerPurePursuit('DesiredLinearVelocity', 0.5)
속성
사용
설명
입력 인수
출력 인수
객체 함수
객체 함수를 사용하려면 System object를 첫 번째 입력 인수로 지정하십시오. 예를 들어 obj
라는 System object의 시스템 리소스를 해제하려면 다음 구문을 사용합니다.
release(obj)
예제
확장 기능
버전 내역
R2019b에 개발됨
참고 항목
binaryOccupancyMap
| occupancyMap
(Navigation Toolbox) | mobileRobotPRM