jjzjj

ubuntu18.04-ORB-slam2安装与运行

hong_cy& 2023-09-27 原文

本篇博客整理了ROS安装,ORB-slam2安装,ROS的ORB-slam2安装


1.ROS安装

1.2 ROS安装 · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程

安装时,sudo rosdep init 和 rosdep update 失败,会碰到连接问题,采用以下连接提供的方法安装

https://blog.csdn.net/qq_35813104/article/details/117332670

至此,ROS安装完成,可以使用roscore验证。


2.ORB-SLAM2安装

2.1安装工具

 sudo apt-get install cmake
 
 sudo apt-get install git
 
 sudo apt-get install gcc g++  

2.2安装Pangolin

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报错。

 2.3安装Eigen

sudo apt-get install libeigen3-dev

2.4安装opencv

opencv官方下载地址:Releases - OpenCV

选择版本3.4.0,下载并解压

cd opencv3.4.0
mkdir build
cd build
cmake ..
make -j2
sudo make install

2.5安装ORB-SLAM2

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh

此处会报错 

解决方法:

在所有报错的文件,添加头文件:

#include <unistd.h>

具体文件如下:

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 ROS的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

3 运行ORB-SLAM2

3.1下载数据集

Tum数据集:Computer Vision Group - Dataset Download

下载好解压缩,最后放在ORB-SLAM2路径下。建议使用fr1/xyz数据集

3.2运行

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml ./data/rgbd_dataset_freiburg1_xyz

3.3使用ROS运行ORB-SLAM2

参考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

有关ubuntu18.04-ORB-slam2安装与运行的更多相关文章

  1. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  2. ruby-on-rails - Rails 3 I18 : translation missing: da. datetime.distance_in_words.about_x_hours - 2

    我看到这个错误:translationmissing:da.datetime.distance_in_words.about_x_hours我的语言环境文件:http://pastie.org/2944890我的看法:我已将其添加到我的application.rb中:config.i18n.load_path+=Dir[Rails.root.join('my','locales','*.{rb,yml}').to_s]config.i18n.default_locale=:da如果我删除I18配置,帮助程序会处理英语。更新:我在config/enviorments/devolpment

  3. ruby-on-rails - 如果我将 ruby​​ 版本 2.5.1 与 rails 版本 2.3.18 一起使用会怎样? - 2

    如果我使用ruby​​版本2.5.1和Rails版本2.3.18会怎样?我有基于rails2.3.18和ruby​​1.9.2p320构建的rails应用程序,我只想升级ruby的版本,而不是rails,这可能吗?我必须面对哪些挑战? 最佳答案 GitHub维护apublicfork它有针对旧Rails版本的分支,有各种变化,它们一直在运行。有一段时间,他们在较新的Ruby版本上运行较旧的Rails版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们现在已经有几年没有使用2.3了,所以充其量只能让更

  4. ruby - 如何在 Ubuntu 中清除 Ruby Phusion Passenger 的缓存? - 2

    我试过重新启动apache,缓存的页面仍然出现,所以一定有一个文件夹在某个地方。我没有“公共(public)/缓存”,那么我还应该查看哪些其他地方?是否有一个URL标志也可以触发此效果? 最佳答案 您需要触摸一个文件才能清除phusion,例如:touch/webapps/mycook/tmp/restart.txt参见docs 关于ruby-如何在Ubuntu中清除RubyPhusionPassenger的缓存?,我们在StackOverflow上找到一个类似的问题:

  5. ruby-on-rails - Ruby on Rails I18n 插值 - 2

    大家好!我对我的:username字段进行了一个小的验证,它应该是4到30个字符。我写了一个验证::length=>{:within=>4..30,:message=>I18n.t('activerecord.errors.range')-我想显示一个错误各种错误的消息(不像,太长或太短),但这里有一个问题-我可以将最小值和最大值都传递给翻译,以便有类似的东西:用户名应该在4到30个字符之间。目前我有:range:"shouldbebetween%{count}and%{count}characters",这显然不起作用(只是为了检查)。是否可以从范围中获取这些值?谢谢大家的指教!

  6. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  7. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

  8. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  9. ruby - ri 有空文件 – Ubuntu 11.10, Ruby 1.9 - 2

    我正在运行Ubuntu11.10并像这样安装Ruby1.9:$sudoapt-getinstallruby1.9rubygems一切都运行良好,但ri似乎有空文档。ri告诉我文档是空的,我必须安装它们。我执行此操作是因为我读到它会有所帮助:$rdoc--all--ri现在,当我尝试打开任何文档时:$riArrayNothingknownaboutArray我搜索的其他所有内容都是一样的。 最佳答案 这个呢?apt-getinstallri1.8编辑或者试试这个:(非rvm)geminstallrdocrdoc-datardoc-da

  10. ruby - 在 Ubuntu 14.04 中使用 Curl 安装 RVM 时出错 - 2

    我试图在Ubuntu14.04中使用Curl安装RVM。我运行了以下命令:\curl-sSLhttps://get.rvm.io|bash-sstable出现如下错误:curl:(7)Failedtoconnecttoget.rvm.ioport80:Networkisunreachable非常感谢解决此问题的任何帮助。谢谢 最佳答案 在执行curl之前尝试这个:echoipv4>>~/.curlrc 关于ruby-在Ubuntu14.04中使用Curl安装RVM时出错,我们在Stack

随机推荐