[ros-users] Navigation stack not working

Prasad Dixit prasad.dixit at fennecfoxtech.com
Sat Sep 18 06:09:53 UTC 2010


Hello experts,

My navigation stack produces below messages when tried to run. I have 
installed the latest version of cturtle.
The same process did run at the time of boxturtle which i was having 
before.

Stack trial run:

NODES
  /
    joint_state_pub (eskorta_urdf/state_publisher)
    eskorta_state (robot_state_publisher/state_publisher)
    hokuyo_node (hokuyo_node/hokuyo_node)
    laser_filter (laser_filters/scan_to_scan_filter_chain)
    eskorta_odom (eskorta_driver/odom)
    map_server (map_server/map_server)
    amcl (amcl/amcl)
    move_base (move_base/move_base)

starting new master (master configured for auto start)
process[master]: started with pid [2451]
ROS_MASTER_URI=http://rootx-desktop:11311/

setting /run_id to 645f0772-c2e7-11df-9f0d-002215b5da2f
process[rosout-1]: started with pid [2464]
started core service [/rosout]
process[joint_state_pub-2]: started with pid [2467]
process[eskorta_state-3]: started with pid [2468]
process[hokuyo_node-4]: started with pid [2469]
process[laser_filter-5]: started with pid [2470]
process[eskorta_odom-6]: started with pid [2471]
process[map_server-7]: started with pid [2472]
process[amcl-8]: started with pid [2473]
process[move_base-9]: started with pid [2474]
[ INFO] [1284788497.947511323]: Requesting the map...
[ WARN] [1284788497.949115279]: Request for map failed; trying again...
[ WARN] [1284788498.462321415]: Request for map failed; trying again...
[ INFO] [1284788498.607242667]: Subscribed to Topics: 
[ WARN] [1284788498.978577807]: Request for map failed; trying again...
[ INFO] [1284788499.591024236]: Received a 4000 X 4000 map @ 0.050 m/pix

[ INFO] [1284788499.847158606]: Initializing likelihood field model; this 
can take some time on large maps...
[ INFO] [1284788500.478314502]: Done initializing likelihood field model.
[ WARN] [1284788503.647894146]: Waiting on transform from base_link to /map 
to become available before running costmap, tf error: Frame id /map does 
not exist!
[ WARN] [1284788508.707605734]: Waiting on transform from base_link to /map 
to become available before running costmap, tf error: Frame id /map does 
not exist!
[ WARN] [1284788513.766069750]: Waiting on transform from base_link to /map 
to become available before running costmap, tf error: Frame id /map does 
not exist!
[ WARN] [1284788515.493799194]: MessageFilter [target=/odom ]: Dropped 
100.00% of messages so far. Please turn the [ros.amcl.message_notifier] 
rosconsole logger to DEBUG for more information.
[ WARN] [1284788518.835511314]: Waiting on transform from base_link to /map 
to become available before running costmap, tf error: Frame id /map does 
not exist!
[ WARN] [1284788523.899506188]: Waiting on transform from base_link to /map 
to become available before running costmap, tf error: Frame id /map does 
not exist!

My URDF parsed as:
---------- Successfully Parsed XML ---------------
root Link: base_footprint has 1 child(ren)
    child(1):  base_link
        child(1):  base_laser_link
        child(2):  cast_rotation_link
            child(1):  cast_wheel_link
        child(3):  l_rotation_link
            child(1):  l_wheel_link
        child(4):  r_rotation_link
            child(1):  r_wheel_link

My tf frames expected settings are: 
/map->/odom->/base_link->/base_laser_link

My configuration yamls are: ( please note: i have set some dummy values.)

costmap_common.yaml
obstacle_range: 1.0
raytrace_range: 1.5
max_obstacle_height: 1.0

footprint: [[-0.200, -0.350], [-0.200, 0.350], [0.200, 0.350], [0.200, 
-0.350]]

inflation_radius: 0.55

observation_sources: laser_scan_sensor

# max_obstacle_height, min_obstacle_height, obstacle_range, raytrace_range 

laser_scan_sensor: {sensor_frame: base_laser_link, data_type: LaserScan, 
topic: /scan, marking: true, clearing: true}

costmap_global.yaml
global_costmap:
  global_frame: /map
  robot_base_frame: base_link
  transform_tolerance: 0.3  
  update_frequency: 5.0
  static_map: true
  rolling_window: false

costmap_local.yaml

local_costmap:
  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

AMCL:

<!-- TF frame ids -->
  <param name="odom_frame_id" value="odom"/>
  <param name="base_frame_id" value="/base_link"/>
  <param name="global_frame_id" value="/map"/>

my_nav_launch file
<launch>
 <!-- Run the map server -->
  <node name="map_server" pkg="map_server" type="map_server" args="$(find 
eskorta_nav)/map.yaml">
     <param name="frame_id" type="str" value="map" />
  </node>

  <!--- Run AMCL -->
<!-- <include file="$(find eskorta_nav)/amcl_diff.launch"/> -->
 <include file="$(find amcl)/examples/amcl_diff.launch"/> 

  <node pkg="move_base" type="move_base" respawn="false" name="move_base" 
output="screen">
    <param name="controller_frequency" value="20" /> 
    <param name="clearing_rotation_allowed" value="true" /> 
    <param name="recovery_behavior_enabled" value="true" /> 
    <param name="controller_patience" value="15" /> 
    <rosparam file="$(find eskorta_nav)/costmap_common_params.yaml" 
command="load" ns="global_common_costmap" />
    <rosparam file="$(find eskorta_nav)/costmap_common_params.yaml" 
command="load" ns="local_common_costmap" />
    <rosparam file="$(find eskorta_nav)/global_costmap_params.yaml" 
command="load" param="global_costMap"/>
    <rosparam file="$(find eskorta_nav)/local_costmap_params.yaml" 
command="load" param="local_costMap"/> 
    <rosparam file="$(find eskorta_nav)/base_global_planner_params.yaml" 
command="load" param="global_planner" />
    <rosparam file="$(find eskorta_nav)/base_local_planner_params.yaml" 
command="load" param="local_planner"/>
  </node> 

</launch>
where map is of willow-garage with 4000 x 4000 in size. 

odom
The ROS- odometry tutorial program. 

Tried few workarounds which failed:
1. I tried to change my map reducing to small as a blank map.
2. I tried to set frequencies at odom level, amcl level, both the 
costmaps.
3. Finally i used static transform for <node pkg="tf" 
type="static_transform_publisher" name="link_broadcast" args="1 0 0 0 0 0 
/map /base_link 100" />. this resolves my warnings but completely hangs the 
process. 
4. The "navigation tutorial" also mentions the map as below, but if i give 
my_map.pgm it does not recognize it and expects .yaml file instead of .pgm 

<node name="map_server" pkg="map_server" type="map_server" args="$(find 
my_map_package)/my_map.pgm my_map_resolution"/>

5. Tried to pass <param name="frame_id" type="str" value="map" /> to 
parameter server.
6. Changed AMCL to default AMCL node which is inside ROS-stack instead of 
my own copy.

Considering node sequence "AMCL" is being started before move_base and  it 
also receives the map for the reference. AMCL 

Am i missing something? Is it due to larger map size?

Please let me know if anyone has any clue.

With best regards,

Prasad Dixit
 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/ros-users/attachments/20100918/fe4f2a0c/attachment-0002.html>


More information about the ros-users mailing list