본문 바로가기

[패스트캠퍼스 11월 환급 챌린지]

패스트캠퍼스 환급 챌린지 34일차 : Planner 파라미터 튜닝

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. ]

https://fastcampus.info/4oKQD6b

 

커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스

성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.

fastcampus.co.kr

 

 

https://fastcampus.co.kr/data_online_selfdriving

 

자율주행 로봇을 위한 ROS 2 & SLAM & Nav2 한번에 끝내기 | 패스트캠퍼스

로봇 입문 시작점 ROS 2부터 자율주행 로봇을 위한 SLAM & Navigation2 와 시뮬레이터를 활용한 자율주행 로봇 실습까지 한번에

fastcampus.co.kr

본 글은 위 강의를 참고하여 작성되었습니다

 

 

 

[강의시작 | 강의종료]

 

 

 

 

[완강 인증]

 

 

 

[학습 내용]

 

-필기 내용-

 

-param.yaml-

 

-Path Planning 1-

동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.

 

 

 

-Path Planning 2-

동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.

 

 

 

[강의 후기]

 

Path Planning 파라미터 튜닝에 대한 실습을 진행했습니다.

 

-yaml-

Path Planning을 위해 필요한 파라미터들을 정의하는 param.yaml 파일은 각 map 폴더에 위치해 있습니다.

param.yaml의 내용은 다음과 같습니다.

이후에 다룰 플러그인을 정의하는 부분입니다.

 

 

 

-플러그인-

: Path Planning의 동작 방식을 변경할 수 있습니다.

  • NavFn Planner
    : A* 또는 Dijkstra 기반의 최단 경로 탐색합니다.
  • SmacPlannerHybrid
    : 하이브리드 A* 알고리즘 기반, 복잡한 지형에서 효율적이며 3D 환경을 지원합니다.
  • SmacPlanner2D
    : 2D 환경용, 빠른 경로 계획을 제공하고 저사양 하드웨어에서 효율적입니다.
  • SmacPlannerLattice
    : Grid 기반 경로 계획, 다양한 경로 탐색 및 분석에 적합합니다.
  • ThetaStarPlanner
    : A* 알고리즘을 확장해 직성 경로를 선호하며, 더 짧고 현실적인 경로를 생성합니다.

 

 

 

-생각해 볼 점-

이번 강의에서는 Path Planner의 파라미터 튜닝에 대해 학습하고 실습했습니다. Path Planner를 수행할 때 참고하는 yaml파일 속에 속성을 정의하는 param들을 확인할 수 있다는것을 param.yaml 학습 사진에서 확인해 볼 수 있었습니다. 이번 강의에서 주로 다룬것은 param은 플러그인이었습니다. 플러그인은 Path Planning의 동작 방식, 속성 자체를 정의하는 것으로 종류에 따라 다른 결과가 나타날 수 있습니다. 기본으로 사용하는 플러그인은 A*를 기반으로 한 NavfnPlanner라는 것을 학습 사진에서 확인할 수 있습니다. 여기서 A*는 칸마다 값을 매겨 목적지까지 가는 경로의 최소값을 찾는 길 찾기 알고리즘입니다. 3D 환경을 고려해야 한다면 3D 환경을 지원하는 SmacPlannerHybrid, 짧은 경로를 지원하는 ThetaStarPlanner와 같이 상황에 맞는 플러그인을 사용하면 되겠습니다. Path Planner 1,2 영상을 보면, 로봇이 느리게 움직이고 화전할때의 버벅임을 확인할 수 있습니다. 이를 생각해본다면 지금 실습 환경에서 사용해야되는 플러그인은 저사양 하드웨어에서 효율적인 SmacPlanner2D가 적합하겠습니다. 실제로 무인 자율주행 자동차가 주행을 한다면 3D 길찾기가 필요할 것입니다. 덤프 트럭 같이 차체가 높은 차량들이 고가도로, 터널을 지날 때 차량과의 규격이 맞지 않으면 큰 사고가 일어날 수 있기 때문입니다. 2D 데이터로는 3차원 데이터를 사용할 수 없어 일반적인 내비게이션의 역할이나 위험신호 알림 정도의 기능을 수행할 수 있겠습니다. 이처럼 상황에 맞는 플러그인이 어떤 것이고 고려해야 할 사항이 무엇인지 판단하는것이 중요하겠습니다. 상황에 따라 필요한 플러그인이 무엇이고 어떻게 사용할 수 있는지 추가로 다양한 상황을 찾아보고 공부 할 예정입니다.