热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【深蓝学院】手写VIO第1章第1节

0.引言完成了SLAM14讲的学习,来VIO进行进阶。1.概述与课程介绍Section1.课程介绍Section2.VIO概述为什么把视觉和IMU结合在一起&#




0. 引言

完成了SLAM14讲的学习,来VIO进行进阶。


1. 概述与课程介绍

Section1. 课程介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


Section2. VIO概述

在这里插入图片描述
为什么把视觉和IMU结合在一起?
因为这两个sensor是互补的,视觉测慢的,IMU测快的;视觉漂移小,IMU有漂移。

在这里插入图片描述
说VIO要明确是跟什么层次的IMU进行融合,各种层次的IMU的角速度普遍比较准确,但便宜的IMU加速度计精度差,基本上只能看个方向,贵的好的可以直接通过积分得到位姿。在飞机上用的很好的IMU,同样的算法在手机上可能就没那么好了。

手机的IMU可能几s就飞了,汽车级别的IMU可能估计个30s就飞了(在GPS,Lidar等失效的情况下)

在这里插入图片描述
VIO是在工业界用的较多的一种方案,主要在AR/VR, Robotic/无人机(drone),等,这些场景Lidar的功耗太高,不适合使用,比如VR眼镜,装个IMU是可以的。

而且在场景中要分清楚到底是基于地图的定位还是基于odometer的定位。基于odometer的定位是只要知道他的相对运动,而如果需要知道相对于真实物理世界的运动,则需要建图等,在地图中定位。

需要指出,相对运动无论多准都会有累积误差(VIO是估计相对位姿的),即使VIO很准还是会飘,就变成原来15s不能用,现在30s不能用的东西了。如果是基于地图定位就不用太过纠结odometry,AR/VR需要快速地知道短时间内物体的运动,VIO可用,手机防抖
在这里插入图片描述
视觉可以纠正IMU的零偏,IMU可以为视觉提供尺度信息,或者在视觉丢失的时候顶上去。

VIO可分为松耦合和紧耦合。


  • 松耦合: IMU和视觉自己算自己的,通过后处理的方法将两个结果融合(典型融合方法是Kalman滤波)。(因为后处理不会影响前面的结果,所以二者是相互独立的。)
    在这里插入图片描述

  • 紧耦合:IMU和视觉相互弥补。(视觉可能是一个BA,IMU是一组运动方程 )课程主要介绍紧耦合。
    在这里插入图片描述

在这里插入图片描述
GPS,RTK受场景约束,有些场景很好用,有些场景就不行。

在这里插入图片描述


Section 3. 预备知识回顾

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
默认以




T


w


i



Twi


Twi
表示IMU的定位信息,平移可以直接看作IMU在world中的坐标。

在这里插入图片描述
在这里插入图片描述
由四元数的叉乘可得,一个四元数




q



q


q
等于自身与




[


0


,


1



]


T




[0, \boldsymbol 1]^T


[0,1]T
做叉乘。

四元数求导:
在这里插入图片描述
对cos和sin进行泰勒展开即得四元数的变化量。

两个四元数叉乘就代表把右边的四元数按照左边的旋转转了一下。
参考:
在这里插入图片描述





δ


θ



\delta \theta


δθ








t



△t


t
趋近于0时即为角速度




ω



\omega


ω

当使用旋转矩阵表示旋转时(和四元数没有本质上的区别),导数可以用泊松公式表示:
在这里插入图片描述
因为





a






b


=


a


×


b



a ^\wedge b=a \times b


ab=a×b
,所以也可以写成





ω


×




\boldsymbol \omega_{\times}


ω×

左乘时









R


p







ϕ




=





(


R


p



)







\frac{\partial Rp}{\partial \phi}=-(Rp)^\wedge


ϕRp=(Rp)
,右乘是







R



p







-Rp^\wedge


Rp

