[ros-users] Navigation stack not working

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
-->%0A>%20%20<include%20file=%22%24(find%20amcl)/examples/amcl_diff.launch%22/>%20%0A>%20%0A>%20%0A>%20</launch>%0A>%20where%20map%20is%20of%20willow-garage%20with%204000%20x%204000%20in%20size.%20%0A>%20%0A>%20odom%0A>%20The%20ROS-%20odometry%20tutorial%20program.%20%0A>%20%0A>%20Tried%20few%20workarounds%20which%20failed:%0A>%201.%20I%20tried%20to%20change%20my%20map%20reducing%20to%20small%20as%20a%20blank%20map.%0A>%202.%20I%20tried%20to%20set%20frequencies%20at%20odom%20level,%20amcl%20level,%20both%20the%20%0A>%20costmaps.%0A>%203.%20Finally%20i%20used%20static%20transform%20for%20<node%20pkg=%22tf%22%20%0A>%20type=%22static_transform_publisher%22%20name=%22link_broadcast%22%20args=%221%200%200%200%200%200%20%0A>%20/map%20/base_link%20100%22%20/>.%20this%20resolves%20my%20warnings%20but%20completely%20hangs%20the%20%0A>%20process.%20%0A>%204.%20The%20%22navigation%20tutorial%22%20also%20mentions%20the%20map%20as%20below,%20but%20if%20i%20give%20%0A>%20my_map.pgm%20it%20does%20not%20recognize%20it%20and%20expects%20.yaml%20file%20instead%20of%20.pgm%20%0A>%20%0A>%20<node%20name=%22map_server%22%20pkg=%22map_server%22%20type=%22map_server%22%20args=%22%24(find%20%0A>%20my_map_package)/my_map.pgm%20my_map_resolution%22/>%0A>%20%0A>%205.%20Tried%20to%20pass%20<param%20name=%22frame_id%22%20type=%22str%22%20value=%22map%22%20/>%20to%20%0A>%20parameter%20server.%0A>%206.%20Changed%20AMCL%20to%20default%20AMCL%20node%20which%20is%20inside%20ROS-stack%20instead%20of%20%0A>%20my%20own%20copy.%0A>%20%0A>%20Considering%20node%20sequence%20%22AMCL%22%20is%20being%20started%20before%20move_base%20and%20%20it%20%0A>%20also%20receives%20the%20map%20for%20the%20reference.%20AMCL%20%0A>%20%0A>%20Am%20i%20missing%20something?%20Is%20it%20due%20to%20larger%20map%20size?%0A>%20%0A>%20Please%20let%20me%20know%20if%20anyone%20has%20any%20clue.%0A>%20%0A>%20With%20best%20regards,%0A>%20%0A>%20Prasad%20Dixit%0A>%20%20%0A>%20%0A>%20%0A>%20">Reply to this message
Author: Prasad Dixit
Date:  
To: ros-users
Subject: [ros-users] Navigation stack not working
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