Pebble 調整指引

The Pebble Planner 是一個簡單的本地規劃器,旨在密切遵循全球規劃。其優點包括更少的可配置參數,調整指引和更少的擺動運動。

如何運作的呢?

Pebble planner takes the global plan, decimates it to space out the poses as “pebbles”, then tries to reach them one by one.

It does this by rotating towards the next pebble, then accelerating until max velocity is reached.

Setting up

Filepath: catkin_ws/movel_ai/config/movel/config/

File to modify: base_local_planner_params.yaml

Same steps as setting up for TEB Local Planner. In the file, uncomment the section PebbleLocalPlanner to set your local planner to use Pebble.

Filepath: catkin_ws/movel_ai/config/velocity_setter/config/

File to modify: velocity_setter.yaml

Change the param local_planner: "PebbleLocalPlanner".

Make sure you changed the params in both files or else error may be thrown.

Overview of parameters

base_local_planner_params
PebbleLocalPlanner:
 d_min: 0.30
 robot_frame: base_link
 map_frame: map
 xy_goal_tolerance: 0.15
 yaw_goal_tolerance: 0.3925
 kp_linear: 1.0
 ki_linear: 0.0
 kd_linear: 0.0
 kp_angular: 1.0
 ki_angular: 0.0
 kd_angular: 0.1
 max_vel_x: 0.3
 max_vel_theta: 0.785
 acc_lim_x: 0.5
 acc_lim_theta: 0.785
 allow_reverse: true
 th_turn: 1.0472 #1.0472 : 60 deg, how far the robot faces from the waypoint before suppressing linear motion
 local_obstacle_avoidance: true # whether to let the local planner do obsav. If false, rely on the global planner, and planning frequency must not be zero
 N_lookahead: 3 # how many multiples of d_min to look ahead when eval'ing obstacles

Compared to TEB, pebble planner has fewer configurable params.

Configurable Parameters

Can be generally classified as Probably Important, Optional and Can Be Ignored.

Probably Important

d_min - Min distance of the next pose, to qualify as a pebble. If you feel the robot is oscillating too much, increasing this value helps.

allow_reverse - Determines whether the robot can move backwards or not. Set this value to false if you don't want your robot to be moving backwards. Recommended if your robot doesn't have sensors at the back.

acc_lim_theta - Limits the angular rotation. Pebble planner will rotate the robot towards the next pebble, then accelerates towards it (till max speed). Planned path may be straighter if angular acceleration is lowered.

Optional

xy_goal_tolerance - Tolerable distance away from the intended goal.

yaw_goal_tolerance - Angular tolerance between where you want the robot to face and where it actually faces.

acc_lim_x - Limits how fast the robot speeds up to the next pebble. Robots need time to think and stop when it sees an obstacle. Robots may have less time to react if it is previously speeding.

local_obstacle_avoidance - Whether you want Pebble Planner to handle obstacle avoidance or not. Else, obstacle avoidance will be handled by global planner.

N_lookahead - How many pebbles to look ahead when evaluating obstacles.

Can Be Ignored

max_vel_x, max_vel_theta - These values will be set by the UI depending on what values you give there. Can ignore if you are using the UI.

(kp, ki, kd values) - Probably just configurations for differential drive.

Last updated