一、源码下载以及环境安装
ORBSLAM2_with_poiORBSLAM2_with_pointcloud_map:
GitHub - gaoxiang12/ORBSLAM2_with_pointcloud_map
环境安装:(64条消息) Jetson 部署ORB SLAM2_DCT871的博客-CSDN博客
二、编译build.sh
1.删除一些build文件夹
删除ORB-SLAM2_RGBD_DENSE_MAP-master/Thirdparty/DBoW2/build 文件夹
2.创建 Vocabulary 文件夹
将 ORB_SLAM2 下的 Vocabulary 子文件夹复制粘贴到 ORB_SLAM2_modified 文件夹下
3.编译
编译前进行一些修改
(1)ORB_SLAM2_modified/cmakelist.txt中删除-march=native
#原来的
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -march=native ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -march=native")
#改成
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3")
(2)ORB_SLAM2_modified/Thirdparty/g2o/CMakeLists.txt中删除-march=native
进入ORB_SLAM2_modified文件夹进行编译
chmod +x build.sh
./build.sh
(3)打开build.sh文件,更改其中的make命令
gedit ./build.sh
删除make后面的-j,若不删除会因为计算机性能不足卡住
三、尝试运行tum数据集
./bin/mono_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml /home/d/文档/数据集/TUM数据集/rgbd_dataset_freiburg3_long_office_household
将路径更改为自己的文件下路径,由于采用的是单目的程序, 所以无法实现地图的构建
四、编译./build_ros.sh
1.刷新ros路径
打开终端输入
sudo gedit ~/.bashrc
最后一行输入
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/ORB-SLAM2_ws/src/ORB-SLAM2_RGBD_DENSE_MAP-master/Examples/ROS
刷新bash
source ~/.bashrc
检查ros path中是否正确添加
echo $ROS_PACKAGE_PATH
若显示刚刚添加的路径则配置成功
2.修改一部分文件
(1)修改build_ros.sh文件
gedit ./build_ros.sh
删除make 后面的-j
(2)修改Examples/ROS/ORB_SLAM21/CMakeLists.txt文件
将库中的opcv以及pcl库的版本改为安装的版本
查看方法,输入以下命令
dpkg -l libpcl-dev | grep Version
pkg -config opencv --modversion
(3)修改cmakelist.txt
在ORB-SLAM2_RGBD_DENSE_MAP-master/Examples/ROS/ORB_SLAM21/CMakeLists.txt做如下修改
3.给build_ros权限并编译
chmod +x build_ros.sh
./build_ros.sh
五、运行
进入ORB_SLAM2_modified文件夹
# 新建终端
roscore
# 新建终端
roslaunch usb_cam test_usb_cam.launch
# 新建终端
rosrun ORB_SLAM21 MONO Vocabulary/ORBvoc.txt Examples/ROS/ORB_SLAM21/MyD435i.yaml