rtabmap process error

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

rtabmap process error

dgmiller
Hi

I'm using rtabmap (installed with apt-get install ros-indigo-rtabmap-ros) with robot_localization node, which provides the transforms from odom to base_link and map to odom.

I'm having some error and I've not been able to get everything running correctly, does anyone see anything I'm missing or a source of this error? I've included the output and the launch file i'm using.


Starting RTABMAP...
... logging to /home/ubuntu/.ros/log/de84fd10-c5e6-11e5-8b8d-0005b7e12d1d/roslaunch-tegra-ubuntu-5254.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://tegra-ubuntu:59511/

SUMMARY
========

PARAMETERS
 * /ORB/Gpu: True
 * /points_xyzrgb/decimation: 2.0
 * /points_xyzrgb/voxel_size: 0.02
 * /rosdistro: indigo
 * /rosversion: 1.11.16
 * /rtabmap/rgbd_odometry/Odom/EstimationType: 1
 * /rtabmap/rgbd_odometry/Odom/FeatureType: 2
 * /rtabmap/rgbd_odometry/Odom/FillInfoData: true
 * /rtabmap/rgbd_odometry/Odom/InlierDistance: 0.1
 * /rtabmap/rgbd_odometry/Odom/MaxDepth: 10
 * /rtabmap/rgbd_odometry/Odom/MinInliers: 8
 * /rtabmap/rgbd_odometry/Odom/Strategy: 0
 * /rtabmap/rgbd_odometry/Odom/VarianceFromInliersCount: true
 * /rtabmap/rgbd_odometry/OdomBow/LocalHistorySize: 1200
 * /rtabmap/rgbd_odometry/OdomBow/NNType: 3
 * /rtabmap/rgbd_odometry/frame_id: base_link
 * /rtabmap/rgbd_odometry/publish_tf: False
 * /rtabmap/rgbd_odometry/wait_for_transform_duration: 5.0
 * /rtabmap/rtabmap/LccBow/EstimationType: 1
 * /rtabmap/rtabmap/LccBow/InlierDistance: 0.1
 * /rtabmap/rtabmap/LccBow/MinInliers: 10
 * /rtabmap/rtabmap/LccBow/VarianceFromInliersCount: true
 * /rtabmap/rtabmap/LccIcp/Type: 2
 * /rtabmap/rtabmap/LccIcp2/CorrespondenceRatio: 0.25
 * /rtabmap/rtabmap/Mem/SaveDepth16Format: true
 * /rtabmap/rtabmap/RGBD/LocalLoopDetectionSpace: true
 * /rtabmap/rtabmap/RGBD/OptimizeFromGraphEnd: false
 * /rtabmap/rtabmap/RGBD/OptimizeSlam2D: true
 * /rtabmap/rtabmap/Rtabmap/TimeThr: 0
 * /rtabmap/rtabmap/database_path: ~/.ros/rtabmap.db
 * /rtabmap/rtabmap/frame_id: base_link
 * /rtabmap/rtabmap/publish_tf: False
 * /rtabmap/rtabmap/subscribe_depth: True
 * /rtabmap/rtabmap/subscribe_laserScan: True
 * /rtabmap/rtabmap/wait_for_transform_duration: 5.0

NODES
  /rtabmap/
    rgbd_odometry (rtabmap_ros/rgbd_odometry)
    rtabmap (rtabmap_ros/rtabmap)
  /
    base_link_to_camera_link_rgb (tf/static_transform_publisher)
    base_link_to_imu_link (tf/static_transform_publisher)
    base_link_to_lidar_link (tf/static_transform_publisher)
    camera_link_rgb_to_camera_link_depth (tf/static_transform_publisher)
    data_odom_sync (nodelet/nodelet)
    points_xyzrgb (nodelet/nodelet)
    rviz (rviz/rviz)
    standalone_nodelet (nodelet/nodelet)

ROS_MASTER_URI=http://rcu:11311

core service [/rosout] found
process[rtabmap/rgbd_odometry-1]: started with pid [5263]
process[rtabmap/rtabmap-2]: started with pid [5264]
process[rviz-3]: started with pid [5265]
process[standalone_nodelet-4]: started with pid [5266]
process[data_odom_sync-5]: started with pid [5267]
process[points_xyzrgb-6]: started with pid [5268]
process[base_link_to_camera_link_rgb-7]: started with pid [5269]
process[camera_link_rgb_to_camera_link_depth-8]: started with pid [5270]
process[base_link_to_imu_link-9]: started with pid [5278]
[ INFO] [1454003433.618625017]: Initializing nodelet with 4 worker threads.
process[base_link_to_lidar_link-10]: started with pid [5284]
[ INFO] [1454003434.414070736]: Starting node...
[ INFO] [1454003434.637458068]: rtabmap: frame_id = base_link
[ INFO] [1454003434.637987541]: rtabmap: map_frame_id = map
[ INFO] [1454003434.638446026]: rtabmap: queue_size = 10
[ INFO] [1454003434.638861021]: rtabmap: tf_delay = 0.050000
[ INFO] [1454003434.639309818]: rtabmap: depth_cameras = 1
[ INFO] [1454003434.939830936]: Approximate time sync = true
[ INFO] [1454003435.116408158]: Setting RTAB-Map parameter "LccBow/EstimationType"="1"
[ INFO] [1454003435.127690846]: Setting RTAB-Map parameter "LccBow/InlierDistance"="0.1"
[ INFO] [1454003435.142697399]: Setting RTAB-Map parameter "LccBow/MinInliers"="10"
[ INFO] [1454003435.172621341]: Setting RTAB-Map parameter "LccBow/VarianceFromInliersCount"="true"
[ INFO] [1454003435.192843878]: Setting RTAB-Map parameter "LccIcp/Type"="2"
[ INFO] [1454003435.197244559]: Setting RTAB-Map parameter "LccIcp2/CorrespondenceRatio"="0.25"
[ INFO] [1454003435.554775465]: Setting RTAB-Map parameter "Mem/SaveDepth16Format"="true"
[ INFO] [1454003435.644204845]: Setting odometry parameter "Odom/EstimationType"="1"
[ INFO] [1454003435.649044011]: Setting odometry parameter "Odom/FeatureType"="2"
[ INFO] [1454003435.652543451]: Setting odometry parameter "Odom/FillInfoData"="true"
[ INFO] [1454003435.699107678]: Setting odometry parameter "Odom/InlierDistance"="0.1"
[ INFO] [1454003435.711999671]: Setting odometry parameter "Odom/MaxDepth"="10"
[ INFO] [1454003435.721044103]: Setting odometry parameter "Odom/MinInliers"="8"
[ INFO] [1454003435.833681196]: Setting odometry parameter "Odom/Strategy"="0"
[ INFO] [1454003435.836902358]: Setting odometry parameter "Odom/VarianceFromInliersCount"="true"
[ INFO] [1454003435.854360968]: Setting odometry parameter "OdomBow/LocalHistorySize"="1200"
[ INFO] [1454003435.876393538]: Setting odometry parameter "OdomBow/NNType"="3"
[ INFO] [1454003436.211979894]: Setting RTAB-Map parameter "RGBD/LocalLoopDetectionSpace"="true"
[ INFO] [1454003436.276944596]: Setting RTAB-Map parameter "RGBD/OptimizeFromGraphEnd"="false"
[ INFO] [1454003436.310375425]: Setting RTAB-Map parameter "RGBD/OptimizeSlam2D"="true"
[ INFO] [1454003436.567685508]: Setting RTAB-Map parameter "Rtabmap/TimeThr"="0"
[ INFO] [1454003436.707835371]: Using OdometryBOW
[ INFO] [1454003437.252283333]: 
/rtabmap/rgbd_odometry subscribed to:
   /rgb/image_raw,
   /depth/image_raw,
   /camera/rgb/camera_info
[ INFO] [1454003437.447158947]: RTAB-Map rate detection = 1.000000 Hz
[ INFO] [1454003437.447444361]: rtabmap: Deleted database "/home/ubuntu/.ros/rtabmap.db" (--delete_db_on_start is set).
[ INFO] [1454003437.447493423]: rtabmap: Using database from "/home/ubuntu/.ros/rtabmap.db".
[ INFO] [1454003437.597778642]: rtabmap: Database version = "0.10.10".
[ INFO] [1454003437.782211663]: Odom: quality=0, std dev=1.000000m, update time=0.270015s
[ INFO] [1454003438.063291432]: Odom: quality=598, std dev=0.040893m, update time=0.263357s
[ INFO] [1454003438.150913748]: Registering Depth+LaserScan callback...
[ INFO] [1454003438.170949413]: 
/rtabmap/rtabmap subscribed to:
   /rgb/image_raw,
   /depth/image_raw,
   /camera/rgb/camera_info,
   /rtabmap/odom,
   /scan
