ITS Path Planner Plugin Customization#
The ROS 2 navigation bring-up application is started using the TurtleBot* 3 Gazebo* simulation, and it receives as input parameter its_nav2_params.yaml.
Check the code snippet from 01_docker_sdk_env/docker_compose/05_tutorials/its_path_planner.tutorial.yml:
export TURTLEBOT3_MODEL=waffle
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/home/eiforamr/ros2_ws/install/turtlebot3_gazebo/share/turtlebot3_gazebo/models/
ros2 launch nav2_bringup tb3_simulation_launch.py params_file:=${CONTAINER_BASE_PATH}/01_docker_sdk_env/docker_compose/05_tutorials/param/its_nav2_params.yaml
To use the ITS path planner plugin, the following parameters are added in its_nav2_params.yaml:
planner_server:
ros__parameters:
expected_planner_frequency: 0.01
use_sim_time: True
planner_plugins: ["GridBased"]
GridBased:
plugin: "its_planner/ITSPlanner"
interpolation_resolution: 0.05
catmull_spline: False
smoothing_window: 15
buffer_size: 10
build_road_map_once: True
min_samples: 250
roadmap: "PROBABLISTIC"
w: 32
h: 32
n: 2
ITS Path Planner Plugin Parameters#
catmull_spline:
If true, the generated path from the ITS is interpolated with the catmull spline method; otherwise, a smoothing filter is used to smooth the path.
smoothing_window:
The window size for the smoothing filter (The unit is the grid size.)
buffer_size:
During roadmap generation, the samples are generated away from obstacles. The buffer size dictates how far away from obstacles the roadmap samples should be.
build_road_map_once:
If true, the roadmap is loaded from the saved file; otherwise, a new roadmap is generated.
min_samples:
The minimum number of samples required to generate the roadmap
roadmap:
Either PROBABILISTIC or DETERMINISTIC
w:
The width of the window for intelligent sampling
h:
The height of the window for intelligent sampling
n:
The minimum number of samples that is required in an area defined by w
and
h
You can modify these values by editing the file below, at lines 251-267:
01_docker_sdk_env/docker_compose/05_tutorials/param/its_nav2_params.yaml