1. 引言
SLAM(Simultaneous Localization and Mapping,即同时定位与地图构建)是机器人学和计算机视觉领域的核心技术,涉及在未知环境中同时估计机器人的位置并构建环境地图。SLAM技术广泛应用于自动驾驶、无人机导航、服务机器人、增强现实(AR)和虚拟现实(VR)等领域,能够使机器人在没有外部定位信号的情况下独立导航。本文详细介绍了ORB-SLAM2的安装与调试过程,展示如何利用该系统实现智能小车的视觉SLAM导航。
2. Ubuntu安装
1. 下载Ubuntu系统镜像文件
首先,访问Ubuntu官方网站下载最新的ISO系统镜像文件。推荐下载长期支持(LTS)版本,如Ubuntu 20.04,因为它们提供更长时间的更新和支持。
2. 制作可启动的U盘
下载一个U盘启动工具,如Rufus,并使用它将下载的ISO文件烧录到U盘上,制作成可启动的安装介质。在制作过程中,确保选择正确的ISO文件,并将U盘格式化为FAT32或NTFS。
3. 设置BIOS以从U盘启动
重启电脑,并在启动时进入BIOS设置,将启动顺序设置为优先从U盘启动。不同电脑进入BIOS的按键可能不同,常见的有F2、F10、F12或Delete键。
4. 开始安装Ubuntu
从U盘启动后,选择“Try Ubuntu”或“Install Ubuntu”开始安装过程。在安装界面中,可以选择语言、键盘布局、网络设置等。
5. 安装类型选择
在安装类型界面中,可以选择“Erase disk and install Ubuntu”来安装Ubuntu并清除硬盘上的所有数据,或者选择“Something else”来手动分区。
6. 完成安装
按照屏幕指示完成安装过程,包括设置用户账户、密码、选择时区等。安装完成后,可以选择立即重启或继续使用Live环境。
7. 更新系统
首次启动Ubuntu后,建议运行系统更新以确保系统安全和稳定。打开终端(可以通过快捷键Ctrl+Alt+T),输入以下命令来更新系统:
sudo apt update
sudo apt upgrade

3. ROS Noetic环境安装
1. 配置Ubuntu软件仓库
打开终端,运行以下命令以配置Ubuntu软件仓库,以便能够安装ROS Noetic及其依赖包。建议使用国内镜像源以提高下载速度:
sudo sh -c 'echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2. 添加ROS密钥
运行以下命令以添加ROS软件包的公钥,这是验证软件包来源的安全措施:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
3. 更新软件包列表
运行以下命令来更新软件包列表,确保系统可以识别新添加的ROS软件源:
sudo apt update
4. 安装ROS Noetic
根据需求选择不同的ROS安装选项。以下命令将安装完整的桌面版,包括模拟器和感知包:
sudo apt install ros-noetic-desktop-full
5. 设置环境变量
为了能够在终端中使用ROS命令,需要将ROS的环境设置脚本添加到您的bash配置文件中:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
6. 安装ROS依赖工具
运行以下命令来安装ROS依赖的工具,这些工具对于编译和运行ROS包至关重要:
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
7. 初始化rosdep
rosdep是一个工具,用于确保所有ROS包的系统依赖都被满足:
sudo rosdep init
rosdep update
8. 启动ROS核心节点
打开一个新的终端窗口,运行以下命令来启动ROS核心节点(roscore),以检查ROS是否正确安装:
roscore

