ORB_SLAM2安装与编译报错的解决办法

2023-05-16

目录

1 安装教程(本教程参考网络课程资料)        

1.1 安装前准备 

1.2 安装Pangolin (建议源码安装)

1.3 安装OpenCV3.4 (建议源码安装 ) 

1.4 安装Eigen3.3.7 (建议源码安装)

1.5 安装运行ORB-SLAM2及常见问题解决办法

2 安装问题及解决办法

问题1

解决办法

问题2

解决办法(1)

解决办法 (2)

问题3

解决办法(参考文章)

问题4

解决办法(1)

解决办法(2) 

问题5

解决办法 (参考文章)


        本文是作者在安装ORB-SLAM2过程中遇到的问题汇总,安装过程中遇到非常多的问题,参考众多博客,由于参考文章较多,只给出部分链接,在此谢谢参考文章的博主。

1 安装教程(本教程参考网络课程资料)        

        在刚装好的 Ubuntu 系统上安装 ORB-SLAM2、Pangolin 、 OpenCV 、 Eigen 、 g2o 与 DBoW2 ( ORB-SLAM2 自带)

1.1 安装前准备 

        安装前的准备: 安装 vim 、 cmake 、 git 、 gcc 、 g++
        sudo apt-get install vim cmake
        sudo apt-get install git
        sudo apt-get install gcc g++

1.2 安装Pangolin (建议源码安装)

(1)安装依赖项
        sudo apt-get install libglew-dev
        sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
        sudo apt-get install libpython2.7-dev

(2)安装 Pangolin
        git clone https://github.com/stevenlovegrove/Pangolin.git
        cd Pangolin
        mkdir build
        cd build
        cmake -DCPP11_NO_BOOSR=1 ..
        make -j

1.3 安装OpenCV3.4 (建议源码安装 ) 

(1)安装依赖项
        sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev
        sudo apt-get install libtiff4.dev libswscale-dev libjasper-dev

(2)安装 OpenCV3.4
        进入下载的安装压缩包,解压到某文件夹,然后进去该文件夹建立build文件夹 编译文件夹
        cd opencv-3.4.5
        mkdir build
        cd build
        cmake ..
        make
        sudo make install

(3)配置环境变量
        sudo vim /etc/ld.so.conf.d/opencv.conf
        在打开的空白文件中添加 /usr/local/lib
        执行 sudo ldconfig ,使配置的环境变量生效

(4)配置 .bashrc ,末尾添加下面两行
        //打开.bashrc
        sudo vim /etc/bash.bashrc
        //添加以下两行内容到.bashrc
        PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
        export PKG_CONFIG_PATH

(5)source 与 update
        source /etc/bash.bashrc
        sudo updatedb

(6)测试是否正常安装 (成功会出现带 “hello opcv” 字样的窗口)
        cd opencv-3.4.5/samples/cpp/example_cmake
        cmake .
        make
        ./opencv_example

1.4 安装Eigen3.3.7 (建议源码安装)

(1)安装
        cd eigen-git-mirror
        mkdir build
        cd build
        cmake ..
        sudo make install

(2)#安装后 头文件安装在/usr/local/include/eigen3/

(3)#移动头文件
        sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include
        备注:在很多程序中 include 时经常使用 #include <Eigen/Dense> 而不是使用 #include <eigen3/Eigen/Dense> 所以要做下处理

1.5 安装运行ORB-SLAM2及常见问题解决办法

        安装 运行ORB_SLAM2 (如果在ROS下 推荐工程目录: orbslam_ws/src )
        git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
        cd ORB_SLAM2
        chmod +x build.sh
        ./build.sh

2 安装问题及解决办法

问题1

        安装Pangolin 依赖项 > sudo apt-get install libpython2.7-dev时出现暂时不能解析域名问题。

错误:1 http://security.ubuntu.com/ubuntu focal-updates/universe amd64 libpython2.7-minimal amd64 2.7.18-1~20.04.3
  暂时不能解析域名“cn.archive.ubuntu.com”
错误:2 http://security.ubuntu.com/ubuntu focal-updates/universe amd64 libpython2.7-stdlib amd64 2.7.18-1~20.04.3
  暂时不能解析域名“cn.archive.ubuntu.com”

解决办法

    访问不了网络。执行命令,重启网关服务:

sudo service network-manager stop //把network-manager停掉(//后的不要复制)
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start  //启动

