组合导航(GNSS+惯性导航)

2023-05-16

一、GNSS

       至少需要四颗星。怎么判断GNSS数据是否准确?数据中是否携带星数?

二、惯性导航

       关于磁力计的使用:

       1)类似重力,磁力也是一个矢量。地球任意位置的磁力在东北天地理系下的表示为(0,y,z)即永远指向北极。但是区别于重力,磁力的大小不是常量,因此,在后面的使用中需要借助重力得到初始姿态,然后计算磁力的大小。

       2)利用磁力计可以计算pitch roll yaw. 原理和重力计算姿态一样。因此,想使用磁力计计算yaw, 必须将磁力计的坐标系和IMU的坐标系对齐

       3)在惯性导航中如何使用磁力计呢?

           a. 首先计算磁力计的标准值(0,y,z) 类似重力的(0,0,1)

           

              b. 类似重力,已知某一向量在两个坐标系的表示,计算坐标系的变换矩阵。

三、组合导航

     参考:非常棒!

四、kitti数据集中的 gnss 信息

1. GNSS 得到的位置,速度信息是表示在东北天地理坐标系的

2.惯性导航得到的姿态也是表示在东北天地理坐标系的(需要借助磁力计)。速度和位置表示在哪个坐标系,视自己的航迹推演怎么设计:

   1)默认的,IMU得到的加速度是表示的实时的载体系的,因此速度也是表示在载体系。如果使用这样的默认设置,得到的位置,是表示在 第一个IMU数据所在的载体系

   2) 如果利用IMU得到的姿态信息,将加速度变换到东北天地理坐标系,则 速度,位置 都是表示在,以第一个IMU数据为原点的地理坐标系

3. 如果将GNSS和惯性导航进行融合,松耦合,卡尔曼滤波的形式。GNSS的位置和速度作为观测,来更新 IMU的 速度,位置,姿态。仅仅需要磁力计提供粗略的初始航向信息。

       GNSS的位置和速度都是表示在地理坐标系的,而且原点在地心。IMU的速度,位置都是第一种情况。其中的坐标系统一过程如下:

     1)速度:通过实时IMU的姿态,将GNSS的速度变换到载体系

     2)位置:通过第一帧IMU的姿态+位置(姿态是磁力计+加速度计粗略给的,位置是此时的GNSS位置给的),将GNSS的位置信息,变换到 第一帧IMU所在的载体系

      以上,1)中包含了 IMU实时姿态信息,这是我们需要优化的;2)中包含了 第一帧IMU姿态信息,这也是需要优化的。因此,这也证实了,我们后续不需要磁力计来提供yaw了,后续系统会自动优化;而且初始姿态不准都没关系,后续也会优化。

       这个松耦合的系统输出的是惯性导航的PVQ结果,因此是表示在 载体系中的结果。不过,我们可以随意转换到 地理系中。

       现在我们有了三组数据:

         1)GNSS数据

         2)惯性导航数据

         3)GNSS+惯性导航 融合数据

        那么,我们接收到的 组合导航模块输出的结果到底是哪个呢?正常来说,应该是 第3)个结果,且PVQ都表示在东北天地理系, 而且原点在地心。

       简要表示如下:我们将地理系记为 w ,  IMU载体系表示为 b (随着载体实时变化,不固定),lidar 载体系表示为 l .

  --- 组合导航输出的结果表示 IMU这个玩意 在 地理系中的位姿 Twb。

 ----- 也不难理解,Twl = Twb*Tbl 表示 lidar 这个玩意在 地理系中的位姿。

实践: kitti 数据集中的 组合导航数据如下:

    - /kitti/oxts/imu : 包括 姿态,加速度,角速度。姿态表示在 东北天地理系,是绝对姿态(这个应该是融合后的结果);角速度和加速度应该是载体系(应该是IMU的原始测量值)。

    - /kitti/oxts/gps/fix :包括位置,表示在东北天地理系,且原点在地心。(不知道是否为融合后的结果 or  GNSS 原始结果)(应该是融合后的结果,因为 这个话题的time 和imu 一样,原始的GNSS 结果肯定没这么高的频率)

    - /kitti/oxts/gps/vel: 包括线速度,角速度。 (这个应该是融合的结果吧,GNSS自己原始数据中有角速度?)  ( 经过测试 线速度,角速度 都表示在载体系! 这个很重要!)