[ INFO] [1454003438.171391856]: rtabmap 0.10.10 started...
[ INFO] [1454003438.280886588]: Odom: quality=743, std dev=0.036686m, update time=0.204283s
[ INFO] [1454003438.548614160]: Odom: quality=789, std dev=0.035601m, update time=0.256528s
[ INFO] [1454003438.764788446]: Odom: quality=826, std dev=0.034794m, update time=0.203122s
[ INFO] [1454003438.995827151]: Odom: quality=819, std dev=0.034943m, update time=0.220147s
[ INFO] [1454003439.216630032]: Odom: quality=827, std dev=0.034773m, update time=0.196765s
[ INFO] [1454003439.294480528]: rtabmap: Rate=1.00s, Limit=0.000s, RTAB-Map=0.2766s, Pub=0.0003s (local map=1, WM=1)
[ INFO] [1454003439.449376479]: Odom: quality=842, std dev=0.034462m, update time=0.218309s
[ INFO] [1454003439.722004413]: Odom: quality=845, std dev=0.034401m, update time=0.260282s
[ INFO] [1454003439.955540487]: Odom: quality=846, std dev=0.034381m, update time=0.218447s
[ INFO] [1454003440.234688142]: Odom: quality=853, std dev=0.034239m, update time=0.263945s
[ INFO] [1454003440.539707594]: rtabmap: Rate=1.00s, Limit=0.000s, RTAB-Map=0.2933s, Pub=0.0029s (local map=2, WM=2)
[ INFO] [1454003440.647702655]: Odom: quality=853, std dev=0.034239m, update time=0.378670s
[ INFO] [1454003440.944696155]: Odom: quality=844, std dev=0.034421m, update time=0.280578s
[ INFO] [1454003441.194215646]: Odom: quality=858, std dev=0.034139m, update time=0.213585s
[ INFO] [1454003441.424423943]: Odom: quality=862, std dev=0.034060m, update time=0.216162s
[ INFO] [1454003441.643553509]: rtabmap: Rate=1.00s, Limit=0.000s, RTAB-Map=0.2094s, Pub=0.0028s (local map=3, WM=3)
[ INFO] [1454003441.722403057]: Odom: quality=857, std dev=0.034159m, update time=0.286194s
[ INFO] [1454003442.016757992]: Odom: quality=846, std dev=0.034381m, update time=0.278563s
[ INFO] [1454003442.322764048]: Odom: quality=851, std dev=0.034280m, update time=0.292477s
[ INFO] [1454003442.563848945]: Odom: quality=859, std dev=0.034120m, update time=0.228997s
[ INFO] [1454003442.893571355]: rtabmap: Rate=1.00s, Limit=0.000s, RTAB-Map=0.3344s, Pub=0.0024s (local map=4, WM=4)
[ INFO] [1454003442.897631675]: Odom: quality=856, std dev=0.034179m, update time=0.277875s
[ INFO] [1454003443.254344829]: Odom: quality=857, std dev=0.034159m, update time=0.316897s
[ INFO] [1454003443.588625990]: Odom: quality=839, std dev=0.034524m, update time=0.302811s
[ INFO] [1454003443.836702372]: rtabmap: Rate=1.00s, Limit=0.000s, RTAB-Map=0.2195s, Pub=0.0039s (local map=5, WM=5)
[ INFO] [1454003443.960814859]: Odom: quality=873, std dev=0.033845m, update time=0.332508s
[ INFO] [1454003444.299921905]: Odom: quality=856, std dev=0.034179m, update time=0.311066s
[ INFO] [1454003444.546244817]: Odom: quality=873, std dev=0.033845m, update time=0.229930s
[ INFO] [1454003444.896702519]: Odom: quality=856, std dev=0.034179m, update time=0.265016s
[ INFO] [1454003445.138748915]: rtabmap: Rate=1.00s, Limit=0.000s, RTAB-Map=0.2387s, Pub=0.0035s (local map=6, WM=6)
[ INFO] [1454003445.158346980]: Odom: quality=847, std dev=0.034360m, update time=0.245244s
[ INFO] [1454003445.398133818]: Odom: quality=872, std dev=0.033864m, update time=0.225927s
[ INFO] [1454003445.815288494]: Odom: quality=858, std dev=0.034139m, update time=0.385810s
[ INFO] [1454003446.060735269]: Odom: quality=848, std dev=0.034340m, update time=0.231690s
[ INFO] [1454003446.337693416]: rtabmap: Rate=1.00s, Limit=0.000s, RTAB-Map=0.2664s, Pub=0.0032s (local map=7, WM=7)
[ INFO] [1454003446.415500059]: Odom: quality=861, std dev=0.034080m, update time=0.281957s
[ INFO] [1454003446.754204661]: Odom: quality=867, std dev=0.033962m, update time=0.325091s
[ INFO] [1454003447.040904784]: Odom: quality=881, std dev=0.033691m, update time=0.269118s
[ INFO] [1454003447.322784647]: Odom: quality=867, std dev=0.033962m, update time=0.253321s
[ INFO] [1454003447.599087124]: Odom: quality=849, std dev=0.034320m, update time=0.262256s
[ INFO] [1454003447.643883402]: rtabmap: Rate=1.00s, Limit=0.000s, RTAB-Map=0.3046s, Pub=0.0029s (local map=8, WM=8)
[ INFO] [1454003447.925344103]: Odom: quality=880, std dev=0.033710m, update time=0.284981s
[ INFO] [1454003448.237528424]: Odom: quality=856, std dev=0.034179m, update time=0.256861s
[ INFO] [1454003448.484500912]: Odom: quality=850, std dev=0.034300m, update time=0.233491s
[ INFO] [1454003448.805798153]: Odom: quality=861, std dev=0.034080m, update time=0.275600s
[ INFO] [1454003448.880540924]: rtabmap: Rate=1.00s, Limit=0.000s, RTAB-Map=0.3749s, Pub=0.0049s (local map=9, WM=9)
[ INFO] [1454003449.129034853]: Odom: quality=864, std dev=0.034021m, update time=0.305907s
[ INFO] [1454003449.442775303]: Odom: quality=874, std dev=0.033826m, update time=0.288522s
[ INFO] [1454003449.739601043]: Odom: quality=877, std dev=0.033768m, update time=0.264686s
[ INFO] [1454003450.009105886]: Odom: quality=865, std dev=0.034001m, update time=0.254554s
[ INFO] [1454003450.061208437]: rtabmap: Rate=1.00s, Limit=0.000s, RTAB-Map=0.3104s, Pub=0.0026s (local map=10, WM=10)
[ INFO] [1454003450.360625190]: Odom: quality=864, std dev=0.034021m, update time=0.279793s
[ INFO] [1454003450.626431325]: Odom: quality=865, std dev=0.034001m, update time=0.245982s
[ INFO] [1454003450.880701336]: Odom: quality=868, std dev=0.033942m, update time=0.238697s
[ INFO] [1454003451.136993668]: Odom: quality=865, std dev=0.034001m, update time=0.242286s
[ INFO] [1454003451.442077494]: Odom: quality=876, std dev=0.033787m, update time=0.287708s
[rtabmap/rtabmap-2] process has died [pid 5264, exit code -7, cmd /opt/ros/indigo/lib/rtabmap_ros/rtabmap --delete_db_on_start rgb/image:=/rgb/image_raw depth/image:=/depth/image_raw rgb/camera_info:=/camera/rgb/camera_info scan:=/scan __name:=rtabmap __log:=/home/ubuntu/.ros/log/de84fd10-c5e6-11e5-8b8d-0005b7e12d1d/rtabmap-rtabmap-2.log].
log file: /home/ubuntu/.ros/log/de84fd10-c5e6-11e5-8b8d-0005b7e12d1d/rtabmap-rtabmap-2*.log
[ INFO] [1454003451.795017096]: Odom: quality=861, std dev=0.034080m, update time=0.325295s
[ INFO] [1454003452.060178289]: Odom: quality=856, std dev=0.034179m, update time=0.247488s
[ INFO] [1454003452.330763953]: Odom: quality=882, std dev=0.033672m, update time=0.255222s
[ INFO] [1454003452.629505714]: Odom: quality=883, std dev=0.033653m, update time=0.279952s
[ INFO] [1454003452.905441580]: Odom: quality=837, std dev=0.034565m, update time=0.260659s
[ INFO] [1454003453.193096848]: Odom: quality=830, std dev=0.034711m, update time=0.272320s
[ INFO] [1454003453.468929538]: Odom: quality=805, std dev=0.035245m, update time=0.259039s
[ INFO] [1454003453.728837976]: Odom: quality=785, std dev=0.035692m, update time=0.246060s
[ INFO] [1454003453.975332031]: Odom: quality=793, std dev=0.035511m, update time=0.229520s
[ INFO] [1454003454.227449305]: Odom: quality=792, std dev=0.035533m, update time=0.239423s
[ INFO] [1454003454.458918838]: Odom: quality=797, std dev=0.035422m, update time=0.218938s
[ INFO] [1454003454.747518315]: Odom: quality=777, std dev=0.035875m, update time=0.272971s
[ INFO] [1454003455.008956424]: Odom: quality=827, std dev=0.034773m, update time=0.224598s
[ INFO] [1454003455.249694188]: Odom: quality=841, std dev=0.034483m, update time=0.225562s
[ INFO] [1454003455.484237958]: Odom: quality=810, std dev=0.035136m, update time=0.220540s
[ INFO] [1454003455.762137708]: Odom: quality=832, std dev=0.034669m, update time=0.263387s
[ INFO] [1454003456.023034677]: Odom: quality=841, std dev=0.034483m, update time=0.235387s
[ INFO] [1454003456.254209369]: Odom: quality=848, std dev=0.034340m, update time=0.217289s
[ INFO] [1454003456.514968423]: Odom: quality=850, std dev=0.034300m, update time=0.245986s


Here is our Launch File for RTABMAP:

<launch>
  <!-- Your RGB-D sensor should be already started with "depth_registration:=true".
        Examples:
           $ roslaunch freenect_launch freenect.launch depth_registration:=true 
           $ roslaunch openni2_launch openni2.launch depth_registration:=true -->
 
  <!-- Choose visualization -->
  <arg name="rviz"                    default="true" />
  <arg name="rtabmapviz"              default="false" /> 
  
  <!-- Corresponding config files -->
  <arg name="rtabmapviz_cfg"          default="-d $(find rtabmap_ros)/launch/config/rgbd_gui.ini" />
  <arg name="rviz_cfg"                default="-d $(find rtabmap_ros)/launch/config/rgbd.rviz" />
  
  <arg name="frame_id"                default="base_link"/>   <!-- Fixed frame id, you may set "base_link" or "base_footprint" if they are published -->
  <arg name="time_threshold"          default="0"/>             <!-- (ms) If not 0 ms, memory management is used to keep processing time on this fixed limit. -->
  <arg name="optimize_from_last_node" default="false"/>         <!-- Optimize the map from the last node. Should be true on multi-session mapping and when time threshold is set -->
  <arg name="database_path"           default="~/.ros/rtabmap.db"/>
  <arg name="rtabmap_args"            default="--delete_db_on_start"/>              <!-- delete_db_on_start, udebug -->
  <arg name="launch_prefix"           default=""/>              <!-- for debugging purpose, it fills launch-prefix tag of the nodes -->
   
  <arg name="rgb_topic"               default="/rgb/image_raw" />
  <arg name="depth_registered_topic"  default="/depth/image_raw" />
  <arg name="camera_info_topic"       default="/camera/rgb/camera_info" />
  <arg name="compressed"              default="false"/>
  <arg name="convert_depth_to_mm"     default="true"/>
   
  <arg name="subscribe_scan"          default="true"/>         <!-- Assuming 2D scan if set, rtabmap will do 3DoF mapping instead of 6DoF -->
  <arg name="scan_topic"              default="/scan"/>
  
  <arg name="visual_odometry"         default="true"/>          <!-- Generate visual odometry -->
  <arg name="odom_topic"              default="/odom"/>         <!-- Odometry topic used if visual_odometry is false -->
   
  <arg name="namespace"               default="rtabmap"/>
  <arg name="wait_for_transform"      default="5"/>
  

  <!-- Odometry parameters: -->
  <arg name="strategy"            default="0" />       <!-- Strategy: 0=BOW (bag-of-words) 1=Optical Flow -->
  <arg name="feature"             default="2" />       <!-- Feature type: 0=SURF 1=SIFT 2=ORB 3=FAST/FREAK 4=FAST/BRIEF 5=GFTT/FREAK 6=GFTT/BRIEF 7=BRISK -->
  <arg name="estimation"          default="1" />       <!-- Motion estimation approach: 0:3D->3D, 1:3D->2D (PnP) -->
  <arg name="nn"                  default="3" />       <!-- Nearest neighbor strategy : 0=Linear, 1=FLANN_KDTREE (SIFT, SURF), 2=FLANN_LSH, 3=BRUTEFORCE (ORB/FREAK/BRIEF/BRISK) -->
  <arg name="max_depth"           default="10" />       <!-- Maximum features depth (m) -->
  <arg name="min_inliers"         default="8" />      <!-- Minimum visual correspondences to accept a transformation (m) -->
  <arg name="inlier_distance"     default="0.1" />     <!-- RANSAC maximum inliers distance (m) -->
  <arg name="local_map"           default="1200" />    <!-- Local map size: number of unique features to keep track -->
  <arg name="variance_inliers"    default="true"/>    <!-- Variance from inverse of inliers count -->  


  <!-- Other params specific to SLAMbot -->
  	<param name="ORB/Gpu"	type="bool" value="true" />	<!-- Use GPU version of ORB -->
     

  <!-- Nodes -->
  <group ns="$(arg namespace)">

    <node if="$(arg compressed)" name="republish_rgb" type="republish" pkg="image_transport" args="compressed in:=$(arg rgb_topic) raw out:=$(arg rgb_topic)" />
    <node if="$(arg compressed)" name="republish_depth" type="republish" pkg="image_transport" args="compressedDepth in:=$(arg depth_registered_topic) raw out:=$(arg depth_registered_topic)" />
  

    <!-- Odometry -->
    <node if="$(arg visual_odometry)" pkg="rtabmap_ros" type="rgbd_odometry" name="rgbd_odometry" output="screen" launch-prefix="$(arg launch_prefix)">

