1. 为什么复杂城市需要因子图优化RTK定位
大家好,我是老张,在导航定位领域摸爬滚打了十多年。今天想和大家聊聊一个特别实用的技术——GraphGNSSLib,这是一个基于因子图优化(FGO)的RTK定位开源库。如果你在城市里用过RTK设备,肯定遇到过这样的困扰:在高楼林立的街道或者隧道里,定位精度突然下降,甚至直接飘出几十米。这种情况太常见了,传统的EKF(扩展卡尔曼滤波)方法对观测值中的粗差特别敏感,一个历元的错误就能带偏后续的所有结果。
我去年在上海陆家嘴做测试时就深有体会。那边高楼密集,GPS信号经常被遮挡和反射,传统的RTK解算结果就像跳跳糖一样到处乱蹦。后来尝试了GraphGNSSLib的因子图优化方法,效果明显改善。这不是什么魔法,而是FGO利用了多个历元的数据进行全局优化,相当于给了系统"记忆能力",单个历元的粗差不会对整体结果造成毁灭性影响。
香港理工大学的Weisong Wen团队开源的这套GraphGNSSLib,可以说是我们这些做城市定位的工程师的福音。它基于ROS框架,用C++编写核心算法,非线性优化部分使用了ceres-solver库,还集成了rtklib的部分功能。最重要的是,它真正实现了因子图优化在实时RTK定位中的应用,这在几年前还被认为是后处理专属的技术。
2. GraphGNSSLib环境搭建与配置详解
说到环境配置,这可是很多小伙伴最容易踩坑的地方。根据我的经验,最稳定的方案是在Ubuntu 18.04上配置,配合ROS Melodic版本。虽然官方也说支持16.04和20.04,但我实测下来18.04是最省心的。
安装依赖库的时候要注意顺序,这个很关键。首先把编译环境搞定:
sudo apt-get install cmake
接着安装日志库,这是调试时看信息必不可少的:
sudo apt-get install libgoogle-glog-dev
线性代数库也不能少,BLAS和LAPACK是很


719

被折叠的 条评论
为什么被折叠?



