ubuntu20.04跑PL-VINS

2023-05-16

PL-VINS源码:https://github.com/cnqiangfu/PL-VINS

编译时报错

catkin_make

Ceres报错

报错信息

CMake Error at /usr/local/lib/cmake/Ceres/CeresConfig.cmake:85 (message):
  Failed to find Ceres - Found Eigen dependency, but the version of Eigen
  found (3.4.0) does not exactly match the version of Eigen Ceres was
  compiled with (3.3.7).  This can cause subtle bugs by triggering violations
  of the One Definition Rule.  See the Wikipedia article
  http://en.wikipedia.org/wiki/One_Definition_Rule for more details
Call Stack (most recent call first):
  /usr/local/lib/cmake/Ceres/CeresConfig.cmake:200 (ceres_report_not_found)
  PL-VINS/camera_model/CMakeLists.txt:19 (find_package)


CMake Error at PL-VINS/camera_model/CMakeLists.txt:19 (find_package):
  Found package configuration file:

    /usr/local/lib/cmake/Ceres/CeresConfig.cmake

  but it set Ceres_FOUND to FALSE so package "Ceres" is considered to be NOT
  FOUND.


-- Configuring incomplete, errors occurred!
See also "/home/tian/projects/catkin_plvins/build/CMakeFiles/CMakeOutput.log".
See also "/home/tian/projects/catkin_plvins/build/CMakeFiles/CMakeError.log".
make: *** [Makefile:320:cmake_check_build_system] 错误 1
Invoking "make cmake_check_build_system" failed

解决方案
重新编译了ceres

sudo make install

Ceres报错未定义某种类型

把Cmake的C++版本调到14,因为这种类型是在C++14中定义的,C++11及以前没有

另一个报错

/home/tian/projects/catkin_plvins/src/PL-VINS/feature_tracker/src/linefeature_tracker.h:18:10: fatal error: line_descriptor_custom.hpp: 没有那个文件或目录
   18 | #include "line_descriptor_custom.hpp"

PL-VINS/feature_tracker/CMakeLists.txt里的路径写错了,焯!

opencv报错

报错信息
‘CV_RGB2GRAY’ was not declared in this scope
版本问题,改一下宏定义。

pose_graph.cpp keyframe.cpp
CV_FONT_HERSHEY_SIMPLEX -> cv::FONT_HERSHEY_SIMPLEX
/feature_tracker/src/linefeature_tracker.cpp
CV_INTER_LINEAR - > cv::INTER_LINEAR

https://blog.csdn.net/weixin_43421058/article/details/119139425?spm=1001.2014.3001.5502

feature_tracker/src/linefeature_tracker.cpp:360:32: error: ‘CV_WINDOW_NORMAL’ was not declared in this scope

#include “linefeature_tracker.h” 中添加 #include <opencv2/highgui/highgui_c.h>

编译时警告

/usr/bin/ld: warning: libopencv_imgproc.so.3.4, needed by /home/tian/projects/catkin_plvins/devel/lib/libcamera_model.so, may conflict with libopencv_imgproc.so.4.2
/usr/bin/ld: warning: libopencv_core.so.3.4, needed by /home/tian/projects/catkin_plvins/devel/lib/libcamera_model.so, may conflict with libopencv_core.so.4.2
/usr/bin/ld: warning: libopencv_imgproc3.so.3.3, needed by /home/tian/projects/catkin_plvins/src/PL-VINS/feature_tracker/src/line_descriptor/lib/liblinedesc.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libopencv_core3.so.3.3, needed by /home/tian/projects/catkin_plvins/src/PL-VINS/feature_tracker/src/line_descriptor/lib/liblinedesc.so, not found (try using -rpath or -rpath-link)
[100%] Built target LineFeature_tracker

运行时报错

[linefeature_tracker-4] process has died [pid 64095, exit code 127, cmd /home/tian/projects/catkin_plvins/devel/lib/feature_tracker/LineFeature_tracker __name:=linefeature_tracker __log:=/home/tian/.ros/log/bb25222c-a43e-11ec-a1bb-1358954dce55/linefeature_tracker-4.log].
log file: /home/tian/.ros/log/bb25222c-a43e-11ec-a1bb-1358954dce55/linefeature_tracker-4*.log

有人说是因为3.4.6版本以后把LSD部分去掉了,看了一下我的3.4.15的源码确实LSD.cpp少了近一千行。
尝试把低版本的实现直接拷贝到工程里,但整不太明白,决定放弃这一路线,再安装一个3.2.0版的opencv.

编译opencv3.2.0

