Pure Pursuit
![](pure_pursuit_block_24a.png)
라이브러리:
Robotics System Toolbox /
Mobile Robot Algorithms
Navigation Toolbox /
Control Algorithms
설명
Pure Pursuit 블록은 일련의 웨이포인트와 차동 구동 이동체의 현재 자세를 사용하여 경로를 따라가기 위한 선속도 명령과 각속도 명령을 계산합니다. 또한 업데이트된 자세를 사용하여 이동체가 적절한 일련의 웨이포인트를 따라서 경로를 따라가도록 이동체에 대한 속도 명령을 업데이트합니다. 최대 각속도 파라미터와 목표 선속도 파라미터를 사용하여 이동체의 성능을 기준으로 속도를 업데이트하십시오.
전방 주시 거리 포트 및 파라미터는 이동체의 순시 로컬 목표 지점인 경로상의 전방 주시 지점을 계산합니다. 각속도 명령은 이 점을 기준으로 계산됩니다. 전방 주시 거리를 변경할 경우 알고리즘의 성능에 상당한 영향을 미칩니다. 전방 주시 거리가 길수록 이동체의 궤적이 더 평활하게 되지만 이동체가 경로를 따르면서 코너를 무시하게 될 수도 있습니다. 전방 주시 거리가 너무 짧으면 경로를 따르면서 진동이 발생하여 불안정한 동작을 야기할 수 있습니다. pure pursuit 알고리즘에 대한 자세한 내용은 Pure Pursuit 제어기 항목을 참조하십시오.
포트
입력
Pose — 이동체의 현재 자세
[x y theta]
벡터
이동체의 현재 자세로, [x y theta]
벡터로 지정됩니다. 여기서 x-y는 위치이고 theta는 방향 각입니다. 양의 각은 양의 x축에서부터 반시계 방향으로 측정됩니다.
Waypoints — 웨이포인트
[ ] (디폴트 값) | n×2 배열
웨이포인트로, [x y]
쌍의 n×2 배열로 지정됩니다. 여기서 n은 웨이포인트 개수입니다. mobileRobotPRM
(Robotics System Toolbox)과 같은 경로 플래너를 사용하여 웨이포인트를 생성하거나 Simulink®에서 웨이포인트를 배열로 지정할 수 있습니다.
Desired Linear Velocity — 선속도
스칼라(단위: 초당 미터)
목표 선속도로, 스칼라로 지정됩니다(단위: 초당 미터). 제어기는 이동체가 일정한 선속도로 구동되며 계산된 각속도는 선속도와 독립적인 것으로 가정합니다.
종속성
이 포트를 활성화하려면 입력 포트에서 목표 선속도 지정 파라미터를 선택합니다.
Lookahead Distance — 전방 주시 거리
스칼라(단위: 초당 미터)
전방 주시 거리로, 스칼라로 지정됩니다(단위: 초당 미터). 전방 주시 거리에 따라 제어기의 응답이 달라집니다. 전방 주시 거리가 상대적으로 긴 이동체는 평활화된 경로를 따르지만 코너에서 더 크게 선회합니다. 전방 주시 거리가 상대적으로 짧은 이동체는 경로를 바짝 따라가면서 급선회하지만 경로를 따르면서 진동합니다. 전방 주시 거리의 영향에 대한 자세한 내용은 Pure Pursuit 제어기 항목을 참조하십시오.
종속성
이 포트를 활성화하려면 입력 포트에서 전방 주시 거리 지정 파라미터를 선택합니다.
출력
Linear Velocity — 선속도
스칼라(단위: 초당 미터)
선속도로, 스칼라로 반환됩니다(단위: 초당 미터).
데이터형: double
Angular Velocity — 각속도
스칼라(단위: 초당 라디안)
각속도로, 스칼라로 반환됩니다(단위: 초당 라디안).
데이터형: double
Target Direction — 이동체의 타깃 방향
스칼라(라디안)
이동체의 타깃 방향으로, 스칼라로 반환됩니다(단위: 라디안). 이동체의 정방향은 0 라디안으로 간주되며, 이때 양의 각도는 반시계 방향으로 측정한 값입니다. 이 출력값은 Vector Field Histogram 블록에서 TargetDir 포트에 대한 입력값으로 사용할 수 있습니다.
종속성
이 포트를 활성화하려면 Target Direction 출력 포트 표시 파라미터를 선택합니다.
파라미터
입력 포트에서 목표 선속도 지정 — 목표 선속도에 대한 입력 포트 활성화
off
(디폴트 값) | on
Desired Linear Velocity 입력 포트에서 목표 선속도의 입력을 활성화하려면 이 파라미터를 선택합니다.
목표 선속도(m/s) 파라미터를 사용하여 목표 선속도를 지정하려면 이 파라미터를 선택 해제합니다.
목표 선속도(m/s) — 선속도
0.1
(디폴트 값) | 스칼라
목표 선속도로, 스칼라로 지정됩니다(단위: 초당 미터). 제어기는 이동체가 일정한 선속도로 구동되며 계산된 각속도는 선속도와 독립적인 것으로 가정합니다.
종속성
이 파라미터를 활성화하려면 입력 포트에서 목표 선속도 지정 파라미터를 선택 해제합니다.
최대 각속도(rad/s) — 각속도
1.0
(디폴트 값) | 스칼라
최대 각속도로, 스칼라로 지정됩니다(단위: 초당 라디안). 제어기는 주어진 값에서 절댓값 각속도의 출력값을 포화시킵니다.
입력 포트에서 전방 주시 거리 지정 — 전방 주시 거리에 대한 입력 포트 활성화
off
(디폴트 값) | on
Lookahead Distance 입력 포트에서 전방 주시 거리의 입력을 활성화하려면 이 파라미터를 선택합니다.
전방 주시 거리(m) 파라미터를 사용하여 목표 선속도를 지정하려면 이 파라미터를 선택 해제합니다.
전방 주시 거리(m) — 전방 주시 거리
1.0
(디폴트 값) | 스칼라
전방 주시 거리로, 스칼라로 지정됩니다(단위: 미터). 전방 주시 거리에 따라 제어기의 응답이 달라집니다. 전방 주시 거리가 상대적으로 긴 이동체는 평활화된 경로를 따르지만 코너에서 더 크게 선회합니다. 전방 주시 거리가 상대적으로 짧은 이동체는 경로를 바짝 따라가면서 급선회하지만 경로를 따르면서 진동합니다. 전방 주시 거리의 영향에 대한 자세한 내용은 Pure Pursuit 제어기 항목을 참조하십시오.
종속성
이 파라미터를 활성화하려면 입력 포트에서 전방 주시 거리 지정 파라미터를 선택 해제합니다.
Target Direction 출력 포트 표시 — 타깃 방향 표시
off
(디폴트 값) | on
Target Direction 출력 포트를 활성화하려면 이 파라미터를 선택합니다. 이 포트는 정방향 위치로부터의 각도(단위: 라디안)로 타깃 방향을 지정하며, 이때 양의 각도는 반시계 방향으로 측정한 값입니다.
다음을 사용하여 시뮬레이션 — 실행할 시뮬레이션 유형
코드 생성
(디폴트 값) | 인터프리터형 실행
인터프리터형 실행
— MATLAB® 인터프리터를 사용하여 모델을 시뮬레이션합니다. 이 옵션은 시작 시간을 줄일 수 있지만코드 생성
보다 시뮬레이션 속도가 느립니다. 이 모드에서는 블록의 소스 코드를 디버그할 수 있습니다.코드 생성
— 생성된 C 코드를 사용하여 모델을 시뮬레이션합니다. 시뮬레이션을 처음 실행하면 Simulink는 블록에 대한 C 코드를 생성합니다. 이 C 코드는 모델이 바뀌지 않는 한 후속 시뮬레이션에 재사용됩니다. 이 옵션은 시작 시간이 조금 더 걸리지만 이후 시뮬레이션 속도는인터프리터형 실행
과 대등합니다.
조정 가능: No
확장 기능
C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
버전 내역
R2019b에 개발됨R2024a: 선속도와 전방 주시 거리를 입력 포트에서 지정하며, 출력 포트의 이름이 변경됨
Pure Pursuit 블록에 다음과 같은 두 가지 변경 사항이 있습니다.
이제 입력 포트에서 목표 선속도 지정 파라미터를 선택하여 Desired Linear Velocity 입력 포트에서 목표 선속도를 지정할 수 있습니다.
이제 입력 포트에서 전방 주시 거리 지정 파라미터를 선택하여 Lookahead Distance 입력 포트에서 목표 선속도를 지정할 수 있습니다.
출력 포트와 파라미터가 새로운 이름을 가지게 되었습니다. 이 표에는 R2024a 이전 버전에서의 이름과 R2024a 및 그 이후 버전에서의 이름이 나와 있습니다.
R2024a 이전 버전에서의 이름 R2024a 및 그 이후 버전에서의 이름 LinVel 출력 포트 Linear Velocity 출력 포트 AngVel 출력 포트 Angular Velocity 출력 포트 TargetDir 출력 포트 Target Direction 출력 포트 TargetDir 출력 포트 표시 파라미터 Target Direction 출력 포트 표시 파라미터
참고 항목
블록
클래스
도움말 항목
- Simulink에서 차동 구동 로봇의 경로 계획하기 (Robotics System Toolbox)
- Path Following with Obstacle Avoidance in Simulink®
- Pure Pursuit 제어기
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)