ros-navigation / navigation2

ROS 2 Navigation Framework and System
https://nav2.org/
Other
2.52k stars 1.28k forks source link

Inquiry on Plugin Naming Conventions in nav2_params.yaml #4194

Closed alanxuefei closed 6 months ago

alanxuefei commented 7 months ago

Bug report

The nav2_params.yaml file has two naming styles for plugins, specifically the usage of :: and /.
If the name is not declared in plugin.xml, the default name adopts the type, following the :: style. Should we standardize them?

amcl:
  ros__parameters:
    robot_model_type: "nav2_amcl::DifferentialMotionModel"

bt_navigator:
  ros__parameters:
    navigate_to_pose:
      plugin: "nav2_bt_navigator/NavigateToPoseNavigator"
    navigate_through_poses:
      plugin: "nav2_bt_navigator/NavigateThroughPosesNavigator"

controller_server:
  ros__parameters:
    progress_checker:
      plugin: "nav2_controller::SimpleProgressChecker"
    general_goal_checker:
      plugin: "nav2_controller::SimpleGoalChecker"
    FollowPath:
      plugin: "dwb_core::DWBLocalPlanner"

local_costmap:
  local_costmap:
    ros__parameters:
      inflation_layer:
        plugin: "nav2_costmap_2d::InflationLayer"
      voxel_layer:
        plugin: "nav2_costmap_2d::VoxelLayer"
      static_layer:
        plugin: "nav2_costmap_2d::StaticLayer"

global_costmap:
  global_costmap:
    ros__parameters:
      obstacle_layer:
        plugin: "nav2_costmap_2d::ObstacleLayer"
      static_layer:
        plugin: "nav2_costmap_2d::StaticLayer"
      inflation_layer:
        plugin: "nav2_costmap_2d::InflationLayer"

planner_server:
  ros__parameters:
    GridBased:
      plugin: "nav2_navfn_planner/NavfnPlanner"

smoother_server:
  ros__parameters:
    simple_smoother:
      plugin: "nav2_smoother::SimpleSmoother"

behavior_server:
  ros__parameters:
    spin:
      plugin: "nav2_behaviors/Spin"
    backup:
      plugin: "nav2_behaviors/BackUp"
    drive_on_heading:
      plugin: "nav2_behaviors/DriveOnHeading"
    wait:
      plugin: "nav2_behaviors/Wait"
    assisted_teleop:
      plugin: "nav2_behaviors/AssistedTeleop"

waypoint_follower:
  ros__parameters:
    wait_at_waypoint:
      plugin: "nav2_waypoint_follower::WaitAtWaypoint"
SteveMacenski commented 7 months ago

You bring up a fair point. That would be a great contribution if you’d be able to work on that over the next ~2 weeks so that it could get in before the Jazzy API freeze!

Using the double colons seems like the way to go!

alanxuefei commented 7 months ago

Sure, will refactor them using double colons within this week.

SteveMacenski commented 6 months ago

merged