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