<!-- <remap from="odom" to="/odometry/filtered" /> -->

      <remap from="rgb/image"       to="$(arg rgb_topic)"/>
      <remap from="depth/image"     to="$(arg depth_registered_topic)"/>
      <remap from="rgb/camera_info" to="$(arg camera_info_topic)"/>

	  <param name="publish_tf" type="bool" value="false"/>	<!-- Dont publish a tf, robot_localization will do that -->

	  <param name="frame_id"                 	type="string" 	value="$(arg frame_id)"/>
	  <param name="wait_for_transform_duration"	type="double"   value="$(arg wait_for_transform)"/>
	  
	  <param name="Odom/Strategy"            type="string" value="$(arg strategy)"/> 
	  <param name="Odom/FeatureType"         type="string" value="$(arg feature)"/>  
	  <param name="OdomBow/NNType"           type="string" value="$(arg nn)"/>
	  <param name="Odom/EstimationType"      type="string" value="$(arg estimation)"/> 
	  <param name="Odom/MaxDepth"            type="string" value="$(arg max_depth)"/>  
	  <param name="Odom/MinInliers"          type="string" value="$(arg min_inliers)"/> 
	  <param name="Odom/InlierDistance"      type="string" value="$(arg inlier_distance)"/>       
      <param name="OdomBow/LocalHistorySize" type="string" value="$(arg local_map)"/> 
      <param name="Odom/FillInfoData"        type="string" value="true"/> 
      <param name="Odom/VarianceFromInliersCount" type="string" value="$(arg variance_inliers)"/>  
    </node>
  
    <!-- Visual SLAM (robot side) -->
    <node name="rtabmap" pkg="rtabmap_ros" type="rtabmap" output="screen" args="$(arg rtabmap_args)" launch-prefix="$(arg launch_prefix)">
      <param name="subscribe_depth"    type="bool"   value="true"/>
      <param name="subscribe_laserScan"     type="bool"   value="$(arg subscribe_scan)"/>
      <param name="frame_id"           type="string" value="$(arg frame_id)"/>
      <param name="wait_for_transform_duration" type="double"   value="$(arg wait_for_transform)"/>
      <param name="database_path"      type="string" value="$(arg database_path)"/>

	 <param name="publish_tf" type="bool" value="false"/>	


      <remap from="rgb/image"       to="$(arg rgb_topic)"/>
      <remap from="depth/image"     to="$(arg depth_registered_topic)"/>
      <remap from="rgb/camera_info" to="$(arg camera_info_topic)"/>
      <remap from="scan"            to="$(arg scan_topic)"/>
      <remap unless="$(arg visual_odometry)" from="odom"  to="$(arg odom_topic)"/>
      
      <param name="Rtabmap/TimeThr"           type="string" value="$(arg time_threshold)"/>
      <param name="RGBD/OptimizeFromGraphEnd" type="string" value="$(arg optimize_from_last_node)"/>
      <param name="LccBow/MinInliers"         type="string" value="10"/>
      <param name="LccBow/InlierDistance"     type="string" value="$(arg inlier_distance)"/>
      <param name="LccBow/EstimationType"     type="string" value="$(arg estimation)"/> 
      <param name="LccBow/VarianceFromInliersCount" type="string" value="$(arg variance_inliers)"/>
      <param name="Mem/SaveDepth16Format"     type="string" value="$(arg convert_depth_to_mm)"/>
      
      <!-- when 2D scan is set -->
      <param if="$(arg subscribe_scan)" name="RGBD/OptimizeSlam2D"          type="string" value="true"/>
      <param if="$(arg subscribe_scan)" name="RGBD/LocalLoopDetectionSpace" type="string" value="true"/>
      <param if="$(arg subscribe_scan)" name="LccIcp/Type"                  type="string" value="2"/> 
      <param if="$(arg subscribe_scan)" name="LccIcp2/CorrespondenceRatio"  type="string" value="0.25"/>
    </node>
  
<!--
    Visualisation RTAB-Map
    <node if="$(arg rtabmapviz)" pkg="rtabmap_ros" type="rtabmapviz" name="rtabmapviz" args="$(arg rtabmapviz_cfg)" output="screen" launch-prefix="$(arg launch_prefix)">
      <param name="subscribe_depth"     type="bool"   value="true"/>
      <param name="subscribe_laserScan" type="bool"   value="$(arg subscribe_scan)"/>
      <param name="subscribe_odom_info" type="bool"   value="$(arg visual_odometry)"/>
      <param name="frame_id"            type="string" value="$(arg frame_id)"/>
      <param name="wait_for_transform_duration"  type="double"   value="$(arg wait_for_transform)"/>
    
      <remap from="rgb/image"       to="$(arg rgb_topic)"/>
      <remap from="depth/image"     to="$(arg depth_registered_topic)"/>
      <remap from="rgb/camera_info" to="$(arg camera_info_topic)"/>
      <remap from="scan"            to="$(arg scan_topic)"/>
      <remap unless="$(arg visual_odometry)" from="odom"  to="$(arg odom_topic)"/>
    </node>
-->
  </group>
  

  <!-- Visualization RVIZ -->
  <node if="$(arg rviz)" pkg="rviz" type="rviz" name="rviz" args="$(arg rviz_cfg)"/>
  <!-- sync cloud with odometry and voxelize the point cloud (for fast visualization in rviz) -->
  <node if="$(arg rviz)" pkg="nodelet" type="nodelet" name="standalone_nodelet"  args="manager" output="screen"/>
  <node if="$(arg rviz)" pkg="nodelet" type="nodelet" name="data_odom_sync" args="load rtabmap_ros/data_odom_sync standalone_nodelet">
    <remap from="rgb/image_in"        to="$(arg rgb_topic)"/>
    <remap from="depth/image_in"      to="$(arg depth_registered_topic)"/>
    <remap from="rgb/camera_info_in"  to="$(arg camera_info_topic)"/>
    <remap if="$(arg visual_odometry)"     from="odom_in"  to="rtabmap/odom"/>
    <remap unless="$(arg visual_odometry)" from="odom_in"  to="$(arg odom_topic)"/>
    
    <remap from="rgb/image_out"       to="data_odom_sync/image"/>
    <remap from="depth/image_out"     to="data_odom_sync/depth"/>
    <remap from="rgb/camera_info_out" to="data_odom_sync/camera_info"/>
    <remap from="odom_out"            to="odom_sync"/>
  </node>
  <node if="$(arg rviz)" pkg="nodelet" type="nodelet" name="points_xyzrgb" args="load rtabmap_ros/point_cloud_xyzrgb standalone_nodelet">
    <remap from="rgb/image"       to="data_odom_sync/image"/>
    <remap from="depth/image"     to="data_odom_sync/depth"/>
    <remap from="rgb/camera_info" to="data_odom_sync/camera_info"/>
    <remap from="cloud"           to="voxel_cloud" />

    <param name="decimation" type="double" value="2"/>
    <param name="voxel_size" type="double" value="0.02"/>
  </node>

<node pkg="tf" type="static_transform_publisher" name="base_link_to_camera_link_rgb"   args="-0.36195 0 0.6604 -1.5707963267948966 0 -1.5707963267948966 base_link zed_rgb_optical_frame 100" >
</node>

<node pkg="tf" type="static_transform_publisher" name="camera_link_rgb_to_camera_link_depth" args="0 0 0 0 0 0 zed_rgb_optical_frame zed_depth_optical_frame 100" >
</node>

<node pkg="tf" type="static_transform_publisher" name="base_link_to_imu_link" args="0.4318 0.1143 0.2413 0 0 0 base_link imu_link 100" >
</node>

<node pkg="tf" type="static_transform_publisher" name="base_link_to_lidar_link" args="0.381 -0.0762 0.2413 0 0 0 base_link lidar_link 100" >
</node>

</launch>
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap process error

matlabbe
Administrator
Hi,

Can you launch the launch file with "--udebug" argument:
$roslaunch your_launch_file.launch rtabmap_args:="--delete_db_on_start --udebug"
This will print debug logs of the rtabmap node (which is crashing). This will help to see where is the problem. If the problem is highly reproductible just after a few frames, maybe record a small rosbag like this:
$ rosbag record /tf /rgb/image_raw/compressed /depth/image_raw/compressedDepth /camera/rgb/camera_info /rtabmap/odom /scan

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap process error

dgmiller
Thanks Matlabbe, here is the output:

