[map_server-1] process has died [pid 14292, exit code 255
Hi,
I'm trying to launch few ros nodes with the following launch file. For some reason, the map_server node keeps dying immediately after the launch (roslaunch <package_name> amcl.launch). I don't see anything getting logged into the mentioned log files. Need some help to figure out what is happening.
Thanks, M.
Error message -
process[map_server-1]: started with pid [14292]
process[amcl-2]: started with pid [14293]
process[move_base-3]: started with pid [14294]
[ INFO] [1569175277.043321912]: Requesting the map...
[ WARN] [1569175277.044473423]: Request for map failed; trying again...
[ WARN] [1569175277.257832847, 1497.220000000]: Timed out waiting for transform from robot_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist. canTransform: source_frame robot_footprint does not exist.. canTransform returned after 1497.22 timeout was 0.1.
[map_server-1] process has died [pid 14292, exit code 255, cmd /opt/ros/melodic/lib/map_server/map_server /home/mugen/Lab/robot-localization/catkin_ws/src/my_robot/maps/map.yaml __name:=map_server __log:=/home/mugen/.ros/log/e7ebd006-dd5f-11e9-a479-04d4c4562a12/map_server-1.log].
log file: /home/mugen/.ros/log/e7ebd006-dd5f-11e9-a479-04d4c4562a12/map_server-1*.log
[ WARN] [1569175277.758044393, 1497.721000000]: Request for map failed; trying again...
[ WARN] [1569175278.259200515, 1498.222000000]: Request for map failed; trying again...
[ WARN] [1569175278.760476915, 1498.723000000]: Request for map failed; trying again...
^C[move_base-3] killing on exit
[amcl-2] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done
amcl.launch file
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<!-- Map Server -->
<arg name="map_file" default="$(find my_robot)/maps/map.yaml"/>
<node name="map_server" pkg="map_server" type="map_server" args="$(arg map_file)" />
<!-- AMCL Node -->
<node name="amcl" pkg="amcl" type="amcl" output="screen">
<remap from="scan" to="my_robot/laser/scan"/>
<param name="odom_frame_id" value="odom"/>
<param name="odom_model_type" value="diff-corrected"/>
<param name="base_frame_id" value="robot_footprint"/>
<param name="global_frame_id" value="map"/>
<param name="initial_pose_x" value="0.0"/>
<param name="initial_pose_y" value="0.0"/>
</node>
<!-- Move Base -->
<node name="move_base" pkg="move_base" type="move_base" respawn="false" output="screen">
<rosparam file="$(find my_robot)/config/costmap_common_params.yaml" command="load" ns="global_costmap"/>
<rosparam file="$(find my_robot)/config/costmap_common_params.yaml" command="load" ns="local_costmap" />
<rosparam file="$(find my_robot)/config/local_costmap_params.yaml" command="load" />
<rosparam file="$(find my_robot)/config/global_costmap_params.yaml" command="load" />
<rosparam file="$(find my_robot)/config/base_local_planner_params.yaml" command="load" />
<remap from="cmd_vel" to="cmd_vel"/>
<remap from="odom" to="odom"/>
<remap from="scan" to="my_robot/laser/scan"/>
<param name="base_global_planner" type="string" value="navfn/NavfnROS" />
<param name="base_local_planner" value="base_local_planner/TrajectoryPlannerROS"/>
</node>
</launch>
Indeed, the error is not obvious from the logs. I think the node is dying too fast so rosconsole does not have the time to publish the error message.
Have a look at the lines with
exit(-1)
on this file: https://github.com/ros-planning/navig... and check that you are not in these cases.Maybe you could add map_server sources in your workspace and use gdb to see where it fails.
May also be helpful to add output="screen" to the map server launch.