• 安装ROS
    参考:http://wiki.ros.org/kinetic/Installation/Ubuntu
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 C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full
apt-cache search ros-kinetic
sudo rosdep init
rosdep update
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

创建一个ROS Workspace :

 mkdir -p ~/catkin_ws/srccd ~/catkin_ws/srccatkin_init_workspacecd ~/catkin_ws/catkin_make
  • 安装realsense

    参考:

         https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.mdhttps://blog.csdn.net/qq_41839222/article/details/86503113https://blog.csdn.net/jiangchuanhu/article/details/92795791
    
sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key
sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial main" -u
sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils
sudo apt-get install librealsense2-dev
sudo apt-get install librealsense2-dbg
  • 安装stereo_image_pro(非必要可选

    参考:
    http://wiki.ros.org/stereo_image_proc
    安装:

sudo apt-get install ros-kinetic-stereo-image-proc
  • 安装ORB_SLAM2

1.安装好要用到的工具

sudo apt-get install cmake
sudo apt-get install git

2.安装Eigen

sudo apt-get install libeigen3-dev(版本问题可能存在大坑)

3.安装Pangolin
依赖:

sudo apt-get install cmake
sudo apt-get install libpython2.7-dev

安装:

git clone https://github.com/stevenlovegrove/Pangolin.gitcd Pangolinmkdir build
cd build
cmake ..
make –j4
sudo make install

4.安装ORBSLAM2

git clone https://github.com/raulmur/ORB_SLAM2.git
cd ORB_SLAM2分别删除以下文件中的“-march=native”
ORB_SLAM2/Thirdparty/g2o/CMakeLists.txt                 第57、58行
ORB_SLAM2/CMakeLists.txt                                第10、11行
ORB_SLAM2/Thirdparty/DBoW2/CMakeLists.txt               第4、5行chmod +x build.sh
./build.sh
cd
sudo vim ./.bashrc
在最后一行添加如下:export ORB_SLAM2_ROOT_DIR=/home/luo/source/ORB_SLAM2 (非常重要)

跑一下ORB_SLAM2验证安装是否成功,如:(跑数据集)

ORB_SLAM根目录下运行:

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/luo/rgbd_dataset_freiburg1_desk
  • 安装rtabmap源码

参考:
https://github.com/introlab/rtabmap/wiki/Installation
1.安装依赖

sudo apt-get update
sudo apt-get install libsqlite3-dev libpcl-dev libopencv-dev git cmake libproj-dev libqt5svg5-dev

2.安装

参考:https://github.com/introlab/rtabmap/wiki/Installation

git clone https://github.com/introlab/rtabmap.git rtabmap
打开:rtabmap/corelib/include/rtabmap/core/StereoCameraModel.h第104行(修改双目基线)
将  double baseline() const {return right_.fx()!=0.0 && left_.fx() != 0.0 ? left_.Tx() / left_.fx() - right_.Tx()/right_.fx():0.0;}
改为  double baseline() const {return 0.05;} //right_.fx()!=0.0 && left_.fx() != 0.0 ? left_.Tx() / left_.fx() - right_.Tx()/right_.fx():0.0;}
cd rtabmap/build
cmake -DWITH_G2O=OFF -DCMAKE_INSTALL_PREFIX=/home/luo/catkin_ws/devel  .. (非常重要 如果把GTSAM库也OFF可能会没有回环)
make -j4
sudo make install
sudo ldconfig

测试源码安装是否成功:插上D435i
参考:https://github.com/introlab/rtabmap/wiki/Kinect-mapping

cd ../bin
./rtabmap
步骤:
->OK
->OK
->New database
->Select source ->RGB-D camera ->Realsense D435 ->Realsense 2
->start
界面能显示建图效果,则源码安装成功

若运行start以后界面闪退(天坑),则安装失败 具体情况根据error而定
(若编译的时候报大量Eigen的警告,可能是Eigen的原因,跟换Eigen版本)

编译rtabmap_ros(修改双目基线)

cd ~/catkin_ws
git clone https://github.com/IntelRealSense/realsense-ros
vim realsense-ros/realsense2_camera/src/base_realsense_node.cpp
将第1646行 _camera_info[stream_index].P.at(3) = 0;
更改为: if(stream_index.second == 2){_camera_info[stream_index].P.at(3) = -0.05;}git clone https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
catkin_make

3.运行rtabmap

3.1 rtabmap+orb_slam2(双目)+realsense2

     //启动realsense
1. roslaunch realsense2_camera rs_camera.launch //双目矫正(可选)
2. ROS_NAMESPACE=camera rosrun stereo_image_proc stereo_image_proc left/image_raw:=/camera/infra1/image_rect_raw right/image_raw:=/camera/infra2/image_rect_raw left/camera_info:=/camera/infra1/camera_info right/camera_info:=/camera/infra2/camera_info _approximate_sync:=true//启动rtabmap
3. roslaunch rtabmap_ros stereo_mapping.launch stereo_namespace:="/camera" rtabmap_args:="--delete_db_on_start --Odom/Strategy 5 --OdomORBSLAM2/VocPath "/home/luo/source/ORB_SLAM2/Vocabulary/ORBvoc.txt"" left_image_topic:=/camera/left/image_rect right_image_topic:=/camera/right/image_rect left_camera_info_topic:=/camera/infra1/camera_info right_camera_info_topic:=/camera/infra2/camera_info /rtabmap/odom_info:=/camera/infra1/camera_info stereo:=true frame_id:=camera_link approx_sync:=false

3.2 rtabmap+orb_slam2(RGB-D)+realsense2

//启动realsense
1. roslaunch realsense2_camera rs_rgbd.launch
//启动rtabmap
2. roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start --Odom/Strategy 5 --OdomORBSLAM2/VocPath "/home/luo/source/ORB_SLAM2/Vocabulary/ORBvoc.txt"" depth_topic:=/camera/depth/image_rect_raw rgb_topic:=/camera/color/image_raw camera_info_topic:=/camera/color/camera_info approx_sync:=false

3.3 rtabmap+F2M(RGB-D)+realsense2

//启动相机
1.  roslaunch realsense2_camera rs_rgbd.launch
//启动realsense
2.  roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start" depth_topic:=/camera/depth/image_rect_raw rgb_topic:=/camera/color/image_raw camera_info_topic:=/camera/color/camera_info approx_sync:=false

Rtabmap+ORB_SLAM2+D435i(稠密地图)相关推荐

  1. ORB_SLAM2新增稠密建图代码笔记

    接上一篇博客"ORB_SLAM2+kinect稠密建图实战项目总结" ORB_SLAM2+kinect稠密建图实战项目总结_好好仔仔的博客-CSDN博客 本篇在此基础上对整个项目的 ...

  2. orbslam2稠密地图转octomap

    orbslam2稠密地图 对于稠密地图的建立,已经有了两个大神的代码 参考如下 高博(未加回环): https://github.com/gaoxiang12/ORBSLAM2_with_pointc ...

  3. ORB-SLAM2构建稠密地图 ros-kinetic 深度相机

    ORB-SLAM2构建稠密地图 参考如下链接: orbslam2详细 编译过程问题: 1.orbslam2 编译1 build.sh 将j1改为j2可以避免卡死 make -j2 2.build_ro ...

  4. SLAM算法知识荟萃

    文章目录 SLAM 自动驾驶八股 四元数在表示空间旋转时的优势是什么? 介绍自动驾驶系统 介绍回环检测 介绍词袋模型 手撕对极约束 使用OpenCV找到四边形的边界 介绍卡尔曼滤波 推导卡尔曼增益 介 ...

  5. ORB_SLAM2稠密建图(ORBSLAM2_with_pointcloud_map),并保存地图

    本文基于高翔博士的ORB_SLAM2稠密建图代码改进,并且添加了稠密地图保存功能. 本文的代码已上传github,可用以下代码下载: git clone https://github.com/FAST ...

  6. Orbslam2 稠密点云 +D435i实现(Ubuntu18.04)

    系统:Ubuntu18.04 设备:Realsense D435i 一.安装相关依赖库 毕设后写的一篇通俗一些的,适合没接触过或不太会ubuntu的同学,前半部分都是一样的, tips:需要安装一个[ ...

  7. ORB_SLAM2+realsense运行稠密建图

    具体的环境及其细节:Ubuntu18.04 realsenseD435i ROS orbslam2_echo_gou的博客-CSDN博客 下载代码:https://github.com/gaoxian ...

  8. SLAM之小觅相机跑开源方案(ORB_SLAM2,VINS MONO,VINS FUSION,RTAB-Map)

    传感器: 小觅相机标准版 开源SLAM方案: ORB_SLAM2,VINS MONO,VINS FUSION,RTAB-Map 测试地点: 室内大厅(光线不均)/ 露天阳台 实现形式: 小觅相机 / ...

  9. 实测 (四)NVIDIA Xavier NX + D435i / 奥比中光Astrapro 相机+ ORB-SLAM 2 + 3 稠密回环建图

    来了!接着上篇,开始orb-slam3 的稠密回环建图实测(奥比中光Astrapro 相机) 老样子,先上效果图: 开发环境:NX+Ubuntu18.04+ROS-melodic 四.NX + Ast ...

最新文章

  1. 只需三分钟!只需创建一个vuex.js文件,让你马上学会使用Vuex,尽管Vuex是个鸡肋!(扔掉store文件夹和里面的index、getters、actions、mutations等js文件吧!)
  2. 量子计算,后摩尔时代计算能力提升的解决方案
  3. Java基础 Day04(个人复习整理)
  4. chrome webdriver_(最新版)如何正确移除Selenium中的 window.navigator.webdriver
  5. php fast cgi nginx,通过fast-cgi连接php-fpm和nginx之间的连接是持久的(保持活动)连接吗?...
  6. android程序 幻灯片,Android:ViewPager制作幻灯片
  7. entity framework不查数据库修改或排除指定字段集合通用方法
  8. ASP.NET操作Excel(终极方法NPOI)
  9. android action bar 风格,自定义ActionBar的风格
  10. tcpdump实战详解
  11. IoT技术架构与安全威胁
  12. 全网首发:LINUX编译JNA:编译产生jna.jar
  13. 根据银行卡号码获取银行卡归属行以及logo图标
  14. 打造面向时代的“云中广科”,广科牵手华为探索校企合作新范式
  15. JavaWeb项目--【在线音乐播放器】onlineMusicPlayer
  16. c语言编写温度监测界面,基于51单片机的温度检测系统_单片机C语言课题设计报告.doc...
  17. MeGui原滤镜使用心得
  18. 地图实时定位我的位置
  19. p2p与反p2p的激战--资料搜集
  20. Skip List——跳表,一个高效的索引技术

热门文章

  1. 斯坦福大学3D点云模型下载
  2. 深度神经网络(DNN)模型
  3. Java课程设计-家庭财政管理软件
  4. 人脸识别系统通信协议调研
  5. Nginx配置多域名跳转到不同的Tomcat服务器,
  6. 番茄(Tomato),别名西红柿
  7. Mysql数据库的使用方法
  8. 智慧物流园区项目设计解决方案
  9. 基于网络爬虫和SpringBoot框架的晋江文学小说小型网站项目
  10. 联想计算机型号吧,联想电脑型号有几种