Hi all,
I am working on the summit XL navigation project. I have the whole system configured up until the local costmap. Looking at the /move_base/local_costmap/costmap topic, the local costmap is published but has all 0’s and is never updated after initialization. When passing a goal to the move_base node, the service outputs an error “DWA local planner could not produce path”. It would appear its “obstacle_layer” is not subscribing to the laser topic but I think it is defined properly. Is there a parameter I am missing / have miss defined?
See the output and configuration parameters below:
Move Base Params
controller_frequency: 5.0
recovery_behaviour_enabled: true # See more info below
NavfnROS:
allow_unknown: true # Specifies whether or not to allow navfn to create plans that traverse unknown space.
default_tolerance: 0.1 # A tolerance on the goal point for the planner.
#visualize_potential: false
#planner_window_x: 0.0
#planner_window_y: 0.0
TrajectoryPlannerROS:
Robot Configuration Parameters
acc_lim_x: 2.5
acc_lim_theta: 3.2
max_vel_x: 1.0
min_vel_x: 0.0
max_vel_theta: 1.0
min_vel_theta: -1.0
min_in_place_vel_theta: 0.2
holonomic_robot: false
escape_vel: -0.1
Goal Tolerance Parameters
yaw_goal_tolerance: 0.1
xy_goal_tolerance: 0.2
latch_xy_goal_tolerance: false
Forward Simulation Parameters
sim_time: 2.0
sim_granularity: 0.02
angular_sim_granularity: 0.02
vx_samples: 6
vtheta_samples: 20
controller_frequency: 20.0
Trajectory scoring parameters
meter_scoring: true # Whether the gdist_scale and pdist_scale parameters should assume that goal_distance and path_distance are expressed in units of meters or cells. Cells are assumed by default (false).
occdist_scale: 0.1 #The weighting for how much the controller should attempt to avoid obstacles. default 0.01
pdist_scale: 0.75 # The weighting for how much the controller should stay close to the path it was given . default 0.6
gdist_scale: 1.0 # The weighting for how much the controller should attempt to reach its local goal, also controls speed default 0.8
heading_lookahead: 0.325 #How far to look ahead in meters when scoring different in-place-rotation trajectories
heading_scoring: false #Whether to score based on the robot’s heading to the path or its distance from the path. default false
heading_scoring_timestep: 0.8 #How far to look ahead in time in seconds along the simulated trajectory when using heading scoring (double, default: 0.8)
dwa: true #Whether to use the Dynamic Window Approach (DWA)_ or whether to use Trajectory Rollout
simple_attractor: false
publish_cost_grid_pc: true
Oscillation Prevention Parameters
oscillation_reset_dist: 0.25 #How far the robot must travel in meters before oscillation flags are reset (double, default: 0.05)
escape_reset_dist: 0.1
escape_reset_theta: 0.1
Local Costmap Params
global_frame: summit_xl_a_odom #CHANGED from odom, Tried: summit_xl_a_base_footprint, summit_xl_a_base_link. These are lower down tf Tree and changed nothing
rolling_window: true #must be set to true
plugins:
- {name: obstacles_laser, type: “costmap_2d::ObstacleLayer”}
- {name: inflation, type: “costmap_2d::InflationLayer”}
Global Planner Params
NavfnROS:
visualize_potential: false
allow_unknown: false
planner_window_x: 0.0
planner_window_y: 0.0
default_tolerance: 0.0
Global Costmap Params
global_frame: map
rolling_window: false #just adjust windows in Rviz. If static true, this must be false
track_unknown_space: true
plugins:
- {name: static, type: “costmap_2d::StaticLayer”} #Add costmap Configuration Layer, use predetermined plugin
- {name: obstacles_laser, type: “costmap_2d::VoxelLayer”} #^^Used to initialize cost map based on static map
- {name: obstacles, type: “costmap_2d::VoxelLayer”} #POTENTIAL SUBSTITUTE FOR ABOVE LINE
- {name: inflation, type: “costmap_2d::InflationLayer”} #inflate obstacles
DWA Local Planner Params
DWAPlannerROS:
Robot configuration parameters
acc_lim_x: 2.5
acc_lim_y: 0
acc_lim_th: 3.2
max_vel_x: 0.5
min_vel_x: 0.0
max_vel_y: 0
min_vel_y: 0
max_trans_vel: 0.5
min_trans_vel: 0.1
max_rot_vel: 1.0
min_rot_vel: 0.2
Goal Tolerance Parameters
yaw_goal_tolerance: 0.1
xy_goal_tolerance: 0.2
latch_xy_goal_tolerance: false
Debugging
publish_traj_pc : true
publish_cost_grid_pc: true
global_frame_id: summit_xl_a_odom
Costmap Common Params
footprint: [[-0.5, -0.33], [-0.5, 0.33], [0.5, 0.33], [0.5, -0.33]]
footprint_padding: 0.01
robot_base_frame: summit_xl_a_base_link #CHANGED, was base_link but matches tf_view
update_frequency: 4.0
publish_frequency: 3.0
transform_tolerance: 0.5
resolution: 0.05
obstacle_range: 5.5
raytrace_range: 6.0
#layer definitions
static:
map_topic: /map
subscribe_to_updates: true
obstacles_laser: #Changed Topic -->
observation_sources: laser #CHANGED: Was "scan"1, "/hokuyo_base/scan"2
laser: {data_type: LaserScan, clearing: true, marking: true, topic: hokuyo_base/scan, inf_is_valid: true}
inflation:
inflation_radius: 1.0