fatal error: stdlib.h: 没有那个文件或目录
解决:
https://stackoverflow.com/questions/40262928/error-compiling-opencv-fatal-error-stdlib-h-no-such-file-or-directory

报错:

/home/tian/libs/opencv-3.2.0/modules/videoio/src/cap_ffmpeg_impl.hpp:1541:21: error: ‘CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope; did you mean ‘AV_CODEC_FLAG_GLOBAL_HEADER’?
 1541 |         c->flags |= CODEC_FLAG_GLOBAL_HEADER;
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~
      |                     AV_CODEC_FLAG_GLOBAL_HEADER

解决:https://blog.csdn.net/guo_lei_lamant/article/details/81568346

cv2.cpp const 错误:
https://forums.raspberrypi.com/viewtopic.php?t=251274

换了cvbridge

https://gitee.com/bingobinlw/cv_bridge
节点还是挂了但正常了很多

[image_node_b-7] process has died [pid 59826, exit code -6, cmd /home/tian/projects/catkin_plvins/devel/lib/image_node_b/image_node_b __name:=image_node_b __log:=/home/tian/.ros/log/6c262928-a529-11ec-9cfa-6db51d71f3b4/image_node_b-7.log].
log file: /home/tian/.ros/log/6c262928-a529-11ec-9cfa-6db51d71f3b4/image_node_b-7*.log
terminate called after throwing an instance of 'cv::Exception'
  what():  OpenCV(3.4.15) /home/tian/libs/opencv-3.4.15/modules/imgproc/src/lsd.cpp:139: error: (-213:The function/feature is not implemented) Implementation has been removed due original code license issues in function 'LineSegmentDetectorImpl'

[linefeature_tracker-4] process has died [pid 59823, exit code -6, cmd /home/tian/projects/catkin_plvins/devel/lib/feature_tracker/LineFeature_tracker __name:=linefeature_tracker __log:=/home/tian/.ros/log/6c262928-a529-11ec-9cfa-6db51d71f3b4/linefeature_tracker-4.log].
log file: /home/tian/.ros/log/6c262928-a529-11ec-9cfa-6db51d71f3b4/linefeature_tracker-4*.log
^C[pose_graph-6] killing on exit
[plvins_estimator-5] killing on exit
[feature_tracker-3] killing on exit
[rvizvisualisation-2] killing on exit
terminate called without an active exception
terminate called without an active exception
QFileSystemWatcher::removePaths: list is empty
QFileSystemWatcher::removePaths: list is empty
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

最后发现cmake没改全,能跑了.

opencv环境变量配置

https://blog.csdn.net/public669/article/details/99044895

编译vinsmono

参考

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

