본문으로 바로가기

 

 

ROS DWB Local Planner Error


ROSrobot_navigation Package 중 dwb_local_planner 사용 시 Goal 지점에서 다음과 같은 오류 메시지를 뿜어내며 Goal Align 을 못하는 경우가 있다.

 

computeVelocityCommands exception: No valid trajectories out of 248! 

Align 을 진행하지 못하기 때문에 골 명령을 반복해서 새롭게 받게 되고, 결국에는 Aborting 되어 골 정렬이 이루어지지 못하고 로봇의 네비게이션 동작이 불완전 종료가 된다. 문제를 해결하기 위해서 local PlannerParameter 을 확인해볼 필요가 있다.

 

dwb_local_planner_params


 

dwb_local_planner_params.yaml
...
base_local_planner: nav_core_adapter::LocalPlannerAdapter
LocalPlannerAdapter:
  planner_name: dwb_local_planner::DWBLocalPlanner
DWBLocalPlanner:
  # Robot configuration
  max_vel_x:  0.8
  min_vel_x:  0.2

  max_vel_y: 0.0  
  min_vel_y: 0.0  

  max_speed_xy: 0.8    
  min_speed_xy: 0.1    
...

 

위 블록은dwb_local_planner_params.yaml 파일의 일부이다. 여기서,min_vel_x가 양의 값으로 지정되어 있는 것을 볼 수 있다. 음의 값이 아닌 양의 값으로 최소 속도가 지정되어 있는 경우 서두에서 언급한 문제가 발생할 수 있다.

 

dwb_local_planner는 Goal 명령을 받으면 우선적으로 로봇의 Heading을 Goal Topic에 담긴Orientation Pose 로 정렬 후 이동을 하게 되는 데, 이 때 최소 속도가 음의 값이 아닌 양의 값이면 해당 시퀀스를 제대로 수행하지 못하고 이동이 진행되어 도착 지점에서 문제가 생기는 것으로 보인다.

 

따라서,min_vel_x 를 -0.1 혹은 -0.2 정도로 변경한 후 테스트를 진행하니 서두의 문제가 해결되는 것을 확인할 수 있었다.

 

Problem Solution

더보기
DWBLocalPlanner:
...
  min_vel_x:  -0.2 (Change to Negative Value)      
...