当前位置: 首页 > news >正文

Inertial Explorer处理pospac数据总结

Inertial Explorer处理pospac数据的过程包括:1)从pospac提取出gps数据和imu数据;2)gps数据转成rinex格式;3)imu数据转成imr格式;4)IE对gps数据进行PPP解算;5)紧耦合融合解算;6)输出结果。

1、pospac提取gps数据和imu数据

采用Terrapos批处理文件extract_applanix.bat,仅指定pospac文件的目录就可以转换了。转换后的文件包括mgps.dat和imu.dat。使用RT272DAT.exe将mgps.dat的主天线和定向天线拆开,分别生成dat文件。

rt272dat -n0 mgps.dat ant1.dat

rt272dat -n1 mgps.dat ant2.dat

2、gps数据转成rinex格式

打开windows命令,使用GPS预处理软件TEQC,命令行为:teqc +C2 +L2C_L2 +relax +max_rx_SVs 50 +L5 +L7 +CA_L1 -week 2022/04/18 ant1.dat > ant10108.22o,转成rinex文件。

POSMV天线型号Trimble ATT1675-540。

3、新建一个empty项目,导入gps和imu数据

1)转换gps数据

点击Tools/Convert Raw GNSS to GPB,打开Convert Raw GNSS data to GPB对话框,把转化后的rinex文件加入要进行数据转换的列表中,点击按钮“Options”,打开rinex options 对话框,设置GPS数据模式为Kinematic,关闭rinex options对话框,点击“Convert”按钮。

正在上传…重新上传取消

正在上传…重新上传取消

点击“Convert”按钮,rinex文件转成gpb文件。

正在上传…重新上传取消

2)转换IMU数据

点击Tools/Convert Raw IMU Data to Waypoint Generic(IMR),打开Waypoint IMU Data Conversion对话框,选择posmv的imu.dat,IMU Profiles 选择自定义格式IMU02,打开点击“Modify”按钮,设置imu.dat文件的格式。

正在上传…重新上传取消

在TerraPos中,此imu.dat的格式为aerocontrol-IGI-IId,Inverse gyro scaling factor为262144,Inverse accelerometer scaling factor为16384。

正在上传…重新上传取消

在IMU02的Gyroscope Measurements和Accelerometer Measurements参数中填上对应的数值。点击“保存”按钮,关闭Profile:IMU02对话框。

正在上传…重新上传取消

点击“Convert“按钮。

正在上传…重新上传取消

3)点击File/Add Remote File添加转换后的GNSS数据。

正在上传…重新上传取消

点击View/GNSS Observations/remote/View Raw GNSS Data,查看GNSS数据。

正在上传…重新上传取消

点击File/Add IMU FileIMU添加转换后的IMU数据。

4)处理GNSS数据。Processing Method选择PPP方式,Profile选择GNSS Marine。

正在上传…重新上传取消

报错,没有星历文件。

正在上传…重新上传取消

点击File/Add Precision/Alternate Files,下载星历文件。

正在上传…重新上传取消

星历文件下载完成。

正在上传…重新上传取消

重新处理GNSS数据。

正在上传…重新上传取消

解算结果中Height曲线见下图:

正在上传…重新上传取消

水位计实测潮位曲线见下图:

正在上传…重新上传取消

TerraPos解算结果的Height曲线见下图:

PRIDE-PPPAR解算结果的Height曲线见下图:

正在上传…重新上传取消

从上面解算结果看,三种软件的PPP解算结果的高程曲线都不理想,与水位计实测的潮位曲线相差较大。高程曲线的拟合曲线可能会与潮位曲线的形态有点相似,一定程度上会反映出潮时和潮差,给潮位预报提供一些参考。

5)回到正题,接下来进行进行紧耦合解算,点击Process/Process TC(Tightly Coupled)。在打开的Process Tightly Coupled对话框中设置参数,Processing Setting 选择SPAN Marine,IMU To GNSS antenna的偏移量,方向是向前为正,向右为正,向上为正。

正在上传…重新上传取消

点击“Process”按钮,开始处理。

正在上传…重新上传取消

中间报了一个错:

FATAL ERROR:RE-Alignment failed:

INS coarse alignment(kinematic):R:0.317 P:-1.110 Y:-57.275 dR:0.000 dP:0.000 dY:16.351

正在上传…重新上传取消

重新设置Processing Direction,仍然报错,提示需要改一下开始时间。

