ROS

[ROS noetic] DWA(Dynamic Window Approach) local planner 알고리즘

녕집사 2022. 1. 18. 01:52
반응형

ROS에서 길을 찾기 위한 planner 알고리즘 중 local planner 알고리즘으로 대표적으로 DWA(Dynamic Window Approach) 알고리즘이 있습니다.

 

ROS에서 DWA의 의미

 

  • 평면 상의 robot을 local navigation  하기 위함.
  • 주어진 global planner와  costmap이 있으면 velocity command를 전달함.
  • 블록 다각형, 원형으로 표시하는 모든 로봇 지원 launch 파일에서 파라메타 조정
  • 파라메타들을 동적으로 재구성 가능
  • nav-core 내부의 Base Local Planner 인터페이스를 준수함

 

☞ 알고리즘 설명

  • kinemetic trajectory를 생성하여 시작 지점에서 목표지점으로 이동할 수 있는 궤적(grid cell) 생성
  • grid cell을 통해 비용을 인코딩 함 => 이후 컨트롤러가 로봇에 dx, dy, theta 속도를 결정
  1. (dx, dy, theta)에 대해 개별 샘플링 진행
  2. 샘플링된 속도에 대해 전방 시뮬레이션 수행하여 속도가 일정시간 동안 적용될 경우 어떤 일이 발생할 지 예측
  3. 각각의 궤도에 대한 평가를 수행
  4. 가장 높은 점수를 받은 궤적을 선택 후 이동

- nav_core의 BaseLocalPlanner 인터페이스 준수

 

※ Published Topics

  •  ~<name> / global_plan (nav_msgs/Path)
  •  ~<name> / local_plan (nav_msgs/Path)

 

※ Subscribed Topics

  • odom

 

참고 자료: http://wiki.ros.org/dwa_local_planner

 

반응형