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