Problem running rtabmap_ros against a bag file
Hello,
I have been playing with the most excellent rtabmap_ros package on my Kobuki (Turtlebot 2) under ROS Indigo and Ubuntu 14.04. I recorded a bag file from my robot using the following command:
$ rosbag record -b 512 -o ~/tmp/rtabmap /data_throttled_image/compressed /data_throttled_image_depth/compressedDepth/data_throttled_camera_info /tf /tf_static /scan /odom /joint_states
where I have used the suggested data_throttle launch file listed at http://wiki.ros.org/rtabmap_ros/Tutor... .
I then try to run the rtabmap_ros/demo_robot_mapping.launch file against this bag file after changing the odom and scan topics in the launch file to match my robot's topics. The demo_robot_mapping.launch file runs fine and the last INFO message during startup is:
[ INFO] [1448512439.761234227]: rtabmap 0.10.10 started...
But when I the play my bag file using the command:
$ rosbag play --clock my_bag_file.bag
I immediately get the following error in the rtabmap terminal:
[FATAL] (2015-11-25 20:34:11.368) OdometryEvent.h:45::generateCovarianceMatrix() Condition (uIsFinite(transVariance) && transVariance>0) not met!
*******
FATAL message occurred! Application will now exit.
*******
[ WARN] (2015-11-25 20:34:11.369) MainWindow.cpp:797::processOdometry() Empty cloudOdom!
[ERROR] (2015-11-25 20:34:11.369) CloudViewer.cpp:1127::setCloudVisibility() Cannot find actor named "cloudOdom".
[ERROR] [1448512451.431228091, 1448512183.861893627]: Can't call "pause" service
[rtabmap/rtabmap-1] process has died [pid 6798, exit code 1, cmd /opt/ros/indigo/lib/rtabmap_ros/rtabmap --delete_db_on_start odom:=/odom scan:=/scan rgb/image:=/data_throttled_image depth/image:= /data_throttled_image_depth rgb/camera_info:=/data_throttled_camera_info __name:=rtabmap __log:=/home/patrick/.ros/log/899bd3f6-93f4-11e5-941d-64006a04e0e0/rtabmap-rtabmap-1.log].
log file: /home/patrick/.ros/log/899bd3f6-93f4-11e5-941d-64006a04e0e0/rtabmap-rtabmap-1*.log
I don't see a topic named cloudOdom in my list of topics, nor is it in the demo_mapping.bag file used in the rtabmap demos.
What am I missing?
Thanks!
UPDATE 1: After downloading and installing version 0.10.12, I still get the same error as above but with one more message as follows:
rtabmap: /usr/include/boost/thread/pthread/recursive_mutex.hpp:101: boost::recursive_mutex::~recursive_mutex(): Assertion `!pthread_mutex_destroy(&m)' failed.
UPDATE 2: Here is a link to the bag file that is causing the trouble.
The cause of the error was a left over running grid assembler node from a previous session. Restarting roscore and starting from scratch solved the problem.
I still updated the code for the variance error. I updated also the library for the "cloudOdom" error.
The variance error would have been caused by infinity values in the odometry message. For the "cloudOdom", it was just that the rendered cloud in rtabmapviz could not be created (cloud was empty).
Thanks Mathieu! However, I downloaded and compiled version 0.10.12 and I still get the same error, even after removing the Debian rtabmap and rtabma_ros packages just to be sure. I do get one more error line that might help--I've posted an updated to my question above.