Why is the navigation stack not planning a path?
I'm running ROS Kinetic on a Nvidia Jetson TX1. AMCL works fine. However, when I send a navigation goal through rviz, it is published on /move_base_simple/goal
, but move_base
does not publish anything on /move_base/current_goal
or plan a path. There are no errors or warnings. I am using a 2D 270° Hokuyo laser scanner for observation. The navigation stack creates both local and global costmaps successfully, but no path is planned no matter where I place a goal. I don't think this matters, but I'm using tf2
instead of tf
. Has anyone had a similar issue and/or know why the navigation stack is not planning a path? My parameter files are below:
base_local_planner_params.yaml
TrajectoryPlannerROS:
max_vel_x: 0.3
min_vel_x: 0.1
max_vel_theta: 0.4
min_in_place_vel_theta: 0.2
acc_lim_theta: 3.2
acc_lim_x: 2.5
acc_lim_y: 2.5
meter_scoring: true
holonomic_robot: false
costmap_common_params.yaml
obstacle_range: 10.0
raytrace_range: 12.0
footprint: [[-0.22, 0.26], [0.22, 0.26], [0.22, -0.26], [-0.22, -0.26]]
inflation_radius: 0.5
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: laser, data_type: LaserScan, topic: scan, marking: true, clearing: true}
global_costmap_params.yaml
global_costmap:
global_frame: map
robot_base_frame: base_link
update_frequency: 2.0
static_map: true
local_costmap_params.yaml
local_costmap:
global_frame: odom
robot_base_frame: base_link
update_frequency: 2.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 6.0
height: 6.0
resolution: 0.05
controller_frequency: 5.0
move_base.launch
<launch>
<!-- map server -->
<arg name="map" default="$(find solace)/maps/hallway2_cleared.yaml" />
<node name="map_server" pkg="map_server" type="map_server" args="$(arg map)" />
<!-- amcl -->
<arg name="scan_topic" default="scan" />
<node pkg="amcl" type="amcl" name="amcl" output="screen">
<param name="odom_model_type" value="diff" />
<param name="odom_alpha5" value="0.1" />
<param name="gui_publish_rate" value="4.0" />
<param name="laser_max_beams" value="60" />
<param name="laser_max_range" value="12.0" />
<param name="min_particles" value="500" />
<param name="max_particles" value="2000" />
<param name="kld_err" value="0.01" />
<param name="kld_z" value="0.99" />
<param name="odom_alpha1" value="0.3" />
<param name="odom_alpha2" value="0.3" />
<param name="odom_alpha3" value="0.3" />
<param name="odom_alpha4" value="0.3" />
<param name="laser_z_hit" value="0.5" />
<param name="laser_z_short" value="0.05" />
<param name="laser_z_max" value="0.05" />
<param name="laser_z_rand" value="0.5" />
<param name="laser_sigma_hit" value="0.2" />
<param name="laser_lambda_short" value="0.1" />
<param name="laser_model_type" value="likelihood_field" />
<param name="laser_likelihood_max_dist" value="2.0" />
<param name="update_min_d" value="0.15" />
<param name="update_min_a" value="0.2" />
<param name="odom_frame_id" value="gmapping_map" />
<param name="base_frame_id" value="base_link" />
<param name="resample_interval" value="1" />
<param name="transform_tolerance" value="0.5" />
<param name="recovery_alpha_slow" value="0.001" />
<param name="recovery_alpha_fast" value="0.1" />
<remap from="scan" to="$(arg scan_topic)" />
<remap from="map" to="navigation_map" />
</node>
<!-- navigation stack -->
<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
<rosparam file="$(find solace)/config/racecar-v2/costmap_common_params.yaml" command="load" ns="global_costmap" />
<rosparam file="$(find solace)/config/racecar-v2/costmap_common_params.yaml" command="load" ns="local_costmap" />
<rosparam file="$(find solace)/config/racecar-v2/local_costmap_params.yaml" command="load" />
<rosparam file="$(find solace)/config/racecar-v2/global_costmap_params.yaml" command ...
what is the output of move_base? what is the status of your goal:
rostopic echo /move_base/status
?sorry, I made an error in my question, which I've fixed. When I send a navigation goal through rviz, it is published on
/move_base_simple/goal
, butmove_base
does not publish anything on/move_base/current_goal
or plan a path.the status of the goal has an empty
frame_id
andstatus_list
is empty.Did you forget loading the param file
base_global_planner_params.yaml
which specifies which global planner you would like to use?Hm, the navigation stack robot setup tutorial doesn't say anything about a
base_global_planner_params.yaml
file. Is the file necessary? If so, what should I put in it?See section "2.4 Base Local Planner Configuration" of the tutorial and 2.5. for the launch file.
Adding a
base_global_planner_params.yaml
file did not fix it.You did add a rosparam load tag for global planner params file, right? Can you post the output of move_base launch after adding the tag for loading global planner?