rtabmap安装与使用

2023-11-09

参考:

ubuntu18.04安装Rtabmap(具体详细步骤) 

教你手把手运行基于ZED的rtab-map 

ZED入门:利用RTAB-MAP做SLAM

ubuntu16.04 ROS Kinetic+rtabmap 源码(非ros版本)安装运行

可以新建一个rtabmap_slam文件夹,然后

安装g2o
git clone https://github.com/RainerKuemmerle/g2o/
cd g2o
git checkout 9b41a4ea5a
mkdir build
cd build
cmake ..
make
sudo make install

安装GTSAM
git clone --branch 4.0.0-alpha2 https://github.com/borglab/gtsam.git gtsam-4.0.0-alpha2
cd gtsam-4.0.0-alpha2
mkdir build
cd build
cmake -DGTSAM_USE_SYSTEM_EIGEN=ON -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF -DGTSAM_BUILD_TESTS=OFF -DGTSAM_BUILD_UNSTABLE=OFF ..
make -j4
sudo make install

 新建rtabmap_ws工作空间

mkdir -p rtabmap_ws/src 
cd rtabmap_ws                                         
catkin_make

sudo gedit ~/.bashrc
source ~/rtabmap_slam/rtabmap_ws/devel/setup.bash

 安装rtabmap

git clone https://github.com/introlab/rtabmap.git rtabmap

安装依赖 

sudo apt-get install ros-melodic-rtabmap ros-melodic-rtabmap-ros

 执行

cd rtabmap/build
cmake -DCMAKE_INSTALL_PREFIX=~/rtabmap_slam/rtabmap_ws/devel ..
make -j4
make install

单独使用rtabmap建图的方法

终端输入rtabmap,再选择zed相机如下: 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5YqbfuiHquW-i37lvIDlv4M=,size_20,color_FFFFFF,t_70,g_se,x_16

然后点击新文件

a9dd69f7bf0443bfaa65ac6bcd5d0344.png

再点击开始按钮,即可建图。

4cb441fb61d14d4dbf3b9029e2462e55.png

保存建图结果

08cbcf72ab1740d2b049462dca6ba920.png

安装rtabmap_ros

cd ~/rtabmap_slam/rtabmap_ws
git clone https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
catkin_make

安装成功

用ZED使用rtabmap

需要先配置zed的使用环境,之后运行如下命令;

roslaunch zed_wrapper zed.launch camera_model:=zed
roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start" rgb_topic:=/zed/zed_node/rgb/image_rect_color depth_topic:=/zed/zed_node/depth/depth_registered camera_info_topic:=/zed/zed_node/rgb/camera_info frame_id:=base_link approx_sync:=false visual_odometry:=false odom_topic:=/zed/zed_node/odom

rviz显示并建图

roslaunch zed_rtabmap_example zed_rtabmap.launch

roslaunch 启动文件,rtabmap_args:="–delete_db_on_start" 是说启动前先删除数据库db下的数据, topic分别对应好rgb彩色数据、depth深度数据、相机参数信息。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0MzQxNDIz,size_16,color_FFFFFF,t_70#pic_center

用英特尔相机使用rtabmap

安装参考

Ubuntu 18.04安装RealSense ROS功能包
Ubuntu18.04安装realsense d435i SDK和ROS Wrapper以及相机标定全过程

安装Realsense SDK 

下载资源librealsense,从github下载source

git clone https://github.com/IntelRealSense/librealsense
cd librealsense

安装依赖项

sudo apt-get install libudev-dev pkg-config libgtk-3-dev
sudo apt-get install libusb-1.0-0-dev pkg-config
sudo apt-get install libglfw3-dev
sudo apt-get install libssl-dev

编译librealsense

mkdir build
cd build
cmake ../ -DBUILD_EXAMPLES=true
make   #用虚拟机make可能会卡在81%很久,一直等即可。
sudo make install 

测试sdk是否安装成功

cd build/examples/capture
./rs-capture
或
realsense-viewer

 装好ros版后,还可以使用rviz来查看相关的信息:

