Pebble Tuning Guide
The Pebble Planner is a simple local planner that is designed to follow the global plan closely. Advantages of Pebble Planner include fewer configurable parameters and less oscillating motions.
How it works
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 the maximum 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 parameterlocal_planner: "PebbleLocalPlanner"
.
Make sure you changed the parameters in both files or else an error may be thrown.
Overview of parameters
Compared to TEB, the pebble planner has fewer configurable parameters.
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 backward or not. Set this value to false if you don't want your robot to be moving backward. Recommended if your robot doesn't have sensors at the back.
acc_lim_theta - Limits the angular rotation. The pebble planner will rotate the robot towards the next pebble, then accelerates towards it (till max speed). The 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 a 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 it if you are using the UI.
(kp, ki, kd values) - Configurations for a differential drive.
Last updated