Hi,
I have a rosbag recorded using a zed2i camera. I launched this lunch file https://github.com/stereolabs/zed-ros-examples/blob/master/examples/zed_rtabmap_example/launch/zed_rtabmap.launch, but I only can see the odomety in localization mode. I want to get the 3D pointcloud map and 2D occupancy grid map. Would you please tell me where can I find the correct launch file? I have shared the rosbag in this shared google drive and I have attached the tf frames of this rosbag for your consideration. Thank you. https://drive.google.com/drive/folders/1u5mcmOMRJbasoJY9JD-E07zpUv2Dp5T5?usp=sharing ![]() |
Administrator
|
Hi,
There are a couple of issues make it difficult to get accurate visual odometry. * The camera gets occluded, which can cause the algorithm to lose track of the features ![]() * The depth image has sometime very wrong disparity Other system issues: * The TF looks wrong, so the base_link frame is tilted 90 degs up by visual odometry Here is an example running rtabmap on that bag. Note that to make it work, you have to remove "vio/map" frame from the bag (to do so, you can use this script): roslaunch rtabmap_launch rtabmap.launch \ args:="-d" \ visual_odometry:=false \ odom_topic:=/zed2_front/zed_node/odom \ rgb_topic:=/zed2_front/zed_node/left/image_rect_color \ camera_info_topic:=/zed2_front/zed_node/left/camera_info \ depth_topic:=/zed2_front/zed_node/depth/depth_registered \ frame_id:=base_link \ approx_sync:=false rgbd_sync:=true \ approx_rgbd_sync:=false \ rgb_image_transport:=compressed \ compressed:=true \ depth_image_transport:=raw \ use_sim_time:=true rosbag play --clock output.bag ![]() There are some jumps caused by camera occlusions and very bad depth: ![]() Here two other examples not using zed odometry, one using RGB-D mode and the other stereo mode: roslaunch rtabmap_launch rtabmap.launch \ args:="-d" \ visual_odometry:=true \ rgb_topic:=/zed2_front/zed_node/left/image_rect_color \ camera_info_topic:=/zed2_front/zed_node/left/camera_info \ depth_topic:=/zed2_front/zed_node/depth/depth_registered \ frame_id:=zed2_front_base_link \ approx_sync:=false \ rgbd_sync:=true approx_rgbd_sync:=false \ rgb_image_transport:=compressed \ compressed:=true \ depth_image_transport:=raw \ use_sim_time:=true \ imu_topic:=/zed2_front/zed_node/imu/data \ wait_imu_to_init:=true rosbag play --clock tf:=tf_not_used ts_2023_06_23_21h04m38s_one_random_row.bag roslaunch rtabmap_launch rtabmap.launch \ args:="-d" \ stereo:=true \ visual_odometry:=true \ left_image_topic:=/zed2_front/zed_node/left/image_rect_color \ left_camera_info_topic:=/zed2_front/zed_node/left/camera_info \ right_image_topic:=/zed2_front/zed_node/right/image_rect_color \ right_camera_info_topic:=/zed2_front/zed_node/right/camera_info \ frame_id:=zed2_front_base_link \ approx_sync:=false \ rgbd_sync:=true \ approx_rgbd_sync:=false \ compressed:=true \ use_sim_time:=true \ imu_topic:=/zed2_front/zed_node/imu/data \ wait_imu_to_init:=true rosbag play --clock tf:=tf_not_used ts_2023_06_23_21h04m38s_one_random_row.bag In both cases, VO gets lost when there is a camera occlusion or when the depth image is very wrong. |
Free forum by Nabble | Edit this page |