Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No plugin loaded with the given name "navfn/NavfnROS" #240

Closed
dean4ta opened this issue Nov 10, 2020 · 4 comments
Closed

No plugin loaded with the given name "navfn/NavfnROS" #240

dean4ta opened this issue Nov 10, 2020 · 4 comments

Comments

@dean4ta
Copy link

dean4ta commented Nov 10, 2020

Background

Hi, I am trying to use move_base_flex to replace move_base so I am using move_base_flex with the move_base_legacy_relay node.

Problem Statement

When I publish a /move_base_simple/goal message I am running into an error:
[ERROR] ... The last action goal to "get_path" has been REJECTED
and a warning:
[ WARN] ... No plugin loaded with the given name "navfn/NavfnROS"!

Initial Debug Notes

  1. Locating the package navfn
    When I run:
    rospack find navfn
    this returns
    /opt/ros/melodic/share/navfn
  2. I am able to use move_base fine which also relies on the navfn package

Environment

Ubuntu 18
Melodic
Robot is Simulated
Mapping and Localization with slam_toolbox

Output

Here is the entire output from running the move_base_flex node:

... logging to /root/.ros/log/ec5c7112-2396-11eb-818a-04ed33dd081a/roslaunch-hopper-1849.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
�]2;/root/catkin_ws/src/thor_robot_launch/launch/simple_mbf_launch.launch�
�[1mstarted roslaunch server http://hopper:43105/�[0m

SUMMARY
========

CLEAR PARAMETERS
 * /global_costmap/map_server/

PARAMETERS
 * /move_base_flex/GlobalPlanner/allow_unknown: False
 * /move_base_flex/GlobalPlanner/cost_factor: 0.55
 * /move_base_flex/GlobalPlanner/default_tolerance: 0.0
 * /move_base_flex/GlobalPlanner/lethal_cost: 253
 * /move_base_flex/GlobalPlanner/neutral_cost: 66
 * /move_base_flex/GlobalPlanner/old_navfn_behaviour: False
 * /move_base_flex/GlobalPlanner/use_dijkstra: True
 * /move_base_flex/GlobalPlanner/use_grid_path: False
 * /move_base_flex/GlobalPlanner/use_quadratic: False
 * /move_base_flex/GlobalPlanner/visualize_potential: True
 * /move_base_flex/controllers: [{'type': 'eband_...
 * /move_base_flex/dwa/acc_lim_theta: 10.0
 * /move_base_flex/dwa/acc_lim_x: 0.7
 * /move_base_flex/dwa/acc_lim_y: 0.1
 * /move_base_flex/dwa/angular_sim_granularity: 0.025
 * /move_base_flex/dwa/forward_point_distance: 0.0
 * /move_base_flex/dwa/global_frame_id: map
 * /move_base_flex/dwa/goal_distance_bias: 40.0
 * /move_base_flex/dwa/holonomic_robot: False
 * /move_base_flex/dwa/max_scaling_factor: 0.2
 * /move_base_flex/dwa/max_vel_theta: 2.0
 * /move_base_flex/dwa/max_vel_trans: 2.12
 * /move_base_flex/dwa/max_vel_x: 2.0
 * /move_base_flex/dwa/max_vel_y: 0.0
 * /move_base_flex/dwa/min_vel_theta: 0.4
 * /move_base_flex/dwa/min_vel_trans: 0.1
 * /move_base_flex/dwa/min_vel_x: 0.0
 * /move_base_flex/dwa/min_vel_y: 0.0
 * /move_base_flex/dwa/occdist_scale: 0.2
 * /move_base_flex/dwa/oscillation_reset_dist: 0.1
 * /move_base_flex/dwa/path_distance_bias: 0.1
 * /move_base_flex/dwa/publish_cost_grid_pc: True
 * /move_base_flex/dwa/publish_traj_pc: True
 * /move_base_flex/dwa/scaling_speed: 1.0
 * /move_base_flex/dwa/sim_granularity: 0.025
 * /move_base_flex/dwa/sim_time: 2.0
 * /move_base_flex/dwa/stop_time_buffer: 0.3
 * /move_base_flex/dwa/theta_stopped_vel: 0.1
 * /move_base_flex/dwa/trans_stopped_vel: 0.1
 * /move_base_flex/dwa/vtheta_samples: 20
 * /move_base_flex/dwa/vx_samples: 20
 * /move_base_flex/dwa/vy_samples: 1
 * /move_base_flex/dwa/xy_goal_tolerance: 0.2
 * /move_base_flex/dwa/yaw_goal_tolerance: 0.4
 * /move_base_flex/eband/Ctrl_Rate: 20.0
 * /move_base_flex/eband/bubble_velocity_multiplier: 2.0
 * /move_base_flex/eband/costmap_weight: 10.0
 * /move_base_flex/eband/differential_drive: True
 * /move_base_flex/eband/disallow_hysteresis: False
 * /move_base_flex/eband/eband_equilibrium_approx_max_recursion_depth: 3
 * /move_base_flex/eband/eband_equilibrium_relative_overshoot: 0.75
 * /move_base_flex/eband/eband_external_force_gain: 3.0
 * /move_base_flex/eband/eband_internal_force_gain: 2.0
 * /move_base_flex/eband/eband_min_relative_overlap: 0.7
 * /move_base_flex/eband/eband_significant_force_lower_bound: 0.15
 * /move_base_flex/eband/eband_tiny_bubble_distance: 0.01
 * /move_base_flex/eband/eband_tiny_bubble_expansion: 0.01
 * /move_base_flex/eband/in_place_trans_vel: 0.0
 * /move_base_flex/eband/k_damp: 3.5
 * /move_base_flex/eband/k_prop: 4.0
 * /move_base_flex/eband/marker_lifetime: 0.5
 * /move_base_flex/eband/max_acceleration: 0.2
 * /move_base_flex/eband/max_rotational_acceleration: 0.3
 * /move_base_flex/eband/max_translational_acceleration: 0.4
 * /move_base_flex/eband/max_vel_lin: 1.1
 * /move_base_flex/eband/max_vel_th: 1.2
 * /move_base_flex/eband/min_in_place_vel_th: 0.05
 * /move_base_flex/eband/min_vel_lin: 0.0
 * /move_base_flex/eband/min_vel_th: 0.0
 * /move_base_flex/eband/num_iterations_eband_optimization: 4
 * /move_base_flex/eband/rot_stopped_vel: 0.01
 * /move_base_flex/eband/rotation_correction_threshold: 0.5
 * /move_base_flex/eband/rotation_threshold_multiplier: 1.0
 * /move_base_flex/eband/trans_stopped_vel: 0.01
 * /move_base_flex/eband/virtual_mass: 100.0
 * /move_bas�[0m[ INFO] [1605042580.355131574, 67.532000000]: local_costmap: Using plugin "static_map"�[0m
�[0m[ INFO] [1605042580.360347000, 67.537000000]: Requesting the map...�[0m
�[0m[ INFO] [1605042580.567732094, 67.739000000]: Resizing static layer to 276 X 415 at 0.050000 m/pix�[0m
�[0m[ INFO] [1605042580.670515133, 67.839000000]: Received a 276 X 415 map at 0.050000 m/pix�[0m
�[0m[ INFO] [1605042580.674514669, 67.843000000]: local_costmap: Using plugin "obstacles"�[0m
�[0m[ INFO] [1605042580.680055500, 67.846000000]:     Subscribed to Topics: sick_tim�[0m
�[0m[ INFO] [1605042580.707662660, 67.876000000]: local_costmap: Using plugin "inflation"�[0m
�[0m[ INFO] [1605042580.751172411, 67.915000000]: global_costmap: Using plugin "static_layer"�[0m
�[0m[ INFO] [1605042580.756923148, 67.921000000]: Requesting the map...�[0m
�[0m[ INFO] [1605042580.759411755, 67.924000000]: Resizing costmap to 276 X 415 at 0.050000 m/pix�[0m
�[0m[ INFO] [1605042580.861724173, 68.024000000]: Received a 276 X 415 map at 0.050000 m/pix�[0m
�[0m[ INFO] [1605042580.865386956, 68.028000000]: global_costmap: Using plugin "obstacle_layer"�[0m
�[0m[ INFO] [1605042580.869996627, 68.032000000]:     Subscribed to Topics: laser_scan_sensor�[0m
�[0m[ INFO] [1605042580.887703202, 68.047000000]: global_costmap: Using plugin "inflation_layer"�[0m
�[0m[ INFO] [1605042580.972436299, 68.129000000]: The plugin with the type "global_planner/GlobalPlanner" has been loaded successfully under the name "GlobalPlanner".�[0m
�[0m[ INFO] [1605042581.033787411, 68.188000000]: The plugin with the type "eband_local_planner/EBandPlannerROS" has been loaded successfully under the name "eband".�[0m
�[0m[ INFO] [1605042581.041287757, 68.196000000]: Sim period is set to 0.05�[0m
�[0m[ INFO] [1605042581.103140273, 68.255000000]: The plugin with the type "dwa_local_planner/DWAPlannerROS" has been loaded successfully under the name "dwa".�[0m
�[0m[ INFO] [1605042581.171586755, 68.322000000]: odom received!�[0m
�[0m[ INFO] [1605042597.854262226, 83.920000000]: Shutdown costmap navigation server.�[0m
�[0m[ INFO] [1605042597.854402646, 83.920000000]: Cancel all goals for "get_path".�[0m
�[0m[ INFO] [1605042597.854553970, 83.920000000]: Cancel all goals for "exe_path".�[0m
�[0m[ INFO] [1605042597.854661435, 83.920000000]: Cancel all goals for "recovery".�[0m
�[0m[ INFO] [1605042597.854828734, 83.920000000]: Stopping local and global costmap for shutdown�[0m
e_flex/eband/xy_goal_tolerance: 0.2
 * /move_base_flex/eband/yaw_goal_tolerance: 0.2
 * /move_base_flex/global_costmap/footprint: [[0.17, 0.25], [-...
 * /move_base_flex/global_costmap/global_frame: map
 * /move_base_flex/global_costmap/inflation_radius: 0.55
 * /move_base_flex/global_costmap/laser_scan_sensor/clearing: True
 * /move_base_flex/global_costmap/laser_scan_sensor/data_type: LaserScan
 * /move_base_flex/global_costmap/laser_scan_sensor/marking: True
 * /move_base_flex/global_costmap/laser_scan_sensor/sensor_frame: velodyne
 * /move_base_flex/global_costmap/laser_scan_sensor/topic: /scan
 * /move_base_flex/global_costmap/map_topic: /map
 * /move_base_flex/global_costmap/observation_sources: laser_scan_sensor
 * /move_base_flex/global_costmap/obstacle_range: 2.5
 * /move_base_flex/global_costmap/raytrace_range: 3.0
 * /move_base_flex/global_costmap/robot_base_frame: base_link
 * /move_base_flex/global_costmap/static_map: True
 * /move_base_flex/global_costmap/update_frequency: 7.0
 * /move_base_flex/local_costmap/footprint: [[0.17, 0.25], [-...
 * /move_base_flex/local_costmap/global_frame: odom
 * /move_base_flex/local_costmap/height: 6.0
 * /move_base_flex/local_costmap/inflation/inflation_radius: 0.35
 * /move_base_flex/local_costmap/inflation_radius: 0.55
 * /move_base_flex/local_costmap/laser_scan_sensor/clearing: True
 * /move_base_flex/local_costmap/laser_scan_sensor/data_type: LaserScan
 * /move_base_flex/local_costmap/laser_scan_sensor/marking: True
 * /move_base_flex/local_costmap/laser_scan_sensor/sensor_frame: velodyne
 * /move_base_flex/local_costmap/laser_scan_sensor/topic: /scan
 * /move_base_flex/local_costmap/observation_sources: laser_scan_sensor
 * /move_base_flex/local_costmap/obstacle_range: 2.5
 * /move_base_flex/local_costmap/obstacles/max_obstacle_height: 0.4
 * /move_base_flex/local_costmap/obstacles/observation_sources: sick_tim
 * /move_base_flex/local_costmap/obstacles/publish_voxel_map: True
 * /move_base_flex/local_costmap/obstacles/sick_tim/clearing: True
 * /move_base_flex/local_costmap/obstacles/sick_tim/data_type: LaserScan
 * /move_base_flex/local_costmap/obstacles/sick_tim/marking: True
 * /move_base_flex/local_costmap/obstacles/sick_tim/sensor_frame: laser
 * /move_base_flex/local_costmap/obstacles/sick_tim/topic: scan
 * /move_base_flex/local_costmap/obstacles/z_resolution: 0.05
 * /move_base_flex/local_costmap/obstacles/z_voxels: 10
 * /move_base_flex/local_costmap/plugins: [{'type': 'costma...
 * /move_base_flex/local_costmap/publish_frequency: 10.0
 * /move_base_flex/local_costmap/raytrace_range: 3.0
 * /move_base_flex/local_costmap/resolution: 0.05
 * /move_base_flex/local_costmap/robot_base_frame: base_link
 * /move_base_flex/local_costmap/rolling_window: True
 * /move_base_flex/local_costmap/static_map: False
 * /move_base_flex/local_costmap/update_frequency: 10.0
 * /move_base_flex/local_costmap/width: 6.0
 * /move_base_flex/planner_max_retries: 3
 * /move_base_flex/planner_patience: 10.0
 * /move_base_flex/planners: [{'type': 'global...
 * /move_base_flex/tf_timeout: 1.5
 * /rosdistro: melodic
 * /rosversion: 1.14.9

NODES
  /
    move_base_flex (mbf_costmap_nav/mbf_costmap_nav)
    move_base_legacy_relay (mbf_costmap_nav/move_base_legacy_relay.py)
  /global_costmap/
    map_server (map_server/map_server)

ROS_MASTER_URI=http://localhost:11311

process[global_costmap/map_server-1]: started with pid [1955]
process[move_base_flex-2]: started with pid [1956]
process[move_base_legacy_relay-3]: started with pid [1962]
[ WARN] [1605042651.495310662, 132.787000000]: local_costmap: Pre-Hydro parameter "static_map" unused since "plugins" is provided
[ INFO] [1605042651.496434886, 132.788000000]: local_costmap: Using plugin "static_map"
[ INFO] [1605042651.502277076, 132.794000000]: Requesting the map...
[ INFO] [1605042651.811956705, 133.096000000]: Resizing static layer to 276 X 415 at 0.050000 m/pix
[ INFO] [1605042651.912801802, 133.196000000]: Received a 276 X 415 map at 0.050000 m/pix
[ INFO] [1605042651.915865379, 133.199000000]: local_costmap: Using plugin "obstacles"
[ INFO] [1605042651.918725354, 133.202000000]:     Subscribed to Topics: sick_tim
[ INFO] [1605042651.938458030, 133.221000000]: local_costmap: Using plugin "inflation"
[ WARN] [1605042651.962606714, 133.245000000]: global_costmap: Pre-Hydro parameter "static_map" unused since "plugins" is provided
[ INFO] [1605042651.963414245, 133.246000000]: global_costmap: Using plugin "static_layer"
[ INFO] [1605042651.966500464, 133.249000000]: Requesting the map...
[ INFO] [1605042651.967731929, 133.251000000]: Resizing costmap to 276 X 415 at 0.050000 m/pix
[ INFO] [1605042652.069386860, 133.351000000]: Received a 276 X 415 map at 0.050000 m/pix
[ INFO] [1605042652.071877058, 133.353000000]: global_costmap: Using plugin "obstacle_layer"
[ INFO] [1605042652.075639131, 133.357000000]:     Subscribed to Topics: laser_scan_sensor
[ INFO] [1605042652.087482833, 133.367000000]: global_costmap: Using plugin "inflation_layer"
[ INFO] [1605042652.147332810, 133.428000000]: The plugin with the type "global_planner/GlobalPlanner" has been loaded successfully under the name "GlobalPlanner".
[ INFO] [1605042652.188051383, 133.467000000]: The plugin with the type "eband_local_planner/EBandPlannerROS" has been loaded successfully under the name "eband".
[ INFO] [1605042652.192884577, 133.472000000]: Sim period is set to 0.05
[ INFO] [1605042652.234114387, 133.513000000]: The plugin with the type "dwa_local_planner/DWAPlannerROS" has been loaded successfully under the name "dwa".
[ WARN] [1605042652.234439491, 133.513000000]: No recovery_behaviors plugins configured! - Use the param "recovery_behaviors", which must be a list of tuples with a name and a type.
[ INFO] [1605042652.380946673, 133.656000000]: odom received!
[ WARN] [1605042765.372220516, 238.766000000]: No plugin loaded with the given name "navfn/NavfnROS"!                                                                                                                                         
[ERROR] [1605042765.372962640, 238.767000000]: The last action goal to "get_path" has been REJECTED

Launch File and config files##

I modeled the launch and config files from https://github.com/uos/ceres_robot/tree/master/ceres_navigation

Here is my launch file for mbf:

<?xml version="1.0" ?>
<launch>

  <node name="map_server" pkg="map_server" type="map_server" args="$(find thor_robot_launch)/maps/map.yaml" ns="global_costmap" clear_params="true"/> 
  
  <node pkg="mbf_costmap_nav" type="mbf_costmap_nav" respawn="false" name="move_base_flex" output="screen">
    <param name="tf_timeout" value="1.5"/>
    <param name="planner_max_retries" value="3"/>
    <rosparam file="$(find thor_robot_launch)/config/robots/grover/planners.yaml" command="load" />
    <rosparam file="$(find thor_robot_launch)/config/robots/grover/controllers.yaml" command="load" /> 
    <rosparam file="$(find thor_robot_launch)/config/robots/grover/costmap_common_params.yaml" command="load" ns="global_costmap" /> 
    <rosparam file="$(find thor_robot_launch)/config/robots/grover/costmap_common_params.yaml" command="load" ns="local_costmap" />
    <rosparam file="$(find thor_robot_launch)/config/robots/grover/local_costmap_params.yaml" command="load" />
    <rosparam file="$(find thor_robot_launch)/config/robots/grover/global_costmap_params.yaml" command="load" /> 
    <remap from="/cmd_vel" to="/cmd_vel/move_base" />
  </node>
  
  <node name="move_base_legacy_relay" pkg="mbf_costmap_nav" type="move_base_legacy_relay.py"/>

</launch>

I have attached my config files if those are helpful
planners.yaml.txt
controllers.yaml.txt
costmap_common_params.yaml.txt
local_costmap_params.yaml.txt
global_costmap_params.yaml.txt

Any help would be greatly appreciated.
Thanks,
Dean

@dean4ta
Copy link
Author

dean4ta commented Nov 10, 2020

#60
I believe this is a relevant issue

@spuetz
Copy link
Collaborator

spuetz commented Nov 10, 2020

The default global planner is

base_global_planner (string, default: "navfn/NavfnROS")

But this is not listed in planners.yaml
Either add it to the config file or set the bgp variable in the move_base_legacy_relay.py

@spuetz spuetz closed this as completed Nov 10, 2020
@dean4ta
Copy link
Author

dean4ta commented Nov 12, 2020

Hi Sebastian,

Firstly thanks for the quick reply yesterday. As you suggested, the solution was to add to the planners.yaml:

  - name: 'navfn/NavfnROS'
    type: 'navfn/NavfnROS'

In addition to that I also added to the controllers.yaml:

  - name: 'base_local_planner/TrajectoryPlannerROS'
    type: 'base_local_planner/TrajectoryPlannerROS'

However, I found a bug with the move_base_legacy_relay node with the bgp, blp, and parameters. When setting up the dynamic reconfigure server in this line the MoveBaseConfig is used and overwrites all parameters including bgp, blp. I made a hack fix by only changing bgp and blp when they are set to None, but the rest of my parameters were still overwritten.

I am willing to make changes and submit a PR, but I want to know your thoughts.

Dean

@corot
Copy link
Collaborator

corot commented Nov 12, 2020

Hi @dean4ta, not sure if I get the latest problem, but,,, what you said is correct, that is, that line triggers a first call to reconfigure that will use all the parameters that you define under 'move_base' namespace. So if you choose a base_local/global_planner, it will be added there:

image

Otherwise, the fields will contain the default values:

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants