Navigation2 Conclusion
목표: navigation2 에 대한 결론
전제조건
앞의 과정을 다 끝내고 와야 합니다. ROS2에 대한 기본 개념이 없으면 이해하기 힘들 수 있습니다.
우리는 기존에 zeta2_bringup 패키지의 zeta2_bringup.launch.py 파일을 실행하는 것으로 로봇이 기본적인 모든 구성 요소들을 불러올 수 있었습니다.
다양한 navigation 의 planner 와 controller 또한 알아 봤습니다.
1 플래너
다양한 플래너들을 공부했습니다. 지금 이 로봇에 완벽하게 최적화가 되어있지는 않을 것입니다.
앞으로 다른 로봇을 자율 주행하기 위해서라면 다양한 플래너 들 중에서 상황에 맞는 플래너를 선택하고 그에 맞는 값들을 잘 선정해야 할 것입니다.
2 컨트롤러
다양한 컨트롤러들을 공부했습니다. 지금 이 로봇에 완벽하게 최적화가 되어있지는 않을 것입니다.
앞으로 다른 로봇을 자율 주행하기 위해서라면 다양한 컨트롤러 들 중에서 상황에 맞는 컨트롤러를 선택하고 그에 맞는 값들을 잘 선정해야 할 것입니다.
3 smoother(스무더)
navigation2의 스무더는 플래너가 생성한 경로를 미세하게 조정하고 개선하는 역할을 합니다.
이는 로봇이 부드럽고 연속적인 경로를 따르고, 갑작스러운 움직임을 최소화하며 전체적인 내비게이션 성능을 향상시킵니다.
하지만 이런 작은 로봇 같은 경우에는 오히려 스무더가 있으니 계산량도 늘어나고 원하는 결과가 나오지 않을 수 있습니다.
체험해보고 싶다면 zeta2_navigation_smoother.launch.py 예제도 실행해 볼 수 있습니다.
자세한 내용은 smoother server 의 내용을 참고하시길 바랍니다.
요약
navigation2 를 사용하기 전에
먼저 어떤 로봇인지 로봇의 형태나, 로봇의 목적, 로봇의 사양을 선정하고 navigation2 에 사용될
planner 와 controller, smoother 까지 잘 선정하고 테스트 해보면 자신의 로봇에 맞는 자율주행을 개발할 수 있을 것입니다.