本篇博客整理了ROS安装,ORB-slam2安装,ROS的ORB-slam2安装
1.2 ROS安装 · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程
安装时,sudo rosdep init 和 rosdep update 失败,会碰到连接问题,采用以下连接提供的方法安装
https://blog.csdn.net/qq_35813104/article/details/117332670
至此,ROS安装完成,可以使用roscore验证。
sudo apt-get install cmake
sudo apt-get install git
sudo apt-get install gcc g++
Pangolin是对OpenGL进行封装的轻量级的OpenGL输入/输出和视频显示的库。可以用于3D视觉和3D导航的视觉图,可以输入各种类型的视频、并且可以保留视频和输入数据用于debug。
安装依赖
sudo apt-get install libglew-dev
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install libpython2.7-dev
安装Pangolin
Pangolin下载链接:
https://github.com/stevenlovegrove/Pangolin
使用版本建议为V0.5,这样可以避免Eigen3报错。
sudo apt-get install libeigen3-dev
opencv官方下载地址:Releases - OpenCV
选择版本3.4.0,下载并解压
cd opencv3.4.0
mkdir build
cd build
cmake ..
make -j2
sudo make install
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh
此处会报错
解决方法:
在所有报错的文件,添加头文件:
#include
具体文件如下:
mono_euroc.cc
mono_kitti.cc
mono_tum.cc
rgbd_tum.cc
ViewerAR.cc
stereo_euroc.cc
stereo_kitti.cc
LocalMapping.cc
LoopClosing.cc
System.cc
Tracking.cc
Viewer.cc
到这里ORB-SLAM2就安装好了。
2.6.1 添加环境变量
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/ORB_SLAM2/Examples/ROS
2.6.2 编译ROS文件
chmod +x build_ros.sh
./build_ros.sh
./build_ros.sh会出现许多报错如下:
参考这篇博客解决
https://blog.csdn.net/qq_44725448/article/details/117107020?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-117107020-blog-104906376.pc_relevant_multi_platform_whitelistv1&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-117107020-blog-104906376.pc_relevant_multi_platform_whitelistv1&utm_relevant_index=1
2.6.3 运行摄像头
编译USB(下载地址:GitHub - ros-drivers/usb_cam: A ROS Driver for V4L USB Cameras)
注意修改src/usb_cam-develop/launch文件中的launch,需要修改成自己的设备号。
mkdir -p ./usb_cam_ws/src
catkin_init_workspace
//把usb_cam放到usb_cam_ws/src下
cd usb_cam_ws/
catkin_make
source devel/setup.bash
新开一个终端,运行
roscore
//新开终端
roslaunch usb_cam usb_cam-test.launch
Tum数据集:Computer Vision Group - Dataset Download
下载好解压缩,最后放在ORB-SLAM2路径下。建议使用fr1/xyz数据集
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml ./data/rgbd_dataset_freiburg1_xyz
参考2.6.3,运行摄像头
运行rostopic list查看消息
gedit /home/hong/Desktop/ORB_SLAM2-master/ORB_SLAM2-master/Examples/ROS/ORB_SLAM2/src/ros_mono.cc
修改订阅的话题为摄像头话题
运行ORB-SLAM2(如果没有出现轨迹和关键帧,需要调整自己的相机分辨率或者相机内参,可能是自己的内参与默认值相差大,导致无法求解)
//新开终端
source ~/.bashrc
rosrun ORB_SLAM2 Mono /home/hong/Desktop/ORB_SLAM2-master/ORB_SLAM2-master/Vocabulary/ORBvoc.txt /home/hong/Desktop/ORB_SLAM2-master/ORB_SLAM2-master/Examples/Monocular/TUM1.yaml