Local planner costmap is empty

asked 2020-02-27 13:26:37 -0500

MarosROS gravatar image

Hi, I am trying to configure move_base node so i can use navigation of multiple robots. I am working with turtlebots 3 and I am using namespaces tb3_0, tb3_1 and so on. It seems ok except my local costmap is empty so my robots do not detect narrow spaces or new obstacles and they just follow path made by global planner. Global costmap is ok. This problem is happening only when using namespaces.

I cannot figure out what is the problem here, so it would be helpful if you would at least recommend something to help me find the problem because i am still beginner to ROS so I am not sure what i should look for. Thanks.

This is how it looks like in rviz

My code:

move_base.launch for tb3_0:

<launch>
<!-- Arguments -->
<arg name="model" default="$(env TURTLEBOT3_MODEL)" doc="model type [burger, waffle, waffle_pi]"/>
<arg name="cmd_vel_topic" default="cmd_vel" />
<arg name="odom_topic" default="odom" />
<arg name="move_forward_only" default="true"/>

<!-- move_base -->
<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
<param name="base_local_planner" value="dwa_local_planner/DWAPlannerROS" />
<rosparam file="$(find turtlebot3_navigation)/param/costmap_common_params_$(arg model).yaml" command="load" ns="global_costmap" />
   <rosparam file="$(find turtlebot3_navigation)/param/costmap_common_params_$(arg model).yaml" command="load" ns="local_costmap" />
<rosparam file="$(find turtlebot3_navigation)/param/local_costmap_params.yaml" command="load" />
<rosparam file="$(find turtlebot3_navigation)/param/global_costmap_params.yaml" command="load" />
<rosparam file="$(find turtlebot3_navigation)/param/move_base_params.yaml" command="load" />
<rosparam file="$(find turtlebot3_navigation)/param/dwa_local_planner_params_$(arg model).yaml" command="load" />
<param name="global_costmap/robot_base_frame" value="tb3_0/base_footprint"/>
<param name="local_costmap/robot_base_frame" value="tb3_0/base_footprint"/>
<param name="local_costmap/global_frame" value="tb3_0/odom"/>
<param name="DWAPlannerROS/min_vel_x" value="0.0" if="$(arg move_forward_only)" />
<remap from="scan" to="tb3_0/scan"/>
<remap from="/map" to="/tb3_0/map"/>

</node> </launch>

local_costmap_params.yaml:

local_costmap:
  global_frame: odom
  robot_base_frame: base_footprint
  update_frequency: 10.0
  publish_frequency: 10.0
  transform_tolerance: 0.5  
  static_map: false  
  rolling_window: true
  width: 3
  height: 3
  resolution: 0.05

global_costmap_params.yaml:

global_costmap:
  global_frame: map
  robot_base_frame: base_footprint
  update_frequency: 10.0
  publish_frequency: 10.0
  transform_tolerance: 0.5
  static_map: true

costmap_commom_params.yaml

obstacle_range: 2.5
raytrace_range: 3.5

footprint: [[-0.105, -0.105], [-0.105, 0.105], [0.041, 0.105], [0.041, -0.105]]
#robot_radius: 0.105

inflation_radius: 0.1
cost_scaling_factor: 0.5

map_type: costmap
observation_sources: scan
scan: {sensor_frame: base_scan, data_type: LaserScan, topic: scan, marking: true, clearing: true}
edit retag flag offensive close merge delete