ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

move_base respawning with wrong parameters after crash

asked 2014-12-05 03:46:07 -0500

IvanV gravatar image

I'm running an instance of move_base using carrot_planner and dwa_local_planer, with global map not initialised. The move_base instance is launched with the "respawn" parameter set to true.

The problem is that move_base crashes frequently when starting (seems to be a well known problem reported several times elsewhere), but when it is respawned, it does it with incorrect parameters, as if it doesn't re-read the configuration files. Here is an example:

core service [/rosout] found
process[move_base-1]: started with pid [30418]
[ INFO] [1417702343.240796462]: Subscribed to Topics: point_cloud_sensor
[ INFO] [1417702343.429482351]: MAP SIZE: 1999, 1999
[ INFO] [1417702343.434297875]: Subscribed to Topics: point_cloud_sensor
move_base: /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:69: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 16>::plain_array() [with T = float, int Size = 4, int MatrixOrArrayOptions = 0]: Assertion `(reinterpret_cast<size_t>(array) & 0xf) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****"' failed.
[move_base-1] process has died [pid 30418, exit code -6, cmd /opt/ros/groovy/stacks/navigation/move_base/bin/move_base odom:=odometry/imu __name:=move_base __log:=/home/indra/.ros/log/7d3fff28-7bbe-11e4-9961-00f1f31a2be5/move_base-1.log].
log file: /home/indra/.ros/log/7d3fff28-7bbe-11e4-9961-00f1f31a2be5/move_base-1*.log
respawning...
[move_base-1] restarting process
process[move_base-1]: started with pid [30870]
[ INFO] [1417702344.065824161]: Subscribed to Topics: point_cloud_sensor
[ INFO] [1417702344.233580934]: MAP SIZE: 99, 99
[ INFO] [1417702344.237308001]: Subscribed to Topics: point_cloud_sensor
move_base: /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:69: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 16>::plain_array() [with T = float, int Size = 4, int MatrixOrArrayOptions = 0]: Assertion `(reinterpret_cast<size_t>(array) & 0xf) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****"' failed.
[move_base-1] process has died [pid 30870, exit code -6, cmd /opt/ros/groovy/stacks/navigation/move_base/bin/move_base odom:=odometry/imu __name:=move_base __log:=/home/indra/.ros/log/7d3fff28-7bbe-11e4-9961-00f1f31a2be5/move_base-1.log].
log file: /home/indra/.ros/log/7d3fff28-7bbe-11e4-9961-00f1f31a2be5/move_base-1*.log
respawning...
[move_base-1] restarting process
process[move_base-1]: started with pid [31300]
[ INFO] [1417702344.861728138]: Subscribed to Topics: point_cloud_sensor
[ INFO] [1417702345.035579432]: MAP SIZE: 99, 99
[ INFO] [1417702345.040263928]: Subscribed to Topics: point_cloud_sensor
[ INFO] [1417702345.214279138]: Sim period is set to 0.05
[ WARN] [1417702345.721490201]: The origin for the sensor at (0.06, -0.26, 1.60) is out of map bounds. So, the costmap cannot raytrace for it.

As can be seen, when it respawns, the MAP SIZE is 99x99 instead the original 1999x1999. It also gives the error of sensor being out of map, so it's also not getting the configuration for local costmap.

I really need to fix the respawning problem, since it looks like I'm pretty stuck with the buggy version of move_base (older Groovy version, on a 32 bit system).

Any insight will be appreciated.

Thank you and best regards,

Launch file:

<launch>

<node pkg="move_base" type="move_base" name="move_base" output="screen" respawn="true">
    <remap from="odom" to="odometry/imu"/>
    <rosparam file="$(find adam_2dnav)/cfg/costmap_common_params.yaml" command="load" ns="global_costmap" />
    <rosparam file="$(find adam_2dnav)/cfg/costmap_common_params.yaml" command="load ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2014-12-05 17:08:33 -0500

allenh1 gravatar image

Looking at your files, I noticed that the resolution is different than the one the map server is emitting (1999 * .05 is about 99 -- this could be the issue). Check your yaml file for the map.

edit flag offensive delete link more

Comments

Actually, there is no initial map ('static_map' set to false), so there is no map yaml file to look at. Anyway, if it was a wrong map yaml file, it would be wrong every time, and not right in the first one an wrong in the respawns.

IvanV gravatar image IvanV  ( 2014-12-11 01:47:16 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2014-12-05 03:46:07 -0500

Seen: 670 times

Last updated: Dec 05 '14