본문 바로가기

작업 일기

DWA Planner 파라미터 정리

- 참고 : http://wiki.ros.org/dwa_local_planner

 

 


Robot Configuration Parameters


- acc_lim_x (double, default: 2.5)
로봇의 x 가속도 한계 (m/s2)

- acc_lim_y (double, default: 2.5)
로봇의 y 가속도 한계 (m/s2)

- acc_lim_th (double, default: 3.2)
로봇의 회전 가속도 한계 (rad/s2)

- max_vel_trans (double, default: 0.55)
로봇에 대한 최대 변환 속도의 절대값 (m/s)

- min_vel_trans (double, default: 0.1)
로봇에 대한 최소 변환 속도의 절대값 (m/s)

- max_vel_x (double, default: 0.55)
로봇의 최대 x 속도 (m/s)

- min_vel_x (double, default: 0.0)
로봇의 최소 x 속도 (역방향 동작의 경우 음수) (m/s)

- max_vel_y (double, default: 0.1)
로봇의 최대 y 속도 (m/s)

- min_vel_y (double, default: -0.1)
로봇의 최소 y 속도 (역방향 동작의 경우 음수) (m/s)

- max_rot_vel (double, default: 1.0)
로봇의 최대 회전 속도의 절대값 (rad/s)

- min_rot_vel (double, default: 0.4)
로봇의 최소 회전 속도의 절대값 (rad/s)

 

 

 

 

Goal Tolerance Parameters

 

- yaw_goal_tolerance (double, default: 0.05)
목표 달성 시 회전 제어에 대한 허용치 (rad)

- xy_goal_tolerance (double, default: 0.10)
목표 달성 시 x,y 거리 제어에 대한 허용치 (m)

- latch_xy_goal_tolerance (bool, default: false)
목표 허용치가 걸렸을 경우,
로봇이 목표x,y 위치에 도달한 경우,
로봇이 목표 허용치를 벗어나는 경우,
로봇이 제자리에서 단순히 회전

 

 

 

 

Forward Simulation Parameters


- sim_time (double, default: 1.7)
궤적을 전진 시뮬레이션하는 데 걸리는 시간(s)
(적으면 빠르게 이동하지만, 정확도는 떨어질 듯)
(많으면 딜레이 타임이 생기지만, 정확도는 높을 듯)

- sim_granularity (double, default: 0.025)
주어진 궤도의 점 사이를 취할 단계 크기(m)
(m가 적을 수록 좀 더 정확하고 세분화된 궤도를 이동할 듯)

- vx_samples (integer, default: 3)
 x 속도 공간을 탐색할 때 사용할 표본의 수

- vy_samples (integer, default: 10)
 y 속도 공간을 탐색할 때 사용할 표본의 수

- vth_samples (integer, default: 20)
 theta 속도 공간을 탐색할 때 사용할 표본의 수

- controller_frequency (double, default: 20.0)
이 컨트롤러가 호출되는 주파수


 

 

 

Trajectory Scoring Parameters


- path_distance_bias (double, default: 32.0)
컨트롤러가 주어진 경로에 근접해야하는 양에 대한 가중치

- goal_distance_bias (double, default: 24.0)
컨트롤러가 로컬 목표에 도달하기 위해 시도해야하는 양에 대한 가중치
또한 속도를 제어

- occdist_scale (double, default: 0.01)
컨트롤러가 장애물을 피하기 위해 시도해야하는 양에 대한 가중치

- forward_point_distance (double, default: 0.325)
로봇의 중심점에서 추가 점수 매기기까지의 거리(m)

- stop_time_buffer (double, default: 0.2)
로봇이 충돌 전에 정지해야하는 시간(s)

- scaling_speed (double, default: 0.25)
로봇 footprint 스케일링을 시작할 속도의 절대값(m/s)

- max_scaling_factor (double, default: 0.2)
로봇 footprint 스케일을 조정할 수 있는 최대 요인

- publish_cost_grid (bool, default: false)
플래너가 경로 계획을 할 때 사용할 비용 그리드를 게시할지의 여부
true라면 cost_cloud 항목에 sensor_msgs/PointCloud2를 사용할 수 있음
각 포인트 클라우드는 비용 그리드를 나타내며 각 셀에 대한 전체 비용뿐만 아니라 각 개별 스코어링 함수 구성 요소에 대한 필드를 가지고 스코어링 매개 변수를 고려함.


 

 

 

Oscillation Prevention Parameters


- oscillation_reset_dist (double, default: 0.05)
진동 플래그가 재설정되기 전에 로봇이 이동해야하는 거리(m)


 

 

 

Goal Plan Parameters


- prune_plan (bool, default: true)
로봇이 경로를 따라 이동할 때, 계획을 모두 사용할지 여부
true라면 로봇이 1m를 지나면 계획 끝부분에서 점이 떨어짐









 

로봇 이동시 끊김 현상(?)이 발생함에 따라 파라미터들을 하나씩 수정해봄

결과 : 속도를 높인 상태에서 가속도가 낮아서 끊김 현상이 발생한 것.

가속도 값을 높이니 문제가 해결

 

acc_lim_x : 0.4 =>  1.0

acc_lim_y : 0.0

acc_lim_theta : 0.2 => 0.5