GraogGNSSLib Series[1]:程序执行ubuntu20.04

程序编译

GraphGNSSLib

环境版本

程序开源是在ubuntu16.04-kinetic环境跑通的,但是我的环境是UBUNTU20.04,所以,先进行了ROS的安装,因为我的系统是ubuntu20.04所以,安装的ROS版本选择ROS-NOETIC
ROS的一些安装步骤参考的是一个CSDN的大神的博客,遇到的问题,通过自己google得到了解决。参考安装链接
安装遇到的问题的处理

项目编译

需要在catkin工作空间中编译ROS,所以大家可以参考下面的博客来创建catkin_cmake工作空间,同时记住,要将rsos与catkin的工作空间进行链接catkin工作空间创建
项目编译需要注意的问题:
ceres-solver 使用的版本是GraphGNSSLib里面提供的ceres solver 2.0.0的版本
同时,下载

sudo apt-get install ros-kinetic-novatel-msgs

命令的时候,我出现了无法定位软件包的问题,我的解决方法是,在ROS官网下载nav-msgs
注意这个需要下载到你的工作空间,跟随你的项目一起进行catkin_make编译,跑通了结果

结果问题

通过follow github上面的步骤,出现了issue中的问题
问题
问题
目前正在解决 如果成功解决 会在CSDN中进行更新

这里我创建了一个工作空间叫做catkin_ws,ROS需要在catkin工作空间中编译生效,所以我们可以将代码刻录在catkin_ws的src下面
诸如下面的目录结构形式:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
然后逐步编译就可以通过了

这里我也进行一下补充——之前一直存在的问题:
贴一下官网的数据操作处理步骤:请添加图片描述

请添加图片描述
描述一下我存在的问题:遇到通过在ROS的工作空间输入完成catkin_make之后,然后在输入source ./devel/setup.bash,然后继续运行下行的时候出现了类似github中出现的问题
github问题连接
github问题连接
遇到这个问题,我的处理方式(仅仅作为一种参考)

步骤:

  1. 我首先在catklin_workspace空间中新建src用来存放代码GraphGNSSLib,然后,因为我的ubuntu系统是20.04,所以,需要同时git clion novatel的第三方库支持GraphGNSSLib配套的第三方库文件。
  2. 然后通过catkin_init_workspace初始化工作空间(工作空间位于src)
  3. 通过cd …/返回上一层的工作目录,然后通过catkin_make编译位于src工作目录下面的代码
  4. 通过source ./devel/setup.bash激活当前的ros工作空间。
  5. 因为我首先是思考的静态数据集,所以在运行任何步骤之前,我先在rtklib.h中将**#define RTK_FGO 0 改成了#define RTK_FGO 1**
  6. 然后将工作空间通过roscore指定
  7. 开启新的terminal终端 并进入GraphGNSSLib的工作空间,然后再次通过source ./devel/setup.bash激活工作空间
  8. **通过roslaunch 相关的数据集文件 执行图优化过程 **
  9. 再次开启一个终端 执行source ./devel /setup.bash激活工作空间
    10.再次运行roslaunch的下一行命令:psr_dpl_rkt_car.launch最终实现结果的输出。
    不知道大家是否也是遇见了这样的问题,同时是怎么解决的?可以一同分享一下
    再次补充以下:
  10. 运行数据的步骤:打开terminal终端 ,因为我是ubuntu20.04所以需要单独build以下novatel的package.xml文件的包名称具体参考博客 具体参考博客
    我输入的命令为:
    因为这两个包作为GraphGNSSLib的依赖包必须提前进行编译请添加图片描述
catkin_make -DCATKIN_WHITELIST_PACKAGES="novatel_msgs;novatel_span_driver"

请添加图片描述

  1. 然后在编译GraphGNSSLib对应的package包
    具体的命令如下:
catkin_make -DCATKIN_WHITELIST_PACKAGES="global_fusion;nlosExclusion;rviz_satellite"

请添加图片描述

请添加图片描述

  1. 编译完成后运行source bash激活ros环境
source ./devel/setup.bash
  1. GraphGNSSLib的RTKLIB.h文件中将#define RTK_FGO改成0
  2. 哦对应该是先进行第四步,然后在编译第三步的三个包
  3. 然后在开一个terminal,然后通过下面命令激活环境
source ./devel/setup.bash

然后输入命令

roslaunch global_fusion dataublox_TST20190428.launch
  1. 然后在开一个终端进入工作空间,
    然后通过下面命令激活环境
source ./devel/setup.bash

然后输入命令

roslaunch global_fusion psr_doppler_fusion.launch

最后,能够看到成功执行了程序没有出现卡顿
结果如图:请添加图片描述

请添加图片描述
请添加图片描述
clion中debug需要roscore赋予权限
记得在clion的terminal终端输入roscore
请添加图片描述对于通过clion去编译GraphGNSSLib的项目,首先我不知道为什么.launch文件并没有读取到任何输入的星历文件,我只好自己手动配置(ros.get还存在问题 想想怎么解决),然后,我将相关的文件都进行了路径的改写,实现外部传参,最终程序能够执行。请添加图片描述
请添加图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值