Robotics StackExchange | Archived questions

[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 mapserver node keeps dying immediately after the launch (roslaunch <packagename> 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>

Asked by mugen on 2019-09-22 13:10:41 UTC

Comments

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/navigation/blob/melodic-devel/map_server/src/map_saver.cpp 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.

Asked by rreignier on 2019-09-23 02:01:55 UTC

May also be helpful to add output="screen" to the map server launch.

Asked by David Lu on 2019-09-23 10:51:51 UTC

Answers

[ 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.

Try to debug your tf, e.g. try both tutorials (link to tf, link to tf2), and especially printing the tf tree and using roswtf. Bear in mind that google (and answers.ros.org in particular) gives a few cases of your problem if you search for the whole or part of the error message (for example q195175 or q206136 seem like a good start).

Asked by aPonza on 2019-09-23 05:21:22 UTC

Comments