orb-slam2试跑 ubuntu16.04 + ros + orb-slam2+单目摄像机

主要参考了一篇学长的安装和这一篇安装:

https://blog.csdn.net/RadiantJeral/article/details/82193370

按照上文的安装方法你可以完成除实时外的所有工作,包括数据集的运行。当然他安装库的处理地址都在ORB_SLAM文件夹下,如果你之前学过SLAM14讲,这些库一定都安装好了,没安装也不必需在文件夹下。

使用数据集效果如图:

 

之后实时工作,需要先改~/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/ros_mono.cc:

原 /camera/image_raw 改为/usb_cam/image_raw

// Create SLAM system. It initializes all system threads and gets ready to process frames.
    ORB_SLAM2::System SLAM(argv[1],argv[2],ORB_SLAM2::System::MONOCULAR,true);

    ImageGrabber igb(&SLAM);

    ros::NodeHandle nodeHandler;
    ros::Subscriber sub = nodeHandler.subscribe("/usb_cam/image_raw", 1, &ImageGrabber::GrabImage,&igb);

    ros::spin();

可能有不同,这个看你的

roslaunch usb_cam usb_cam-test.launch

后的相机显示名

orb-slam2试跑 ubuntu16.04 + ros + orb-slam2+单目摄像机_第1张图片

之后回到~/catkin_ws/src/ORB_SLAM进行:

$ chmod +x build_ros.sh
$ ./build_ros.sh

完成后:

分别两个终端,执行如下命令:

roslaunch usb_cam usb_cam-test.launch
rosrun ORB_SLAM2 Mono ~/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt ~/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml

效果如图:

可能遇到的bug:

https://blog.csdn.net/unlimitedai/article/details/86601852

 

 

你可能感兴趣的:(SLAM安装与程序)