4. ORB-SLAM2环境安装
1. 安装基础依赖
打开终端,运行以下命令来安装构建ORB-SLAM2所需的基础依赖包:
sudo apt-get update
sudo apt-get install vim cmake git gcc g++
2. 安装第三方库
ORB-SLAM2依赖于一些第三方库,如Pangolin、OpenCV和Eigen。可以通过以下步骤来安装这些库:
安装Pangolin
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOST=1 ..
make -j$(nproc)
sudo make install
安装OpenCV
可以选择安装特定版本的OpenCV,例如OpenCV 3.4。请确保下载与ORB-SLAM2兼容的版本。
安装Eigen
git clone https://github.com/eigenteam/eigen-git-mirror.git
cd eigen-git-mirror
mkdir build
cd build
cmake ..
sudo make install
3. 安装ORB-SLAM2
下载ORB-SLAM2源代码,并在系统中编译安装:
git clone https://github.com/raulmur/ORB_SLAM2.git
cd ORB_SLAM2
chmod +x build.sh
https://mp.weixin..com/build.sh
4. 配置环境变量
为了能够在终端中轻松运行ORB-SLAM2,需要配置环境变量。编辑.bashrc文件,添加以下行:
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:${HOME}/catkin_ws/src/ORB_SLAM2/Examples/ROS
source ~/.bashrc
5. 编译ROS版本的ORB-SLAM2
chmod +x build_ros.sh
https://mp.weixin..com/build_ros.sh
6. 测试安装
编译完成后,可以运行ORB-SLAM2的示例来测试安装是否成功。
5. 数据集安装
在运行测试安装之前,我们需要下载数据集。我们简单介绍一下常用的数据集,主要分为三大类:TUM RGB-D数据集、KITTI数据集和EuRoC Mav数据集。
TUM RGB-D数据集
TUM RGB-D数据集是由Technische Universität München提供的一系列室内RGB-D序列,广泛用于评估SLAM系统的性能。这些数据集包含丰富的纹理、动态物体和复杂的光照条件,适合测试SLAM系统的稳定性和准确性。
1.访问 TUM RGB-D数据集下载页面。(https://vision.in.tum.de/data/datasets/rgbd-dataset/download)
2.选择所需的数据集序列,如走廊、大厅、室外、室内和滑梯等环境。
3.点击数据集序列旁边的下载链接,下载.tar.gz格式的文件。
4.下载完成后,使用适当的软件(如tar命令)解压文件到本地硬盘上。
5.解压后,将获得包含RGB图像、深度图像和相机位姿信息的文件夹。
下面我们进行测试,输入指令:

效果如下:



KITTI数据集
KITTI数据集包含城市和高速公路环境中的车辆行驶记录,提供立体图像序列,适用于评估立体SLAM系统的性能。这些数据集包含精确的地面实况(ground truth)信息,可以用来计算SLAM系统的绝对定位误差。
EuRoC Mav数据集
EuRoC Mav数据集包含在室内和室外环境中由微型飞行器(MAV)录制的高质量视觉-惯性序列。数据集提供同步的彩色图像、深度图像和IMU数据,适合评估视觉-惯性SLAM系统的性能。
测试数据集
下载和解压数据集后,可以运行以下命令测试ORB-SLAM2:
https://mp.weixin..com/Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml PATH_TO_SEQUENCE_FOLDER
6. evo精度测试安装
evo是一个用于评估视觉里程计和SLAM系统性能的工具,能够处理多种数据集的轨迹格式,如TUM、KITTI、EuRoC MAV和ROS的bag文件,并提供轨迹对齐、误差计算和图形化分析等功能。
安装evo
使用pip安装(快捷安装)
打开终端并执行以下命令来安装最新的稳定发行版:
pip install
evo --upgrade --no-binary evo
从源代码编译安装
首先,克隆evo的GitHub仓库:
git clone https://github.com/MichaelGrupp/evo.git
然后,进入克隆的目录并使用pip进行安装:
cd evo
pip install --editable . --upgrade --no-binary evo
安装完成后,可以使用evo对轨迹进行评估和分析。

到此,我们完成了智能小车的视觉SLAM导航系统的搭建。
7. 总结
通过以上步骤,我们成功地安装了Ubuntu、ROS Noetic、ORB-SLAM2和相关数据集,并且学会了如何在ORB-SLAM2上运行数据集,测试建图与定位的效果。此外,还安装了evo工具,用于评估SLAM系统的精度。完成这些步骤后,我们具备了运行和调试ORB-SLAM2的完整环境,能够在不同条件下测试和优化智能小车的视觉SLAM导航系统。
点击“阅读原文”查看详情
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/43206.html