[ INFO] (2016-01-29 11:56:26.289) Rtabmap.cpp:952::process() Processing signature 11 w=0
[ INFO] (2016-01-29 11:56:26.289) Rtabmap.cpp:954::process() timeMemoryUpdate=0.213165s
[ INFO] (2016-01-29 11:56:26.289) Rtabmap.cpp:1065::process() timeScanMatching=0.000033s
[ INFO] (2016-01-29 11:56:26.289) Rtabmap.cpp:1168::process() timeLocalTimeDetection=0.000047s
[ INFO] (2016-01-29 11:56:26.289) Rtabmap.cpp:1187::process() computing likelihood...
[DEBUG] (2016-01-29 11:56:26.289) Memory.cpp:1386::computeLikelihood() processing... 
[DEBUG] (2016-01-29 11:56:26.289) Memory.cpp:1421::computeLikelihood() compute likelihood (tf-idf) 0.000486 s
[DEBUG] (2016-01-29 11:56:26.289) Rtabmap.cpp:2929::adjustLikelihood() likelihood.size()=2
[DEBUG] (2016-01-29 11:56:26.289) Rtabmap.cpp:2948::adjustLikelihood() values.size=1
[DEBUG] (2016-01-29 11:56:26.289) Rtabmap.cpp:2995::adjustLikelihood() mean=0.019290, stdDev=0.000000, max=0.000000, maxId=0, time=0.000027s
[ INFO] (2016-01-29 11:56:26.289) Rtabmap.cpp:1217::process() timeLikelihoodCalculation=0.000744s
[ INFO] (2016-01-29 11:56:26.289) Rtabmap.cpp:1223::process() getting posterior...
[DEBUG] (2016-01-29 11:56:26.289) BayesFilter.cpp:132::computePosterior() 
[DEBUG] (2016-01-29 11:56:26.289) BayesFilter.cpp:411::updatePrediction() 
[DEBUG] (2016-01-29 11:56:26.290) BayesFilter.cpp:439::updatePrediction() time creating id-index maps = 0.000031s
[DEBUG] (2016-01-29 11:56:26.290) BayesFilter.cpp:451::updatePrediction() time getting removed ids = 0.000029s
[DEBUG] (2016-01-29 11:56:26.290) BayesFilter.cpp:495::updatePrediction() From added id 1, 0 neighbors to update.
[DEBUG] (2016-01-29 11:56:26.290) BayesFilter.cpp:498::updatePrediction() time getting 0 ids to update = 0.000099s
[DEBUG] (2016-01-29 11:56:26.290) BayesFilter.cpp:544::updatePrediction() time updating modified/added 0 ids = 0.000028s
[DEBUG] (2016-01-29 11:56:26.290) BayesFilter.cpp:575::updatePrediction() time copying = 0.000027s
[DEBUG] (2016-01-29 11:56:26.290) BayesFilter.cpp:595::updatePrediction() time updating virtual place = 0.000027s
[DEBUG] (2016-01-29 11:56:26.290) BayesFilter.cpp:597::updatePrediction() Modified=0, Added=1, Copied=0
[DEBUG] (2016-01-29 11:56:26.290) BayesFilter.cpp:164::computePosterior() STEP1-generate prior=0.000297s, rows=2, cols=2
[DEBUG] (2016-01-29 11:56:26.290) BayesFilter.cpp:603::updatePosterior() 
[DEBUG] (2016-01-29 11:56:26.290) BayesFilter.cpp:176::computePosterior() STEP1-update posterior=0.000297s, posterior=2, _posterior size=2
[DEBUG] (2016-01-29 11:56:26.290) BayesFilter.cpp:182::computePosterior() STEP1-matrix mult time=0.000088s
[DEBUG] (2016-01-29 11:56:26.290) BayesFilter.cpp:185::computePosterior() STEP1-matrix mult time=0.000029s
[DEBUG] (2016-01-29 11:56:26.290) BayesFilter.cpp:204::computePosterior() STEP2-likelihood time=0.000026s
[DEBUG] (2016-01-29 11:56:26.290) BayesFilter.cpp:208::computePosterior() sum=1.900000
[DEBUG] (2016-01-29 11:56:26.290) BayesFilter.cpp:216::computePosterior() normalize time=0.000050s
[ INFO] (2016-01-29 11:56:26.290) Rtabmap.cpp:1228::process() timePosteriorCalculation=0.000593s
[ INFO] (2016-01-29 11:56:26.290) Rtabmap.cpp:1239::process() creating hypotheses...
[ INFO] (2016-01-29 11:56:26.290) Rtabmap.cpp:1253::process() Highest hypothesis=1, value=0.052632, timeHypothesesCreation=0.000054s
[DEBUG] (2016-01-29 11:56:26.290) Memory.cpp:1545::joinTrashThread() 
[DEBUG] (2016-01-29 11:56:26.290) Memory.cpp:1547::joinTrashThread() 
[ INFO] (2016-01-29 11:56:26.290) Rtabmap.cpp:1315::process() Time emptying memory trash = 0.000092s,  joining (actual overhead) = 0.000074s
[ INFO] (2016-01-29 11:56:26.290) Rtabmap.cpp:1329::process() Retrieving locations... around id=1
[DEBUG] (2016-01-29 11:56:26.290) Rtabmap.cpp:1332::process() margin=17 maxRetieved=2
[DEBUG] (2016-01-29 11:56:26.290) Rtabmap.cpp:1342::process() In TIME
[DEBUG] (2016-01-29 11:56:26.290) Rtabmap.cpp:1350::process() neighbors of 1 in time = 11
[DEBUG] (2016-01-29 11:56:26.290) Rtabmap.cpp:1381::process() nt=1 m=0 immunized=1
[DEBUG] (2016-01-29 11:56:26.290) Rtabmap.cpp:1396::process() In SPACE
[DEBUG] (2016-01-29 11:56:26.290) Rtabmap.cpp:1404::process() neighbors of 1 in space = 11
[ INFO] (2016-01-29 11:56:26.291) Rtabmap.cpp:1451::process() neighborhoodSize=17, reactivatedIds.size=1, nbLoadedFromDb=0, nbDirectNeighborsInDb=0, time=0.000308s (0.000000s 0.000000s)
[DEBUG] (2016-01-29 11:56:26.291) Graph.cpp:2404::getNodesInRadius() Inlier 2: 0.000277
[DEBUG] (2016-01-29 11:56:26.291) Graph.cpp:2404::getNodesInRadius() Inlier 1: 0.000300
[DEBUG] (2016-01-29 11:56:26.291) Graph.cpp:2404::getNodesInRadius() Inlier 10: 0.000363
[DEBUG] (2016-01-29 11:56:26.291) Graph.cpp:2404::getNodesInRadius() Inlier 6: 0.000385
[DEBUG] (2016-01-29 11:56:26.291) Graph.cpp:2404::getNodesInRadius() Inlier 3: 0.000482
[DEBUG] (2016-01-29 11:56:26.291) Graph.cpp:2404::getNodesInRadius() Inlier 7: 0.000610
[DEBUG] (2016-01-29 11:56:26.291) Graph.cpp:2404::getNodesInRadius() Inlier 5: 0.000648
[DEBUG] (2016-01-29 11:56:26.291) Graph.cpp:2404::getNodesInRadius() Inlier 9: 0.000650
[DEBUG] (2016-01-29 11:56:26.291) Graph.cpp:2404::getNodesInRadius() Inlier 8: 0.000685
[DEBUG] (2016-01-29 11:56:26.291) Graph.cpp:2404::getNodesInRadius() Inlier 4: 0.000933
[DEBUG] (2016-01-29 11:56:26.292) Graph.cpp:2409::getNodesInRadius() found nodes=10
[ INFO] (2016-01-29 11:56:26.292) Rtabmap.cpp:1588::process() near nodes=10, max local immunized=0, ratio=0.250000 WM=2
[DEBUG] (2016-01-29 11:56:26.292) Memory.cpp:4372::reactivateSignatures() 
[DEBUG] (2016-01-29 11:56:26.292) Memory.cpp:4388::reactivateSignatures() idsToLoad = 0
[DEBUG] (2016-01-29 11:56:26.292) DBDriver.cpp:336::loadSignatures() 
[DEBUG] (2016-01-29 11:56:26.292) DBDriver.cpp:376::loadSignatures() 
[DEBUG] (2016-01-29 11:56:26.292) Memory.cpp:4264::enableWordsRef() size=0
[DEBUG] (2016-01-29 11:56:26.292) Memory.cpp:4291::enableWordsRef() oldWordIds.size()=0, getOldIds time=0.000000s
[DEBUG] (2016-01-29 11:56:26.292) Memory.cpp:4300::enableWordsRef() loading words(0) time=0.000060s
[DEBUG] (2016-01-29 11:56:26.292) Memory.cpp:4363::enableWordsRef() 0 words total ref added from 0 signatures, time=0.000043s...
[DEBUG] (2016-01-29 11:56:26.292) Memory.cpp:4404::reactivateSignatures() time = 0.000385s
[ INFO] (2016-01-29 11:56:26.292) Rtabmap.cpp:1663::process() retrieval of 0 (db time = 0.000162s)
[ INFO] (2016-01-29 11:56:26.292) Rtabmap.cpp:1666::process() total timeRetrievalDbAccess=0.000162s
[ INFO] (2016-01-29 11:56:26.292) Rtabmap.cpp:1672::process() timeReactivations=0.002178s
[ INFO] (2016-01-29 11:56:26.292) Rtabmap.cpp:1776::process() timeAddLoopClosureLink=0.000063s
[DEBUG] (2016-01-29 11:56:26.292) Rtabmap.cpp:1805::process() Proximity detection (local loop closure in SPACE using matching images)
[DEBUG] (2016-01-29 11:56:26.293) Rtabmap.cpp:1815::process() nearestIds=11/11
[DEBUG] (2016-01-29 11:56:26.293) Rtabmap.cpp:1824::process() nearestPoses=1
[DEBUG] (2016-01-29 11:56:26.293) Rtabmap.cpp:1828::process() nearestPaths=1
[DEBUG] (2016-01-29 11:56:26.293) Graph.cpp:2352::findNearestNode() Nearest node = 1: 0.000000
[DEBUG] (2016-01-29 11:56:26.293) Memory.cpp:399::parseParameters() 
[DEBUG] (2016-01-29 11:56:26.294) Memory.cpp:523::parseParameters() new detector strategy 4
[DEBUG] (2016-01-29 11:56:26.294) Memory.cpp:3397::getNodeData() nodeId=1
[rtabmap/rtabmap-2] process has died [pid 2893, exit code -7, cmd /opt/ros/indigo/lib/rtabmap_ros/rtabmap --delete_db_on_start --udebug rgb/image:=/rgb/image_raw depth/image:=/depth/image_raw rgb/camera_info:=/camera/rgb/camera_info scan:=/scan __name:=rtabmap __log:=/home/ubuntu/.ros/log/a9228b8a-c6a7-11e5-b8e7-0005b7e12d1d/rtabmap-rtabmap-2.log].
log file: /home/ubuntu/.ros/log/a9228b8a-c6a7-11e5-b8e7-0005b7e12d1d/rtabmap-rtabmap-2*.log
[ INFO] [1454086586.406225080]: Odom: quality=872, std dev=0.033864m, update time=0.285796s
[ INFO] [1454086586.657017975]: Odom: quality=863, std dev=0.034040m, update time=0.231783s
[ INFO] [1454086586.980215637]: Odom: quality=863, std dev=0.034040m, update time=0.246286s
[ INFO] [1454086587.258510738]: Odom: quality=870, std dev=0.033903m, update time=0.263447s
[ INFO] [1454086587.527784951]: Odom: quality=869, std dev=0.033923m, update time=0.253286s
[ INFO] [1454086587.825213882]: Odom: quality=850, std dev=0.034300m, update time=0.284796s
^C
[base_link_to_lidar_link-10] killing on exit
[base_link_to_imu_link-9] killing on exit
[camera_link_rgb_to_camera_link_depth-8] killing on exit
[base_link_to_camera_link_rgb-7] killing on exit
[points_xyzrgb-6] killing on exit
[data_odom_sync-5] killing on exit
[standalone_nodelet-4] killing on exit
[rviz-3] killing on exit
[rtabmap/rgbd_odometry-1] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

Reply | Threaded
Open this post in threaded view
|

Re: rtabmap process error

matlabbe
Administrator
Hi,

It crashes in this function. Looking at the code of this function, I don't have a cue on this error. The checks on null pointers are done. What is your system? Can you create a rosbag with the command of my previous post?

Workaround 1: Disable re-extraction of features on loop closure to avoid calling this code:
<node type="rtabmap" ... >
   <param name="LccReextract/Activated" type="string" value="false"/>
</node>

Workaround 2: You can try with the latest version from source on GitHub.

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap process error

dgmiller
hi Mathieu,

i've set the parameter you've specified, and also tried to uninstall/reinstall from apt-get (indigo) and still the error persists. How can I record a rosbag? This is being used on the nvidia Jetson TX1. (with roscore running on a core i5 machine, hydro distro).

[ INFO] [1454346864.883833637]: rtabmap: Rate=1.00s, Limit=0.000s, RTAB-Map=0.1470s, Pub=0.0001s (local map=7, WM=7)
[ INFO] [1454346864.945247887]: Odom: quality=813, std dev=0.035072m, update time=0.204068s
[ INFO] [1454346865.155435029]: Odom: quality=810, std dev=0.035136m, update time=0.199239s
[ INFO] [1454346865.372049651]: Odom: quality=839, std dev=0.034524m, update time=0.205939s
[ INFO] [1454346865.586654035]: Odom: quality=815, std dev=0.035028m, update time=0.202894s
[ INFO] [1454346865.804721921]: Odom: quality=830, std dev=0.034711m, update time=0.206759s
[ INFO] [1454346865.961252381]: rtabmap: Rate=1.00s, Limit=0.000s, RTAB-Map=0.1503s, Pub=0.0001s (local map=8, WM=8)
[ INFO] [1454346866.037596253]: Odom: quality=843, std dev=0.034442m, update time=0.204379s
[ INFO] [1454346866.253154428]: Odom: quality=846, std dev=0.034381m, update time=0.204185s
[ INFO] [1454346866.465004573]: Odom: quality=826, std dev=0.034794m, update time=0.199304s
[ INFO] [1454346866.681860077]: Odom: quality=816, std dev=0.035007m, update time=0.205791s
[ INFO] [1454346866.897189296]: Odom: quality=845, std dev=0.034401m, update time=0.203839s
[ INFO] [1454346867.067839440]: rtabmap: Rate=1.00s, Limit=0.000s, RTAB-Map=0.1624s, Pub=0.0002s (local map=9, WM=9)
[ INFO] [1454346867.114530003]: Odom: quality=833, std dev=0.034648m, update time=0.205751s
[ INFO] [1454346867.333293715]: Odom: quality=818, std dev=0.034964m, update time=0.208157s
[ INFO] [1454346867.539817305]: Odom: quality=796, std dev=0.035444m, update time=0.194250s
[ INFO] [1454346867.752794937]: Odom: quality=820, std dev=0.034922m, update time=0.202296s
[ INFO] [1454346867.990677025]: Odom: quality=814, std dev=0.035050m, update time=0.202394s
[ INFO] [1454346868.169266766]: rtabmap: Rate=1.00s, Limit=0.000s, RTAB-Map=0.1720s, Pub=0.0001s (local map=10, WM=10)
[ INFO] [1454346868.212756897]: Odom: quality=835, std dev=0.034606m, update time=0.210662s
[ INFO] [1454346868.426683997]: Odom: quality=808, std dev=0.035180m, update time=0.201989s
[ INFO] [1454346868.636686297]: Odom: quality=847, std dev=0.034360m, update time=0.199336s
[ INFO] [1454346868.903455193]: Odom: quality=849, std dev=0.034320m, update time=0.255927s
[ INFO] [1454346869.139996463]: Odom: quality=841, std dev=0.034483m, update time=0.222717s
[ INFO] [1454346869.353995384]: Odom: quality=831, std dev=0.034690m, update time=0.202347s
[rtabmap/rtabmap-2] process has died [pid 6456, exit code -7, cmd /opt/ros/indigo/lib/rtabmap_ros/rtabmap --delete_db_on_start rgb/image:=/rgb/image_raw depth/image:=/depth/image_raw rgb/camera_info:=/camera/rgb/camera_info scan:=/scan __name:=rtabmap __log:=/home/ubuntu/.ros/log/148ddeee-c903-11e5-851c-0005b7e12d1d/rtabmap-rtabmap-2.log].
log file: /home/ubuntu/.ros/log/148ddeee-c903-11e5-851c-0005b7e12d1d/rtabmap-rtabmap-2*.log
[ INFO] [1454346869.564957258]: Odom: quality=838, std dev=0.034544m, update time=0.198467s
[ INFO] [1454346869.788130815]: Odom: quality=830, std dev=0.034711m, update time=0.196693s
[ INFO] [1454346869.999609609]: Odom: quality=837, std dev=0.034565m, update time=0.199889s
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap process error

matlabbe
Administrator
Hi,

There is maybe an issue with the binaries (apt-get) version and Jetson platform. Try build rtabmap from source (uninstall ros-indigo-rtabmap and follow these instructions from step 2).

For the rosbag, launch only your launch files that bring-up the robot (which start tf, RGB-D and laser sensors with the topics below) without launching RTAB-Map launch file. Then execute:
$ rosbag record /tf /rgb/image_raw/compressed /depth/image_raw/compressedDepth /camera/rgb/camera_info /scan

You can verify that the correct ropics were recorded by doing:
$rosbag info my_recorded_bag.bag

cheers
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap process error

dgmiller
Thanks Mathieu,

I have since compiled from source and do not get the same error, however i do get a process dying after running rtabmap while the robot is not moving (testing). is this normal?
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap process error

matlabbe
Administrator
Hi,

No, what is your error? (show log with rtabmap_args:="--udebug")

cheers
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap process error

matlabbe
Administrator
This post was updated on .
Hi,

