unable to find goal using ros-navigation
hi, i want to navigate P3AT (in USARSim @windows PC1) from ROS (Fuerte @UBUNTU PC2). i am using ros navigation stack for auto navigation.
but after setting goal in rviz, robot just roam around left - right and start moving to random location.
here are the files you may want to look,
base_local_planner_params.yaml
TrajectoryPlannerROS:
# for details see: http://www.ros.org/wiki/base_local_planner
max_vel_x: 0.2
min_vel_x: 0.05
max_rotational_vel: 0.5
min_in_place_rotational_vel: 0.1
acc_lim_th: 3.2
acc_lim_x: 2.5
acc_lim_y: 0
holonomic_robot: true
# goal tolerance parameters
yaw_goal_tolerance: 0.1
xy_goal_tolerance: 0.2
latch_xy_goal_tolerance: true
costmap_common_params.yaml
obstacle_range: 2.5
raytrace_range: 3.0
footprint: [[0.305, 0.278], [0.04, 0.193], [-0.04, 0.193], [-0.282, 0.178], [-0.282, -0.178], [-0.04, -0.193], [0.04, -0.193], [0.305, -0.278]]
#footprint: [[0.075, 0.178], [0.04, 0.193], [-0.04, 0.193], [-0.282, 0.178], [-0.282, -0.178], [-0.04, -0.193], [0.04, -0.193], [0.075, -0.178]]
#robot_radius: ir_of_robot
inflation_radius: 0.6
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: openni_depth_frame, data_type: LaserScan, topic: scan, marking: true, clearing: true}
global_costmap_params.yaml
global_costmap:
global_frame: /map
robot_base_frame: /base_footprint
update_frequency: 5.0
static_map: true
move_base_params.yaml
controller_frequency: 10
controller_patience: 15.0
oscillation_timeout: 10.0
oscillation_distance: 0.5
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: 1.0
acc_lim_x: 0.5
acc_lim_y: 0.5
path_distance_bias: 50.0
goal_distance_bias: 0.8
holonomic_robot: false
local_costmap_params.yaml
local_costmap:
global_frame: /map
robot_base_frame: /base_footprint
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 6.0
height: 6.0
# origin_x: -0.115
origin_x: 7.5
origin_y: 7.5
resolution: 0.05
move_base.launch
<launch>
<!-- Run the map server -->
<node name="map_server" pkg="map_server" type="map_server" args="$(find my_robot_name_2dnav)/map/map.pgm 0.05"/>
<!--- You can see original move_base.launch -->
<!--- Run AMCL -->
rosparam set use_sim_time true
<include file="$(find usarsim_inf)/launch/usarsim.launch"/>
<include file="$(find amcl)/examples/amcl_omni.launch" />
<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
<rosparam file="$(find my_robot_name_2dnav)/launch/costmap_common_params.yaml" command="load" ns="global_costmap" />
<rosparam file="$(find my_robot_name_2dnav)/launch/costmap_common_params.yaml" command="load" ns="local_costmap" />
<rosparam file="$(find my_robot_name_2dnav)/launch/local_costmap_params.yaml" command="load" />
<rosparam file="$(find my_robot_name_2dnav)/launch/global_costmap_params.yaml" command="load" />
<rosparam file="$(find my_robot_name_2dnav)/launch/move_base_params.yaml" command="load" />
</node>
<node pkg="gmapping" type="slam_gmapping" respawn="false" name="slam_gmapping" args="scan:=lms200" >
</node>
<node pkg="rviz" type="rviz" respawn="false" name="rviz">
</node>
</launch>
Hi Sumant, you are not supposed to launch your SLAM algorithm (gmapping) simultaneously with your localization algorithm (AMCL). If you already have the map, comment out your gmapping node in the launch file.
thanks @al-dev for reply. when i comment out the portion you have suggested it gives an warning,
I suspect you don't have any source of odometry measurements. What does your transform tree look like when you do
rosrun tf view_frames
? AMCL requires that someone publishes a transform from the /odom frame to the /base_link frame of your robot. See the wiki : http://wiki.ros.org/amclhello @al-dev , thank you for looking into it, here is the transform tree, after i removed the SLAM click to view
Thank you