问题2

     编译时出现了error: ‘usleep’ was not declared in this scope usleep(1000);
                                                                                                   ^~~~~~

/home/hazyparker/project/ORB_SLAM2/src/System.cc: In member function ‘cv::Mat ORB_SLAM2::System::TrackStereo(const cv::Mat&, const cv::Mat&, const double&)’:
/home/hazyparker/project/ORB_SLAM2/src/System.cc:134:17: error: ‘usleep’ was not declared in this scope
                 usleep(1000);
                 ^~~~~~
/home/hazyparker/project/ORB_SLAM2/src/System.cc:134:17: note: suggested alternative: ‘fseek’
                 usleep(1000);
                 ^~~~~~
                 fseek
/home/hazyparker/project/ORB_SLAM2/src/System.cc: In member function ‘cv::Mat ORB_SLAM2::System::TrackRGBD(const cv::Mat&, const cv::Mat&, const double&)’:
/home/hazyparker/project/ORB_SLAM2/src/System.cc:185:17: error: ‘usleep’ was not declared in this scope
                 usleep(1000);
                 ^~~~~~

解决办法(1)

        usleep问题:直接在include文件夹下 System.h 文件中加上#include <unistd.h>

        在LoopClosing.h中将

            typedef map<KeyFrame*,g2o::Sim3,std::less<KeyFrame*>,
                    Eigen::aligned_allocator<std::pair<const KeyFrame*, g2o::Sim3> > > KeyFrameAndPose;
        改为

            typedef map<KeyFrame*,g2o::Sim3,std::less<KeyFrame*>,
                    Eigen::aligned_allocator<std::pair<KeyFrame *const, g2o::Sim3> > > KeyFrameAndPose;

解决办法 (2)

        只需要在对应的System.cc或其他报错的文件路径中(如下)添加#include <unistd.h>

        ORB_SLAM2/src/LocalMapping.cc
        ORB_SLAM2/src/LoopClosing.cc
        ORB_SLAM2/src/System.cc
        ORB_SLAM2/src/Tracking.cc
        ORB_SLAM2/src/Viewer.cc
        ORB_SLAM2/Examples/Monocular/mono_euroc.cc
        ORB_SLAM2/Examples/Monocular/mono_kitti.cc
        ORB_SLAM2/Examples/Monocular/mono_tum.cc
        ORB_SLAM2/Examples/RGB-D/rgbd_tum.cc
        ORB_SLAM2/Examples/Stereo/stereo_euroc.cc
        ORB_SLAM2/Examples/Stereo/stereo_kitti.cc
 


问题3

        安装时可能出现 > error: class ‘sigslot::detail::slot_pmf_extended<Pmf, Ptr, Args>’ does not have any field named ‘ptr’ 由于版本不匹配的问题。

/usr/local/include/sigslot/signal.hpp:958:11: error: class ‘sigslot::detail::slot_pmf_extended<Pmf, Ptr, Args>’ does not have any field named ‘pmf’
  958 |         , pmf{std::forward<F>(f)}
      |           ^~~
/usr/local/include/sigslot/signal.hpp:959:11: error: class ‘sigslot::detail::slot_pmf_extended<Pmf, Ptr, Args>’ does not have any field named ‘ptr’
  959 |         , ptr{std::forward<P>(p)} {}
      |           ^~~
