同步操作将从 cc/compass 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
参考TGINS
其实一直都在整理代码,因为工作原因进度一直提不起来,目前这个版本的代码比较混乱,新版本的代码我才整理好STC-PPK、TC-PPK,新版本可读性较强,后续将重新上传,感谢大家关注!
高精度GNSS/INS紧组合(v0.1)
GNSS/INS的组合模式仍是移动测绘、车载导航以及军事领域重要的导航定位手段,GNSS/INS紧组合是在观测值层面将GNSS与INS进行融合,其相对于定位结果层面的松组合在城市复杂环境下具有更明显的优势。高精度GNSS/INS紧组合滤波的构建涉及到高精度GNSS定位算法(PPK、PPP)、惯性导航定位算法、组合滤波算法等几个方面,算法实现较为复杂。
程序基于RTKLIB二次开发,在其基础上扩充了GNSS/INS组合的一些算法,是本人读博期间所做的一点工作,并不是很完善,代码仅供参考,如有疑问可联系本人。
/conf ---配置文件
/data ---示例数据
/include ---头文件
/misc ---杂项
/src ---源码
Windows:IDE为CLion-2021,编译器为tdm-gcc-9.20(在/misc/ide里面有安装程序,安装好在CLion的Toolchains里面进行配置,如下图所示)
Linux: Ubuntu-20.0,也是使用CLion进行编译,默认设置即可
PPK/INS紧组合: YOUR_PATH/PPP_AR/build/Bin/ppp_ar.exe -C YOUR_PATH/conf/TC/tc_ppk_kvh1.conf -S G -M IGTC-PPK -A 1 -L 0
PPP/INS紧组合: YOUR_PATH/PPP_AR/build/Bin/ppp_ar.exe -C YOUR_PATH/conf/TC/tc_ppp_kvh1_com.conf -S GE -M IGTC-PPP -A 0 -L 0
.exe: 可执行文件路径
-C: 配置文件路径
-S: 选用的卫星系统 G,C,E,R,J,GR,GC,GE,CE...
-M: 处理模式: "SPP-KINE", "TDCP-KINE", "DGPS-KINE", "PPK-KINE", "PPK-STATIC", "PPK-S-START", "PPK-MOVEB", "PPK-FIXED", "PPP-KINE", "PPP-STATIC", "PPP-FIXED", "INS-MECH", "IGLC-POS", "IGLC-SPP", "IGLC-DGPS", "IGLC-PPK", "IGLC-PPP", "IGTC-SPP", "IGTC-TDCP", "IGTC-DGPS", "IGTC-PPK", "IGTC-PPP", "STC-PPK","STC-PPP"
-A: 模糊度固定,0-浮点解,1-PPK模糊度固定(PPP/INS紧组合只支持浮点解)
-L: trace level 注: 使用前请修改配置文件的pos1-prcdir参数,程序处理数据需要按一定格式存放数据,在配置文件里面设置主路径后,程序可以自动匹配相关文件。基本格式为:
-T: 'ALL' "PRI_PR","PRI_CP","POS_PR","POS_CP","FIX_PR","FIX_CP", "NPR","NCP","PNPR","PNCP", "POS_AMB","FIX_AMB","VAR_AMB", "EL","FIX","SLP", "INS_INNO","CS_THRES","INS_WL_RES","INS_EWL_RES"
data/atx ... 天线文件
data/blq ... 海潮文件
data/YYYY/ddd/obs ... 观测值O文件,可以存放多个测站
data/YYYY/ddd/products ... 精密星历等文件
data/YYYY/ddd/products/nav ... 导航星历
data/YYYY/ddd/products/com ... 精密星历(可以是不同的分析中心产品,如grm、wum等)
data/YYYY/ddd/products/cas ... MGEX-DCB文件
data/YYYY/dcb ... CODE-dcb文件
data/YYYY/igs_erp ... igs-erp文件
1.KVH0数据集
数据采集于2021年7月15日江苏省徐州市高新区,IMU和GNSS接收机安装在车载平台上,行车轨迹如图所示。使用两台中海达测地型接收机分别作为流动站和基准站,并配备加拿大Novatel公司生产的SPAN-KVH1750组合导航系统(由组合导航接收机ProPak6和惯性测量单元IMU-KVH1750组成),厂商给定的惯性器件技术指标如表所示, 这是一款内置三轴闭环光纤陀螺和三轴微机械加速度计的惯性测量单元,具有良好的独立导航性能。跑车过程中卫星信号良好,卫星可视数与行车期间的PDOP值如图所示。实验共采集约90min数据,其中GNSS的数据采样率为1Hz,可接收来自GPS、BDS2、BDS3、GLONASS以及Galileo卫星的双频信号,IMU数据采样率为200Hz。 测试过程中基线长度最短4.3km,最长达到11.2km,经过差分处理后能够消除大部分的大气误差影响。采集环境总体良好,可用于GNSS/INS组合系统仿真分析,同时采集路径覆盖了高楼、立交桥、树荫等多种复杂的城市场景,能用于验证单频、双频、单系统、多星座组合的高精度GNSS/INS紧组合模型在城市环境下的定位测速定姿性能。 数据集配备了IE软件差分GNSS/INS后处理平滑解作为参考,图展示了IE软件采用DGNSS/INS前后向平滑模式计算的位置、速度、姿态、零偏估计变化结果。
数据采集于2019年12月30日北京市北清路附近区域(文中记为北京实验19-BJ-100C),使用加拿大Novatel公司生产的SPAN-ISA-100C组合导航系统,厂商给定的惯性器件技术指标如表所示。IMU和GNSS接收机安装在车载平台上,行车轨迹如图所示,跑车过程中卫星信号良好, 卫星可视数与行车期间的PDOP值如图A 8所示。实验共采集约90min数据,其中GNSS的数据采样率为1Hz,可接收来自GPS、BDS以及GLONASS卫星的双频信号,IMU数据采样率为200Hz。测试过程中基线长度最短4.3km,最长达到11.2km,经过差分处理后能够消除大部分的大气误差影响。图中呈现了IE软件采用 DGNSS/INS前后向平滑模式计算的位置、速度、姿态、零偏结果(该组数据由北京网友提供,特此感谢)。
KVH0 IGTC-PPK:
KVH0 IGTC-IF_GC_PPP:
KVH0 IGTC-UC_GR_PPP:
KVH0 速度与姿态误差
100C IGTC-UC_GR_PPP:
100C IGTC-IF_GR_PPP:
100C 速度与姿态误差
程序只是代码层面实现了PPP模糊度固定,在细节方面上仍存在不少漏洞,后续会继续学习相关理论对代码进行优化,程序仅供参考!
产生原因:结构体prcopt_t过大,导致函数栈溢出 prcopt_t gnss_opt=*opt; 解决方案: 更改Linux默认栈空间的大小 有时候在Linux写C++程序处理大量的数据,程序内部需要分配很大的数组来存放一些数据,但有时候分配的数组太大的话运行时会出现段错误。这种情况可能是分配的数组大小超过了Linux系统的默认栈空间的大小了,导致栈空间不够分配,出现错误。
(1)查看linux默认栈空间的大小 通过命令 ulimit -s 查看linux的默认栈空间大小,默认情况下为8192 KB 即8MB。
(2)临时改变栈空间的大小 通过命令 ulimit -s 设置大小值临时改变栈空间大小。例如:ulimit -s 102400,即修改为100MB。
(3)永久修改栈空间大大小。有两种方法: 方法一:可以在/etc/rc.local 内加入 ulimit -s 102400 则可以开机就设置栈空间大小,任何用户启动的时候都会调用。 方法二:修改配置文件/etc/security/limits.conf
https://rtklibexplorer.wordpress.com/2022/01/10/google-smartphone-decimeter-challenge/ Positioning mode: static -> kinematic GNSS constellations: disable Beidou Integer Ambiguity Res: on -> off Slip Thresh: Geom-Free: 0.05 -> 0.10 Slip Thresh: Doppler: N/A -> 5.0 Time Format: hms -> tow Phase Error Ratio L1/L5: 1500/300 -> 300/100 Phase Error a+b: 0.006/0.006 -> 0.003/0.003 Carrier Phase Bias: 0.001 -> 0.01
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。