global costmap position
Hi,
I'm new to ROS and I'm trying to get my robot simulation in gazebo work with the navigation stack. I've followed the navigation stack tutorials but when I set a goal position in the rviz, I get the error:
[ WARN] [1405397031.898957310, 340.132000000]: The robot's start position is off the global costmap. Planning will always fail, are you sure the robot has been properly localized?
Here are my navigation stack configurations:
costmap_common_params:
obstacle_range: 2.5
raytrace_range: 3.0
footprint: [[-0.2,-0.2],[-0.2,0.2], [0.2, 0.2], [0.2,-0.2]]
#robot_radius: 0.20
inflation_radius: 0.55
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: lms100, data_type: LaserScan, topic: /p3dx/laser/scan, marking: true, clearing: true}
global_costmap_params:
global_frame: /map
robot_base_frame: base_link
update_frequency: 5.0
static_map: true
local_costmap_params:
global_frame: odom
robot_base_frame: base_link
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 6.0
height: 6.0
resolution: 0.05
transform_tolerance: 0.8 # seconds
base_local_planner_params:
TrajectoryPlannerROS:
max_vel_x: 0.45
min_vel_x: 0.1
max_rotational_vel: 1.0
min_in_place_rotational_vel: 0.4
acc_lim_th: 3.2
acc_lim_x: 2.5
acc_lim_y: 2.5
holonomic_robot: false
move_base.launch:
<launch>
<master auto="start"/>
<!-- Run the map server -->
<!-- <node name="map_server" pkg="map_server" type="map_server" args="$(find p3dx_description)/launch/map.yaml my_map" output="screen"/> -->
<!--- Run AMCL -->
<include file="$(find amcl)/examples/amcl_omni.launch" />
<!-- <include file="$(find erratic_navigation)/navigation_slam/slam_gmapping.launch" /> -->
<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
<rosparam file="$(find p3dx_description)/launch/costmap_common_params.yaml" command="load" ns="global_costmap" />
<rosparam file="$(find p3dx_description)/launch/costmap_common_params.yaml" command="load" ns="local_costmap" />
<rosparam file="$(find p3dx_description)/launch/local_costmap_params.yaml" command="load" />
<rosparam file="$(find p3dx_description)/launch/global_costmap_params.yaml" command="load" />
<rosparam file="$(find p3dx_description)/launch/base_local_planner_params.yaml" command="load" />
</node>
</launch>
gazebo.launch which contains gmapping:
<launch>
<!-- these are the arguments you can pass this launch file, for example
paused:=true -->
<arg name="paused" default="false" />
<arg name="use_sim_time" default="true" />
<arg name="gui" default="true" />
<arg name="headless" default="false" />
<arg name="debug" default="false" />
<!-- We resume the logic in empty_world.launch, changing only the name of
the world to be launched -->
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(find p3dx_gazebo)/worlds/p3dx.world" />
<arg name="debug" value="$(arg debug)" />
<arg name="gui" value="$(arg gui)" />
<arg name="paused" value="$(arg paused)" />
<arg name="use_sim_time" value="$(arg use_sim_time)" />
<arg name="headless" value="$(arg headless)" />
</include>
<!-- Load the URDF into the ROS Parameter Server -->
<param name="robot_description"
command="$(find xacro)/xacro.py '$(find p3dx_description)/urdf/pioneer3dx.xacro'" />
<!-- Run a python script to the send a service call to gazebo_ros to spawn
a URDF robot -->
<node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model"
respawn="false" output="screen" args="-urdf -model p3dx -param robot_description" />
<!-- ros_control p3rd launch file -->
<!-- <include file="$(find p3dx_control)/launch/control.launch" /> -->
<!-- kasra -->
<node pkg="p3dx_gazebo" name="mimic_cmd_vel" type="mimic_cmd_vel" />
<!-- convert joint states to TF transforms for rviz, etc -->
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"
respawn="false" output="screen">
<remap from="/joint_states" to="/p3dx/joint_states" />
</node>
<node ...