Slam: rpg_dvs_evo_open的配置问题及解决

2023-05-16

之前处理了github上关于evo的一个demo配置,开一个新贴讲一下里面可能遇到的一些问题。
github源代码地址:
https://github.com/uzh-rpg/rpg_dvs_evo_open
环境:
Ubuntu18.04LTS+ROS Melodic

问题1

跟随getting started部分的指导一路做下来,建立新工作空间的一步因为我之前已经做过别的ROS实验,所以没太在意,导致catkin build时不通过。当时想了好久没明白怎么回事。
因为我们大部分实验都用的catkin_make,如果采用同样的空间编译build,不论其他步骤再正确也无法编译,结果全部不成功。
所以如果需要做这个实验,一定要开一个新的catkin_ws,或者说这个是自己第一个做的实验且还没有make过,才可以做其他的步骤,这点很容易被忽略

问题2

在这里插入图片描述
做到这一步的时候可能会发现,即使写了对应版本的命令,结果仍然是No such file or directory。

  • 1.需要先cd到/catkin_ws/src中
  • 2.我是通过.zip文件解压得到的文件夹,文件名为rpg_dvs_evo_open_master,不知道git clone的情况是如何。需要先把后面的master删掉,重新执行该命令即可
    (这里真的走了很大的弯路,原本以为无法执行后直接跳过到后面的build各种报错)

问题3

查看上一个命令执行的结果,可以发现中间有一行代码是无法定位的:
在这里插入图片描述
这里的libcaer-dev包是定位不到的,而且在网上查找之后也无法找到。后面看了一位博主的评论区(抱歉忘了是哪一个链接),说到这个包是作者uzh自己弄出的库,算是一个整合,实际操作时无法定位到。所以需要手动下载:

sudo apt-get install libcaer-dev

这里如果没发现而直接进行了下一步build,到13个包时会出现失败的现象:
在这里插入图片描述

问题4

这个问题未必会出现,取决于计算机的性能。在catkin build步骤内,opengv make过程中我出现了内存不足的现象,具体为:
在这里插入图片描述
如果你也有同样问题,可以参考如下解决方法建立临时的交换空间:

sudo dd if=/dev/zero of=/swapfile bs=64M count=16
#count的大小就是增加的swap空间的大小,64M是块大小,所以空间大小是bs*count=1024MB
sudo mkswap /swapfile
#把刚才空间格式化成swap格式
sudo swapon /swapfile
#使用刚才创建的swap空间

工作完成后可以去掉这部分:

swapoff -a
#详细的用法可以:swapoff --help
#查看当前内存使用情况:free -m

按照网上部分说法是必须去除,否则会引起不必要的一些问题。不过我没有这样尝试过,不多描述。

问题5

经过这个环节后陆续还会有一些小问题(直接看error即可,也可能你在build时并不会出现这些),包括:

  • tf convension
  • pcl_ros
  • fatal error: fftw3.h: No such file or directory
  • fatal error: sophus/se3.hpp: No such file or directory

对应的解决方法(一一对应):

sudo apt-get install ros-melodic-tf*
sudo apt-get install ros-melodic-pcl*
sudo apt-get install libfftw3-dev
sudo apt-get install ros-melodic-sophus

最后看到如下即成功,记得再source一下:
在这里插入图片描述

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

Slam: rpg_dvs_evo_open的配置问题及解决 的相关文章

  • No rule to make target

    No rule to make target 引言 解决方法 引言 报错 No rule to make target Thirdparty g2o lib libg2o so needed by lib libygz SLAM so 停止
  • ORB_SLAM3复现——上篇

    ORB SLAM3 前言 1 ORB SLAM3 2 准备环境 2 1 C 11 Compiler 2 2 Pangolin 2 3 Opencv 2 4 Eigen 3 复现ORB SLAM3 3 1 下载代码 3 2 执行build s
  • 对最小二乘法的一点理解 - slam学习笔记

    我对最小二乘法的理解 在给定参数个数和函数模型之后 根据测试数据 找出与所有测试数据的偏差的平方和最小的参数 这里面应该有两个问题 1 为什么选取与真实数据平方和最小的拟合函数 2 如何求参数 为什么选取与真实数据平方和最小的拟合函数 极大
  • LeGO-LOAM论文翻译(内容精简)

    LeGO LOAM是一种在LOAM之上进行改进的激光雷达建图方法 建图效果比LOAM要好 但是建图较为稀疏 计算量也更小了 本文原地址 wykxwyc的博客 github注释后LeGO LOAM源码 LeGO LOAM NOTED 关于代码
  • [SLAM四元数基础系列一] 四元数定义 Hamilton vs JPL

    四元数定义 Hamilton vs JPL 简介 四种区分方式 Hamilton vs JPL 引用 不管是卡尔曼滤波或者BA优化形式的SLAM或者VIO系统中 都需要用到单位四元数 Quaternion 来表示旋转 主要是单位四元数表示旋
  • vscode配置eigen3

    目录 1 头文件包含 2 c cpp properties json 3 CMakeList txt 4 完整代码 1 头文件包含 Eigen 核心部分 include
  • Sophus安装踩坑

    装SLAM十四讲第二版提供的Sophus Eigen版本3 4 0 报错 home ch 下载 Sophus 13fb3288311485dc94e3226b69c9b59cd06ff94e test core test so2 cpp 9
  • IMU预积分的一些理解

    IMU预积分 算是比较简单的一个算法 无奈网上找到的资料都讲的晦涩难懂 看明白了也觉得不过如此 讲一下我的理解 整体流程 1 推导IMU离散运动方程 2 根据离散运动方程 进行预积分 并将预积分的误差项拆分出来 因为我们在定义误差的时候 有
  • Eigen::aligned_allocator

    如果STL容器中的元素是Eigen库数据结构 例如这里定义一个vector容器 元素是Matrix4d 如下所示 vector
  • lego-LOAM跑自己的数据包无法显示全局点云地图解决(速腾聚创RS-LiDAR-16 雷达 )---SLAM不学无术小问题

    LeGo LOAM跑自己的数据包无法显示全局地图问题 注意 本文笔者使用环境 Ubuntu18 04 ROS melodic 版本 背景 3D SLAM新手 在看到了各种狂拽炫酷的3D点云图的之后决定亲自上手一试 首先当然的是最为经典的LO
  • Ubuntu20.04安装各种库----简洁版

    目录 Eigen3 Sophus Pangolin Ceres g2o 建议先装anaconda再装ros python opencv啥该有的都有了 下面仅仅安装ros没有的库 Eigen3 作用 线性代数开源库 提供了有关线性代数 矩阵和
  • open函数返回值为0

    open函数是我们开发中经常会遇到的 这个函数是对文件设备的打开操作 这个函数会返回一个句柄fd 我们通过这个句柄fd对设备文件读写操作 我们在对这个fd作判断的时候 经常会用到 fd open filename O RDONLY If f
  • GMAPPING的参数设置

    二 运行gmapping 我总结了运行gmapping的两种方法 1 基于命令行 rosrun gmapping slam gmapping scan scan delta 0 1 maxUrange 4 99 xmin 5 0 ymin
  • Ceres Solver从零开始手把手教学使用

    目录 一 简介 二 安装 三 介绍 四 Hello Word 五 导数 1 数值导数 2解析求导 六 实践 Powell函数 一 简介 笔者已经半年没有更新新的内容了 最近学习视觉SLAM的过程中发现自己之前学习的库基础不够扎实 Ceres
  • 舒尔补-边际概率-条件概率

    margin求边际概率的时候喜欢通过舒尔补的形式去操作信息矩阵 如p b c 求积分p a b c da 从上图可知 边缘概率直接看协方差矩阵比较方便 边际概率的方差就是取对应联合分布中相应的协方差块 信息矩阵是由舒尔补的形式计算 此形式也
  • LOAM算法详解

    激光SLAM 帧间匹配方法 Point to Plane ICP NDT Feature based Method 回环检测方法 Scan to Scan Scan to Map LOAM创新点 定位和建图的分离 里程计模块 高频低质量的帧
  • SLAM练习题(十一)—— G2O实战

    SLAM 学习笔记 写在前面的话 算是一点小小的感悟吧 估计位姿的方法有线性方法和非线性方法 线性方法就是特征点法中的2D 2D的对极约束 3D 2D的PnP问题 非线性方法有BA优化 它将位姿的估计问题转换成了一个误差关于优化量的最小二乘
  • LIO-SAM运行自己数据包遇到的问题解决--SLAM不学无数术小问题

    LIO SAM 成功适配自己数据集 注意本文测试环境 Ubuntu18 04 ROS melodic版本 笔者用到的硬件以简单参数 激光雷达 速腾聚创16线激光雷达 RS Lidar 16 IMU 超核电子CH110型 9轴惯导 使用频率1
  • Python-with open() as f的用法

    常见的读写操作 with open r filename txt as f data user pd read csv f 文件的读操作 with open data txt w as f f write hello world 文件的写操
  • 3.Open3D教程——点云数据操作

    点云数据 本教程阐述了基本的点云用法 随需要的文件链接 1 显示点云 import open3d as o3d import numpy as np print Load a ply point cloud print it and ren

随机推荐