roslaunch realsense2_camera rs_rgbd.launch
#然后另外打开一个终端:
rviz

在 rviz中添加camera,并设置相应的话题即可。

安装 ROS Warpper

建立workspace

mkdir -p realsense_ws/src
cd realsense_ws/src/
catkin_init_workspace 
cd ..
catkin_make
echo "source ~/rtabmap_slam/realsense_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

下载ddynamic_reconfigure与realsense-ros

cd realsense_ws/src/
git clone https://github.com/pal-robotics/ddynamic_reconfigure.git
git clone https://github.com/IntelRealSense/realsense-ros.git
编译
cd ..
catkin_make

运行

roslaunch realsense2_camera rs_camera.launch

 安装好realsense驱动和rtabmap的ROS版本使用以下命令:

roslaunch realsense2_camera rs_camera.launch align_depth:=true
roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start --Optimizer/GravitySigma 0.3" depth_topic:=/camera/aligned_depth_to_color/image_raw rgb_topic:=/camera/color/image_raw camera_info_topic:=/camera/color/camera_info approx_sync:=false

安装meshlab

sudo snap install --devmode meshlab

附录:

1.如果如到Qt报错可以重新装一个Qt,装好后要建立软链接

解决:qt换新版本时“version `Qt_5' not found””
sudo rm /usr/lib/x86_64-linux-gnu/libQt5*
sudo cp /home/huang/Qt5.9.5/5.9.5/gcc_64/lib/libQt5* /usr/lib/x86_64-linux-gnu/
添加新版本路径   sudo vim /etc/profile
export LD_LIBRARY_PATH="/home/huang/Qt5.9.5/5.9.5/gcc_64/lib:$LD_LIBRARY_PATH"
版本切换
qmake -v
sudo rm /usr/bin/qmake
sudo ln -s /home/huang/Qt5.9.5/5.9.5/gcc_64/bin/qmake /usr/bin/qmake
或直接搜索软链接名称,复制到缺失的目录下,不能复制时可强行复制文件,执行
sudo nautilus

2.如果遇到不能打开数据集文件

498baa0c95cc4c06b6b66e5f2d56ee1d.png

 对Documents/目录下的所有子文件与子目录执行相同的权限变更:

sudo chmod -R 777 Documents/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

rtabmap安装与使用 的相关文章

随机推荐

  • vue+element表格使用vue-json-viewer实现查看JSON数据效果

    效果图 功能 在element弹窗中根据表格行查看当前行的JSON数据 高亮 可折叠 可复制 这里需要先安装vue json viewer插件 官网地址 https www npmjs com package vue json viewer
  • 神经网络编程基础

    目录 1 二分类 Binary Classification 2 逻辑回归 Logistic Regression 3 逻辑回归的代价函数 Logistic Regression Cost Function 4 梯度下降法 Gradient
  • nodejs调整版本问题

    因为接触到的项目渐渐增多 前端项目所需的nodejs版本也出现了分歧 之前一直用的14 16版本需要调换成八点几的版本 因为不会调整 所以多走了很多弯路 记录下来 以备不时之需 根据网络上所说可以使用nvm进行调整 所以在卸载nodejs之
  • C#进行MapX二次开发之MapX基础知识

    C 进行MapX二次开发之MapX基础知识 MapX的主要技术特点 1 以表 Table 的形式组织信息 每一个表都是一组MapInfo文件 这些文件组成了地图文件和数据库文件 为使用MapInfo 就需要有组成表的用户数据和地图文件 这些
  • 从LXMERT到VLMO:多模态预训练模型的演变史

    作者 吉雅太 单位 清华大学 研究方向 多模态研究 自从 2018 年 BERT 在 NLP 领域声名鹊起 通过预训练在 n 多 NLP 任务中刷榜 成功发掘出了 transformer 的潜力 众多研究者就看到了多模态发展的新的机会 使用
  • C/C++ 打印三角形

    打印三角形是C语言的经典例题 首先我们先看看效果图 一 直角三角形 ok 现在从最简单的打印直角三角形开始 通过以上效果图你会发现规律 行数 的个数 1 1 2 2 3 3 4 4 5 5 n n 根据以上规律写出以下代码 include
  • 查缺补漏:集和与非平凡属性

    查缺补漏 集和与非平凡属性 前面的习题和知识点补充 Conjunctive normal form CNF 是布尔逻辑的一种方法 它将公式表示为带有AND或or的子句的连词 由连词or AND连接的每个子句必须是文字或包含析取or运算符 子
  • selenium-XPATH定位

    XPATH定位 相对路径 相对定位是两个杠表示 相对路径易维护 例 div 1 div 2 绝对路径 绝对定位用一个杠 绝对路径一个层级变化所有空间都有变化 例 html body div 1 section section main di
  • 简易RPC框架-SPI

    案例 我们所熟悉的jbdc是一种用于执行SQL语句的Java API 可以为多种关系数据库提供统一访问 提供了一种基准 据此可以构建更高级的工具和接口 如上图所示 任意的一个数据库厂商只要去实现jdbc的接口 就可以轻松的对接jbdc从而为
  • csharp: read excel using Aspose.Cells

  • grunt html引入,javascript – 使用grunt自动将本地* .js和* .css文件引用到index.html中

    我打算开发一个angularJS客户端 我将使用角度组件 这将导致多个 js css文件 为了避免手动引用每个新添加的js css文件 我打算使用grunt include source任务 问题是 在配置Gruntfile js后 gru
  • postgresql:自动生成uuid列

    postgresql 有一个uuid数据类型 选择这个类型就可以在每条记录新增时自动生成uuid值 但pgsql默认没有安装uuid自动生成功能 需要手动执行命令启用该功能 方法如下 1 执行sql语句 create extension u
  • 【开发工具】SVN断网续传、续下解决办法

    支持原创 欢迎关注原文地址 http www china10s com blog p 406 当你处在弱网环境下 经常断网 断线 这时候下载SVN代码是个难题 网上搜到的答案也是众说纷纭 那么我就说一下我的解决办法吧 在你确认断网导致SVN
  • 华为OD机试真题- 分割数组的最大差值-2023年OD统一考试(B卷)

    题目描述 给定一个由若干整数组成的数组nums 可以在数组内的任意位置进行分割 将该数组分割成两个非空子数组 即左数组和右数组 分别对子数组求和得到两个值 计算这两个值的差值 请输出所有分割方案中 差值最大的值 输入描述 第一行输入数组中元
  • PAD2Reg和Reg2PAD的时序分析

    PAD2Reg 1 Input delay约束从SOC PAD输入到第一级FF的data path 2 Input delay约束中的 clock指的是launch clock 它一般存在于Device中 对SOC来说是个虚拟时钟 如果发射
  • 从生产到测试,多张表但有相同的业务主键-存储过程的使用

    PL SQL Developer Test script 3 0 32 Created on 2019 4 12 by ADMINISTRATOR declare Local variables here sqh0 varchar2 20
  • CMS V5.7 SP2漏洞复现(CVE-2018-20129)

    0x00 前置 1 CVE中对该漏洞的描述 在 DedeCMS V5 7 SP2 中发现了一个问题 uploads include dialog select images post php 允许远程攻击者通过双扩展名和修改的 php 子字
  • Nodejs学习之Path模块

    一 介绍 Node js path模块提供了一些用于处理文件路径的方法 引入Path模块 var path require path 二 函数介绍 2 1 path normalize 格式化路径 console log normaliza
  • 常见数据结构

    一 数据结构 1 线性 数组 按顺序存储在内存中 每一个节点都有下标 查询快 数组一般用来存储相同类型的数据 可通过数组名和下标进行数据的访问和更新 数组中元素的存储是按照先后顺序进行的 同时在内存中也是按照这个顺序进行连续存放 数组相邻元
  • rtabmap安装与使用

    参考 ubuntu18 04安装Rtabmap 具体详细步骤 教你手把手运行基于ZED的rtab map ZED入门 利用RTAB MAP做SLAM ubuntu16 04 ROS Kinetic rtabmap 源码 非ros版本 安装运