重新设置Processing Direction,关闭Multi-pass,仍然报错,也是提示要改一下开始时间。

正在上传…重新上传取消

改时间范围,开始时间不变,结束时间改为169000。

正在上传…重新上传取消

报错,继续改时间范围,开始时间改为121000,IMU时间改为同GNSS时间。

未报错,平滑。

正在上传…重新上传取消

解算完以后,程序窗口出现了Smoothed TC Combined-Map图,完全搞不懂这个图是什么意思?

正在上传…重新上传取消

点击菜单Output/Export Wizard,设置导出文件格式。

正在上传…重新上传取消

按照自定义格式导出结果。

正在上传…重新上传取消

导出文件的内容见下图,这都是些什么呀。

正在上传…重新上传取消

小结

本文的Height曲线对比结果可以看出:1)GNSS/INS的反演潮位关键在于GNSS的解算,如果GNSS解算较差,GNSS/INS组合解算结果没有什么意义。GNSS的PPP解算结果并不是很理想,有前辈曾建议在船舶上固定安装双频GNSS,记录从船舶离港至返港的全程原始数据。现在看来,这个很有可能是正规路子。当然,博主有点不甘心,因为前前后后花了这么多时间和精力,得到一个如此结果。

POSMV有自己的后处理软件叫Pospac MMS,不知道哪位同学有这款软件,能否帮博主解算一下,感谢。

正在上传…重新上传取消

参考文献

terrapos处理pospac数据

terrapos处理pospac数据(二)

相关文章:

Inertial Explorer处理pospac数据总结

Inertial Explorer处理pospac数据的过程包括:1)从pospac提取出gps数据和imu数据;2)gps数据转成rinex格式;3)imu数据转成imr格式;4)IE对gps数据进行PPP解算;5)紧耦合融合解…...

tps和qps的区别是什么?怎么理解

区别:QPS指的是“每秒查询率”;而TPS指的是“事务数/秒”。理解:Tps即每秒处理事务数,对于一个页面的一次访问,形成一个Tps;而一次页面请求,可能产生多次对服务器的请求,服务器对这些…...

【Java系列】深入解析枚举类型

序言 即便平凡的日子仿佛毫无波澜,但在某个特定的时刻,执着的努力便会显现出它的价值和意义。 希望这篇文章能让你不仅有一定的收获,而且可以愉快的学习,如果有什么建议,都可以留言和我交流 问题 思考一下这寄个问题&a…...

网络原理(五):IP 协议

目录 认识IP 地址 子网掩码 作用 动态分配IP 地址 NAT 机制 认识MAC地址 MAC地址如何工作 网络设备和相关技术 集线器:转发所有端口 交换机:MAC地址转换表转发 主机&路由器:ARP缓存表ARP寻址 路由器:路由NAPT 数…...

MySQL---空间索引、验证索引、索引特点、索引原理

1. 空间索引 MySQL在5.7之后的版本支持了空间索引,而且支持OpenGIS几何数据模型 空间索引是对空间数据类型的字段建立的索引,MYSQL中的空间数据类型有4种,分别是: 类型 含义 说明 Geometry 空间数据 任何一种空间类型 Poi…...

选择合适的 MQTT 云服务:一文了解 EMQX Cloud Serverless、Dedicated 与 BYOC 版本

引言 EMQX Cloud 是基于 EMQX Enterprise 构建的一款全托管云原生 MQTT 消息服务。为了满足不同客户的需求,EMQX Cloud 提供了三种版本供客户选择:Serverless 版、专有版和 BYOC 版。 本文将简要介绍这三个版本的核心区别,并通过三个用户故…...

uvc驱动ioctl分析下

uvc驱动ioctl分析下 文章目录 uvc驱动ioctl分析下uvc_ioctl_enum_input枚举输入uvc_query_ctrl__uvc_query_ctrluvc_ioctl_g_input 获取输入uvc_ioctl_s_input 设置输入uvc_query_v4l2_ctrluvc_ioctl_queryctrl查询控制器uvc_ioctl_query_ext_ctrl查询扩展控制器 uvc_ioctl_g_c…...

数据库可视化神器,你在用哪一款呢

唠嗑部分 在我们日常开发中,作为开发者,与数据库是肯定要打交道的,比如MySQL,Oracle、sqlserver… 那么数据库可视化工具,你用什么呢?小白今天将常用地几款工具列一下,各位小伙伴如有喜欢的自…...

