TUM、KITTI、EuRoC數據集和RealSense D435i攝像頭實時數據測試ORB_SLAM2非ROS版和ROS版本單目、雙目、RGBD

TUM、KITTI、EuRoC數據集測試ORB_SLAM2非ROS版本單目、雙目、RGBD

Monocular Examples

TUM Dataset

TUM Dataset 數據集下載地址

關注公衆號"小秋SLAM筆記"獲取已經下載好的數據集

TUM1.yaml 是數據集 freiburg1 的相機參數
TUM2.yaml 是數據集 freiburg2 的相機參數
TUM3.yaml 是數據集 freiburg3 的相機參數
在這裏插入圖片描述
mono_tum 是單目的可執行程序
ORBvoc.txt 是迴環檢測要用到的詞典

cd /ORB_SLAM2
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/q/projects/ORB_SLAM2/TUM_Dataset/rgbd_dataset_freiburg1_xyz

實驗結果

在這裏插入圖片描述

EuRoC Dataset

EuRoC Dataset 數據集下載地址

關注公衆號"小秋SLAM筆記"獲取已經下載好的數據集

cd /ORB_SLAM2
./Examples/Monocular/mono_euroc Vocabulary/ORBvoc.txt Examples/Monocular/EuRoC.yaml /home/q/projects/ORB_SLAM2/EuRoC_Dataset/mav0/cam0/data Examples/Monocular/EuRoC_TimeStamps/MH01.txt 

實驗結果

在這裏插入圖片描述在這裏插入圖片描述

Stereo Examples

EuRoC Dataset

EuRoC Dataset 數據集下載地址

關注公衆號"小秋SLAM筆記"獲取已經下載好的數據集

./Examples/Stereo/stereo_euroc Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml /home/q/projects/ORB_SLAM2/EuRoC_Dataset/mav0/cam0/data /home/q/projects/ORB_SLAM2/EuRoC_Dataset/mav0/cam1/data Examples/Stereo/EuRoC_TimeStamps/MH01.txt

實驗結果

在這裏插入圖片描述
在這裏插入圖片描述

RGB-D Example

TUM Dataset

TUM Dataset 數據集下載地址

關注公衆號"小秋SLAM筆記"獲取已經下載好的數據集

生成深度圖和彩色圖時間戳對其的文件

associate.py 下載地址

python associate.py /home/q/projects/ORB_SLAM2/TUM_Dataset/rgbd_dataset_freiburg1_xyz/rgb.txt /home/q/projects/ORB_SLAM2/TUM_Dataset/rgbd_dataset_freiburg1_xyz/depth.txt > associations.txt
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml /home/q/projects/ORB_SLAM2/TUM_Dataset/rgbd_dataset_freiburg1_xyz /home/q/projects/ORB_SLAM2/TUM_Dataset/rgbd_dataset_freiburg1_xyz/associations.txt

實驗結果

在這裏插入圖片描述
在這裏插入圖片描述

RealSense D435i攝像頭實時數據測試ORB_SLAM2的ROS版本單目、雙目、RGBD

安裝 Intel RealSense SDK D435i

Intel RealSense SDK D435i 官方安裝卸載教程

安裝 Intel RealSense ROS Wrapper D435i

Intel RealSense ROS Wrapper D435i 官方安裝卸載教程

安裝 Realsense_ros

sudo apt-get install ros-kinetic-rgbd-launch
sudo apt-get install ros-kinetic-ddynamic-reconfigure

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src/
git clone https://github.com/IntelRealSense/realsense-ros.git
catkin_init_workspace
gedit realsense-ros/realsense2_camera/src/base_realsense_node.cpp
將 _camera_info[stream_index].P.at(3) = 0;
改 
if(stream_index.second == 2)
{
   _camera_info[stream_index].P.at(3) = -0.05;
}
cd ..
catkin_make 
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

RGBD測試

  1. 啓動 RealSense D435i 攝像頭
source devel/setup.bash
roslaunch realsense2_camera rs_rgbd.launch
查看發佈圖像話題
rostopic list
/camera/color/image_raw
/camera/depth/image_rect_raw    
  1. 查看ORB_SLAM2接收圖像話題的名字
gedit /Examples/ROS/ORB_SLAM2/src/ros_rgbd.cc
message_filters::Subscriber<sensor_msgs::Image> rgb_sub(nh, "/camera/rgb/image_raw", 1);
message_filters::Subscriber<sensor_msgs::Image> depth_sub(nh, "camera/depth_registered/image_raw", 1);
  1. 讓 ORB_SLAM2接收圖像話題的名字和RealSense D435i 攝像頭髮布圖像話題名字對應起來
cd /ORB_SLAM2
rosrun ORB_SLAM2 RGBD Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml /camera/rgb/image_raw:=/camera/color/image_raw   camera/depth_registered/image_raw:=/camera/depth/image_rect_raw

實驗結果

在這裏插入圖片描述

rviz查看點雲和圖像

新開終端輸入

rviz

左上角 Displays 中 Fixed Frame 選項中,下拉菜單選擇 camera_link,可以看到 Global Status 變成了綠色
然後 點擊Add -> By display type -> PointCloud2 -> ok
然後 更改Topic 如圖所示 就可以看到點雲了
在這裏插入圖片描述在這裏插入圖片描述

最後 點擊Add -> By display type -> Image -> ok
然後更改話題 Image Topic
就可以看到實時採集到的圖片了
在這裏插入圖片描述
在這裏插入圖片描述

stereo測試

  1. 啓動 RealSense D435i 攝像頭
roslaunch realsense2_camera rs_camera.launch
rostopic list
/camera/infra1/image_rect_raw
/camera/infra2/image_rect_raw
  1. 查看ORB_SLAM2接收圖像話題的名字
gedit /Examples/ROS/ORB_SLAM2/src/ros_stereo.cc
message_filters::Subscriber<sensor_msgs::Image> left_sub(nh, "/camera/left/image_raw", 1);
message_filters::Subscriber<sensor_msgs::Image> right_sub(nh, "camera/right/image_raw", 1);
  1. 讓 ORB_SLAM2接收圖像話題的名字和RealSense D435i 攝像頭髮布圖像話題名字對應起來
cd /ORB_SLAM2
rosrun ORB_SLAM2 Stereo Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml true /camera/left/image_raw:=/camera/infra1/image_rect_raw  camera/right/image_raw:=/camera/infra2/image_rect_raw

mono測試

roslaunch realsense2_camera rs_camera.launch
rostopic list
/camera/color/image_raw
gedit /Examples/ROS/ORB_SLAM2/src/ros_mono.cc
ros::Subscriber sub = nodeHandler.subscribe("/camera/image_raw", 1, &ImageGrabber::GrabImage,&igb);
ros::Subscriber sub = nodeHandler.subscribe("/camera/image_raw", 1, &ImageGrabber::GrabImage,&igb);
cd /ORB_SLAM2
rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml /camera/image_raw:=/camera/color/image_raw

實驗結果

單目初始化要旋轉+移動攝像頭
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章