本文主要参考https://blog.csdn.net/radiantjeral/article/details/82193370,对代码中的细节进行了一些修改,同时完善了实时单目SLAM的内容。本文主要针对的是通过usb摄像头实时运行单目ORB SLAM2的情况。
1 准备工作
在安装ORB-SLAM2之前,首先安装必要的工具,vim、cmake、git、gcc、g++
sudo apt-get install vim git cmake gcc g++
2 安装ROS
根据github中的说明https://github.com/raulmur/ORB_SLAM2,ORB SLAM2通常运行于Ubuntu16.04,因此我们安装的是ROS Kinetic Kame。可以根据ROS官网的安装教程http://wiki.ros.org/kinetic/Installation进行安装。本文对官网教程进行了简化,如有需要,请自行查看官网。
2.1 配置Ubuntu存储库
配置Ubuntu存储库,以允许“restricted”,“ Universe”和“ Multiverse”。可以通过“系统设置”->“软件和更新”进行查看。
2.2 设置sources.list
设置计算机以接受来自package.ros.org的软件。
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
同时也可以使用镜像,ROS网站提供了三个国内的镜像:
1.清华大学(亲测可用)
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
2.中国科学技术大学
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
3.北京外国语大学
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.bfsu.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
2.3 设置密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
如果在连接到密钥服务器时遇到问题,可以尝试用在该命令中用hkp://pgp.mit.edu:80
或hkp://keyserver.ubuntu.com:80
替换。
2.4 安装
首先,确保您的Debian软件包索引是最新的
sudo apt-get update
ROS中有许多不同的库和工具。官方提供了四种默认配置来帮助入门。我们也可以单独安装ROS软件包。这里只列出了桌面完整版(Desktop-Full)安装代码,如果需要安装其他版本,请参考官网或上述的参考博客。
sudo apt-get install ros-kinetic-desktop-full
2.5 环境设置
为了方便,每次启动新的shell时,将ROS环境变量自动添加到bash会话中
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
2.6 构建软件包的依赖关系
到目前为止,您已经安装了运行核心ROS软件包所需的软件。为了创建和管理您自己的ROS工作区,有各种工具和要求分别分发。例如,rosinstall是一个常用的命令行工具,使您可以通过一个命令轻松下载ROS软件包的许多源代码树。要安装此工具和其他依赖关系以构建ROS软件包,请运行
sudo a