系统:Ubuntu18.04
设备:Realsense D435i

一、安装相关依赖库

毕设后写的一篇通俗一些的,适合没接触过或不太会ubuntu的同学,前半部分都是一样的,
tips:需要安装一个[百度网盘],以便下载需要的文件。
→ → → orbslam2+小觅相机

相关依赖库

sudo  apt-get  install  cmake gcc g++ git vim
sudo  apt-get  install  libglew-dev
sudo  apt-get  install  libboost-dev libboost-thread-dev
sudo  apt-get  install  libboost-filesystem-dev
sudo  apt-get  install  libpython2.7-dev
sudo  apt-get  install  build-essential

安Pangolin和Eigen
这两个库,建议是0.5和3.2版本,报错可能性小,其他版本可能会出现不兼容等各种问题,目前从git下载已经是新版,这里提供一下0.5和3.2版本

pangolin:pangolin_v0.5 提取码: edam

Eigen3:Eigen_v3.2.10 提取码: hnw9

安装:

cd  Pangolin
mkdir  build
cd  build
cmake ..
make
sudo make install
cd  eigen
mkdir  build
cd  build
cmake ..
make
sudo make install

二、安装ROS Ubuntu18.04对应melodic

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654sudo apt update
sudo apt install ros-melodic-desktop-full(时间略长,需等待一会)
!复制全了别丢东西!
------------------------------------------------------------------------
sudo rosdep init
出现错误:找不到命令
解决:sudo apt install python-rosdep2
------------------------------------------------------------------------

rosdep update
出现 timed out  出现超时问题

解决:解决方法
涉及到的rosdistro文件
rosdistro 提取码: b3hb


sudo apt-get install python-rosinstall
source /opt/ros/melodic/setup.bash

创建并初始化工作目录ROS使用一个名为catkin的ROS专用构建系统。为了使用它,用户需要创建并初始化catkin工作目录,如下所示。除非用户创建新的工作目录,否则此设置只需设置一次。

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws/
catkin_make
sudo apt install net-tools
gedit ~/.bashrc
在弹出的文本中最后面添加如下两句
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
保存
source ~/.bashrc

进行测试:

roscore出现错误:没发现roscore
解决:
sudo apt-get install ros-melodic-desktop

重新打开三个终端:

roscorerosrun turtlesim turtlesim_noderosrun turtlesim turtle_teleop_key

鼠标点击最后一个终端,按方向键小海龟可以移动,即是配置成功

三、编译orbslam

1.安装pcl点云库,大致按这个教程安装就可以
点云安装

2.下载 高翔博士修改后的orbslam2

git clone https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map.git

我按照网上教程稍微自己稍微修改了的

复制这段内容后打开百度网盘手机App,操作更方便哦
链接:https://pan.baidu.com/s/18T6kNhHFRxoxiKYo3o3rEg
提取码:i3CB --来自百度网盘超级会员V5的分享

如果下载高翔原版代码,解压zip,将第一个文件夹中文件,复制替换进 解压后 文件夹中 的ORB_SLAM2_modified

3.编译g2o
解压后找到g2o_with_orbslam2文件夹
如果下载我的应该不需要修改,高翔原版需要改动一下
1)分别对文件夹下cmakelist和g20下的cmakelist对相应语句进行注释
主文件夹下

g20下的

注释后保存

2)修改g2o/types/slam2d/edge_se2_pointxy_bearing.cpp

原代码:t.setRotation(t.rotation().angle()+_measurement);修改后:t.setRotation((Eigen::Rotation2Dd)(t.rotation().angle()+_measurement));

3)修改/g2o_with_orbslam2/g2o/solvers/eigen/linear_solver_eigen.h

原代码:typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, SparseMatrix::Index> PermutationMatrix;修改后:typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, SparseMatrix::StorageIndex> PermutationMatrix;

保存后,回到g2o_with_orbslam2主文件夹下

mkdir build
cmake ..
make -j8
sudo make install

4.进入ORB_SLAM2_modified文件夹
高翔原版没有ORBvoc.txt.tar.gz需要自行下载,而后将其放置于Vocabulary文件夹下,顺手解压一下

ORBvoc.txt.tar.gz

修改文件夹中的cmakelist,将opencv和eigen3修改为自己电脑安装的版本,我前边提供的eigen3为3.2.10,我安装时ros自带的3.2的opencv。如果不清楚可以进行查询

pkg-config --modversion opencv


修改cmakelist为对应版本

来到/ORB_SLAM2_modified/Examples/ROS/ORB_SLAM2/CMakeLists.txt
查看这 5 处是否正确,并也将对应的库版本号修改为自己安装的版本

修改后,删除
/ORB_SLAM2_modified/build,
/ORB_SLAM2_modified/Thirdparty/DBoW2/build
/ORB_SLAM2_modified/Thirdparty/g2o/build
删掉三个 build 文件夹

在ORB_SLAM2_modified下右键打开终端

cd ORB_SLAM2_modified/Thirdparty/DBoW2
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make