ubuntu20.04跑PL-VINS 的相关文章

  • 【学习SLAM】vins笔记

    VINS ROS source catkin ws devel setup bash 3 1 1 Open three terminals launch the vins estimator rviz and play the bag fi
  • Ubuntu20.04打不开终端

    Ubuntu20 04打不开终端 下载xterm输入gnome terminal显示 xff1a Error constructing proxy for org gnome Terminal org gnome Terminal Fact
  • vins位姿图优化

    我们 的滑动窗口和边缘化方案限制了计算的复杂性 xff0c 但也给系统带来了累积漂移 更确切地说 xff0c 漂移发生在全局三维位置 x y z 和围绕重力方向的旋转 yaw 为了消除漂移 xff0c 提出了一种与单目VIO无缝集成的紧耦合
  • 【ubuntu】ubuntu20.04安装ros noetic(亲测有效,附操作步骤)

    ubuntu20 04安装ros noetic xff0c 实力踩坑 xff0c 亲测有效 xff01 xff01 xff01 一 安装ROS neotic步骤第一步 xff1a 换源第二步 xff1a 添加ROS软件源第三步 xff1a
  • 关于VINS-MONO与VIO轨迹漂移问题定位的一些方向

    整个VINS MONO系统 xff0c 较容易在系统静止或外力给予较大冲击时产生轨迹漂移 xff0c 原因是imu的bias在预积分中持续发散 xff0c 视觉重投影误差产生的约束失效 如静止 xff0c 先验约束可能会在LM的线性求解器中
  • VINS-Mono

    文章目录 初始化框架缺点ORB SLAM的Local Map VINS的滑窗 逐次逼近式去畸变给后端提供的特征点信息光流追踪对极约束F去除外点 rejectWithF 特征点均匀化预积分系统初始化初始化时不校正bias a误差卡尔曼滤波误差
  • 在ubuntu20.04上配置VINS_Fusion(亲测有效,一应俱全)

    最近在做科研训练的时候配置了HKUST Aerial Robotics实验室的VINS Fusion代码项目 xff0c 经历了一些编译报错的问题 xff0c 在网上查找的时候博客内容良莠不齐 xff0c 且实质针对性意见不多 xff0c
  • Ubuntu20.04运行Vins-fusion

    因已安装ROS noetic xff0c eigen xff0c opencv及ceres等库 xff0c 这部分环境配置就不细讲 xff0c 直接下载VINS FUSION的代码库 下载编译 cd span class token ope
  • NVIDIA Jetson Xavier NX部署VINS-fusion-GPU

    NVIDIA Jetson Xavier NX部署VINS fusion GPU 一 环境配置 xff08 Ubuntu 18 04 xff09 1 Cuda 10 2的安装 span class token function sudo s
  • RoboMaster视觉 深度相机(1):Ubuntu20.04上安装Intel D435深度相机SDK与ROS

    RoboMaster视觉 深度相机 xff08 1 xff09 xff1a Ubuntu20 04上安装Intel D435深度相机SDK与ROS 1 安装RealSense SDK 先去下载 librealsense 可以在GitHub下
  • 在TUMVI数据集上测试VINS-Fusion算法

    VINS Fusion算法是一个非常优秀的视觉惯性里程计 但原版VINS Fusion并没有提供与TUM数据集相应的配置文件 因此需要自己进行写yaml文件 修改配置文件 tum mono yaml span class token dir
  • VINS-mono 位姿图 重利用测试

    在前一篇博文里介绍了VINS mono pose graph reuse功能的使用 xff0c 这里接着贴出一些延伸的测试 xff0c 并进行一些探讨 延伸测试 一般来说 xff0c 加载地图是进行非GPS定位必要的一步 这里根据新的VIN
  • VINS-Mono论文笔记(中)

    VINS Mono论文笔记 中 前言1 初始化过程1 1 视觉重构1 2 视觉惯性联合 2 紧耦合的单目VIO系统2 1 公式2 2 imu残差2 3 视觉残差2 4 边缘化残差2 5 针对相机实时帧率的纯运动视觉惯性状态估计器2 6 im
  • VINS-Mono视觉初始化代码详解

    摘要 视觉初始化的过程是至关重要的 xff0c 如果在刚开始不能给出很好的位姿态估计 xff0c 那么也就不能对IMU的参数进行精确的标定 这里就体现了多传感器融合的思想 xff0c 当一个传感器的数据具有不确定性的时候 xff0c 我们需
  • 在ubuntu20.4下安装ROS-noetic

    换源方法 xff1a 打开software amp updates 在里面找到china 然后选择对应的源 1 添加ROS软件源 将以下命令复制到ubuntu的终端执行 sudo sh c 39 echo 34 deb http packa
  • VINS-Mono代码阅读笔记(十三):posegraph中四自由度位姿优化

    本篇笔记紧接着VINS Mono代码阅读笔记 xff08 十二 xff09 xff1a 将关键帧加入位姿图当中 xff0c 来学习pose graph当中的紧耦合优化部分 在重定位完成之后 xff0c 进行位姿图优化是为了将已经产生的所有位
  • Ubuntu20.04 安装tcp调试工具mNetAssist步骤

    概述 在Ubuntu20 04上安装一个比较好用的网络调试助手mNetAssist 下载链接 mNetAssist链接 提取码 vrsm 安装 进入文件 mNetAssist release amd64 deb的所在文件夹 xff0c 然后
  • VINS-Mono学习(二)——松耦合初始化

    初始化 xff1a 如何当好一个红娘 xff1f 图解SfM 视觉和IMU的羁绊 怎么知道发生了闭环 xff1f 位姿图优化与滑窗优化都为哪般 xff1f 闭环优化 xff1a 拉扯橡皮条 整体初始化流程如下 xff1a 1 SFM纯视觉估
  • 树莓派4B ubuntu20.04 安装ROS noetic和opencv记录

    文章目录 准备换源安装ROS一些遇到的坑连接wifi添加秘钥时出错 E could not get lock var lib apt list catkin make时出现错误 Could not find the required com
  • ORB_SLAM2配置——基于Ubuntu20.04+ROS+gazebo仿真

    一 引言 ORB SLAM2 xff0c 它是基于单目 双目或RGB D相机的一个完整的SLAM系统 xff0c 其中包括地图重用 回环检测和重定位功能 这个系统可以适用于多种环境 xff0c 无论是室内小型手持设备 xff0c 还是工厂环

随机推荐