总之,上面三个话题分别提供了姿态,位置,速度信息。姿态和位置都是表示在地理坐标系,地心为原点。速度信息表示在载体系。

================  关于任乾代码中的两个疑问 =====

1.

velocity_ = rotate_matrix * velocity_;

angular_rate_ = rotate_matrix * angular_rate_;

不应该乘以 rotate_matrix.inverse() 吗?

2. VelocityData::TransformCoordinate 函数的两个问题:

  1). 传入的应该是 imu_2_lidar, 大佬自己已经在知乎评论中指出了。

   2). delta_v 应该等于 Ril.transpose() * w ^ * til 而不是代码中的 (Ril.transpose() * w)^ * til

===== 以上,都是根据 第二章 基于地图的定位  的作业  来展开的 =====

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

组合导航(GNSS+惯性导航) 的相关文章

  • DeepSpeed-Chat:最强ChatGPT训练框架,一键完成RLHF训练!

    https github com microsoft DeepSpeedExamples tree master applications DeepSpeed Chat 一个快速 负担得起 可扩展和开放的系统框架 xff0c 用于实现端到端
  • BigCode开放性能超越Copilot的代码生成模型Starcoder

    BigCode释出高效能程式码生成模型StarCoderBase xff0c 与为Python调校的StarCoder xff0c 效能超越GitHub Copilot初期版本所用的OpenAI code cushman 001模型 xff
  • 【LLM系列之FLAN-T5/PaLM】Scaling Instruction-Finetuned Language Models

    论文题目 xff1a Scaling Instruction Finetuned Language Models 论文链接 xff1a https arxiv org pdf 2210 11416 pdf github链接 xff1a ht
  • LlamaIndex :面向QA 系统的全新文档摘要索引

    在这篇博文中 xff0c 我们介绍了一种全新的 LlamaIndex 数据结构 xff1a 文档摘要索引 我们描述了与传统语义搜索相比 xff0c 它如何帮助提供更好的检索性能 xff0c 并通过一个示例进行了介绍 背景 大型语言模型 LL
  • html中各种hr样式

    第一种 lt hr style 61 34 height 2px border none border top 2px dotted 185598 34 gt height 2px 是hr的高度 border none 是没有边框 bord
  • Python爬虫系列(三)多线程爬取斗图网站(皮皮虾,我们上车)

    斗图我不怕 最近看了Python多线程的相关内容 xff0c 并且前几天观看了腾讯课堂潭州学院上面的关于斗图网爬取的公开课 xff0c 课程内容大致是利用Python多线程爬取斗图 xff08 多页 xff09 xff0c 并将图片保存到本
  • Python爬虫系列(五)360图库美女图片下载

    这几天终于忙完毕设和学校的事情 xff0c 终于有时间来写Python了 xff08 xffe3 xffe3 xff09 前些天在群里看到有人讨论这个360美女图库 的爬取 自己今天也尝试下 xff08 蛮简单 xff09 因为这个网站是下
  • Python 过滤字母和数字

    实例1 crazystring 61 39 dade142 0142f ad 39 只保留数字 new crazy 61 filter str isdigit crazystring print 39 39 join list new cr
  • Android高德地图设置Marker旋转角度.

    1 代码 marker setRotateAngle 360 float dir 2 注意 高德地图设置旋转角度是以正北为起点 逆时针旋转的 是逆时针的 所以转化成顺时针效果要用360做差
  • Python人工智能之图片识别,Python3一行代码实现图片文字识别

    自学Python3第5天 xff0c 今天突发奇想 xff0c 想用Python识别图片里的文字 没想到Python实现图片文字识别这么简单 xff0c 只需要一行代码就能搞定 作者微信 xff1a 2501902696 from PIL
  • Contrastive Loss(对比损失)

    Contrastive Loss 在传统的siamese network中一般使用Contrastive Loss作为损失函数 xff0c 这种损失函数可以有效的处理孪生神经网络中的paired data的关系 siamese networ
  • CC00021.CloudOpenStack——|OpenStack&组件.V08|——|OpenStack-network|Network创建租户网络.V04|

    一 配置租户网络 在controller节点执行后面的命令 配置租户网络 在controller节点执行后面的命令 创建租户网络 创建租户网络的子网 在租户网络创建一个路由器 xff0c 用来连接外部我那个和租户网 二 创建一个租户网络 执
  • c语言用epoll实现ftp服务器

    epoll简介 xff1a https www cnblogs com Anker archive 2013 08 17 3263780 html 以下是我根据上面这篇epoll例子改写的实现ftp服务器代码 xff1a server c
  • 来自一位女程序员8年的总结。

    8年了 xff0c 从来没有像今天说总结这一下 我认为这是我的一个进步吧 8年 xff0c 包括上北大青鸟培训的2年 xff0c 然后6年的工作 xff0c 换了很多家公司 有个人原因也有公司原因 先说一下培训的那2年 xff0c 我们学习
  • PX4无人机仿真_Gazebo(1)

    搭建Gazebo仿真环境 看了网上很多教程发现教程太分散了 xff0c 各个PC在配置环境前的情况不一样导致有很多bug也不一样 于是小编下定决心整理一次 xff01 若我的bug恰好也是你的bug xff0c 小编不胜荣幸 xff01 首
  • 敏捷开发快速入门(四):Scrum开发流程

    文章目录 Scrum概述Scrum中三个角色Product Owner xff08 产品负责人 xff09 职责Scrum Master xff08 教练 xff09 职责Scrum Team xff08 开发团队 xff09 职责 Scr
  • ubuntu20安装

    文章目录 前言一 ubuntu20 安装二 手动安装和分区1 必须选择自己创建2 第一种分区方式3 第二种分区方式 三 VmTools安装1 遇到不能粘贴的问题2 不能共享的问题 四 环境安装1 更新源2 install必须环境3 谷歌浏览
  • git出现Permission denied的解决办法

    git出现Permission denied的解决办法 问题描述 1 xff0c 在 master 分支的基础下创建了一个新的分支 log xff0c 并且在新的分支上 添加了两个新的文件 file1 和 file2 xff0c 然后对修改
  • 内环功控和外环功控的区别

    首先搞清楚内环功控和外环功控的区别 xff1a 内环功控 xff1a 根据接收到的SIR值来调整发射功率 xff0c 如果接收到的SIR值 gt 目标SIR值 xff0c 则通知对等层将空口上的发射功率下调一个步长 xff0c 如果相反 x
  • maven常用总结

    maven常用总结 1 常用的maven命令2 坐标定义3 pom基本配置 1 常用的maven命令 常用 的maven命令包括 xff1a compile xff1a 编译 clean xff1a 清理 test xff1a 测试 pac

