自学内容网 自学内容网

GVINS与VINS-MONO编译安装

GVINS网址

GVINS网址

安装依赖项

ubuntu-20.04.6
ceres-solver2.0.0(同时系统中安装了ceres-solver2.2.0作为/usr/local/中的默认版本)

想再系统中安装多版本ceres solver参考连接安装多版本ceres solver

编译出现的问题

ceres-solver-2.0.0问题问题展示如下:
针对于ceres solver 2.0.0的版本 需要将对应的gvins中的camakelist文件中的cxx-flag 换成c++14
需要将对应的gvins中的camakelist文件中的cxx-flag 换成c++14
opencv -4.2.0问题问题展示部分如下:

请添加图片描述
请添加图片描述
请添加图片描述具体的解决方法,参照的博客为:CV部分的解决方法
这里参考的博客含金量都非常高!!!
可作为额外的参考
至此 编译成功
同理,因为VINS-MONO是GVINS的先驱版本,所以,先跑通VINS-MONO,后续只需要在VINS-MONO的依赖基础上添加 gnss_comm即可,这里可以通过:

catkin -DCATKIN_WHITELIST_PACKAGES=“;;;”来选择编译指定的包。

最终实现的VINS-MONO结果如图:
请添加图片描述

请添加图片描述
请添加图片描述GVINS结果图展示:
请添加图片描述请添加图片描述

如果在clion中实现GVINS的debug,打开工程的时候选择GVINS,前提是:必须要先CATKIN_MAKE后,然后在clion中选择open project 然后
右键选择项目的Reload CMake Project 加载项目的依赖项,
请添加图片描述

![请添请添加图片描述

不然如果将gnss_com同样加载近来的话,会出现很多的报错。
最终的工作空间应该是这样的:

在这里插入图片描述如果有朋友也在用CLIONdebug GVINS的话,可以分享下经验,我遇到了一个问题类似这样问题
请添加图片描述
不过我的问题是:open函数有关的问题,提示open 打开为空,我排查了一下大致是confige.yaml配置读取参数出现了问题(也就是yaml文件路径错了),我改正的方法是:

  1. 首先在visensor.f9.launch的文件中关于gvins的节点请添加图片描述
    看到config_file的路径配置如下,在找到对应的config_path的路径请添加图片描述
  2. 利用clion实现debug,我首先通过getcwd输出了当前的系统运行的工作目录。对应的输出如下:
    执行:
    请添加图片描述
    输出:请添加图片描述
  3. 我的gvins节点设置的arguments是:请添加图片描述
  4. 报出问题后,我选择使用ROS的param参数在readParam中这样实现
    请添加图片描述最终在clion中成功init begin。请添加图片描述

原文地址:https://blog.csdn.net/2201_76063234/article/details/140605594

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!