I've looked at your rosbag you sent me. Tip: Note that you can compress the rosbag for convenience before sharing it. Here is the rosbag info (the relevant info):
rosbag info input.bag 
path:        input.bag
version:     2.0
duration:    1:03s (63s)
...
topics:      /camera/depth/camera_info      330 msgs    : sensor_msgs/CameraInfo          
             /camera/rgb/camera_info        330 msgs    : sensor_msgs/CameraInfo          
             /depth/image_raw               330 msgs    : sensor_msgs/Image               
             /rgb/image_raw                 328 msgs    : sensor_msgs/Image                   
             /scan                          383 msgs    : sensor_msgs/LaserScan           
             /tf                           2542 msgs    : tf2_msgs/TFMessage

You ran rtabmap at the same time as taking the rosbag, I removed all /map and /odom tf from the bag before replaying it. I used the python script here for that.

I did a first test with the indigo binaries (0.10.10), and rtabmapviz is crashing but not rtabmap. So I unsintalled the binaries and installed rtabmap 0.10.12 (latest master) from source. rtabmapviz was not crashing anymore and the mapping went well, here is the final result:



The robot moved approximately 1 meter. The commands I used with the rosbag:
$ roscore
$ rosparam set use_sim_time true
$ roslaunch rtabmap_ros rtabmap.launch rgb_topic:=/rgb/image_raw depth_topic:=/depth/image_raw camera_info_topic:=/camera/rgb/camera_info subscribe_scan:=true frame_id:=/base_link rtabmap_args:="--delete_db_on_start" rtabmapviz:=false rviz:=true
$ rosbag play --clock output.bag

