使用zed摄像头跑ORB_SLAM2

zed-ros-wrapper安装

首先对zed-ros-wrapper安装:具体操作步骤及代码的参考链接:https://github.com/stereolabs/zed-ros-wrapper.git

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/stereolabs/zed-ros-wrapper.git
cd ../
catkin_make
source ./devel/setup.bash

ORB_SLAM2安装

具体安装步骤:https://blog.csdn.net/qq_44787464/article/details/100664977

需修改里面些参数:
我们打开src中的ros_mono.cc,将里面的订阅话题改为zed发布的话题:

 ros::Subscriber sub = nodeHandler.subscribe("/zed/left/image_raw_color", 1, &ImageGrabber::GrabImage,&igb);

我使用的是左摄像头数据,当然你们选择什么都可以。这里我是用的zed,你们可以用电脑自带的摄像头也是ok的,不过你需要将其rgb数据给发布出来。

另外更改在目录/home/xp/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2下Asus.yaml里的信息,这里是摄像头的内参等信息。

摄像头发布的分辨率和帧率可以在zed.launch文件中查看!!

我们可以直接使用zed-SDK里对zed进行标定的参数。标定参数在/usr/local/zed/settings文件夹里。将信息填入Asus.yaml里。

当然,你需要先安装ZED-SDK,如果使用自己的摄像头也需要自己进行标定(zed相机标定有它自己的方式)。
更改程序后需要重新./build_ros.sh编译!

运行ZED单目相机:

roslaunch zed_wrapper zed.launch

rosrun ORB_SLAM2 Mono /home/xp/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/xp/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml 

如果是双目,你需要降低分辨率和帧率进行测试,不然会崩掉的。

roslaunch zed_wrapper zed.launch
rosrun ORB_SLAM2 Stereo /home/xp/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/xp/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/EuRoC.yaml true

参考链接:https://blog.csdn.net/BetterEthan/article/details/81748575

你可能感兴趣的:(SLAM)