从新在ORB_SLAM2_modified下右键打开终端

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j8

数据集测试,数据集需自行下载,我提供的代码中dataset中有两个下载好直接能用的数据集
如果自己下载需要对rgbd和depth进行关联

python associate.py rgb.txt depth.txt > associations.txt

示例命令
./Example/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt path_to_settings path_to_sequence path_to_association
在ORB_SLAM2_modified打开终端执行

./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml datasets/rgbd_dataset_freiburg1_xyz  datasets/rgbd_dataset_freiburg1_xyz/association.txt./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml datasets/rgbd_dataset_freiburg1_room  datasets/rgbd_dataset_freiburg1_room/association.txt

高翔原版似乎没有地图保存和彩色,如果需要保存地图,或者地图不是彩色,请参考文章中间部分
保存地图,地图不是彩色

保存的点云在主文件夹下,名称vslam.pcd,当前文件夹打开终端

pcl_viewer vslam.pcd  (查看点云)

四、安装D435i SDK

Ubuntu18.04 + ROS melodic 安装使用 RealSenseD435i

Ubuntu18.04下安装RealSense D435i相机的SDK和ROS包

五、编译orbslam +ROS

1.来到ORB_SLAM2_modified文件夹
在打开的文本最后添加你的ROS路径,保存

gedit ~/.bashrc
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/你的目录/ORB_SLAM2_modified/Examples/ROS

保存后在终端输入

source ~/.bashrc
chmod +x build_ros.sh
./build_ros.sh

2.修改ORB_SLAM2_modified/Examples/ROS/ORB_SLAM2/src/ros_rgbd.cc文件,把rgb_topic和depth_topic订阅话题修改为

 "/camera/color/image_raw";"/camera/aligned_depth_to_color/image_raw";

ORB_SLAM2_modified下从新打开终端

chmod +x build.sh
./build.sh
chmod +x build_ros.sh
./build_ros.sh

从新打开终端,查看内参

roscore
roslaunch realsense2_camera rs_rgbd.launch
rostopic echo /camera/color/camera_info

没有rs_rgbd.lunch
解决:sudo apt-get install ros-melodic-rgbd-launch
终端中显示的K,为参数,其中
K = [fx 0 cx 0 fy cy 0 0 1 ] 基线50mm

修改参数,得到一个新的D435i.yaml

%YAML:1.0#--------------------------------------------------------------------------------------------
# Camera Parameters. Adjust them!
#--------------------------------------------------------------------------------------------# Camera calibration and distortion parameters (OpenCV)
Camera.fx: 909.559875
Camera.fy: 909.740478
Camera.cx: 645.366455
Camera.cy: 366.805908Camera.k1: 0.0
Camera.k2: 0.0
Camera.p1: 0.0
Camera.p2: 0.0
Camera.p3: 0.0Camera.width: 640
Camera.height: 480
# Camera frames per second
Camera.fps: 30.0# IR projector baseline times fx (aprox.)
# bf = baseline (in meters) * fx, D435i的 baseline = 50 mm
Camera.bf: 50.0# Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
Camera.RGB: 1# Close/Far threshold. Baseline times.
ThDepth: 40.0# Deptmap values factor
DepthMapFactor: 1000.0#--------------------------------------------------------------------------------------------
# ORB Parameters
#--------------------------------------------------------------------------------------------# ORB Extractor: Number of features per image
ORBextractor.nFeatures: 1000# ORB Extractor: Scale factor between levels in the scale pyramid
ORBextractor.scaleFactor: 1.2# ORB Extractor: Number of levels in the scale pyramid
ORBextractor.nLevels: 8# ORB Extractor: Fast threshold
# Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
# Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
# You can lower these values if your images have low contrast
ORBextractor.iniThFAST: 20
ORBextractor.minThFAST: 7#--------------------------------------------------------------------------------------------
# Viewer Parameters
#--------------------------------------------------------------------------------------------
Viewer.KeyFrameSize: 0.05
Viewer.KeyFrameLineWidth: 1
Viewer.GraphLineWidth: 0.9
Viewer.PointSize:2
Viewer.CameraSize: 0.08
Viewer.CameraLineWidth: 3
Viewer.ViewpointX: 0
Viewer.ViewpointY: -0.7
Viewer.ViewpointZ: -1.8
Viewer.ViewpointF: 500PointCloudMapping.Resolution: 0.01
meank: 50
thresh: 2.0

运行,打开三个终端

roscore
roslaunch realsense2_camera rs_rgbd.launch
rosrun ORB_SLAM2 RGBD Vocabulary/ORBvoc.txt Examples/RGB-D/D435i.yaml

运行视频b站:【视觉slam Orbslam2+D435i 稠密点云,记录-哔哩哔哩

过程中会遇到各种问题,需要大家自己解决喽,因为问题各不相同,所以大家就自行搜索解决,我只记录了一下自己从配置到运行的大致过程。

我遇到最多的问题是这个:
核心转储:核心转储解决

Orbslam2 稠密点云 +D435i实现(Ubuntu18.04)相关推荐

  1. ORB-SLAM2稠密点云重建:双目室外[2]

    接上一篇. 上一篇中,看起来我们基本完成了重建.但是有很多问题: 问题1:如果你真正跑起来(00数据集),你会发现点云没有正确拼接.这是点云化的部分有问题. 问题2:跑起来,你会发现很乱,除了问题1, ...

  2. 记录ORBSLAM2稠密点云在线搭建过程(虽然我的目标是二维,方便之后导航用)

    首先大部分工作是参考网上资源,毕竟这玩意一个小白难搞. 由于orbslam2只开源了稀疏点云的构建,但如果要用于机器人导航,那么还需要从稀疏点云发展成稠密点云,构建出真实环境的风貌,但考虑到点云的数据 ...

  3. ORB-SLAM2稠密点云重建:双目室外[1]

    接上一篇. 步骤4:读取每帧位姿信息,初始化点云 类似之前的RGBD,先在XCTool.h中加入XCKITTIKey类读取每帧信息: class XCKITTIKey { public:double ...

  4. Ubuntu18.04 配置orbslam2环境+小觅相机测试(零基础)

    写在前面: ubuntu的安装建议采用双系统模式,不建议用虚拟机,会出现奇怪错误导致配置环境失败. 本教程使用 ubuntu18.04 ,双系统的安装请自行搜索教程安装. 本人的毕业设计做的是slam ...

  5. ubuntu18.04系统ros melodic 安装orbslam2,Astra相机的ROS环境

    ubuntu18.04 安装orbslam2,rosbag,Astra相机的ROS环境  ubuntu20.04系统 ros noetic下安裝orbslam2 打开下面链接: CSDNhttps:/ ...

  6. 基于ORB-SLAM2实时构建稠密点云

    基于ORB-SLAM2实时构建稠密点云 ORB-SLAM2是特征点法的经典之作,但是只能构建稀疏二维点云,限制了其使用范围 因期望可以实现移动机器人的导航功能,需要构建三维点云,再通过octomap_ ...

  7. ubuntu18.04安装Realsense D435i 摄像头的驱动SDK和ROS Wrapper

    ubuntu18.04安装Realsense D435i 摄像头的驱动SDK和ROS Wrapper 2022年更新: 安装教程同:进更新安装包下载方式和下载链接--见文末. 1.安装Realsens ...

  8. mysql免安装_腾讯云Ubuntu18.04部置Django2系列(二):Ubuntu18.04 安装Mysql

    本系统教程使用腾讯云,Ubuntu 18.04系统,mysql 5.7数据库,Django2.2,nginx ,gunicorn 来完整的部署Django网站项目.每一步教程都是在本地机台上,通过Xs ...

  9. 腾讯云Ubuntu18.04.4上安装brat文本标注工具(2020年9月)

    参考博文: https://zhuanlan.zhihu.com/p/65101293 https://zhuanlan.zhihu.com/p/92334491 https://www.cnblog ...

最新文章

  1. 防止人为误操作MySQL数据库技巧一例
  2. 和get redis_Redis练习操作
  3. 不同表主键能相等吗_视频 |【搞机实验室】测血氧有啥,你见过能“开车”的表吗?...
  4. Python 和 C/C++ 拓展程序的性能优化
  5. require引入js vue_请教 关于使用require 引入vue 和公共js的问题
  6. php 之fsockopen(转)
  7. JQuery Datatables 数据操作
  8. 2.11_tree_树
  9. 自由手写体字帖pdf_沐瑶随心手写体:随心是源于自由的快乐 免费商用手写字体...
  10. arma 预测 matlab代码,求助:ARMA模型进行预测
  11. BM3D算法半解,带python代码
  12. 模拟器android_id,夜神模拟器链接Android studoid
  13. Mysql中从零点到当前时刻的SQL判断
  14. 【遇到的问题】VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用的所有目录以及访问所有临时文件目录。
  15. 罗振宇跨年演讲:哪来直接登顶的人生,只有不断迭代的历程
  16. 美团相关的scheme
  17. 令人头疼的背包九讲(1)0/1背包问题
  18. 使用Python与图灵机器人聊天
  19. SEO不应该忽视的9个谷歌排名因素
  20. 先看易经,后看推背图。

热门文章

  1. cook_fighter iOS 小总结 推送通知
  2. ​stp文件转iges
  3. 微型企业服务器选硬盘,5000块就能买服务器?小微企业服务器推荐
  4. windows安装.Net Framework3.5无法安装问题
  5. C++ 第八节数据结构 第七节 ——二叉搜索树 AVL树 红黑树(底层原理图+模拟实现)
  6. 专业显卡深度学习_学习深度学习,如何选购显卡?
  7. XSSFWorkbook 设置单元格样式_欺骗你眼睛的立体单元格~~
  8. 【论文解析】Anchor-Free Person Search
  9. 【历史上的今天】11 月 2 日:蠕虫起源;iPad mini 上市;领英注册域名
  10. 我的企业使用虚拟信用卡支付有什么优势