/usr/local/include/sigslot/signal.hpp:1376:10: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type; did you mean ‘enable_if’?
 1376 |     std::enable_if_t<(trait::is_callable_v<arg_list, Callable> ||
      |          ^~~~~~~~~~~
      |          enable_if
/usr/local/include/sigslot/signal.hpp:1399:10: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type; did you mean ‘enable_if’?
 1399 |     std::enable_if_t<!trait::is_callable_v<arg_list, Obj> &&
      |          ^~~~~~~~~~~
      |          enable_if
/usr/local/include/sigslot/signal.hpp: In member function ‘const std::type_info& sigslot::detail::slot_tracked<Func, WeakPtr, Args>::get_callable_type() const’:
/usr/local/include/sigslot/signal.hpp:1027:23: error: ‘func’ was not declared in this scope; did you mean ‘Func’?
 1027 |         return typeid(func);
      |                       ^~~~
      |                       Func

解决办法(参考文章)

        仔细研究std后发现,可能是编译过程中调用了某一些库,库里面使用的是c++14的标准语法,但ORB_SLAM2中只有c++11的语法许可,没有14的,这就造成了冲突。

(1)打开ORB_SLAM3/CMakeLists.txt
(2)添加c++14的使用许可 > add_compile_options(-std=c++14)


问题4

  but it set Pangolin_FOUND to FALSE so package "Pangolin" is considered to
  be NOT FOUND.  Reason given by package:

  Pangolin could not be found because dependency Eigen3 could not be found.

解决办法(1)

        可能由于Pangolin不对应造成,重新安装Pangolin,重新安装前先卸载。

(1)删除库和头文件

        cd Pangolin/build
        make clean
        sudo make uninstall

        执行之后就会开始卸载所有的.so文件和.h文件。

(2)删除源代码

        cd ../..
        sudo rm -r Pangolin

        执行之后删除源代码文件夹。

(3)删除残留文件夹

        更新下索引,搜索pangolin的位置

        sudo updatedb
        locate pangolin

        可以看到在/usr/local/include/pangolin目录还未删除,因为第一步是卸载了该目录下的所有.h文件。

        /usr/local/include/pangolin
        /usr/local/include/pangolin/compat
        /usr/local/include/pangolin/console
        /usr/local/include/pangolin/display
        /usr/local/include/pangolin/factory
        /usr/local/include/pangolin/geometry
        /usr/local/include/pangolin/gl
        /usr/local/include/pangolin/handler
        /usr/local/include/pangolin/image
        /usr/local/include/pangolin/log

        所以,我们将该目录删除即可。

        sudo rm -r /usr/local/include/pangolin

(4)检查卸载

        再次搜索pangolin的位置

        locate pangolin

        发现只有在Trash中才能找到,卸载成功!

        /home/dzh/.local/share/Trash/expunged/2600043745/build/include/pangolin
        /home/dzh/.local/share/Trash/expunged/2600043745/build/include/pangolin/factory
        /home/dzh/.local/share/Trash/expunged/2600043745/build/include/pangolin/factory/RegisterFactoriesVideoInterface.h
        /home/dzh/.local/share/Trash/expunged/2600043745/build/include/pangolin/factory/RegisterFactoriesVideoOutputInterface.h
        /home/dzh/.local/share/Trash/expunged/2600043745/build/include/pangolin/factory/RegisterFactoriesWindowInterface.h

(5)重新安装Pangolin库(上文)

解决办法(2) 

        在cmakelist .txt中将find_package(Eigen3 3.1.0 REQUIRED)更改为find_package(Eigen3 3.1.0 REQUIRED NO_MODULE)解决了这个问题。


问题5

/home/qinlong/Software/ORB_SLAM2/Examples/Monocular/mono_tum.cc:82:22: error: ‘std::chrono::monotonic_clock’ has not been declared
   82 |         std::chrono::monotonic_clock::time_point t1 = std::chrono::monotonic_clock::now();
      |                      ^~~~~~~~~~~~~~~
/home/qinlong/Software/ORB_SLAM2/Examples/Monocular/mono_tum.cc:91:22: error: ‘std::chrono::monotonic_clock’ has not been declared
   91 |         std::chrono::monotonic_clock::time_point t2 = std::chrono::monotonic_clock::now();
      |                      ^~~~~~~~~~~~~~~
/home/qinlong/Software/ORB_SLAM2/Examples/Monocular/mono_tum.cc:94:83: error: ‘t2’ was not declared in this scope; did you mean ‘tm’?
   94 |         double ttrack= std::chrono::duration_cast<std::chrono::duration<double> >(t2 - t1).count();
      |                                                                                   ^~
      |                                                                                   tm
/home/qinlong/Software/ORB_SLAM2/Examples/Monocular/mono_tum.cc:94:88: error: ‘t1’ was not declared in this scope; did you mean ‘y1’?
   94 |         double ttrack= std::chrono::duration_cast<std::chrono::duration<double> >(t2 - t1).count();
      |                                                                                        ^~
      |                                                                                        y1

解决办法 (参考文章)

        出现这个问题的原因是C++版本之间存在区别。在C++11版里已经没有momotonic_clock了,有steady_clock作为替代。所以orb-slam2的作者在代码中使用了ifdef来判断用户的C++版本。对应路径下的文件需处理的代码段如下。

#ifdef COMPILEDWITHC11
        std::chrono::steady_clock::time_point t1 = std::chrono::steady_clock::now();
#else
        std::chrono::monotonic_clock::time_point t1 = std::chrono::monotonic_clock::now();
#endif

        //Pass the image to the SLAM system
        SLAM.TrackMonocular(im,tframe);

#ifdef COMPILEDWITHC11
        std::chrono::steady_clock::time_point t2 = std::chrono::steady_clock::now();
#else
        std::chrono::monotonic_clock::time_point t2 = std::chrono::monotonic_clock::now();
#endif

        如果你这部分报错了,大概率你的C++是11版本,那么我们其实可以删掉这部分判断语句,只保留如下部分。

std::chrono::steady_clock::time_point t1 = std::chrono::steady_clock::now();

 //Pass the image to the SLAM system
 SLAM.TrackMonocular(im,tframe);

std::chrono::steady_clock::time_point t2 = std::chrono::steady_clock::now();

//......

        这部分就行,把monotonic_clock的代码删掉之后就能正常编译了!


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

ORB_SLAM2安装与编译报错的解决办法 的相关文章

  • 软件测试类型——集成测试

    已剪辑自 https blog csdn net vikeyyyy article details 80900540 简介 集成测试 xff08 Integration Testing xff09 xff0c 也叫组装测试或联合测试 在单元
  • 代理模型介绍大全

    已剪辑自 https zhuanlan zhihu com p 555814030 1 代理模型简介 一次看文献的时候 xff0c 看到一篇关于代理模型的文章 xff0c 讲解的十分细致 xff0c 深受启发 xff0c 醍醐灌顶 xff0
  • 一篇文章让你了解ISIGHT

    已剪辑自 https vsystemes com 35621 1 概述 经过了二十年的发展 xff0c 对于国内CAE仿真 xff0c 众多企业的目光已经不再只关注仿真本身 xff0c 更多的将目光放在了以下三个方面 xff1a 1 关注的
  • DDS(data distribution service,数据分发服务)简介

    已剪辑自 http www uml org cn modeler 20201010112 asp 编辑推荐 文章主要介绍了DDS高级数据中心接口取代了以消息为中心的编程和基本技术概念等相关内容 来自于dds foundation org 由
  • Oracle 删除表空间回收磁盘空间

    1 查询表空间和表空间数据库文件路径 span class token keyword SQL span span class token operator gt span span class token keyword select s
  • 在Ubuntu中使用雷电3外接显卡(eGPU)进行深度学习

    sud种种很凑巧的因素 xff0c 需要用这么一套设备做深度学习 笔记本是联想yoga s730 xff0c 两年前在某多多入手 xff0c 显卡坞是技嘉gaming box 43 GTX1070 xff0c 某鱼入手 折腾了一上午 xff
  • make和cmake命令

    我们在安装Ubuntu软件时 xff0c 有时我们会用到make和cmake命令 所以在这篇文章我们来讲解一下 xff0c make命令和cmake命令他们的作用 xff0c 以及什么关系和区别 首先假设你有一定的计算机基础 xff0c 能
  • 小觅双目相机自带参数配置ORBSLAM3双目参数文件

    ORBSLAM3相机需要的参数 打开 home knight ORB SLAM3 Examples Stereo EuRoC yaml 以这个开源数据集的参数为模板 1 Camera type PinHole 相机模型 小觅双目相机也是针孔
  • GVINS编译出现大量的error: ‘CV_CALIB_CB_ADAPTIVE_THRESH’ was not declared in this scope错误

    错误 xff1a home knight GVINS GI src GVINS main camera model src chessboard Chessboard cc 38 43 error CV CALIB CB NORMALIZE
  • 3.CMakeLists——完成脚本、说明文档、版权文件doc文件夹的指定位置安装

    1 实例 在CMakeLists txt目录下加入如下语句执行安装操作 xff1a INSTALL FILES COPYRIGHT README DESTINATION share doc cmake t2 INSTALL PROGRAMS
  • 1.vinsfusion-从数据流看程序

    本节介绍 xff0c 图像数据和惯导数据是如何传入程序中的 xff0c 以及之后的图像数据格式转化 和惯导数据的初步处理 图像数据流 1 订阅话题数据 xff1a 订阅左图 ros Subscriber sub img0 span clas
  • vlsam容易混洗的概念

    特征点 角点 关键点 xff1a 这些概念虽然在细节上有所不同 xff0c 但都可以统一称为特征点或者关键点 xff0c 也就是具有特征性质的点 外点 xff08 outlier point xff09 xff1a 简单的理解为不符合条件的
  • 5.vinsdusion globalOptNode.cpp

    IO输出的 nav msgs Odometry 类型消息 xff0c 这个定位信息包含了VIO的位置和姿态 xff0c 其坐标系原点位于VIO的第一帧处 GPS输出的sensor msgs NavSatFixConstPtr 类型消息 xf
  • ros节点启动和关闭相关

    1 ros运行单位 xff1a Ros程序运行的单位是ros node 2 ros 节点的启动 xff1a xff08 1 xff09 初始化ros节点 xff1a 通过调用ros init 接口实现 xff1b 可以通过参数指定默认节点名
  • VINSFUSION-运行,并评估。

    1 修改yaml文件 output path home tong output xff0c 改成自己的 xff0c 其他的看自己用的啥相机 xff0c 改话题名字和相关参数 2 修改程序中的输出 xff0c 改成tum格式 当前帧在滑动窗口
  • Linux Windows Mac 临时 HTTP 服务传输文件(python http server)

    http 传输文件比 scp 和 ftp 都要可靠稳定和方便 xff0c 在 Linux 系统上 xff08 Windows 和 Mac 也一样 xff09 xff0c 我们经常需要把一堆文件或者某个大文件发送到别处 xff0c 遇到这种需
  • Docker容器显示图像界面配置

    Docker容器显示图像界面配置 原理概述 可以把docker看做一台没配显示器的主机 xff0c linux目前的主流图像界面服务X11支持 客户端 服务端 xff08 Client Server xff09 的工作模式只要在容器启动的时
  • ubuntu服务器有多个网卡时设置网卡的优先级

    有时候服务器会有多个网卡 xff0c 分别连接局域网和外网 xff0c 当局域网的优先级更高时会出现无法访问外网的情况 只需要设置默认网关就行了 首先查看默认网关 ip route show 然后通过 span class token fu
  • C_C++架构如何学?2020必备的最新懒人攻略指南(持续更新)

    C C 43 43 架构师学习之路 如同加锁和解锁操作 xff0c 在看文章之前先点个赞 xff0c 如果你看完文章觉得对您没有帮助 xff0c 希望您取消您的点赞 您的点赞是对笔者的一次鼓励 xff0c 您的取消是让笔者有对文章质量的把控
  • 嵌入式

    嵌入式 嵌入式开发就是指在嵌入式操作系统下进行开发 xff0c 一般常用的系统有WinCE xff0c ucos xff0c vxworks xff0c linux xff0c android等 另外 xff0c 用c xff0c c 43

随机推荐

  • Autoware源码分析——astar_avoid

    概要 本文是对autoware中waypoint planner功能包的相关文件组成和具体节点的分析 由于程序比较复杂 xff0c 我认为还存在一些不完整的地方 xff0c 之后也会继续分析 xff0c 继续更新 在看代码的过程中也学习了一
  • C/C++开发之CMakeList(其二)

    嵌套式CMakeLists写法 xff0c 文件结构如下 xff1a span class token operator span examples span class token operator span span class tok
  • (1)MissionPlanner1.3.75源码编译问题及解决办法

    MissionPlanner源码编译问题及解决办法 前言错误1 NETSDK10452 NETSDK11473 CS02464 NU1104 结束语 前言 最近想在missionplanner上加一些功能 xff0c 于是就整了套源码想试试
  • 04-旭日X3派测评——原版ROS的安装与测试

    1 环境安装 具体安装过程不在这里赘述 xff0c 主要参考以下几篇文章 xff1a 详细介绍如何在ubuntu20 04中安装ROS系统 xff0c 超快完成安装 xff08 最新版教程 xff09 Ubuntu20 04安装ros教程
  • npm(四):剖析npm包版本管理机制

    Nodejs成功离不开 npm 优秀的依赖管理系统 在介绍整个依赖系统之前 xff0c 必须要了解 npm如何管理依赖包的版本 xff0c 本章将介绍 npm包 的版本发布规范 如何管理各种依赖包的版本以及一些关于包版本的最佳实践 系列文章
  • 任务调度的初始化及上下文切换原理

    任务调度的初始化及上下文切换原理 前言任务调度整体框架任务调度初始化源码分析启动第一个任务分析PendSV中断systick定时中断 前言 本文将从调度器的创建为入口 xff0c 通过分析定时器中断以及PendSV中断的原理 xff0c 刨
  • ESXi 防火墙添加自定义端口/关闭开启防火墙

    ESXi 的所有端口都是白名单方式 xff0c 只允许系统默认支持的一些程序配置好的端口 xff0c 你可以选择打开和关闭 xff0c 但是不能在UI界面上自行添加 xff0c 都是预置的 如果需要添加一个新的自定义端口 xff0c 需要通
  • putty连接云服务器超时的解决方法

    putty连接云服务器超时 别用edu xff0c 闪讯等代理的无线网 xff0c 估计是由代理方的安全策略屏蔽了22端口出现问题 我换了手机热点就连上了
  • 去哪儿网2019秋招笔试题

    1 题目描述 xff1a 给出一个由 100 100 之间整数组成的数组 xff0c 求其相加和最大的连续子数组 输入 一个连续整数组成的数组 输出 子数组相加的最大值 样例输入 1 2 3 2 4 6 样例输出 7 2 题目描述 xff1
  • 【Java】JSONarray转JSONobject

    公司开发有用到 xff0c 但是经常会忘记 xff0c 做笔记记录一下 xff01 1 将数据包转成JSONarray 2 使用for循环遍历JSONarray 这里使用size 方法 3 每次循环取到的JSONObject对象 4 再根据
  • 无人机上需要哪些程序? 以及如何进行无人机编程?

    基于WICED的WIFI四轴飞行器 xff0c 手机APP控制 xff08 硬件 核心代码 算法等 xff09 飞行器 电路城 https www cirmall com circuit 4820 details 本设计中四轴飞行器无线控制
  • TypeError: Expected Ptr<cv::UMat> for argument ‘mat‘

    1 xff0c 报错TypeError Expected Ptr xff1c cv UMat xff1e for argument mat 2 xff0c 报错时代码段如下 import cv2 cv2 import numpy as np
  • Keil关于.axf文件报错

    项目场景 xff1a 熟悉Keil C51的同学在使用Keil MDK编译STM32系列单片机时会更容易上手 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统 xff0c 与汇编相比 xff0c
  • Manjaro安装配置指南

    由于可能会有偶尔重装系统的需要 xff0c 而每次配置都丢三落四 xff0c 浪费时间 xff0c 因此整理了自己需要的配置 xff0c 一直会继续更新的 1 安装 分区时选择手动分区 挂载点大小 boot efi500M boot1G 剩
  • 编程规范

    编程规范 1头文件 放置接口不放置实现 头文件只放置对外接口的声明 函数声明 宏定义 类型定义 xff0c 内部使用的这些声明不应该放在头文件中变量定义在c文件中 xff0c 尽量不要使用全局变量作为接口 xff0c 应通过函数来作为接口
  • antdv动态表单回显

    在项目中经常遇到动态表单的业务 在编辑动态表单时需要回显新增后的内容 本文介绍Ant Design of Vue 的动态表单回显 比如新增时添加了两行动态表单 xff0c 在第二次编辑时需要进行回显 下面是表单的HTML代码 span cl
  • IMU在slam系统中的应用(三)

    在IMU在slam系统中的应用 二 中给出了IMU预积分计算推导以及代码 xff0c 这里给出IMU误差递推方程的推导 xff08 一 xff09 一段时间多个IMU数据预积分量协方差 单个IMU数据作为测量值 xff0c 其噪声方差我们可
  • docker 启动 jenkins 挂载目录权限问题 Permission denied

    通过 docker 挂载目录的 jenkins xff0c 查看 jenkins 日志发现存在一些文件无法写入或者 Permission denied 这样的异常错误 xff0c 基本可以判定是文件所有权问题 比如你宿主机挂载的文件目录是
  • VMware虚拟机硬盘扩展是灰色的

    问题描述 VMware虚拟机硬盘空间不足时 xff0c 想扩展空间 xff0c 但VMware虚拟机硬盘扩展是灰色的 xff0c 无法完成扩展操作 解决方案 进入虚拟机快照管理器 xff0c 删除快照 xff0c 删除后就可以扩容
  • ORB_SLAM2安装与编译报错的解决办法

    目录 1 安装教程 xff08 本教程参考网络课程资料 xff09 1 1 安装前准备 1 2 安装Pangolin 建议源码安装 1 3 安装OpenCV3 4 建议源码安装 1 4 安装Eigen3 3 7 建议源码安装 1 5 安装运