随机推荐

  • docker之apt-get update解决方法

    问题 使用docker生成容器后 xff0c 进入容器后 xff0c 提供的指令很少 xff0c 使用apt get组件进行扩展 xff0c 但是会遇到apt get update有时会失败的问题 参考 创建好docker后不能apt ge
  • Nvidia xavier NX通过flash.sh烧录linux系统

    1 环境搭建 搭建 Jetson 系列产品烧录系统的环境需要在电脑主机上安装 Ubuntu 系统 安装的 Ubuntu 系统版本为 18 04 LTS xff0c 自行安装即可 xff0c 参考官方文档 xff1a Flashing Sup
  • ubuntu安装ssh以及开启root用户ssh登录

    一般Ubuntu都会默认安装openssh client 但是没有安装openssh server 一 安装ssh sudo apt install openssh client sudo apt install openssh serve
  • HJ28 素数伴侣(二分图最大匹配)

    https www nowcoder com practice b9eae162e02f4f928eac37d7699b352e tpId 61 37 amp amp tqId 61 21251 amp rp 61 1 amp ru 61
  • 【C++】Eigen介绍与使用 —— 4

    一 Eigen介绍 Eigen是可以用来进行线性代数 矩阵 向量操作等运算的C 43 43 库 xff0c 它里面包含了很多算法 它的License是MPL2 它支持多平台 Eigen采用源码的方式提供给用户使用 xff0c 在使用时只需要
  • Prometheus 入门与实践

    随着容器技术的迅速发展 xff0c Kubernetes 已然成为大家追捧的容器集群管理系统 Prometheus 作为生态圈 Cloud Native Computing Foundation xff08 简称 xff1a CNCF xf
  • 找工作笔试面试那些事儿(1)---C,C++基础和编程风格(1)

    作者 xff1a 寒小阳 时间 xff1a 2013年8月 出处 xff1a http blog csdn net han xiaoyang article details 10473845 声明 xff1a 版权所有 xff0c 转载请注
  • Latex正文中插入罗马数字

    1 问题描述 在用latex写论文的时候 xff0c 有的时候需要在正文里面插入罗马数字 2 解决方法 目前找到一种还算方便的解决办法 xff0c 在正文中插入如下代码 xff1a newcommand RNum 1 uppercase e
  • Opencv error unspecified error incorrect element name operator <<

    1 问题描述 今天在用opencv的FileStorage类进行xml文件读写操作的时候报了个错 源代码如下所示 xff1a include lt opencv2 opencv hpp gt include lt vector gt inc
  • PCA(主成成分分析)和LDA(线性判别分析)详解-共性和区别

    注 xff1a 这里说的LDA实际上讲的是Fisher linear discriminant analysis 在machine learning领域 xff0c PCA和LDA都可以看成是数据降维的一种方式 但是PCA是unsuperv
  • 【嵌入式】按键控制 LED

    嵌入式 按键控制 LED 1 操作内容 2 原理解释 2 1 实验箱按键电路 2 2 实验箱LED电路 2 3 寄存器说明 3 操作步骤 3 1 编写键控制 3 2 安装 USB 驱动 3 2 使用 DNW 软件下载裸机程序至 SRAM 中
  • Latex转word

    1 问题描述 最近做毕设的时候本来论文都已经在latex里面写好了 xff0c 但是学院要求用word格式 不想把自己latex写好的公式再打一遍 xff0c 而且word写公式很麻烦 xff0c 有的latex里面的符号word自带的公式
  • ubuntu系统备份与恢复-remastersys方法

    对于刚入门ubuntu的人来说 xff0c 配置各种各样环境的过程中往往会把系统装崩溃 每次都重新安装ubuntu看起来非常麻烦 xff0c 一个好的办法就是把我们某个阶段配置好环境的ubuntu做个备份 xff0c 然后万一系统崩溃了 x
  • 论文阅读-《Semantic Segmentation with Reverse Attention》

    BMVC 2017 oral code https drive google com drive folders 0By2w A aM8Rzbllnc3JCQjhHYnM 1 Motivation 作者这篇文章的主要目的是为了提高seman
  • python numpy中axis的含义

    不同的编程语言对于多维数组的索引方式往往不太一样 xff0c 下面主要讲一下python numpy里面axis的含义 numpy当中axis的值表示的是这个多维数组维度的下标 xff0c 比如有一个二维数组a xff0c a的shape是
  • Deep Watershed Transform for Instance Segmentation

    Min Bai amp Raquel Urtasun UfT 1 传统的分水岭算法简介 图像处理中的分水岭算法常用来做图像区域分割 segmentation xff0c 基本的思路是计算一张energy map来表示图像 xff0c 其中物
  • 【华为2019年校园招聘】2019-4-17 软件题-最大时间问题

    输入描述 输入为一个整数数组 xff0c 数组内有六个整数 输入整数数组长度为6 xff0c 不需要考虑其他长度 xff0c 元素值为0或者正整数 xff0c 6个数字每个数字只能使用一次 输出描述 输出为一个24进制格式的时间 xff0c
  • 【华为2019年校园招聘】2019-4-17 软件题-水果摊小买卖

    题目描述 小王手里有点闲钱 xff0c 想着做点卖水果的小买卖 xff0c 给出两个数组m xff0c n xff0c 用m i 表示第i个水果的成本价 xff0c n i 表示第i个水果能卖出的价钱 xff0c 假如现在有本钱k元 xff
  • ubuntu20.04安装微信和QQ,腾讯会议,以及一些其他实用软件

    由于电脑性能不行 xff0c 所以有windows 转为ubunut20 04 xff0c 这样电脑流畅多了 美化了下它的UI xff0c 美化的差不多了 xff0c 之后 xff0c 就差安装微信和qq了 xff0c 微信对于我来说是必要
  • 组合导航(GNSS+惯性导航)

    一 GNSS 至少需要四颗星 怎么判断GNSS数据是否准确 xff1f 数据中是否携带星数 xff1f 二 惯性导航 关于磁力计的使用 xff1a 1 xff09 类似重力 xff0c 磁力也是一个矢量 地球任意位置的磁力在东北天地理系下的