CMD与DOS脚本编程【第三章】

预计更新 第一章. 简介和基础命令 1.1 介绍cmd/dos脚本语言的概念和基本语法 1.2 讲解常用的基础命令和参数,如echo、dir、cd等 第二章. 变量和运算符 2.1 讲解变量和常量的定义和使用方法 2.2 介绍不同类型的运算符和运算规则 第三章. 控制流程和条件语句 3.1 介…...

多激光雷达手眼标定

手眼标定方法已经有很多博客进行解析,但是都是针对机器人的手(夹爪)眼睛(相机)进行标定。例如: 标定学习笔记(四)-- 手眼标定详解 手眼标定_全面细致的推导过程 本文主要描述多激光…...

SQL执行过程

1. select 语句执行过程 一条 select 语句的执行过程如上图所示 1、建立连接 连接器会校验你输入的用户名和密码是否正确,如果错误会返回提示,如果正确,连接器会查询当前用户对于的权限。连接器的作用就是校验用户权限 2、查询缓存 MySQL…...

K8S 部署 seata

文章目录 创建 Deployment 文件创建 ConfigMap 文件创建 Service 文件运行访问高可用部署踩坑 官方文档 k8s中volumeMounts.subPath的巧妙用法 创建 Deployment 文件 deploymemt.yaml namespace:指定命名空间image:使用 1.5.2 版本的镜像ports&#xf…...

ClickHouse:(二)数据类型

1.整型 固定长度的整型分为:有符号和无符合整型 有符号整型无符号整型类型范围类型范围Int8 -128 : 127 UInt8 0 : 255 Int16 -32768 : 32767 UInt16 0 : 65535 Int32 -2147483648 : 2147483647 UInt32 0 : 4294967295 Int64 -9223372036854775808 : 9223372036854…...

项目文档(request页面代码逻辑)

项目文档 目录 项目文档 1. 封装请求基地址 代码 2. 添加请求拦截器并设置请求头 作用 代码部分 3. 添加响应拦截器 作用 代码 4. token过期问题处理 5. 无感刷新 作用 代码 6. refresh_token过期处理 解决方式 1. 封装请求基地址 在src目录下 放上一个专门写…...

后端传到前端的JSON数据大写变小写--2023

问题复现:1. 首先我先说一下,我用了lombok,事实证明和这个也有关系 前端这里写的也是按照驼峰命名来写的 控制台打印出来的数据 后台打印出来的数据 解决方法: 1. 重写get/set方法 因为我在实体类上标注了Data注解 重写get/se…...

学习【菜鸟教程】【C++ 类 对象】【C++ 类的静态成员】

链接 1. 教程 可以使用 static 关键字来把类成员定义为静态的。当我们声明类的成员为静态时,这意味着无论创建多少个类的对象,静态成员都只有一个副本。 静态成员在类的所有对象中是共享的。如果不存在其他的初始化语句,在创建第一个对象时…...

计算机四大件笔记

啊~数据库、操作系统、计算机网络、Linux start 操作系统 并发和并行 并发是同一时间段内发生了多个事情,多任务之间互相抢占资源。 并行是在同一时间点内发生了多个事情,多任务之间不互相抢占资源,只有多CPU的情况下才能并行。 例如&a…...

【vue上传文件——hash】

vue上传文件 要求:只能上传视频,先计算文件的hash值,hash值一样则不需要上传,不一样在执行上传 分析:因为el-upload没有找到合适的属性,本次用的是原生的input的type属性为file上传 代码: html: 通过点击选取文件按钮调用input上传 js 第一步:点击上传文件先效验是否…...

【OpenCV DNN】Flask 视频监控目标检测教程 01

欢迎关注『OpenCV DNN Youcans』系列,持续更新中 【OpenCV DNN】Flask 视频监控目标检测教程 01 【OpenCV DNN】Flask 视频监控目标检测教程 01 1. 面向Python程序的Web框架2. Flask 框架的安装与使用2.1 Flask 安装2.2 Flask 框架例程2.3 绑定IP和端口2.4 Flask路…...

(转载)从0开始学matlab(第10天)—自顶向下的编程思想

在前面的内容中,我们开发了几个完全运转的 MATLAB 程序。但是这些程序都十分简单,包括一系列的 MATLAB 语句,这些语句按照固定的顺序一个接一个的执行。像这样的程序我们称之顺序结构程序。它首先读取输入,然后运算得到所需结果&a…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...