You may receive some warnings like that about tf (note that I've just updated the code with the latest warning):
[ WARN] [1454433611.618708826, 1454372119.478533730]: rtabmap: Could not get transform from odom to /base_link after 0.100000 second!
[ WARN] [1454433611.618766026, 1454372119.478533730]: Could not get odometry value for laser scan stamp 
(1454372118.275979s). Latest odometry stamp is 1454372118.213435s. The laser scan pose will not be
 synchronized with odometry.
Setting "wait_for_transform" higher or increasing /scan frame rate may help to better synchronize the messages.

cheers

Reply | Threaded
Open this post in threaded view
|

Re: rtabmap process error

dgmiller
Thanks very much Mathieu,

I'll recompile with the updated code, and do the tweaks you suggested within the next few days. thank you again for your help!

Reply | Threaded
Open this post in threaded view
|

Re: rtabmap process error

dgmiller
In reply to this post by dgmiller
Hi Mathieu,

I've pulled the latest updates from github and recompiled rtabmap. I have then ran again, and the mapping was crashing when a function that had to do with laser scan matching was crashing. however, i disabled laser scan matching and ran again, and this time I got the mapping to be active for a few longer seconds and with robot movement. the output from the following crash is below.

however I would like to say that I am using 3 machines and their clocks may not be perfectly synchronized. would this be a possible cause of error?

best,
daniel

[DEBUG] (2016-02-05 16:22:57.192) Rtabmap.cpp:1445::process() nt=34 m=1 immunized=1
[DEBUG] (2016-02-05 16:22:57.192) Rtabmap.cpp:1445::process() nt=40 m=1 immunized=1
[DEBUG] (2016-02-05 16:22:57.192) Rtabmap.cpp:1445::process() nt=33 m=2 immunized=1
[DEBUG] (2016-02-05 16:22:57.192) Rtabmap.cpp:1445::process() nt=41 m=2 immunized=1
[DEBUG] (2016-02-05 16:22:57.192) Rtabmap.cpp:1445::process() nt=31 m=3 immunized=1
[DEBUG] (2016-02-05 16:22:57.192) Rtabmap.cpp:1445::process() nt=42 m=3 immunized=1
[DEBUG] (2016-02-05 16:22:57.193) Rtabmap.cpp:1445::process() nt=30 m=4 immunized=1
[DEBUG] (2016-02-05 16:22:57.193) Rtabmap.cpp:1445::process() nt=29 m=5 immunized=1
[DEBUG] (2016-02-05 16:22:57.193) Rtabmap.cpp:1445::process() nt=27 m=6 immunized=1
[DEBUG] (2016-02-05 16:22:57.193) Rtabmap.cpp:1445::process() nt=26 m=7 immunized=1
[DEBUG] (2016-02-05 16:22:57.193) Rtabmap.cpp:1445::process() nt=25 m=8 immunized=1
[DEBUG] (2016-02-05 16:22:57.193) Rtabmap.cpp:1445::process() nt=24 m=9 immunized=1
[DEBUG] (2016-02-05 16:22:57.193) Rtabmap.cpp:1445::process() nt=23 m=10 immunized=1
[DEBUG] (2016-02-05 16:22:57.193) Rtabmap.cpp:1445::process() nt=22 m=11 immunized=1
[DEBUG] (2016-02-05 16:22:57.193) Rtabmap.cpp:1445::process() nt=21 m=12 immunized=1
[DEBUG] (2016-02-05 16:22:57.193) Rtabmap.cpp:1445::process() nt=20 m=13 immunized=1
[DEBUG] (2016-02-05 16:22:57.193) Rtabmap.cpp:1445::process() nt=1 m=14 immunized=1
[DEBUG] (2016-02-05 16:22:57.193) Rtabmap.cpp:1460::process() In SPACE
[DEBUG] (2016-02-05 16:22:57.193) Rtabmap.cpp:1468::process() neighbors of 36 in space = 28
[ INFO] (2016-02-05 16:22:57.193) Rtabmap.cpp:1515::process() neighborhoodSize=17, reactivatedIds.size=18, nbLoadedFromDb=0, nbDirectNeighborsInDb=0, time=0.001120s (0.000000s 0.000000s)
[DEBUG] (2016-02-05 16:22:57.193) Graph.cpp:2780::findNearestNode() Nearest node = 27: 5.437055
[DEBUG] (2016-02-05 16:22:57.194) Rtabmap.cpp:1632::process() local node 27 on path immunized=1
[DEBUG] (2016-02-05 16:22:57.194) Rtabmap.cpp:1632::process() local node 29 on path immunized=1
[DEBUG] (2016-02-05 16:22:57.194) Rtabmap.cpp:1632::process() local node 30 on path immunized=1
[DEBUG] (2016-02-05 16:22:57.194) Rtabmap.cpp:1632::process() local node 31 on path immunized=1
[DEBUG] (2016-02-05 16:22:57.194) Rtabmap.cpp:1632::process() local node 33 on path immunized=1
[DEBUG] (2016-02-05 16:22:57.194) Rtabmap.cpp:1632::process() local node 34 on path immunized=1
[DEBUG] (2016-02-05 16:22:57.194) Rtabmap.cpp:1632::process() local node 36 on path immunized=1
[DEBUG] (2016-02-05 16:22:57.194) Rtabmap.cpp:1632::process() local node 40 on path immunized=1
[DEBUG] (2016-02-05 16:22:57.194) Rtabmap.cpp:1632::process() local node 41 on path immunized=1
[DEBUG] (2016-02-05 16:22:57.194) Rtabmap.cpp:1632::process() local node 42 on path immunized=1
[DEBUG] (2016-02-05 16:22:57.194) Graph.cpp:2832::getNodesInRadius() Inlier 47: 0.045553
[DEBUG] (2016-02-05 16:22:57.194) Graph.cpp:2832::getNodesInRadius() Inlier 56: 0.097870
[DEBUG] (2016-02-05 16:22:57.194) Graph.cpp:2832::getNodesInRadius() Inlier 48: 0.268702
[DEBUG] (2016-02-05 16:22:57.194) Graph.cpp:2832::getNodesInRadius() Inlier 46: 0.293229
[DEBUG] (2016-02-05 16:22:57.194) Graph.cpp:2832::getNodesInRadius() Inlier 55: 0.372869
[DEBUG] (2016-02-05 16:22:57.194) Graph.cpp:2832::getNodesInRadius() Inlier 49: 0.495991
[DEBUG] (2016-02-05 16:22:57.194) Graph.cpp:2832::getNodesInRadius() Inlier 45: 1.060669
[DEBUG] (2016-02-05 16:22:57.194) Graph.cpp:2832::getNodesInRadius() Inlier 44: 1.784922
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 27: 2.331749
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 29: 2.439999
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 43: 2.527321
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 30: 2.554784
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 26: 2.601842
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 31: 2.641206
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 33: 2.759153
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 42: 2.780928
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 36: 2.810022
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 34: 2.850865
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 25: 2.859104
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 40: 2.879664
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 41: 2.952356
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 24: 3.176341
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 23: 3.518435
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 22: 3.677536
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 21: 3.854294
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 20: 3.958724
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2832::getNodesInRadius() Inlier 1: 4.058193
[DEBUG] (2016-02-05 16:22:57.195) Graph.cpp:2837::getNodesInRadius() found nodes=27
[ INFO] (2016-02-05 16:22:57.195) Rtabmap.cpp:1652::process() near nodes=27, max local immunized=4, ratio=0.250000 WM=19
[DEBUG] (2016-02-05 16:22:57.195) Rtabmap.cpp:1678::process() local node 27 (5.437055 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.195) Rtabmap.cpp:1678::process() local node 29 (5.953593 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Rtabmap.cpp:1678::process() local node 30 (6.526919 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Rtabmap.cpp:1678::process() local node 26 (6.769581 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Rtabmap.cpp:1678::process() local node 31 (6.975970 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Rtabmap.cpp:1678::process() local node 33 (7.612926 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Rtabmap.cpp:1678::process() local node 42 (7.733559 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Rtabmap.cpp:1678::process() local node 36 (7.896225 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Rtabmap.cpp:1678::process() local node 34 (8.127434 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Rtabmap.cpp:1678::process() local node 25 (8.174479 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Rtabmap.cpp:1678::process() local node 40 (8.292466 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Rtabmap.cpp:1678::process() local node 41 (8.716405 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Rtabmap.cpp:1678::process() local node 24 (10.089140 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Rtabmap.cpp:1678::process() local node 23 (12.379388 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Rtabmap.cpp:1678::process() local node 22 (13.524271 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Rtabmap.cpp:1678::process() local node 21 (14.855586 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Rtabmap.cpp:1678::process() local node 20 (15.671494 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Rtabmap.cpp:1678::process() local node 1 (16.468933 m) immunized=1
[DEBUG] (2016-02-05 16:22:57.196) Memory.cpp:4547::reactivateSignatures() 
[DEBUG] (2016-02-05 16:22:57.196) Memory.cpp:4563::reactivateSignatures() idsToLoad = 0
[DEBUG] (2016-02-05 16:22:57.196) DBDriver.cpp:409::loadSignatures() 
[DEBUG] (2016-02-05 16:22:57.196) DBDriver.cpp:449::loadSignatures() 
[DEBUG] (2016-02-05 16:22:57.196) Memory.cpp:4439::enableWordsRef() size=0
[DEBUG] (2016-02-05 16:22:57.196) Memory.cpp:4466::enableWordsRef() oldWordIds.size()=0, getOldIds time=0.000000s
[DEBUG] (2016-02-05 16:22:57.196) Memory.cpp:4475::enableWordsRef() loading words(0) time=0.000038s
[DEBUG] (2016-02-05 16:22:57.196) Memory.cpp:4538::enableWordsRef() 0 words total ref added from 0 signatures, time=0.000041s...
[DEBUG] (2016-02-05 16:22:57.197) Memory.cpp:4579::reactivateSignatures() time = 0.000274s
[ INFO] (2016-02-05 16:22:57.197) Rtabmap.cpp:1727::process() retrieval of 0 (db time = 0.000110s)
[ INFO] (2016-02-05 16:22:57.197) Rtabmap.cpp:1730::process() total timeRetrievalDbAccess=0.000110s
[ INFO] (2016-02-05 16:22:57.197) Rtabmap.cpp:1736::process() timeReactivations=0.004597s
[ INFO] (2016-02-05 16:22:57.197) Rtabmap.cpp:1840::process() timeAddLoopClosureLink=0.000038s
[DEBUG] (2016-02-05 16:22:57.197) Rtabmap.cpp:1871::process() Proximity detection (local loop closure in SPACE using matching images)
[DEBUG] (2016-02-05 16:22:57.197) Rtabmap.cpp:1881::process() nearestIds=28/28
[DEBUG] (2016-02-05 16:22:57.197) Rtabmap.cpp:1890::process() nearestPoses=18
[DEBUG] (2016-02-05 16:22:57.197) Rtabmap.cpp:1894::process() nearestPaths=1
[DEBUG] (2016-02-05 16:22:57.197) Graph.cpp:2780::findNearestNode() Nearest node = 27: 5.437055
[DEBUG] (2016-02-05 16:22:57.197) Rtabmap.cpp:2007::process() Proximity detection (local loop closure in SPACE with scan matching)
[DEBUG] (2016-02-05 16:22:57.197) Graph.cpp:2780::findNearestNode() Nearest node = 27: 5.437055
[DEBUG] (2016-02-05 16:22:57.197) Rtabmap.cpp:2027::process() Path 27 distance=2.331749m
[DEBUG] (2016-02-05 16:22:57.197) Rtabmap.cpp:2123::process() Path 27 ignored
[ INFO] (2016-02-05 16:22:57.197) Rtabmap.cpp:2131::process() timeLocalSpaceDetection=0.000791s
[ INFO] (2016-02-05 16:22:57.198) Rtabmap.cpp:2302::process() timeMapOptimization=0.000053s
[ INFO] (2016-02-05 16:22:57.198) Rtabmap.cpp:2329::process() sending stats...
[ INFO] (2016-02-05 16:22:57.198) Rtabmap.cpp:2338::process() send all stats...
[ INFO] (2016-02-05 16:22:57.198) Rtabmap.cpp:2367::process() Set map correction = xyz=0.000000,0.000000,0.000000 rpy=0.000000,-0.000000,0.000000
[ INFO] (2016-02-05 16:22:57.198) Rtabmap.cpp:2421::process() Time creating stats = 0.000427...
[DEBUG] (2016-02-05 16:22:57.198) Memory.cpp:1654::cleanup() 
[ INFO] (2016-02-05 16:22:57.198) Rtabmap.cpp:2457::process() Ignoring location 57 because the displacement is too small! (d=0.100000 a=0.100000)
[DEBUG] (2016-02-05 16:22:57.198) Memory.cpp:2069::deleteLocation() Deleting location 57
[DEBUG] (2016-02-05 16:22:57.198) Memory.cpp:1853::moveToTrash() id=57
[DEBUG] (2016-02-05 16:22:57.199) Signature.cpp:138::removeLink() Removed link 57 from 56
[DEBUG] (2016-02-05 16:22:57.199) Memory.cpp:4391::disableWordsRef() id=57
[DEBUG] (2016-02-05 16:22:57.200) Memory.cpp:4407::disableWordsRef() 400 words total ref removed from signature 57... (total active ref = 10800)
[DEBUG] (2016-02-05 16:22:57.200) DBDriver.cpp:293::asyncSave() s=57
[ INFO] (2016-02-05 16:22:57.200) Rtabmap.cpp:2468::process() timeMemoryCleanup = 0.002412s... 1 signatures removed
[ INFO] (2016-02-05 16:22:57.200) Rtabmap.cpp:2481::process() Total time processing = 0.290038s...
[DEBUG] (2016-02-05 16:22:57.200) Memory.cpp:1969::getLastWorkingSignature() 
[DEBUG] (2016-02-05 16:22:57.200) Memory.cpp:1969::getLastWorkingSignature() 
[DEBUG] (2016-02-05 16:22:57.201) Rtabmap.cpp:2523::process() Refresh local map from 56
[DEBUG] (2016-02-05 16:22:57.201) Rtabmap.cpp:2537::process() Removed 57 from local map
[ INFO] (2016-02-05 16:22:57.201) Rtabmap.cpp:2575::process() Time limit reached processing = 0.000362...
[DEBUG] (2016-02-05 16:22:57.204) DBDriver.cpp:222::emptyTrashes() Async emptying, start the trash thread
[DEBUG] (2016-02-05 16:22:57.204) Rtabmap.cpp:2718::process() End process
[DEBUG] (2016-02-05 16:22:57.204) CoreWrapper.cpp:2040::publishStats() Publishing stats...
[DEBUG] (2016-02-05 16:22:57.204) MapsManager.cpp:169::updateMapCaches() Updating map caches...
[ INFO] (2016-02-05 16:22:57.204) Graph.cpp:2024::radiusPosesFiltering() Cloud filtered In = 28, Out = 9
[ INFO] [1454707377.206842907]: Odom: quality=203, std dev=0.070186m, update time=0.289239s
[DEBUG] (2016-02-05 16:22:57.213) DBDriver.cpp:234::emptyTrashes() signatures=1, visualWords=0
[DEBUG] (2016-02-05 16:22:57.214) DBDriver.cpp:200::beginTransaction() 
[DEBUG] (2016-02-05 16:22:57.214) DBDriverSqlite3.cpp:433::executeNoResultQuery() Time=0.000036s
[DEBUG] (2016-02-05 16:22:57.215) DBDriver.cpp:316::saveOrUpdate() 
[DEBUG] (2016-02-05 16:22:57.215) DBDriverSqlite3.cpp:2254::saveQuery() 
[DEBUG] (2016-02-05 16:22:57.216) DBDriverSqlite3.cpp:2526::stepNode() Save node 57
[DEBUG] (2016-02-05 16:22:57.216) DBDriverSqlite3.cpp:2276::saveQuery() Time=0.000756s
[DEBUG] (2016-02-05 16:22:57.217) DBDriverSqlite3.cpp:2295::saveQuery() Time=0.000507s
[DEBUG] (2016-02-05 16:22:57.227) DBDriverSqlite3.cpp:2326::saveQuery() Time=0.010031s
[DEBUG] (2016-02-05 16:22:57.227) DBDriverSqlite3.cpp:2334::saveQuery() Saving 1 images
[DEBUG] (2016-02-05 16:22:57.228) DBDriverSqlite3.cpp:2760::stepSensorData() Save sensor data 57 (image=193269 depth=671217) depth2d = 703
[DEBUG] (2016-02-05 16:22:57.230) DBDriverSqlite3.cpp:2351::saveQuery() Time=0.003126s
[DEBUG] (2016-02-05 16:22:57.230) DBDriverSqlite3.cpp:2392::saveQuery() Time=0.000376s
[DEBUG] (2016-02-05 16:22:57.231) DBDriver.cpp:262::emptyTrashes() Time emptying memory signatures trash = 0.015811...
[DEBUG] (2016-02-05 16:22:57.231) DBDriver.cpp:206::commit() 
[DEBUG] (2016-02-05 16:22:57.240) DBDriverSqlite3.cpp:433::executeNoResultQuery() Time=0.009079s
[DEBUG] (2016-02-05 16:22:57.241) DBDriver.cpp:284::emptyTrashes() Total time emptying trashes = 0.027147s...
[DEBUG] (2016-02-05 16:22:57.311) MapsManager.cpp:453::publishMaps() Publishing maps...
[DEBUG] (2016-02-05 16:22:57.311) util3d_mapping.cpp:135::create2DMapFromOccupancyLocalMaps() cellSize=0.050000 m, minMapSize=0.000000 m, erode=0
[DEBUG] (2016-02-05 16:22:57.311) util3d_mapping.cpp:239::create2DMapFromOccupancyLocalMaps() timer=0.000412s
[DEBUG] (2016-02-05 16:22:57.311) util3d_mapping.cpp:259::create2DMapFromOccupancyLocalMaps() map min=(-0.059772, -6.022515) max=(10.173406,5.584777)
[DEBUG] (2016-02-05 16:22:57.312) util3d_mapping.cpp:377::create2DMapFromOccupancyLocalMaps() timer=0.001008s
[ INFO] [1454707377.312881562]: rtabmap: Rate=1.00s, Limit=0.000s, RTAB-Map=0.2943s, Pub=0.1083s (local map=27, WM=27)
[ INFO] [1454707377.507231683]: Odom: quality=266, std dev=0.061314m, update time=0.283608s
[ INFO] [1454707377.759420923]: Odom: quality=284, std dev=0.059339m, update time=0.237182s
[ INFO] [1454707377.990609068]: Odom: quality=220, std dev=0.067420m, update time=0.198672s
[DEBUG] (2016-02-05 16:22:58.001) Rtabmap.cpp:833::process() 
[ INFO] (2016-02-05 16:22:58.002) Rtabmap.cpp:887::process() getting data...
[DEBUG] (2016-02-05 16:22:58.003) Memory.cpp:1969::getLastWorkingSignature() 
[DEBUG] (2016-02-05 16:22:58.003) Memory.cpp:1969::getLastWorkingSignature() 
[ INFO] (2016-02-05 16:22:58.003) Rtabmap.cpp:943::process() Updating memory...
[DEBUG] (2016-02-05 16:22:58.003) Memory.cpp:577::update() 
[DEBUG] (2016-02-05 16:22:58.003) Memory.cpp:586::update() pre-updating...
[DEBUG] (2016-02-05 16:22:58.003) Memory.cpp:4416::cleanUnusedWords() Removing 0 words (dictionary size=6196)...
[DEBUG] (2016-02-05 16:22:58.003) Memory.cpp:590::update() time preUpdate=0.088930 ms
[DEBUG] (2016-02-05 16:22:58.003) Memory.cpp:3775::createSignature() 
[DEBUG] (2016-02-05 16:22:58.003) Memory.cpp:3847::createSignature() Start dictionary update thread
[DEBUG] (2016-02-05 16:22:58.003) Memory.cpp:3861::createSignature() convert to grayscale...
[DEBUG] (2016-02-05 16:22:58.005) VWDictionary.cpp:530::update() 
[DEBUG] (2016-02-05 16:22:58.005) VWDictionary.cpp:682::update() Dictionary has not changed, so no need to update it! (size=6196)
[DEBUG] (2016-02-05 16:22:58.005) VWDictionary.cpp:686::update() 
[DEBUG] (2016-02-05 16:22:58.007) Memory.cpp:3868::createSignature() Set ROI...
[DEBUG] (2016-02-05 16:22:58.007) Features2d.cpp:291::computeRoi() roi ratios = 0.000000, 0.000000, 0.000000, 0.000000
[DEBUG] (2016-02-05 16:22:58.007) Features2d.cpp:292::computeRoi() roi = 0, 0, 1280, 720
[DEBUG] (2016-02-05 16:22:58.007) Features2d.cpp:319::computeRoi() roi = 0, 0, 1280, 720
[DEBUG] (2016-02-05 16:22:58.007) Memory.cpp:3967::createSignature() Generating keypoints...
[DEBUG] (2016-02-05 16:22:58.020) Features2d.cpp:418::generateKeypoints() Keypoints extraction time = 0.012243 s, keypoints extracted = 400
[DEBUG] (2016-02-05 16:22:58.020) Memory.cpp:3971::createSignature() time keypoints (400) = 0.016570s
[DEBUG] (2016-02-05 16:22:58.059) Features2d.cpp:449::generateDescriptors() Descriptors extracted = 400, remaining kpts=400
[DEBUG] (2016-02-05 16:22:58.059) Memory.cpp:4013::createSignature() time descriptors (400) = 0.039032s
[DEBUG] (2016-02-05 16:22:58.059) Memory.cpp:4022::createSignature() time keypoints 3D (400) = 0.000310s
[DEBUG] (2016-02-05 16:22:58.059) Memory.cpp:4063::createSignature() ratio=0.500000, meanWordsPerLocation=385
[DEBUG] (2016-02-05 16:22:58.059) Memory.cpp:4149::createSignature() Joining dictionary update thread...
[DEBUG] (2016-02-05 16:22:58.059) Memory.cpp:4151::createSignature() Joining dictionary update thread... thread finished!
[DEBUG] (2016-02-05 16:22:58.059) Memory.cpp:4161::createSignature() time descriptor and memory update (400 of size=32) = 0.000320s
[DEBUG] (2016-02-05 16:22:58.059) VWDictionary.cpp:760::addNewWords() id=58 descriptors=400
[DEBUG] (2016-02-05 16:22:58.060) VWDictionary.cpp:816::addNewWords() newPts.total()=400 
[ INFO] [1454707378.193526472]: Odom: quality=347, std dev=0.053683m, update time=0.188384s
[DEBUG] (2016-02-05 16:22:58.217) VWDictionary.cpp:875::addNewWords() Time to find nn = 0.157604 s
[DEBUG] (2016-02-05 16:22:58.226) VWDictionary.cpp:994::addNewWords() naive search and add ref/words time = 0.008575 s
[DEBUG] (2016-02-05 16:22:58.226) VWDictionary.cpp:996::addNewWords() 259 new words added...
[DEBUG] (2016-02-05 16:22:58.226) VWDictionary.cpp:998::addNewWords() 141 duplicated words added (from current image = 29)...
[DEBUG] (2016-02-05 16:22:58.226) VWDictionary.cpp:999::addNewWords() total time 0.166387s
[DEBUG] (2016-02-05 16:22:58.226) Memory.cpp:4171::createSignature() time addNewWords 0.166733s
[DEBUG] (2016-02-05 16:22:58.227) Memory.cpp:4280::createSignature() Bin data kept: rgb=1, depth=1, scan=1, userData=0
[DEBUG] (2016-02-05 16:22:58.294) Memory.cpp:4381::createSignature() time compressing data (id=58) 0.067764s
[DEBUG] (2016-02-05 16:22:58.294) Memory.cpp:604::update() time creating signature=291.250946 ms
[DEBUG] (2016-02-05 16:22:58.295) Memory.cpp:722::addSignatureToStm() adding 58
[DEBUG] (2016-02-05 16:22:58.295) Signature.cpp:99::addLink() Add link 58 to 56 (type=0)
[DEBUG] (2016-02-05 16:22:58.295) Signature.cpp:99::addLink() Add link 56 to 58 (type=0)
[DEBUG] (2016-02-05 16:22:58.295) Memory.cpp:742::addSignatureToStm() Min STM id = 43
[DEBUG] (2016-02-05 16:22:58.295) Memory.cpp:776::addSignatureToStm() 400 words ref for the signature 58
[DEBUG] (2016-02-05 16:22:58.295) Memory.cpp:784::addSignatureToStm() time = 0.000231s
[DEBUG] (2016-02-05 16:22:58.295) Memory.cpp:3330::rehearsal() Comparing with signature (56)...
[DEBUG] (2016-02-05 16:22:58.295) Memory.cpp:3353::rehearsal() merged=0, sim=0.027500 t=0.000313s
[DEBUG] (2016-02-05 16:22:58.295) Memory.cpp:625::update() time rehearsal=0.885010 ms
[DEBUG] (2016-02-05 16:22:58.295) Memory.cpp:678::update() totalTimer = 0.292280s
[DEBUG] (2016-02-05 16:22:58.295) Memory.cpp:1969::getLastWorkingSignature() 
[ INFO] (2016-02-05 16:22:58.295) Rtabmap.cpp:965::process() Processing signature 58 w=0
[ INFO] (2016-02-05 16:22:58.295) Rtabmap.cpp:967::process() timeMemoryUpdate=0.292854s
[ INFO] (2016-02-05 16:22:58.295) Rtabmap.cpp:1232::process() timeLocalTimeDetection=0.000094s
[ INFO] (2016-02-05 16:22:58.296) Rtabmap.cpp:1251::process() computing likelihood...
[DEBUG] (2016-02-05 16:22:58.296) Memory.cpp:1517::computeLikelihood() processing... 
[DEBUG] (2016-02-05 16:22:58.296) Memory.cpp:1552::computeLikelihood() compute likelihood (tf-idf) 0.000608 s
[DEBUG] (2016-02-05 16:22:58.296) Rtabmap.cpp:3074::adjustLikelihood() likelihood.size()=19
[DEBUG] (2016-02-05 16:22:58.296) Rtabmap.cpp:3093::adjustLikelihood() values.size=17
[DEBUG] (2016-02-05 16:22:58.296) Rtabmap.cpp:3140::adjustLikelihood() mean=0.028060, stdDev=0.039780, max=0.124545, maxId=40, time=0.000035s
[ INFO] (2016-02-05 16:22:58.296) Rtabmap.cpp:1281::process() timeLikelihoodCalculation=0.001006s
[ INFO] (2016-02-05 16:22:58.297) Rtabmap.cpp:1287::process() getting posterior...
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:132::computePosterior() 
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:411::updatePrediction() 
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:439::updatePrediction() time creating id-index maps = 0.000051s
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:451::updatePrediction() time getting removed ids = 0.000036s
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:498::updatePrediction() time getting 0 ids to update = 0.000028s
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:544::updatePrediction() time updating modified/added 0 ids = 0.000026s
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:575::updatePrediction() time copying = 0.000036s
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:595::updatePrediction() time updating virtual place = 0.000027s
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:597::updatePrediction() Modified=0, Added=0, Copied=18
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:164::computePosterior() STEP1-generate prior=0.000274s, rows=19, cols=19
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:603::updatePosterior() 
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:176::computePosterior() STEP1-update posterior=0.000274s, posterior=19, _posterior size=19
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:182::computePosterior() STEP1-matrix mult time=0.000146s
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:185::computePosterior() STEP1-matrix mult time=0.000027s
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:204::computePosterior() STEP2-likelihood time=0.000028s
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:208::computePosterior() sum=1.624898
[DEBUG] (2016-02-05 16:22:58.297) BayesFilter.cpp:216::computePosterior() normalize time=0.000050s
[ INFO] (2016-02-05 16:22:58.297) Rtabmap.cpp:1292::process() timePosteriorCalculation=0.000648s
[ INFO] (2016-02-05 16:22:58.297) Rtabmap.cpp:1303::process() creating hypotheses...
[ INFO] (2016-02-05 16:22:58.297) Rtabmap.cpp:1317::process() Highest hypothesis=40, value=0.118921, timeHypothesesCreation=0.000096s
[ INFO] (2016-02-05 16:22:58.297) Rtabmap.cpp:1352::process() timeHypothesesValidation=0.000029s
[DEBUG] (2016-02-05 16:22:58.297) Memory.cpp:1683::joinTrashThread() 
[DEBUG] (2016-02-05 16:22:58.297) Memory.cpp:1685::joinTrashThread() 
[ INFO] (2016-02-05 16:22:58.297) Rtabmap.cpp:1379::process() Time emptying memory trash = 0.027147s,  joining (actual overhead) = 0.000080s
[ INFO] (2016-02-05 16:22:58.297) Rtabmap.cpp:1393::process() Retrieving locations... around id=40
[DEBUG] (2016-02-05 16:22:58.297) Rtabmap.cpp:1396::process() margin=17 maxRetieved=2
[DEBUG] (2016-02-05 16:22:58.297) Rtabmap.cpp:1406::process() In TIME
[DEBUG] (2016-02-05 16:22:58.298) Rtabmap.cpp:1414::process() neighbors of 40 in time = 28
[DEBUG] (2016-02-05 16:22:58.298) Rtabmap.cpp:1445::process() nt=40 m=0 immunized=1
[DEBUG] (2016-02-05 16:22:58.298) Rtabmap.cpp:1445::process() nt=36 m=1 immunized=1
[DEBUG] (2016-02-05 16:22:58.298) Rtabmap.cpp:1445::process() nt=41 m=1 immunized=1
[DEBUG] (2016-02-05 16:22:58.298) Rtabmap.cpp:1445::process() nt=34 m=2 immunized=1
[DEBUG] (2016-02-05 16:22:58.298) Rtabmap.cpp:1445::process() nt=42 m=2 immunized=1
[DEBUG] (2016-02-05 16:22:58.298) Rtabmap.cpp:1445::process() nt=33 m=3 immunized=1
[DEBUG] (2016-02-05 16:22:58.298) Rtabmap.cpp:1445::process() nt=31 m=4 immunized=1
[DEBUG] (2016-02-05 16:22:58.298) Rtabmap.cpp:1445::process() nt=30 m=5 immunized=1
[DEBUG] (2016-02-05 16:22:58.298) Rtabmap.cpp:1445::process() nt=29 m=6 immunized=1
[DEBUG] (2016-02-05 16:22:58.298) Rtabmap.cpp:1445::process() nt=27 m=7 immunized=1
[DEBUG] (2016-02-05 16:22:58.299) Rtabmap.cpp:1445::process() nt=26 m=8 immunized=1
[DEBUG] (2016-02-05 16:22:58.299) Rtabmap.cpp:1445::process() nt=25 m=9 immunized=1
[DEBUG] (2016-02-05 16:22:58.299) Rtabmap.cpp:1445::process() nt=24 m=10 immunized=1
[DEBUG] (2016-02-05 16:22:58.300) Rtabmap.cpp:1445::process() nt=23 m=11 immunized=1
[DEBUG] (2016-02-05 16:22:58.300) Rtabmap.cpp:1445::process() nt=22 m=12 immunized=1
[DEBUG] (2016-02-05 16:22:58.300) Rtabmap.cpp:1445::process() nt=21 m=13 immunized=1
[DEBUG] (2016-02-05 16:22:58.301) Rtabmap.cpp:1445::process() nt=20 m=14 immunized=1
[DEBUG] (2016-02-05 16:22:58.301) Rtabmap.cpp:1445::process() nt=1 m=15 immunized=1
[DEBUG] (2016-02-05 16:22:58.302) Rtabmap.cpp:1460::process() In SPACE
[DEBUG] (2016-02-05 16:22:58.302) Rtabmap.cpp:1468::process() neighbors of 40 in space = 28
[ INFO] (2016-02-05 16:22:58.302) Rtabmap.cpp:1515::process() neighborhoodSize=17, reactivatedIds.size=18, nbLoadedFromDb=0, nbDirectNeighborsInDb=0, time=0.004778s (0.000000s 0.000000s)
[DEBUG] (2016-02-05 16:22:58.303) Graph.cpp:2780::findNearestNode() Nearest node = 27: 4.615780
[DEBUG] (2016-02-05 16:22:58.303) Rtabmap.cpp:1632::process() local node 27 on path immunized=1
[DEBUG] (2016-02-05 16:22:58.303) Rtabmap.cpp:1632::process() local node 29 on path immunized=1
[DEBUG] (2016-02-05 16:22:58.303) Rtabmap.cpp:1632::process() local node 30 on path immunized=1
[DEBUG] (2016-02-05 16:22:58.303) Rtabmap.cpp:1632::process() local node 31 on path immunized=1
[DEBUG] (2016-02-05 16:22:58.303) Rtabmap.cpp:1632::process() local node 33 on path immunized=1
[DEBUG] (2016-02-05 16:22:58.303) Rtabmap.cpp:1632::process() local node 34 on path immunized=1
[DEBUG] (2016-02-05 16:22:58.303) Rtabmap.cpp:1632::process() local node 36 on path immunized=1
[DEBUG] (2016-02-05 16:22:58.303) Rtabmap.cpp:1632::process() local node 40 on path immunized=1
[DEBUG] (2016-02-05 16:22:58.303) Rtabmap.cpp:1632::process() local node 41 on path immunized=1
[DEBUG] (2016-02-05 16:22:58.303) Rtabmap.cpp:1632::process() local node 42 on path immunized=1
[DEBUG] (2016-02-05 16:22:58.303) Graph.cpp:2832::getNodesInRadius() Inlier 46: 0.399292
[DEBUG] (2016-02-05 16:22:58.303) Graph.cpp:2832::getNodesInRadius() Inlier 47: 0.559962
[DEBUG] (2016-02-05 16:22:58.303) Graph.cpp:2832::getNodesInRadius() Inlier 56: 0.668242
[DEBUG] (2016-02-05 16:22:58.303) Graph.cpp:2832::getNodesInRadius() Inlier 45: 0.798520
[DEBUG] (2016-02-05 16:22:58.303) Graph.cpp:2832::getNodesInRadius() Inlier 48: 0.839496
[DEBUG] (2016-02-05 16:22:58.303) Graph.cpp:2832::getNodesInRadius() Inlier 55: 0.942765
[DEBUG] (2016-02-05 16:22:58.303) Graph.cpp:2832::getNodesInRadius() Inlier 49: 1.064885
[DEBUG] (2016-02-05 16:22:58.304) Graph.cpp:2832::getNodesInRadius() Inlier 44: 1.474444
[DEBUG] (2016-02-05 16:22:58.304) Graph.cpp:2832::getNodesInRadius() Inlier 27: 2.148437
[DEBUG] (2016-02-05 16:22:58.304) Graph.cpp:2832::getNodesInRadius() Inlier 43: 2.185949
[DEBUG] (2016-02-05 16:22:58.304) Graph.cpp:2832::getNodesInRadius() Inlier 29: 2.244993
[DEBUG] (2016-02-05 16:22:58.304) Graph.cpp:2832::getNodesInRadius() Inlier 30: 2.321928
[DEBUG] (2016-02-05 16:22:58.304) Graph.cpp:2832::getNodesInRadius() Inlier 31: 2.369849
[DEBUG] (2016-02-05 16:22:58.304) Graph.cpp:2832::getNodesInRadius() Inlier 26: 2.394682
[DEBUG] (2016-02-05 16:22:58.304) Graph.cpp:2832::getNodesInRadius() Inlier 42: 2.433072
[DEBUG] (2016-02-05 16:22:58.304) Graph.cpp:2832::getNodesInRadius() Inlier 33: 2.450686
[DEBUG] (2016-02-05 16:22:58.304) Graph.cpp:2832::getNodesInRadius() Inlier 36: 2.495930
[DEBUG] (2016-02-05 16:22:58.304) Graph.cpp:2832::getNodesInRadius() Inlier 34: 2.509407
[DEBUG] (2016-02-05 16:22:58.304) Graph.cpp:2832::getNodesInRadius() Inlier 40: 2.540558
[DEBUG] (2016-02-05 16:22:58.304) Graph.cpp:2832::getNodesInRadius() Inlier 41: 2.596975
[DEBUG] (2016-02-05 16:22:58.304) Graph.cpp:2832::getNodesInRadius() Inlier 25: 2.633628
[DEBUG] (2016-02-05 16:22:58.304) Graph.cpp:2832::getNodesInRadius() Inlier 24: 2.923449
[DEBUG] (2016-02-05 16:22:58.305) Graph.cpp:2832::getNodesInRadius() Inlier 23: 3.243119
[DEBUG] (2016-02-05 16:22:58.305) Graph.cpp:2832::getNodesInRadius() Inlier 22: 3.378526
[DEBUG] (2016-02-05 16:22:58.305) Graph.cpp:2832::getNodesInRadius() Inlier 21: 3.542946
[DEBUG] (2016-02-05 16:22:58.305) Graph.cpp:2832::getNodesInRadius() Inlier 20: 3.634623
[DEBUG] (2016-02-05 16:22:58.305) Graph.cpp:2832::getNodesInRadius() Inlier 1: 3.728130
[DEBUG] (2016-02-05 16:22:58.305) Graph.cpp:2837::getNodesInRadius() found nodes=27
[ INFO] (2016-02-05 16:22:58.305) Rtabmap.cpp:1652::process() near nodes=27, max local immunized=4, ratio=0.250000 WM=19
[DEBUG] (2016-02-05 16:22:58.305) Rtabmap.cpp:1678::process() local node 27 (4.615780 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.305) Rtabmap.cpp:1678::process() local node 29 (5.039992 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.305) Rtabmap.cpp:1678::process() local node 30 (5.391348 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.305) Rtabmap.cpp:1678::process() local node 31 (5.616186 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.305) Rtabmap.cpp:1678::process() local node 26 (5.734500 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.305) Rtabmap.cpp:1678::process() local node 42 (5.919838 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.305) Rtabmap.cpp:1678::process() local node 33 (6.005863 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.305) Rtabmap.cpp:1678::process() local node 36 (6.229667 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.305) Rtabmap.cpp:1678::process() local node 34 (6.297126 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.305) Rtabmap.cpp:1678::process() local node 40 (6.454437 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.305) Rtabmap.cpp:1678::process() local node 41 (6.744281 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.305) Rtabmap.cpp:1678::process() local node 25 (6.935998 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.305) Rtabmap.cpp:1678::process() local node 24 (8.546553 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.305) Rtabmap.cpp:1678::process() local node 23 (10.517818 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.306) Rtabmap.cpp:1678::process() local node 22 (11.414437 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.306) Rtabmap.cpp:1678::process() local node 21 (12.552465 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.306) Rtabmap.cpp:1678::process() local node 20 (13.210485 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.306) Rtabmap.cpp:1678::process() local node 1 (13.898954 m) immunized=1
[DEBUG] (2016-02-05 16:22:58.306) Memory.cpp:4547::reactivateSignatures() 
[DEBUG] (2016-02-05 16:22:58.306) Memory.cpp:4563::reactivateSignatures() idsToLoad = 0
[DEBUG] (2016-02-05 16:22:58.306) DBDriver.cpp:409::loadSignatures() 
[DEBUG] (2016-02-05 16:22:58.306) DBDriver.cpp:449::loadSignatures() 
[DEBUG] (2016-02-05 16:22:58.306) Memory.cpp:4439::enableWordsRef() size=0
[DEBUG] (2016-02-05 16:22:58.306) Memory.cpp:4466::enableWordsRef() oldWordIds.size()=0, getOldIds time=0.000001s
[DEBUG] (2016-02-05 16:22:58.306) Memory.cpp:4475::enableWordsRef() loading words(0) time=0.000045s
[DEBUG] (2016-02-05 16:22:58.306) Memory.cpp:4538::enableWordsRef() 0 words total ref added from 0 signatures, time=0.000044s...
[DEBUG] (2016-02-05 16:22:58.306) Memory.cpp:4579::reactivateSignatures() time = 0.000291s
[ INFO] (2016-02-05 16:22:58.306) Rtabmap.cpp:1727::process() retrieval of 0 (db time = 0.000114s)
[ INFO] (2016-02-05 16:22:58.306) Rtabmap.cpp:1730::process() total timeRetrievalDbAccess=0.000114s
[ INFO] (2016-02-05 16:22:58.306) Rtabmap.cpp:1736::process() timeReactivations=0.008860s
[DEBUG] (2016-02-05 16:22:58.307) Memory.cpp:401::parseParameters() 
[DEBUG] (2016-02-05 16:22:58.307) Memory.cpp:514::parseParameters() new detector strategy 4
[DEBUG] (2016-02-05 16:22:58.307) Memory.cpp:3567::getNodeData() nodeId=40
[rtabmap/rtabmap-7] process has died [pid 6700, exit code -7, cmd /home/ubuntu/catkin_ws/devel/lib/rtabmap_ros/rtabmap --delete_db_on_start --udebug rgb/image:=/rgb/image_raw depth/image:=/depth/image_raw rgb/camera_info:=/camera/rgb/camera_info scan:=/scan __name:=rtabmap __log:=/home/ubuntu/.ros/log/a71f3b9a-cc4b-11e5-b59a-0005b7e12d1d/rtabmap-rtabmap-7.log].
log file: /home/ubuntu/.ros/log/a71f3b9a-cc4b-11e5-b59a-0005b7e12d1d/rtabmap-rtabmap-7*.log
[ INFO] [1454707378.394237521]: Odom: quality=342, std dev=0.054074m, update time=0.187915s
[ INFO] [1454707378.534514817]: Odom: quality=334, std dev=0.054718m, update time=0.129443s
[ INFO] [1454707378.728520970]: Odom: quality=405, std dev=0.049690m, update time=0.183319s
[ INFO] [1454707378.912258789]: Odom: quality=403, std dev=0.049814m, update time=0.168548s
[ INFO] [1454707379.070483479]: Odom: quality=381, std dev=0.051232m, update time=0.136154s
[ INFO] [1454707379.225048372]: Odom: quality=399, std dev=0.050063m, update time=0.143603s
[ INFO] [1454707379.379068162]: Odom: quality=410, std dev=0.049386m, update time=0.142383s
[ INFO] [1454707379.529646753]: Odom: quality=419, std dev=0.048853m, update time=0.140042s
[ INFO] [1454707379.678159824]: Odom: quality=353, std dev=0.053225m, update time=0.133526s
[ INFO] [1454707379.832144769]: Odom: quality=376, std dev=0.051571m, update time=0.142882s
[ INFO] [1454707379.981077423]: Odom: quality=382, std dev=0.051164m, update time=0.136779s
[ INFO] [1454707380.128997259]: Odom: quality=372, std dev=0.051848m, update time=0.137246s
[ INFO] [1454707380.267136937]: Odom: quality=314, std dev=0.056433m, update time=0.126558s
[ INFO] [1454707380.410864636]: Odom: quality=335, std dev=0.054636m, update time=0.133045s
[ INFO] [1454707380.550735877]: Odom: quality=358, std dev=0.052852m, update time=0.128001s
[ INFO] [1454707380.683518160]: Odom: quality=358, std dev=0.052852m, update time=0.122253s
[ INFO] [1454707380.823460182]: Odom: quality=352, std dev=0.053300m, update time=0.129094s
[ INFO] [1454707380.954454027]: Odom: quality=273, std dev=0.060523m, update time=0.118953s
[ INFO] [1454707381.085613755]: Odom: quality=302, std dev=0.057544m, update time=0.120510s
[ INFO] [1454707381.214491188]: Odom: quality=294, std dev=0.058321m, update time=0.116093s
[ INFO] [1454707381.343312266]: Odom: quality=295, std dev=0.058222m, update time=0.116206s
[ INFO] [1454707381.469435012]: Odom: quality=269, std dev=0.060971m, update time=0.114061s
[ INFO] [1454707381.585843488]: Odom: quality=250, std dev=0.063246m, update time=0.104583s
[ INFO] [1454707381.702107225]: Odom: quality=212, std dev=0.068680m, update time=0.104052s
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap process error

dgmiller
update: every machine is synced up to ~20ms, and performance is better, however crashing is still happening.

http://pastebin.com/u20Gz08f

RGBDPoseScanMatching definitely crashes if set to true. however with this disabled, the mapping still crashes. I've checked the memory usage during mapping and it stays well below the 4GB (hovers around 768MB). still stumped...
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap process error

matlabbe
Administrator
Hi,

A problem with TF would not make rtabmap crash. In both logs above, the code is crashing inside this code block or this one. You can disable these code sections with the parameter "LccReextract/Activated" set to false:
<node type="rtabmap" ... >
   <param name="LccReextract/Activated" type="string" value="false"/>
</node>

That do not solve the problem indeed. If you can launch the code with gdb (see launch_prefix:="xterm -e gdb -ex run --args" argument), that may give better understanding on where it crashes precisely (like a memory allocation issue?). With my previous example:
roslaunch rtabmap_ros rtabmap.launch launch_prefix:="xterm -e gdb -ex run --args" rgb_topic:=/rgb/image_raw depth_topic:=/depth/image_raw camera_info_topic:=/camera/rgb/camera_info subscribe_scan:=true frame_id:=/base_link rtabmap_args:="--delete_db_on_start" rtabmapviz:=false rviz:=true 
Note that I've just updated rtabmap.launch with launch_prefix set to rtabmap node too. If you were using rgbd_mapping.launch, you don't need to update.

cheers
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap process error

matlabbe
Administrator

Can you try the robot mapping demo on the computer you are running RTAB-Map? It does scan matching too. If it crashes, the bug may be related to the platform.
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap process error

dgmiller
matlabbe wrote
Can you try the robot mapping demo on the computer you are running RTAB-Map? It does scan matching too. If it crashes, the bug may be related to the platform.
Hi Mathieu,

Yes, the demo runs perfectly:




My team member has also been asking questions on ros answers, relating to a robot_localization error by the way.

I would like to add that I followed your instructions from issue 28 on github, compiled for debug and ran with the gdb flags. The mapping actually was so much better in that case! however only once did it crash:



We are still testing to see the cause of the error, or if there is a configuration we need to tune. I will report back in a few days. however, I have two questions.
1- I have a CUDA GPU, CUDA 7.0 and all other requirements to run ORB GPU, but it does not recognize this. any tips?

2- what parameters could be tuned to get more features from an image so that our visual odometry tracking is not lost so easily?

best,
Daniel
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap process error

matlabbe
Administrator
This post was updated on .
Hi Daniel,

Too bad that it doesn't crash with robot mapping demo! It would have been easier to test here. Maybe it could be a problem with the compiler optimization (in Release mode) on your platform.

The [ERROR] messages are not a crash, it means that the received odometry is null, or the odometry is lost.

1- OpenCV should be built with CUDA support, then in RTAB-Map the option should become available. Note that it will only work with OpenCV2 at this time. To activate it, you should set this parameter (for rgbd_odometry and rtabmap nodes if ORB is used in both):
<param name="ORB/Gpu" type="string" value="true"/>

2- The odometry parameters are here. Note that it is a combination of speed and features count/quality/distribution that would decrease the chance of odometry lost. You could extract 1 million features but if it takes 5 seconds to compute, maybe no correspondences could be found with the previous frame. Here some parameters I use sometimes (along other default values of 0.10.12):
Odom/EstimationType=1  (Optical flow may find more correspondences from frame to frame)
Odom/Strategy=1        (PnP transformation estimation generates more inliers)
Odom/PnPReprojError=2  (used for PnP, the default 5 is high, it is reduced to 2 in recent versions)
GFTT/MinDistance=10    (you are using HD images, increase this distance to have features more equally distributed in the image)
Odom/MaxFeatures=1500  (you can also increase the maximum tracked features)

EDIT
Like other odometry approaches, the odometry can be automatically reset to latest valid pose when lost:
Odom/ResetCountdown=1
This will make the odometry continuously sends poses, but if it becomes lost, the map may be inconsistent at that specific time.

cheers,
Mathieu