导数算出来后,如果是按照左扰动模型求的,就左乘更新上去,右扰动就右乘更新上去。

SO(3)导数,比如对旋转的导数
在这里插入图片描述
本课程习惯使用右乘







推荐阅读
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 自动驾驶中的9种传感器融合算法
    来源丨AI修炼之路在自动驾驶汽车中,传感器融合是融合来自多个传感器数据的过程。该步骤在机器人技术中是强制性的,因为它提供了更高的可靠性、冗余性以及最终的 ... [详细]
  • 本文描述了在使用 TexStudio 编辑 LaTeX 时插入算法伪代码块时遇到的“Missing \endcsname inserted. \While”错误,并提供了详细的解决方案。 ... [详细]
  • vue引入echarts地图的四种方式
    一、vue中引入echart1、安装echarts:npminstallecharts--save2、在main.js文件中引入echarts实例:  Vue.prototype.$echartsecharts3、在需要用到echart图形的vue文件中引入:   importechartsfrom"echarts";4、如果用到map(地图),还 ... [详细]
  • 事件是程序各部分之间的一种通信方式,也是异步编程的一种实现形式。本文将详细介绍EventTarget接口及其相关方法,以及如何使用监听函数处理事件。 ... [详细]
  • Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ... [详细]
  • 在2019中国国际智能产业博览会上,百度董事长兼CEO李彦宏强调,人工智能应务实推进其在各行业的应用。随后,在“ABC SUMMIT 2019百度云智峰会”上,百度展示了通过“云+AI”推动AI工业化和产业智能化的最新成果。 ... [详细]
  • 如何在PC上畅玩TC Games的《光影对决》:详细教程与优化技巧
    在PC上畅玩TC Games的《光影对决》不仅需要正确的设置,还需要一些优化技巧。本文将详细介绍如何在PC上流畅运行这款游戏,并提供避免卡顿和优化体验的方法。《光影对决》的一大亮点是其优秀的移动机制,玩家无需担心在极限走位时被墙壁卡住,游戏会自动调整路径,确保顺畅的操作体验。此外,我们还将探讨如何解决偶尔出现的切换问题,确保游戏过程更加稳定和愉快。 ... [详细]
  • 本文将继续探讨 JavaScript 函数式编程的高级技巧及其实际应用。通过一个具体的寻路算法示例,我们将深入分析如何利用函数式编程的思想解决复杂问题。示例中,节点之间的连线代表路径,连线上的数字表示两点间的距离。我们将详细讲解如何通过递归和高阶函数等技术实现高效的寻路算法。 ... [详细]
  • 当前物联网领域十大核心技术解析:涵盖哪些关键技术?
    经过近十年的技术革新,物联网已悄然渗透到日常生活中,对社会产生了深远影响。本文将详细解析当前物联网领域的十大核心关键技术,包括但不限于:1. 军事物联网技术,该技术通过先进的感知设备实现战场环境的实时监测与数据传输,提升作战效能和决策效率。其他关键技术还包括传感器网络、边缘计算、大数据分析等,这些技术共同推动了物联网的快速发展和广泛应用。 ... [详细]
  • TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得
    TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得 ... [详细]
  • 如何在 Java LinkedHashMap 中高效地提取首个或末尾的键值对? ... [详细]
  • 基于STM32的智能太阳能路灯设计与华为云IOT集成方案
    基于STM32的智能太阳能路灯设计与华为云IOT集成方案 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 在前一篇文章《Hadoop》系列之“踽踽独行”(二)中,我们详细探讨了云计算的核心概念。本章将重点转向物联网技术,全面解析其基本原理、应用场景及未来发展前景。通过深入分析物联网的架构和技术栈,我们将揭示其在智能城市、工业自动化和智能家居等领域的广泛应用潜力。此外,还将讨论物联网面临的挑战,如数据安全和隐私保护等问题,并展望其在未来技术融合中的重要角色。 ... [详细]
author-avatar
knight
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有