본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
오늘은 Planner Server는 어떤 걸 쓰며
Planner Server에서 사용되는 Patameter들에는
어떤 것들이 있는지 알아보았다.
[오늘의 수강 영상]
[오늘의 실습]
오늘 실습을 진행하기 위해서
two_wheeled_robot이라는파일을 새롭게
다운로드한 후 새로운 로봇, 새로운 환경에서
실습을 진행하였다.
실습환경은 아래와 같다.
Nav2를 실제로 실행해 보면 아래와 같다.
Planner란?
ROS1의 Global Planner와 동일하며
지도의 알려진 장애물 및 벽 정보를 바탕으로
로봇이 A 지점에서 B 지점까지 이동하는 경로를 찾는다.
Planner Server Parameters에는 2개의 파라미터가 있다.
1. expected_planner_frequency
expected_planner_frequency란?
Planner의 새로운 경로 계산의 빈도수를 지정하는 파라미터이며
double로 정의되고 기본값은 20이다.
2. Planner_plugins
Planner_plugins란?
Planner로 사용할 plugin들을 지정하는 파라미터이며
vector<string>로 정의되고 기본값은 GridBased이다.
제일 많이 알려져있는 Planner_plugins은 5가지 정도 있다.
1. NavFn Planner
NavFn Planner란?
A* 또는 Dijkstra 기반의 최단 경로 탐색기이다.
이는 Differential, Omnidirectional, Legged(4족 보행 로봇)에서
사용할 수 있다.
2. SmacPlannerHybrid
SmacPlannerHybrid란?
하이브리드 A* 알고리즘 기반으로 복잡한 지형에서
효율적이며 3D 환경을 지원한다.
이는 Ackermann(차량), Differential, Omnidirectional, Legged에서
사용할 수 있다.
3. SmacPlanner2D
SmacPlanner2D란?
2D 환경용으로 빠른 경로 계획을 제공하며
저사양 하드웨어에서도 효율적이다.
이는 Differential, Omnidirectional, Legged에서
사용할 수 있다.
4. SmacPlannerLattice
SmacPlannerLattice란?
Grid 기반 경로 계획에 사용되고
다양한 경로 탐색 및 분석에 적합하다.
이는 Differential, Omnidirectional, Ackermann, Legged, Arbitrary / Custom에서
사용할 수 있다.
5. ThetaStarPlanner
ThetaStarPlanner란?
A* 알고리즘을 확장해 직선 경로를 선호하며
더 짧고 현실적인 경로를 생성한다.
이는 Differential, Omnidirectional에서
사용할 수 있다.
우리가 사용하고자 하는 Planner_plugins는
Navfn Planner이다.
Navfn Planner은 ROS1 때부터 매우 안정적으로 사용되어 왔고
ROS2에서는 기본 Global Planner로 사용되기 때문에 이를 선택하였다.
Navfn Planner는 Dijkstra 또는 A*를 사용한다.
1. Dijkstra
Dijkstra란?
어떤 조건에서도 최단 경로를 찾을 수 있도록 하는 알고리즘이다.
2. A*
A*란?
목표를 향해 잠재적 필드를 확장하여
가능한 경로를 더 빨리 찾을 수 있도록하는 알고리즘이다.
이 Planner parameters는 아래와 같이 적혀있고
tolerance는
목표 포즈와 경로 끝 사이의 허용 오차(m)를 의미하며
double로 표시하고 기본값은 0.5이다.
use_astar는
A*의 사용 여부를 나타내며
bool로 표시하고 기본값은 false이다.
false면 Dijkstra, true면 A*이다.
allow_unknown은
알 수 없는 공간(map의 회색 영역)을
갈 수 있는 영역이라고 할지 갈 수 없는 영역이라고 할지 결정 여부를 나타내며
bool로 표시하고 기본값은 true이다.
A*와 Dijkstra를 정말 많이 들어봤었는데
이게 Planner_server에서 사용되는 건지와
어떻게 사용되는 건지 처음 알게 되어서
신기하게 다가왔다.
내일 local planner인 controller Parameter에
대해서 배우고 앞으로 server들을 하나씩 배워볼 텐데
중간에 포기하지 않고 아자아자 파이팅 해보겠다!!!!
#패스트캠퍼스 #직장인자기계발 #직장인공부 #환급챌린지 #패스트캠퍼스후기 #오공완
🎉누적 구매수 111만 건 돌파 감사제 100% 페이백 (04.21 - 04.26) | 패스트캠퍼스
통 크게! 전 구매 고객께 결제 금액을 100% 돌려드립니다!
fastcampus.co.kr