Hi Mathieu,
I'm trying to compute stereo odometry using IMU for initialization with left and infrared images from D435i. For launching rtabmap_ros I'm using the following: roslaunch rtabmap_ros rtabmap_imu.launch \ stereo:=true \ rtabmapviz:=true \ approx_sync:=false \ use_sim_time:=true \ frame_id:=D435_link \ left_camera_info_topic:=/D435/infra1/camera_info \ right_camera_info_topic:=/D435/infra2/camera_info \ left_image_topic:=/D435/infra1/image_rect_raw \ right_image_topic:=/D435/infra2/image_rect_raw \ wait_imu_to_init:=true \ imu_topic:=/rtabmap/imu \ compressed:=true \ queue_size:=30 \ args:="-d \ --Odom/ResetCountdown 1 \ --Rtabmap/StartNewMapOnLoopClosure true \ --Odom/Strategy 0 \ --Vis/FeatureType 0 \ --Rtabmap/DetectionRate 5 \ --Rtabmap/ImagesAlreadyRectified false \ --RGBD/OptimizeMaxError 5.0 \ --RGBD/LoopClosureReextractFeatures true \ --Kp/DetectorStrategy 0 \ --RGBD/NeighborLinkRefining true" In the custom rtabmap_imu.launch file I've just added a node for madgwick filter (from ros imu tools) for orientation computation from D435i raw accel and gyro measurements. Even if I have already used the above successfully with an other dataset also recorded with D435i, now I receive the following warning and imu is not used from rtabmap: [ INFO] [1623069339.896805890]: rtabmapviz started. [ WARN] [1623069364.219142565, 1622552179.257503632]: Still waiting for data on topic /imu/data_raw... [ WARN] [1623069364.219344809, 1622552179.257503632]: Still waiting for data on topic /imu/data_raw... [ WARN] (2021-06-07 15:36:11.716) Odometry.cpp:302::process() Updated initial pose from xyz=0.000000,0.000000,0.000000 rpy=0.000000,-0.000000,0.000000 to xyz=0.000000,0.000000,0.000000 rpy=-0.045161,0.373951,-1.603868 with IMU orientation [ WARN] (2021-06-07 15:36:11.716) Transform.cpp:517::getTransform() No transform found for stamp 1622552179.243977! Earliest is 1622552179.275116 [ WARN] (2021-06-07 15:36:11.716) Transform.cpp:517::getTransform() No transform found for stamp 1622552179.243977! Earliest is 1622552179.275116 [ INFO] [1623069371.835923653, 1622552179.457486548]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.119310s [ WARN] (2021-06-07 15:36:11.857) Transform.cpp:517::getTransform() No transform found for stamp 1622552179.243977! Earliest is 1622552179.275116 [ WARN] [1623069371.857708592, 1622552179.479215499]: We are receiving imu data (buffer=81), but cannot interpolate imu transform at time 1622552179.243977. IMU won't be added to graph. I think that the only difference between my current dataset and the the one I used in the past, is that in this dataset the compressed images were recorded, thus I use ros image transport for decompression. Is it possible that the error above has to do with Image transport long delay for decompression? I double checked my bag and there are no sync issues or time gaps between images and imu topics.... Any ideas? Thanks a lot!! Any ideas how to solve it? |
Administrator
|
Hi,
Is it happening continuously? If no, maybe just some lags when replaying the bag. The warning "Odometry.cpp:302::process() Updated initial pose from" is okay. For this warning "We are receiving imu data (buffer=81), but cannot interpolate imu transform at time 1622552179.243977. IMU won't be added to graph. ", check if the /rtabmap/imu data has a continuous rate. cheers, Mathieu |
Dear Mattieu,
I have also the same error, but in the published topic, i do not have /rtabmap/imu! how can i resolve this issue? thanks |
Administrator
|
Free forum by Nabble | Edit this page |