Nvidia TX2 使用Intelrealsense L515 并安装 RTABmap建图包编译成功

2023-05-16

前置:rtabslam需要opencv3.2.0,而tx2 ros melodic 自带4.1.1,所以请按照上篇文章完成配置

Nvidia TX2 安装 opencv3.2.0 及在ros melodic下配置opencv3.2.0_prophet_xh的博客-CSDN博客

开始安装

1.安装二进制文件

sudo apt install ros-melodic-rtabmap-ros

2.从源码安装 

source /opt/ros/melodic/setup.bash
source ~/catkin_ws/melodic/setup.bash

首先是一些必要的依赖

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

可选的依赖g2o,GTSAM,libpointmatcher...酌情安装,安装前先用sd卡扩充下tx2内存,不然很容易tx2内存满了,导致系统崩溃。

安装 RTAB-Map 独立库。不要在 Catkin 工作区中克隆

cd ~
git clone https://github.com/introlab/rtabmap.git rtabmap
cd rtabmap/build
cmake ..
make -j4
sudo make install

一般依赖都有的话不会报错,都能顺利编译完毕。

3. 将 RTAB-Map ros-pkg 安装在 Catkin 工作区的 src 文件夹中。

第三步的坑是非常多的,前前后后花了很多时间解决

首先是文章开头提到的opencv问题,如果没有配置

会出现 “只找到opencv4.1.1” 这样类型的报错

我们开始安装,这里默认你的工作空间叫 catkin_ws

cd ~/catkin_ws
 git clone https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros

catkin_make前建议以下操作

(1).先更改下 CMakeLists.txt的一些内容,以免一些找不到opencv的报错

打开rtabmap_ros的CMakeLists.txt文件

find_package(OpenCV REQUIRED QUIET COMPONENTS core calib3d imgproc highgui stitching optflow #photo video OPTIONAL_COMPONENTS aruco xfeatures2d nonfree gpu cudafeatures2d)

改成

set(OpenCV_DIR /usr/local/opencv320/share/OpenCV)
find_package(OpenCV REQUIRED)

添加

${OpenCV_INCLUDE_DIRS}

 具体如图

 

(2)安装一些包,该步骤个人觉得比较玄学

在catkin_make时刚开始不能编译,机缘巧合下安装了这些包就能继续编译下去了

所以这步,大家还是根据具体情况,酌情采纳

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

 Pangolin安装

sudo apt-get install libglew-dev
sudo apt-get install cmake
sudo apt-get install libpython2.7-dev
sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev
sudo apt-get install libdc1394-22-dev libraw1394-dev
sudo apt-get install libjpeg-dev libtiff5-dev libopenexr-dev

git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
make -j4
sudo make install

 完成上述步骤后

catkin_make -j4

 开始报错

报错

 [ 75%] Building CXX object rtabmap_ros/CMakeFiles/rtabmap_ros.dir/src/OdometryROS.cpp.o
rtabmap_ros/CMakeFiles/rtabmap_ros.dir/build.make:62: recipe for target 'rtabmap_ros/CMakeFiles/rtabmap_ros.dir/src/MsgConversion.cpp.o' failed
make[2]: *** [rtabmap_ros/CMakeFiles/rtabmap_ros.dir/src/MsgConversion.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Scanning dependencies of target rtabmap_camera
[ 75%] Building CXX object rtabmap_ros/CMakeFiles/rtabmap_camera.dir/src/CameraNode.cpp.o
In file included from /usr/include/pcl-1.8/pcl/search/kdtree.h:44:0,
                 from /home/prophet/catkin_ws/src/rtabmap_ros/src/MapsManager.cpp:42:
/usr/include/pcl-1.8/pcl/kdtree/kdtree_flann.h:230:29: error: field ‘param_k_’ has incomplete type ‘flann::SearchParams’
       ::flann::SearchParams param_k_;
                             ^~~~~~~~
In file included from /usr/include/pcl-1.8/pcl/search/kdtree.h:44:0,
                 from /home/prophet/catkin_ws/src/rtabmap_ros/src/MapsManager.cpp:42:
/usr/include/pcl-1.8/pcl/kdtree/kdtree_flann.h:52:10: note: forward declaration of ‘struct flann::SearchParams’
   struct SearchParams;
          ^~~~~~~~~~~~
In file included from /usr/include/pcl-1.8/pcl/search/kdtree.h:44:0,
                 from /home/prophet/catkin_ws/src/rtabmap_ros/src/MapsManager.cpp:42:
/usr/include/pcl-1.8/pcl/kdtree/kdtree_flann.h:233:29: error: field ‘param_radius_’ has incomplete type ‘flann::SearchParams’
       ::flann::SearchParams param_radius_;
                             ^~~~~~~~~~~~~
In file included from /usr/include/pcl-1.8/pcl/search/kdtree.h:44:0,
                 from /home/prophet/catkin_ws/src/rtabmap_ros/src/MapsManager.cpp:42:
/usr/include/pcl-1.8/pcl/kdtree/kdtree_flann.h:52:10: note: forward declaration of ‘struct flann::SearchParams’
   struct SearchParams;
          ^~~~~~~~~~~~
rtabmap_ros/CMakeFiles/rtabmap_ros.dir/build.make:86: recipe for target 'rtabmap_ros/CMakeFiles/rtabmap_ros.dir/src/MapsManager.cpp.o' failed
make[2]: *** [rtabmap_ros/CMakeFiles/rtabmap_ros.dir/src/MapsManager.cpp.o] Error 1

 

原因: pcl与opencv冲突

解决方案

sudo gedit /usr/include/pcl-1.8/pcl/kdtree/kdtree_flann.h

::flann::SearchParams param_k_;

改成 

::flann::SearchParams *param_k_;

把 

::flann::SearchParams param_radius_;

改成 

::flann::SearchParams *param_radius_;

保存退出

catkin_make -j4

继续,编译完成

 rtab的ros包到此已经编译完毕!

下篇将开始使用rtab进行slam 

 

 

 

 

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

Nvidia TX2 使用Intelrealsense L515 并安装 RTABmap建图包编译成功 的相关文章

  • OpenRAVE

    机器人的高级功能 机械手臂控制 软件方面 在ros里 有moveit 研究的过程中 扩展到了openrave专业包 Welcome to OpenRAVE Latest Official Release 0 8 2 OpenRAVE pro
  • C++——STL初识

    一 为什么需要STL xff1f 目的 xff1a 为了建立一套重复利用的东西 使用STL可以避免从事大量重复的工作 为建立数据结构的一套标准 xff0c 诞生了STL 二 基本概念 STL是标准模板库 STL从广义上分为 xff1a 容器
  • Showing progress bar in a status bar pane

    This article was contributed by Brad Mann This code creates a progress bar anywhere in the status window and the control
  • 大小端字节序转换

    特点 各主机的字节序可能不同 xff0c 网络协议指定的通讯字节序为大端 只有在多字节数据处理时才需要考虑字节序 运行在同一台计算机的进程互相通信时 xff0c 不需要考虑字节序 二 字节序转换函数 头文件 xff1a include lt
  • 51单片机控制0.96寸OLED(IIC接口)

    1 OLED初步认识 OLED Organic Light Emitting Diode xff0c 即有机发光二极管 OLED由于同时具备自发光 xff0c 不需背光源 xff0c 对比度高 xff0c 厚度薄 xff0c 视角广 xff
  • 51单片机控制LCD1602模块

    51单片机控制LCD1602模块 视频播放 xff1a LCD1602视频 xff08 1 xff09 LCD1602概述 先来看看LCD1602什么意思 xff1f Liquid Crystal Display LCD 表示液晶显示 xf
  • LCD1602模块如何显示自定义字符

    相信大家现在知道了如何通过查字库表的方法来显示表中的任意一个字符 假如现在我想显示某个温度值 xff0c 需要标志出温度符号 C xff0c 现在你去字库表里面查找 xff0c 发现根本找不到这个符号 xff0c 那怎么办 xff1f 下面
  • 51单片机控制温度传感器DS18B20

    xff08 1 xff09 DS18B20初步认识 DS18B20是美国DALLAS半导体公司推出的一种数字化单总线器件 xff0c 属于新一代适配微处理器的改进型智能温度传感器 我们先来看看DS18B20在芯片手册上的标题 DS18B20
  • ESP8266模块手机端和电脑端网络调试助手

    ESP8266模块手机端和电脑端网络调试助手 使用方法比较简单 xff0c 如下界面所示 xff1a 电脑端 xff1a 确定 协议类型 xff0c 34 IP地址 34 和 34 端口 34 xff0c 然后点击连接即可 xff0c 如下
  • Micro Python 入门教程-pyboard V1.1控制LCD1602液晶显示模块

    11 LCD1602液晶显示模块 11 1 初识LCD1602液晶模块 LCD1602什么意思 xff0c LCD表示Liquid Crystal Display xff0c 1602表示一行可以显示16个字符 xff0c 一共有两行 实物
  • 常见无人机自组网路由协议

    常见无人机自组网路由协议 无人机自组网路由协议静态路由协议先验式路由协议反应式路由协议 无人机自组网路由协议 为了适应无人机组网节点高速移动带来的网络拓扑结构快速变化 xff0c 无人机自组网使用的路由协议主要有以下几种 静态路由协议 这种
  • 尚硅谷大数据项目之Flink实时数仓-踩坑记录和笔记记录

    这里写自定义目录标题 1 关于Slf4j注解配置文件logback xml不生效问题2 判断新老用户的时候 xff0c 什么时候会出问题 xff1a 3 为什么维度数据选择存储在Hbase中 xff0c 而不是Redis xff0c Mys
  • 【学习笔记】尚硅谷大数据项目之Flink实时数仓---数据可视化接口实现

    这里写自定义目录标题 第 1 章 数据可视化接口1 1 设计思路1 2 需求梳理1 2 1 最终显示效果图1 2 2 分析可视化大屏1 2 3 接口执行过程 第 2 章 Sugar 数据大屏2 1 产品介绍2 2 使用入口2 3 创建数据大
  • VR发展前景展望

    VR发展前景展望 引子 随着计算机技术的飞速发展 xff0c 虚拟现实也在短时间内经历了萌芽探索到飞速发展完善的转变 由于其独特的沉浸式体验 xff0c VR的前景被大多数人看好 xff0c 更多的VR相关技术也在为让人能更完美的融合到这个
  • Ubuntu18.04下C++分文件编写报错:对‘Class::Func()’未定义的引用解决办法

    源代码结构 如图所示 xff0c 编写一个员工管理系统 xff0c 在WorkerManager h中声明类和函数 xff0c 在WorkerManager cpp中写具体实现在staffManagementSystem cpp中实例化类
  • 人工智能是什么?

    人工智能是什么 xff1f 欢迎大家迈入人工智能的大门1 人工智能的定义2 人工智能的话题3 人工智能的四大技术分支4 人工智能的主要应用领域5 人工智能的三种形态5 1 弱人工智能到强人工智能有多难 xff1f 5 2 弱人工智能的前进方
  • 浏览器-基本认证(Basic Authentication)-摘要认证(digest authentication)=spring boot实现demo

    平时开发的 java web 网站登录 xff0c 都是通过表单提交登录信息 有时一些中间件登录是浏览器弹窗 xff0c 没有看到表单实现代码 故通过查询 xff0c 发现两种 HTTP 简单认证 xff1a 基本认证 Basic Auth
  • PX4 gazebo仿真 2023.4.13更新

    前言 想实现px4仿真 xff0c 考虑使用gazebo仿真 去PX4官网看一眼先 xff0c 官网提到后面如果要用ROS xff0c 直接配置ROS就好了 xff0c 不然会不兼容 xff0c 那么就按官网步骤走 官网步骤 结果第一步就失
  • PX4 & gazebo仿真 offboard模式无法起飞解决思路

    前言 我用最新版PX4固件 xff0c offboard模式飞机无法起飞 xff0c 网上有一种说法是固件版本的问题 xff0c 让用旧一点的版本 添加链接描述 这个链接描述的情况和我的一模一样 xff0c 所以我肯定是按这个方法尝试的 旧
  • 数字图传VS模拟图传 图传技术知识 2023.3.6更新

    引言 在研究无人机小半年了 xff0c 多次听到数字图传和模拟图传字眼 xff0c 一直都是一知半解 xff0c 这次整体了解一下并加以 整理 数字图传 数字图传 xff1a 指数字化的图像信号经信源编码和信道编码 xff0c 通过数字信道

随机推荐

  • 069-线性系统的可控性和可观测性

    对一个线性系统 xff0c 需要判定其可控性或者可观测性 xff0c 才能对其进行求解 或者说的狭义一点 xff0c 在一个卡尔曼滤波模型中 xff0c 只有判定了其可控性 xff0c 才能知晓状态向量X中多少个状态是可观测的 比如X中原有
  • 滴水石穿

    不积跬步 xff0c 无以至千里 xff1b 不积小流 xff0c 无以成江海 1 hashcode相等两个类一定相等吗 equals呢 相反呢 hashcode相等 xff0c 两个类不一定相等 xff1b equals相等 xff0c
  • C++编程——友元

    文章目录 1 友元的概念2 友元的三种实现2 1 全局函数做友元2 2 类做友元2 3 成员函数做友元 1 友元的概念 友元目的是让一个函数或者类访问另一个类中的私有成员 有一个非常生动的例子 xff0c 就是家中会有客厅和卧室 xff0c
  • C++编程——多态

    文章目录 1 多态的基本概念1 1 函数地址早绑定1 2 地址晚绑定 2 多态的原理3 多态的优点与案例3 1 多态的优点3 2 计算器实现案例 4 纯虚函数与抽象类5 虚析构与纯虚析构5 1 虚析构实现5 2 纯虚析构实现 多态的知识结构
  • 自动驾驶常用数据集KITTI使用指南之一——图像雷达数据融合

    对于自动驾驶环境感知算法的初学者而言 xff0c 一辆搭载各类传感器的自动驾驶汽车或者数据采集平台并没有那么重要 xff0c 甚至 xff0c 由于国外早期自动驾驶研究学者的严谨态度 xff0c 一些公开的数据集比自己采集的数据集在同步性
  • 笔试题

    杭州公交云笔试题 输入一个字符串用逗号隔开 xff0c 找出其中最大的连续递增个数 例如 xff1a 1 xff0c 2 xff0c 3 xff0c 1 xff0c 1 xff0c 1 返回3 import java util public
  • C++STL迭代器

    迭代器 1 迭代器 xff1a 类中类 xff0c 通过运算符的重载 xff0c 用类中类的对象遍历容器 2 迭代器分类 xff1a xff08 1 xff09 正向迭代器 xff1a iterator xff08 begin end xf
  • Dockerfile详细解析(四)——环境变量

    环境变量 xff08 Environment replacement xff09 环境变量 xff08 使用 ENV 表达式声明 xff09 也可以被用在某些确定的指令中作为变量被Dockerfile解释出来 Escapes 也被处理为类似
  • STM32 FreeRTOS系列教程(一)FreeRTOS简介

    参考资料 xff1a 正点原子STM32F4 FreeRTOS开发手册 V1 1 野火FreeRTOS 内核实现与应用开发实战 基于STM32 学习RTOS的意义 当我们进入嵌入式这个领域的时候 xff0c 往往首先接触的都是单片机编程 x
  • 关于句柄表的一些文章

    文章链接 1 gt Windows内核情景分析 3 4 1 Windows 进程的句柄表 2 gt Windows 句柄表格式 3 gt Windows句柄表分配算法分析 4 gt 浅谈Windows句柄表 5 gt 句柄啊 3层表啊 Ex
  • 一天实现ros环境搭建和yolov3tiny算法系列(一)之WIN10+Ubuntu20.04的双系统实现

    这几天因为参加无人机比赛 xff0c 我负责算法部分 xff0c 被搭建环境折磨的头都要秃了 xff0c 写这个文章 xff0c 只是想让大家只要按照步骤 xff0c 能够在最短的时间内搭建起环境 xff0c 愿天下没有再被搭建ros 43
  • 容器的老祖宗LXC和Docker的关系

    一 什么是LXC xff1f LXC xff08 Linux Container的缩写 xff09 是一个基于Linux内核的容器虚拟化技术 xff0c 它提供了一种轻量级 快速 简便的方式来创建和管理系统容器 与传统虚拟化技术不同 xff
  • ROS系列教程一:工作空间及功能包创建

    前言 分享一下ROS开发的基础教程 xff0c 全部自己手敲 xff0c 希望能帮到正在学习的你 ROS在WIKI上也有教程 xff0c 个人觉得太过臃肿 xff0c 可以简化点 xff0c 毕竟大家都赶着投胎 xff0c 哈哈哈哈哈 一
  • ROS系列教程二:自定义消息类型话题的发布及订阅

    个人学习记录 本节将结合自定义消息类型 xff08 msg xff09 来介绍一下怎么发布话题消息及订阅话题消息 xff0c 可以让大家更深刻地理解 一 功能包创建 进入上节课创建的my workspace工作目录下的src文件夹 xff0
  • 使用PX4FLOW的pixhawk悬停模式疑难杂症(一)驱动安装以及固件烧写

    最近博主在准备2021电赛的无人机赛题 xff0c 原定于2021 8 4举办的电赛延期 xff0c 对我来说并不是坏消息 xff0c 因为博主从7 26才把零件和pixhawk板子拿到手 xff0c 延期举办给了博主更多时间捣鼓 博主通过
  • 从安装到连接,教你如何连上Mysql数据库

    目录 前言 如何下载Mysql服务 xff1f 需要使用的软件 xff1f 如何连接数据库 xff1f 前言 这篇文章创作目的是为了帮助大家正确的安装mysql数据库以及软件的 xff0c 我会分为两个部分为大家解答 如何下载Mysql服务
  • 使用PX4FLOW的pixhawk悬停模式疑难杂症(二)BAD OPTFLOW HEALTH

    xff08 接上篇 使用PX4FLOW的pixhawk悬停模式疑难杂症 xff08 一 xff09 驱动安装以及固件烧写 xff09 3 博主遇到的第三个问题是 BAD OPTFLOW HEALTH 这个问题也是我在调试过程中遇到的最难的问
  • 使用PX4FLOW的pixhawk悬停模式疑难杂症(三)供电问题

    xff08 接上篇 使用PX4FLOW的pixhawk悬停模式疑难杂症 xff08 二 xff09 BAD OPTFLOW HEALTH xff09 4 博主遇到的最后一个问题是供电问题 这个问题不见得所有人都有 xff0c 但是博主遇到了
  • Nvidia TX2 Ubuntu18.04 安装 IntelRealsense L515 realsense SDK 及 Realsense ROS (make各种问题解答,一篇到位版本)

    前提 xff1a 刷完tx2板子 及 安装完ros 可以参考我这两篇博客 Nvidia JetsonTx2 Ubuntu18 04 安装 ros melodic xff08 顺带快速解决sudo rosdep init问题 xff09 pr
  • Nvidia TX2 使用Intelrealsense L515 并安装 RTABmap建图包编译成功

    前置 xff1a rtabslam需要opencv3 2 0 xff0c 而tx2 ros melodic 自带4 1 1 所以请按照上篇文章完成配置 Nvidia TX2 安装 opencv3 2 0 及在ros melodic下配置op