orbslam安装
1.linux操作命令
pwd:查看终端所在路径
cd:切换路径
cd ..:跳回到上级目录
ls: 列出当前路径下的所有文件夹
touch:创建新的文件
mv :移动文件(在该文件所在目录的路径下执行此操作)
例如:mv test_file /home/vv
cp :复制文件(在该文件所在目录的路径下执行此操作)
rm:删除文件
rm -r :删除文件夹
sudo :提升用户权限
2.工作空间的创立
mkdir -p ~/catkin_ws/src #使用系统命令创建工作空间目录
cd ~/catkin_ws/src
catkin_init_workspace # ROS的工作空间初始化命令
创建完成后,在工作空间的根目录下使用catkin_make命令编译整个工作空间:
cd ~/catkin_ws # 回到工作空间的根目录
catkin_make # 编译整个工作空间
编译中,工作空间的根目录会自动产生devel和build两个文件夹即其中的文件。
编译完成后,在devel文件夹中已经产生几个setuo.*sh形式的环境变量设置脚本,使用source命令运行这些脚本,可以使工作空间中的环境变量生效。
source devel/setup.bash
检查环境变量是否生效:
echo $ROS_PACKAGE_PATH
如果打印的路径中包含当前工作空间中的路径,则说明环境变量设置成功。注意:source命令设置的环境变量只能在当前终端生效,如果希望在所有终端生效,需要在终端配置文件中加入环境变量设置:echo
“source /home/xxx/catkin_ws/devel/setup.bash” >> ~/.bashrc
ROS不允许功能包的嵌套,多个功能包必须平行放置在代码空间(src)中。
ROS直接创建功能包的命令catkin_create_pkg,用法:
catkin_create_pkg <package_name> [depend1] [depend2] [depend3]
即需要输入功能包名称和所依赖的其它功能包。
进入代码空间,创建功能包:
cd ~/catkin_ws/src
catkin_create_pkg leraning_communication std_msgs rospy roscpp
回到工作空间根目录进行编译,设置环境变量:
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash
3.slam2安装与运行
安装必要的库和依赖
(1)更新apt库,更新软件列表
sudo apt-get update(2)安装git,用于从Github上克隆项目到本地
(2)安装git,用于从Github上克隆项目到本地
sudo apt-get install git
(3)安装cmake,用于程序的编译
sudo apt-get install cmake
(4)安装Pangolin 作为可视化和用户界面
注意: 需安装0.5版本的Pangolin,若安装最新版会在SLAM项目build时出现 cannot find -lEigen3::Eigen 的报错。
https://github.com/stevenlovegrove/Pangolin/releases/tag/v0.5
解压,再输入以下命令
cd Pangolin-0.5
mkdir build
cd build
cmake ..
make –j
sudo make install
(5)安装OpenCV ,用于处理图像和特征
我使用的是OpenCV 3.4.10版本,在虚拟机中进入opencv官网下载Sources,2或3任意版本都可(或者在windows下载好拖进去)
https://opencv.org/releases/
然后解压,进行编译安装
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release –D CMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install
opencv初次编译会花费很长时间,耐心等待。
(6)安装Eigen3
sudo apt-get install libeigen3-dev
(8)安装ORB-SLAM2
1.克隆仓库
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
为了避免编译时出现usleep的错误,相应文件添加 #include<unistd.h>,具体有 /src/LocalMapping.cc
/src/System.cc
/src/LoopClosing.cc
/src/Tracking.cc
/src/Viewer.cc
/Examples/Monocular/mono_tum.cc
/Examples/Monocular/mono_kitti.cc
/Examples/Monocular/mono_euroc.cc
/Examples/RGB-D/rgbd_tum.cc
/Examples/Stereo/stereo_kitti.cc
/Examples/Stereo/stereo_euroc.cc
2.编译 找到ORB_SLAM2文件终端进到里边
cd ORB_SLAM2
chmod +x build.sh
./build.sh
3.下载数据集
我使用的是TUM数据集,在
http://vision.in.tum.de/data/datasets/rgbd-dataset/download
下载rgbd_dataset_freiburg1_xyz即可, 需cd 到ORB_SLAM2里运行
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml PATH_TO_SEQUENCE_FOLDER
再ORB_SLAM2输下面的命令
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml ../rgbd_dataset_freiburg1_xyz/