Open whaudrms opened 2 months ago
Not sure why rtabmap switched from rgbd_image to rgb image input between these two logs:
[ WARN] [1720443486.890467063]: /rtabmap: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set. If topics are coming from different computers, make sure the clocks of the computers are synchronized ("ntpdate"). If topics are not published at the same rate, you could increase "queue_size" parameter (current=10).
/rtabmap subscribed to (approx sync):
/Odometry \
/rgbd/image \
/rgb/camera_info \
/livox/points
[ INFO] [1720443486.944870637]: Camera ready!
[ WARN] [1720443491.890569975]: /rtabmap: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set. If topics are coming from different computers, make sure the clocks of the computers are synchronized ("ntpdate"). If topics are not published at the same rate, you could increase "queue_size" parameter (current=10).
/rtabmap subscribed to (approx sync):
/Odometry \
/oak/rgb/image_raw \
/rgb/camera_info \
/livox/points
The camera info is not remapped correctly too. I tried rtabmap part of your launch and this is what should be expected:
/rtabmap subscribed to (approx sync):
/Odometry \
/oak/rgb/image_raw \
/oak/rgb/camera_info \
/livox/points \
/odom_info
[ INFO] [1721581756.110587353]: rtabmap 0.21.5 started...
[ WARN] [1721581760.046839697]: /rtabmap: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set. If topics are coming from different computers, make sure the clocks of the computers are synchronized ("ntpdate"). If topics are not published at the same rate, you could increase "queue_size" parameter (current=10).
/rtabmap subscribed to (approx sync):
/Odometry \
/oak/rgb/image_raw \
/oak/rgb/camera_info \
/livox/points \
/odom_info
You would also need to set subscribe_odom_info
to false instead of true, as the topic doesn't exist in your case. Do:
<node name="rtabmap" pkg="rtabmap_slam" type="rtabmap" output="screen" args="--delete_db_on_start">
<param name="frame_id" type="string" value="oak"/>
<param name="subscribe_rgb" type="bool" value="true"/>
<param name="subscribe_depth" type="bool" value="false"/>
<param name="subscribe_rgbd" type="bool" value="false"/>
<param name="subscribe_scan_cloud" type="bool" value="true"/>
<remap from="scan_cloud" to="/livox/points"/>
<remap from="rgb/image" to="oak/rgb/image_raw"/>
<remap from="rgb/camera_info" to="oak/rgb/camera_info"/>
<remap from="odom" to="/Odometry"/>
<param name="subscribe_odom_info" type="bool" value="false"/>
<!-- RTAB-Map's parameters -->
<param name="Reg/Strategy" type="string" value="1"/> <!-- 0=Visual, 1=ICP, 2=Visual+ICP -->
<param name="Reg/Force3DoF" type="string" value="true"/>
<param name="RGBD/ProximityBySpace" type="string" value="true"/>
<param name="Icp/CorrespondenceRatio" type="string" value="0.2"/>
<param name="Icp/VoxelSize" type="string" value="0.05"/>
<param name="Icp/RangeMax" type="string" value="0"/>
<param name="Grid/RangeMax" type="string" value="0"/>
</node>
To get loop closure detection working, I suggest to use depth image of the oak as it is available. To do so, you will need to use RGBDImage interface. Following this example, that would look like this:
<node pkg="rtabmap_sync" type="rgbd_sync" name="rgbd_sync" output="screen">
<remap from="rgb/image" to="oak/rgb/image_raw"/>
<remap from="depth/image" to="oak/depth/image"/>
<remap from="rgb/camera_info" to="oak/rgb/camera_info"/>
</node>
<node name="rtabmap" pkg="rtabmap_slam" type="rtabmap" output="screen" args="--delete_db_on_start">
<param name="frame_id" type="string" value="oak"/>
<param name="subscribe_rgb" type="bool" value="false"/>
<param name="subscribe_depth" type="bool" value="false"/>
<param name="subscribe_rgbd" type="bool" value="true"/>
<param name="subscribe_scan_cloud" type="bool" value="true"/>
<remap from="scan_cloud" to="/livox/points"/>
<remap from="odom" to="/Odometry"/>
<param name="subscribe_odom_info" type="bool" value="false"/>
<!-- RTAB-Map's parameters -->
<param name="Reg/Strategy" type="string" value="1"/> <!-- 0=Visual, 1=ICP, 2=Visual+ICP -->
<param name="Reg/Force3DoF" type="string" value="true"/>
<param name="RGBD/ProximityBySpace" type="string" value="true"/>
<param name="Icp/CorrespondenceRatio" type="string" value="0.2"/>
<param name="Icp/VoxelSize" type="string" value="0.05"/>
<param name="Icp/RangeMax" type="string" value="0"/>
<param name="Grid/RangeMax" type="string" value="0"/>
</node>
You may have to adjust the remap of the oak depth image, I just guessed the name.
Hello, I am having trouble running rtabmap I'm usuing oak-d-pro and livox avia and I'm trying to use 'subscribe_scan_cloud' parameter but the following error appears.
my launch files are as follows
Any help on this is greatly appreciated. thank you :)