当前位置: 首页 > news >正文

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/


http://www.mrgr.cn/news/60072.html

相关文章:

  • Kaggle比赛复盘
  • AAPL: Adding Attributes to Prompt Learning for Vision-Language Models
  • 【牛客算法】某司面试算法题:找出最长山脉的长度
  • 【Ubuntu更换镜像源】
  • JVM 加载 class 文件的原理机制
  • 自动化抖音点赞取消脚本批量处理
  • 复刻系列-原神 5.1 版本先行展示页
  • 温泉押金原路退回系统, 押金+手牌+电子押金单——未来之窗行业应用跨平台架构
  • 数据结构与算法分析:你真的理解查找算法吗——二分查找(代码详解)
  • 闯关leetcode——225. Implement Stack using Queues
  • 一个简单的图像分类项目(五)编写脚本:创建网络
  • 如何在 CentOS 7 上使用 Let‘s Encrypt 保护 Nginx
  • UHF机械高频头的知识和待学习的疑问
  • PlantUML绘制C++类图
  • 平衡二叉搜索树的时间复杂度为什么是 O(log n)?
  • 【Java】逻辑控制
  • 基于GA遗传优化的风光储微电网削峰填谷能量管理系统matlab仿真
  • Python中的递归函数是如何工作的,它有哪些应用场景?
  • Lesson11---stack
  • 启动MySQL报错,报日志找不到
  • STM32 f407 多通道ADC采集+DMA传输 基于HAL库和Cubemx配置
  • Android13 通过OTA升级更新系统默认设置
  • Renesas R7FA8D1BH (Cortex®-M85) QSPI的功能介绍
  • 【路径跟踪控制:Pure Pursuit控制与车辆运动学模型】
  • Java | Leetcode Java题解之第516题最长回文子序列
  • 如何在 CMD 窗口中校验文件的 MD5 值