-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
As we can see, in the param file, we can find different type of controller with different param, having different feature.
Eurobot-2026-Navigation2/src/navigation2_run/params/nav2_params_default.yaml
Lines 147 to 218 in 6778933
| DidilongController: | |
| plugin: "custom_controller::CustomController" | |
| external_velocity_data_path: "$(find-pkg-share navigation2_run)/params/dynamic_params/nav_didilong_params.yaml" | |
| max_linear_vel: 1.5 | |
| max_angular_vel: 1.0 | |
| linear_kp: 2.2 | |
| angular_kp: 3.7 | |
| transform_tolerance: 0.1 | |
| look_ahead_distance: 0.2 | |
| speed_decade: 0.125 | |
| costmap_tolerance: 95 # rival is 98 | |
| keep_planning: false | |
| non_stop_min_vel: 0.3 | |
| Fast: | |
| plugin: "custom_controller::CustomController" | |
| external_velocity_data_path: "$(find-pkg-share navigation2_run)/params/dynamic_params/nav_fast_params.yaml" | |
| max_linear_vel: 1.1 | |
| max_angular_vel: 12.0 | |
| linear_kp: 2.2 | |
| angular_kp: 3.7 | |
| transform_tolerance: 0.1 | |
| look_ahead_distance: 0.2 | |
| speed_decade: 0.125 | |
| costmap_tolerance: 95 # rival is 98 | |
| keep_planning: false | |
| spin_delay_threshold: 0.5 | |
| rival_slowdown_radius: 0.5 | |
| rival_decay: 0.5 | |
| non_stop_min_vel: 0.3 | |
| Slow: | |
| plugin: "custom_controller::CustomController" | |
| external_velocity_data_path: "$(find-pkg-share navigation2_run)/params/dynamic_params/nav_slow_params.yaml" | |
| max_linear_vel: 0.8 | |
| max_angular_vel: 2.0 | |
| linear_kp: 2.2 | |
| angular_kp: 3.7 | |
| transform_tolerance: 0.1 | |
| look_ahead_distance: 0.2 | |
| speed_decade: 0.125 | |
| costmap_tolerance: 95 # rival is 98 | |
| keep_planning: false | |
| non_stop_min_vel: 0.3 | |
| LinearBoost: | |
| plugin: "custom_controller::CustomController" | |
| external_velocity_data_path: "$(find-pkg-share navigation2_run)/params/dynamic_params/nav_linearBoost_params.yaml" | |
| max_linear_vel: 1.1 | |
| max_angular_vel: 2.0 | |
| linear_kp: 2.2 | |
| angular_kp: 3.7 | |
| transform_tolerance: 0.1 | |
| look_ahead_distance: 0.2 | |
| speed_decade: 0.125 | |
| costmap_tolerance: 95 # rival is 98 | |
| keep_planning: false | |
| non_stop_min_vel: 0.3 | |
| AngularBoost: | |
| plugin: "custom_controller::CustomController" | |
| external_velocity_data_path: "$(find-pkg-share navigation2_run)/params/dynamic_params/nav_angularBoost_params.yaml" | |
| max_linear_vel: 0.5 | |
| max_angular_vel: 12.0 | |
| linear_kp: 2.2 | |
| angular_kp: 3.7 | |
| transform_tolerance: 0.1 | |
| look_ahead_distance: 0.2 | |
| speed_decade: 0.125 | |
| costmap_tolerance: 95 # rival is 98 | |
| keep_planning: false | |
| non_stop_min_vel: 0.3 |
please look into your teb controller implementation, mock the functionality of each controller, and test if each work on both rviz2 and real robot.
For [custom_controller] to have these parameters to set, it defined:
| declare_parameter_if_not_declared(node, plugin_name_ + ".max_linear_vel", rclcpp::ParameterValue(0.7)); | |
| declare_parameter_if_not_declared(node, plugin_name_ + ".min_linear_vel", rclcpp::ParameterValue(0.0)); | |
| declare_parameter_if_not_declared(node, plugin_name_ + ".max_angular_vel", rclcpp::ParameterValue(3.0)); | |
| declare_parameter_if_not_declared(node, plugin_name_ + ".min_angular_vel", rclcpp::ParameterValue(0.0)); | |
| declare_parameter_if_not_declared(node, plugin_name_ + ".max_linear_acc", rclcpp::ParameterValue(0.3)); | |
| declare_parameter_if_not_declared(node, plugin_name_ + ".max_angular_acc", rclcpp::ParameterValue(1.0)); | |
| declare_parameter_if_not_declared(node, plugin_name_ + ".yaw_goal_tolerance", rclcpp::ParameterValue(0.01)); | |
| declare_parameter_if_not_declared(node, plugin_name_ + ".angular_kp", rclcpp::ParameterValue(4.0)); | |
| declare_parameter_if_not_declared(node, plugin_name_ + ".linear_kp", rclcpp::ParameterValue(1.5)); | |
| declare_parameter_if_not_declared(node, plugin_name_ + ".transform_tolerance", rclcpp::ParameterValue(0.1)); | |
| declare_parameter_if_not_declared(node, plugin_name_ + ".look_ahead_distance", rclcpp::ParameterValue(1.0)); | |
| declare_parameter_if_not_declared(node, plugin_name_ + ".costmap_tolerance", rclcpp::ParameterValue(60)); | |
| declare_parameter_if_not_declared(node, plugin_name_ + ".speed_decade", rclcpp::ParameterValue(0.7)); | |
| declare_parameter_if_not_declared(node, plugin_name_ + ".keep_planning", rclcpp::ParameterValue(true)); | |
| declare_parameter_if_not_declared(node, plugin_name_ + ".spin_delay_threshold", rclcpp::ParameterValue(0.5)); | |
| declare_parameter_if_not_declared(node, plugin_name_ + ".non_stop_min_vel", rclcpp::ParameterValue(0.3)); |
Look into your implementation of teb, what parameter did you define? Can they be used and tuned to make different type of controller?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels