视觉SLAM十四讲第二版实践操作遇到的问题

视觉SLAM十四讲第二版实践操作问题汇总(更新中…)

Ubuntu系统版本为 18.04,IDE为CLion2019.3

  • 第3讲
    问题:
    plotTrajectory.cpp文件中报错“cannot find trajectory file at ./examples/trajectory.txt”。因为CLion默认会在工程目录下创建cmake-build-debug文件夹用来存放中间文件。
    解决:
    string trajectory_file = "./examples/trajectory.txt"修改为string trajectory_file = "../trajectory.txt"

  • 第4讲
    1.模板类Sophus库
    问题:
    useSophus.cpp文件中,#include "sophus/se3.hpp"出现红色下划波浪线提示:“sophus/se3.hpp: 没有那个文件或目录”,也即是说find_package命令并没有找到该库文件,在/usr/local/include下也没有找到sophus文件夹。
    解决:
    编译后安装Sophus库解决该问题。

cd Sophus
mkdir build 
cd build
cmake ..
make
sudo make install

2.文件路径
问题:
./example/groundtruth.txt not found.
./example/estimated.txt not found.
解决:
trajectoryError.cpp文件中修改string groundtruth_file = "./example/groundtruth.txt"string groundtruth_file = "../../example/groundtruth.txt"
修改string estimated_file = "./example/estimated.txt"string estimated_file = "../../example/estimated.txt"

  • 第5讲
    本人安装的是opencv-3.4.3,提取码:1r0z
    1.源码编译
    问题:
    源码编译opencv卡在IPPICV: Download: ippicv_2017u3_lnx_intel64_general_20180518.tgz
    解决:
    手动下载ippicv_2017u3_lnx_intel64_general_20180518.tgz,提取码:i3so
    修改opencv里相关配置文件,打开终端,输入
gedit /home/chenlin/opencv-3.4.3/3rdparty/ippicv/ippicv.cmake #记得chenlin换成自己的用户名

将47行的

"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"

改为手动下载的ippicv_2017u3_lnx_intel64_general_20180518.tgz文件的本地路径:

"file:///home/chenlin/opencv-3.4.3/3rdparty/ippicv/" (根据自己的实际路径填写)

2.问题:
报错:Failed to load module “canberra-gtk-module”
解决:
解决措施(1)
安装“canberra-gtk-module”

sudo apt-get install libcanberra-gtk-module

安装之后执行程序则不再出现。
解决措施(2)
想通过建立软连接的方式解决,结果又报错:opencv GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
故采用如下方法:
重新安装opencv3.4.3,先卸载opencv3.4.3。
安装依赖项修改为:
sudo apt-get install build-essential libgtk3.0-dev libvtk6-dev libjpeg-dev libtiff5-dev libopenexr-dev libtbb-dev
加粗的为与书中不一样的地方,卸载旧版本的依赖项。然后安装opencv3.4.3:

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install
  • 第7讲
    1.问题
    orb_self.cpp中402行代码:cv::DMatch m{i1, 0, 256};报错:warning: narrowing conversion of ‘i1’ from ‘size_t {aka long unsigned int}’ to ‘int’ inside { } [-Wnarrowing]
    解决:
    size_t和int的区别:size_t是一些C/C++标准在stddef.h中定义的,其的真实类型与操作系统有关。(在32位架构中被普遍定义为:typedef unsigned int size_t;在64位架构中被定义为:typedef unsigned long size_t;)。即 size_t在32位架构上是4字节,在64位架构上是8字节;而int在不同架构下都是4字节。进行强制类型转换,将变量i1强制转换为int型。
    2.问题
    pose_estimation_3d3d: /usr/include/eigen3/Eigen/src/Core/MapBase.h:191: void Eigen::MapBase<Derived, 0>::checkSanity(typename Eigen::internal::enable_if<(Eigen::internal::traits::Alignment > 0), void*>::type) const [with T = Eigen::Map<Eigen::Matrix<double, 3, 6, 0, 3, 6>, 32, Eigen::Stride<0, 0> >; Derived = Eigen::Map<Eigen::Matrix<double, 3, 6, 0, 3, 6>, 32, Eigen::Stride<0, 0> >; typename Eigen::internal::enable_if<(Eigen::internal::traits::Alignment > 0), void*>::type = void*]: Assertion `( ((internal::UIntPtr(m_data) % internal::traits::Alignment) == 0) || (cols() * rows() * innerStride() * sizeof(Scalar)) < internal::traits::Alignment ) && “data is not aligned”’ failed.
    解决:
    在CLion下增加CMake的release模式(点击File->Settings->Build,Execution,Deployment->CMake,然后点击+号,增加一个模式,会自动生成Release版本),然后把debug改成release模式(点击右上角的下三角箭头,这是里面会有Debug和Release两个选项,就可以在 Release模式下运行了)。
  • 18
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
### 回答1: 《视觉SLAM十四第二版PDF是一本关于视觉定位与地图构建技术的经典教材,由国内知名专家学者合作撰写而成。本书系统地介绍了基于视觉传感器的SLAM技术的各个方面,包括相机模型、图像特征提取、初始姿态估计、运动估计、地图构建、回环检测等。同时,本书还特别关注了SLAM方法的实际应用,解了多个真实场景下的SLAM应用案例,并介绍了如何使用OpenCV、G2O等开源工具实现SLAM算法。此外,本书还对SLAM技术的最新进展进行了介绍,如基于深度学习的特征提取与描述、多目标视觉SLAM、无人机视觉SLAM等。本书所涉及的内容深入浅出,既适合初学者入门,也适合高级研究人员深入了解SLAM技术的最新进展。该书是目前国内最权威、最全面的视觉SLAM入门教材之一,值得广大从事机器人、计算机视觉、机器人自主导航、无人机等相关领域的科研人员、工程师和学生学习使用。 ### 回答2: 《视觉SLAM十四第二版PDF》是一本关于算法技术的经典教材,主要介绍了SLAM技术的应用和原理。本教材全面详细地介绍了视觉SLAM的相关知识,从基础的数学知识开始,述了传感器、滤波、3D点云和视觉测量等原理,帮助读者逐步深入了解SLAM技术的实现过程。 此外,《视觉SLAM十四第二版PDF》还详细介绍了几种常用的视觉SLAM算法,包括基于特征匹配的视觉SLAM算法VFH、基于直接法的RGB-D SLAM算法和基于半稠密法的DSO算法。对于学习SLAM的人来说,这些算法的深入掌握能够让他们更好地理解SLAM的各种应用场景和内部原理。 此外,本教材还包括各种真实案例以及实验代码,帮助读者更好地了解SLAM技术的应用和实现方法。总体而言,对于想要深入了解SLAM技术和拓展相关应用的读者来说,《视觉SLAM十四第二版PDF》是一本经典的参考教材,具有极高的价值和实用性。 ### 回答3: 《视觉slam十四 第二版 pdf》是一本涉及到计算机视觉和机器人技术的重要书籍。这本书主要介绍了基于视觉技术的跟踪和定位算法SLAMSLAM是一种用来对无人机、自动驾驶汽车和机器人等进行实时建图、路径规划和导航的技术。 本书包括十四个主题,内容涉及相机模型、卡尔曼滤波器、非线性优化、回环检测等各个方面。这本书适合于计算机视觉和机器人领域的专业人员和学生,以及对这些领域感兴趣的人。 此外,本书不仅仅是介绍了SLAM算法,还对视觉slam的一些经典算法进行了详细的解,同时也包括最新的研究成果,以及许多高质量的实验结果和实际应用案例。 通过阅读这本书,读者将能够全面了解视觉slam技术的基础和应用,对理解和掌握slam算法具有很大的帮助和作用。除此之外,本书也是一个很好的参考工具,尤其适合从事相关技术研究和开发的人员。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木兄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值