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。请添加图片描述

最重要的一步:

如果有CSDN圈内的好友,同样跟我这个小白一样,需要运用IDE去DEBUG项目,同时也需要rosbag play 去不断根据callback的信息去理解代码的逻辑的时候,那么遇到这种case的情况下,你可以继续阅读下面的操作步骤实现step debug。
这里我想点出我的一位良师CSDN导师,老师帮助了我很多,谢谢老师。

这里我debug的是GVINS的项目(所以以GVINS项目为例进行分析:)
项目地址:GVINS

编译器选项:CLION

  1. 首先ctrl + alt + T打开一个terminal ,然后catkin_make 需要的package文件(如果单独编译包可以选择catkin_make -DCATKIN-WHITE-PACKAGES=" XXX你包的名字". 这样就只编译一个包或者几个包了) 这里我直接通过catkin_make 编译了src下面的所有包
    请添加图片描述
    请添加图片描述
  2. 通过sorce ./devel/setup.bash激活当前catkin_make workspace工作空间的ROS环境
  3. 通过官网给的教程cpproslaunch gvins visensor_f9p.launch去在第一个终端运行我想要运行的gvins node
  4. 通过再次ctrl + alt + T 打开第二个终端,然后sh /your-path/clion.sh 启动你的clion程序,然后通过选择src下面的gvins项目,右键,然后reload cmake project 来build 你的cmake工程
  5. 在这里要roscore一下,然后在clion中build完成你的工程后,选择debug的小虫子模式,这样你会发现你的第一个terminal已经出现请添加图片描述 说明在clion里面已经成功的实现debug(new node registered with same name)
  6. 此时在clion中的展示![请添加图片描述](https://i-blog.csdnimg.cn/direct/5c6047e363b64a0bbe965b5eea47688f.png

请添加图片描述
请添加图片描述

  1. 如果想要控制ROSBAG的开启和pause 那么我们只需要通过rosbag play --clock /your route for bag/或者rosbag play --rate 0.1 /your bage route/来控制,pause 按下空格键停止,再次按下空格键开启

也就是:先在terminal终端运行roslaunch gvins visensor_f9p.launch然后在开一个terminal,source完成之后点击clion的debug小虫子,出现same processing died后,再次运行rviz -d ~/catkin_ws/src/GVINS/config/gvins_rviz_config.rviz,然后如果存在运行rosbag play后在rviz中不显示,那么我们便可以在rviz中加载config问题解决链接,然后通过rosbag play --pause 或者 --rate 0.001等来控制数据的播放,实现clion debug

参考链接
参考链接
参考链接
参考链接
参考链接

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值