关于机器人状态估计(12)-VIO/VSLAM的稀疏与稠密

2023-05-16

VIO三相性与世界观室内ALL IN ONE 首先以此链接先对近期工作的视频做个正经的引流,完成得这么好的效果,仅仅是因为知乎限流1分钟以内的视频,导致整个浏览量不到300,让人非常不爽。

这套系统已经完成了,很快将正式发布,室外180米实测平移偏差也控制在了0.6%左右,最后1米上下徘徊,旋转无偏。标题其实和今天的文章关系不大,主要是梳理下稠密和稀疏的重点落地与应用。

先列一下最近的一些工作背景上的思考:

在接下来的 10 年,机器人融合融态感知即将迎来剧烈的变化,尤其是以视觉为主的融合融态感知,随着成本的降低与性能的提升,将广泛应用于导航面与操作面,为社会带来深远的变化。想象一台能为老年人完成 30+种养老服务任务并进行交流互动的 robots,在 5-10 年这个阶段不再是科幻。接下来 1-5 年内单任务/少任务/集群式机器人也将在我们的工业面和社会面广泛的被使用,不仅仅是特斯拉,DJI等。

但是我国在机器人领域其实与北美差距仍然很大,看似供应链强大,但大量机器人仍然 停留在中低端领域,先不提具体操作和任务面(离全面通过机器人内感知系统完成仍然有很大的距离),就以最基本的导航和定位面(SLAM)仍然高度依赖线扫雷达与固态雷达。以 SKYDIO 为例,DJI 作为龙头多年早已构筑了核心优势市场,但是 SKYDIO 仍然通过与 Nividia 与 CUDA 生态的深绑定,北美优秀高校专业人才,通过强大的 VIO 与其机体世界观构建技术开始了对 我国巨头“弯道”超车之旅。

SLAM 面首先应该极致的完成,这样各种机体才能真正进入任务面,进入自感知任务面后,我们才有机会真正在边缘端大量完成自感知多任务 Robots 系统。而这一块,将是未来真正的蓝海,同时机会属于中国。

目前我们的短板众多,首先就是通核 SOC 整体设计水准的低下:

1. 高端通核 SOC 设计水准远低于 Nividia 与 Intel,缺乏生态,国内厂家普遍依赖 CUDA,高端通核在 V8.2 框架上的几家优秀厂家都有同类问题,部分普通厂家开始深卷 NPU 等整型矩阵乘法卷积器,天花板有限。

2. 中端通核 SOC 普遍设计阉割或存在VI/VO短板,CPU/NPU/GPU/DSP 等均存在相当的设计缺陷, 仅适用于简单落地及应用。

3. 低端 SOC/MCU 普遍缺乏 DSP 与 FPU 设计,离 STM32 等 MCU 中高端设计的距离较大, 系统整体耦合程度低效。

其次程序员平均水准虽然不错,但是顶尖人才匮乏,普遍擅长面向对象,面向函数开发, 底层开发设计能力不足,ECS开发人才稀缺并集中在游戏公司(如米哈游)。

只有软件/硬件/算法能力需全部拉通,我国的自感知多任务机器人才会得到真正蓬勃和广泛 的发展。

这也就是我们这18个月以来工作的意义和目的,接下来聊聊稀疏与稠密

稀疏篇

1.稀疏最大的问题是没有好的世界观,所有的作业高度依赖重定位。

2.稀疏源自特征点法,稀疏的存在和能力的脆弱导致大量其他工作需要被耦合,如IMU紧耦合,轮速计耦合

3.稀疏如果落具体作业面,还需要增加更多的内感传感器,如单点雷达,如大面阵i-TOF

4.稀疏在常态化运作中还需要结合NPU或松耦合的深度相机的能力去除动态目标物,用起来非常麻烦。

5.稀疏并非一无是处,稀疏VIO能够很好地控制和管理三相性:开销/鲁棒/精度,在外界干扰有限的情况下可以很好地工作,在特定场景下可以通过特征点向图像的逆反馈反手进入NPU实现一系列有意思的识别和行为判断。

6.稀疏可以进行收敛,成为半稠密/稠密系统的回环模块,以空间重定位辅助半稠密/稠密系统的运行。

7.无论ORBSLAM还是VINS,均可以以稀疏为骨干,构建稠密,但是三相性被破坏,处理难以实时。

稠密篇:

1.真正的稠密开销极高,三相性的第一条就不被满足。通常以离线方式运行,也有做得比较好的通过Local和Global实现,全局系统上主机的处理能力极强。图例是以稀疏构建稠密(来源于CSDN博主Darren_pty)

2.还有一种稠密是先以强力的装置,如激光雷达构建先验,再通过稀疏去匹配,在固定场景作业中,这是一种非常优秀的做法,点云的数据结构与存储调用的处理是一个难点。

3.第三种稠密,或者叫半稠密/半稀疏都可以,就是如下图或开始的链接中的效果了

这个实现常见的来源有DSO/ORBSLAM/LSD各种暴力深化,实现过程非常复杂就不多bb了,为了保持鲁棒性往往耦合IMU,这一类的方法具备几个巨大的优势:

(1)首先相对激光雷达,系统有非常强劲的视觉纹理的连贯处理能力,尤其是对高度类似的地表信息,可以建立罕见的物体或地表爬纹能力,远超激光雷达和深度相机。在草地,公里,石板甚至是有光的综合管廊(或增加补光,雪地或光滑地表失效),均存在着精确位姿定位的可能性,这是其他所有传感器都无法达到和实现的能力。按照目前的开发与实验经验,当单帧处理的点数量>1500个时,此类能力被很好的建立,数量压倒质量。

(2)其次,此类半稠密点云本身就构建了和激光雷达类似的点云形态VIO三相性与世界观室内ALL IN ONE,可以直接用于规划处理,拥有实时的世界观,整个规划工作变得更加类似自动驾驶,重定位的作用权重急剧下降。

(3)此类方法能够更好地通过各类几何方法构建更稠密的建图,同时也没有丢失深度信息向视觉信息的逆反馈能力。

(4)缺点是开销仍然很高,有DSP和FPU依赖。

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

关于机器人状态估计(12)-VIO/VSLAM的稀疏与稠密 的相关文章

  • 输入年月日得出该天是星期几(C语言)

    大家好 xff0c 我是练习编程时长两年半的个人练习生昆工第一ikun xff0c 昨天因为在写Thoughtworkers的2018年笔试题 xff0c 所以没有更新 xff0c 今天就先把笔试题中的一个函数分享出来 xff0c 该函数可
  • Linux下的UDP服务器客户端的搭建(C语言实现)

    大家好 xff0c 我是练习编程时长两年半的个人练习生昆工第一ikun xff0c 昨天我们说了搭建TCP的服务器和客户端 xff0c 今天我们就来分享一下UDP的服务器和客户端搭建 UDP的特点是无连接 xff0c 多个客户端可以发送消息
  • 使用STL库list类实现单双向约瑟夫环问题(C++)

    目录 一 单向约瑟夫环 1 问题描述 2 list类函数用法 xff08 1 xff09 list构造 xff08 2 xff09 list iterator迭代器 xff08 3 xff09 list容量 xff08 4 xff09 li
  • 使用Qt制作个人计算器

    我们知道windows系统有自带的计算器 xff0c 那么我们也可以用Qt制作一款类似的个人计算器 xff0c 实现整数的加减乘除括号运算 xff0c 界面设计使用Qt xff0c 计算使用逆波兰算法 xff0c 下面我就来分享一下个人计算
  • 使用Qt制作简易的图片查看器

    我们知道windows系统有自带的图片查看器 xff0c 那么我们也可以用Qt制作一款类似的图片查看器 xff0c 实现图片的打开查看以及图片的翻页 xff0c 下面我就来分享一下图片查看器的制作方法 目录 一 描述 二 代码实现 1 头文
  • 计算机网络第二章总结

    目录 1 1物理层的基本概念 1 2数据通信的基础知识 1 2 1数据通信系统的模型 1 2 2信道的几个基本概念 常用的编码方式 1 2 3信道的极限容量 1 3物理层下面的传输媒体 1 3 1导引型传输媒体 1 双绞线 2 同轴电缆 3
  • 假溢出的解决策略

    假溢出 xff1a 在顺序队列中 xff0c 队列出队时并没有像线性表那样使后面的元素往前移 为了解决假溢出 xff0c 常用的方法是把队列想成一个首尾相接的环 xff0c 这种叫循环队列 在循环队列的入队和出队操作中 xff0c 用到了求
  • C++之lambda函数(匿名函数)

    lambda函数简介 lambda函数是C 43 43 11标准新增的语法 xff0c 也称为lambda表达式或匿名函数 lambda函数的特点是 xff1a 距离近 简洁 高效和功能强大 优点 声明式编程风格 xff1a 就地匿名定义目
  • 远程桌面基本原理

    远程桌面基本原理 远程桌面是一种技术 xff0c 它允许用户通过互联网或局域网远程访问另一台计算机的桌面 这种技术可以让用户在不同的地方使用同一台计算机 xff0c 或者在同一地方使用不同的计算机 远程桌面技术在现代计算机应用中发挥着重要的
  • C++之迭代器

    迭代器 C 43 43 中 xff0c 迭代器就是类似于指针的对象 xff0c 但比指针的功能更丰富 xff0c 它提供了对对象的间接访问 xff0c 每个迭代器对象代表容器中一个确定的地址 举个例子 xff1a void test vec
  • C++之类模板全特化和偏特化

    类模板 类模板是通用类的描述 xff0c 使用任意类型 xff08 泛型 xff09 来描述类的定义 使用类模板的时候 xff0c 指定具体的数据类型 xff0c 让编译器生成该类型的类定义 注意 xff1a 函数模板中可以不指定具体数据类
  • C++之完美转发、移动语义(forward、move函数)

    完美转发 1 在函数模板中 xff0c 可以将 自己的参数 完美 地转发 给其它函数 所谓完美 xff0c 即 不仅能准确地转发参数的值 xff0c 还能保证被转发参数的左 右值属性不变 2 C 43 43 11标准引入了右值引用和移动语义
  • C++之异常处理

    异常 异常是面向对象语言 处理错误的一种方式 当一个函数出现自己无法处理的错误时 xff0c 可以抛出异常 xff0c 然后输的直接或者间接调用者处理这个错误 语法 捕获全部的异常 try 可能抛出异常的代码 throw异常对象 catch
  • C++之原子操作(atomic)

    原子操作 所谓原子操作是指不会被线程调度机制打断的操作 xff1b 这种操作一旦开始 xff0c 就一直运行到结束 xff0c 中间不会有任何 context switch xff08 切换到另一个线程 xff09 原子操作是不可分割的 x
  • C++之RAII机制

    RAIIResource acquisition is initialization的缩写 xff0c 意思是 资源获取即初始化 xff0c 其核心思想是利用C 43 43 对象生命周期的概念来控制程序的资源 它的技术原理很简单 xff0c
  • VsCode反应较慢(vscode卡顿,反应慢)

    简述 xff1a 这几天敲代码的时候发现vscode反应好慢 xff0c 有时候更改个样式 xff0c 也是同样 xff0c 然后就开始找原因 xff0c 之前开的代码自动保存 xff0c Git Autorefresh Files Aut
  • 【C++教学】第一课——头文件,全局命名空间,主函数的介绍

    头文件 初学者肯定疑惑为什么每次打代码都要写一个所谓的头文件 xff08 如 xff1a iostream xff09 xff0c 因为你所用的 cout gt gt 34 hello world 34 就是这个 是在iostream里的东
  • JavaWeb02(js基本语法&表单提交方式)

    一 xff0c js基本语法 1 jsp是什么 xff1f 实际上jsp就是Servlet xff0c 是一种可以用来开发web资源的技术 2 jsp运行原理 xff1f jsp文件先翻译成 java xff0c 在将其编译成 class
  • JavaWeb(分页)

    1 分页显示的步骤 xff1a xff08 1 xff09 确定每页显示的数据量 xff08 2 xff09 计算显示的页码 xff08 3 xff09 编写SQL语句 当数据多起来的时候 xff0c 记得需要一个容器将它包装起来 xff0
  • HTTP代理

    HTTP代理 xff08 HTTP Proxy xff09 是一种在网络中经常使用的技术 xff0c 允许客户端计算机通过指定的代理服务器来进行HTTP请求 在本文中 xff0c 我将介绍HTTP代理的基本原理 实现方法以及相关的应用和安全

随机推荐

  • LayUI项目之我的会议(送审以及排座)

    目录 一 xff0c 会议排座 1 前台编码 调试后的jsp代码 2 后台编码 1 图片工具类 2 js代码 3 SQL语句编写 4 子控制器 5 dao方法 三 图片处理 图片处理类 前台代码 后台接收 三 xff0c 会议送审 1 前台
  • Docker-宿主机与容器之间的文件拷贝

    目录 一 xff0c Docker运行MySQL容器 二 xff0c 数据卷 三 xff0c 数据卷容器 四 xff0c Dockerfile制作增强版 五 xff0c Docker制作自定义Tomcat 一 xff0c Docker运行M
  • 小程序框架

    目录 一 xff0c 框架 二 xff0c 响应的数据绑定 三 xff0c 页面管理 四 xff0c 基础组件 逻辑层 App Service 五 xff0c 小程序的生命周期 六 xff0c 注册页面 1 使用 Page 构造器注册页面
  • 小程序后台数据交互-个人中心

    目录 一 xff0c 获取用户昵称和头像 登录过程 二 xff0c 登录 小程序 三 xff0c 后台 小程序服器配置 一 xff0c 获取用户昵称和头像 登录过程 小程序登录 小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身
  • 微服务框架及多模块开发

    目录 一 xff0c 项目模式 二 xff0c 项目架构图 三 xff0c 案例演示 主模块 公共子模块 子模块 添加页面公共资源 一 xff0c 项目模式 电商模式 xff1a 市面上有5种常见的电商模式 xff0c B2B B2C C2
  • Mybatis与微服务注册

    目录 一 xff0c Springboot整合MybatisPlus 创建商品微服务子模块 二 xff0c SpringBoot整合Freeamarker 三 SpringBoot整合微服务 amp gateway amp nginx 整合
  • 服务调用&分布式session

    目录 一 xff0c Nginx动静分离 二 xff0c 服务调用 创建配置zmall cart购物车模块 创建配置zmall order订单模块 服务调用 四 xff0c spring session实战 什么是Spring Sessio
  • C语言调试技巧(以vs编译器为例)

    实用调试技巧 什么是bug调试是什么 xff0c 调试有何重要调试是什么 xff1f 调试的基本步骤Debug和Release的介绍 Windows环境调试介绍调试快捷键调试的时候查看程序当前信息查看临时变量的值查看内存信息查看调用堆栈查看
  • (十三)STM32——串口通信(UART)

    目录 学习目标 内容 通信方法 并行通信 串行通信 通信方向 通信方式 UART 特点 串口参数 通信流程 寄存器 USART SR USART DR USART BRR 过程 代码 运行结果 运行结果 遇到的问题 总结 学习目标 本节我们
  • 关于VINS-MONO与VIO轨迹漂移问题定位的一些方向

    整个VINS MONO系统 xff0c 较容易在系统静止或外力给予较大冲击时产生轨迹漂移 xff0c 原因是imu的bias在预积分中持续发散 xff0c 视觉重投影误差产生的约束失效 如静止 xff0c 先验约束可能会在LM的线性求解器中
  • 爬虫的基本原理

    爬虫是一种自动化程序 xff0c 可以模拟人类在互联网上的行为 xff0c 从而获取网页上的信息 爬虫技术在互联网上的应用非常广泛 xff0c 例如搜索引擎 数据挖掘 网络爬虫等等 本文将从爬虫的基本原理 爬虫的分类 爬虫的应用 爬虫的优化
  • 通信接口五种主要的类型是什么?RS-232、485、CAN、USB

    笔者电子信息专业硕士毕业 xff0c 获得过多次电子设计大赛 大学生智能车 数学建模国奖 xff0c 现就职于南京某半导体芯片公司 xff0c 从事硬件研发 xff0c 电路设计研究 对于学电子的小伙伴 xff0c 深知入门的不易 xff0
  • 关于机器人状态估计/VIO/VSLAM中能观性/可观性/FEJ的一些直接解释

    知识来源是高翔博士与贺一家老师的VIO课程 xff0c 以及Barfoot教授的机器人学中的状态估计 可观性问题会直接带来多传感器融合融态中的关键手段 xff1a FEJ First Estimated Jacobian 即不同残差对同一状
  • 关于电子与电气自动化芯片侧的一些基础理解

    EEE Electrical and Electronics Engineering 电子与电气自动化工程 人类科技母行业 涉及的主要领域 xff1a 半导体元器件 芯片 xff0c 模组 PCBA xff0c 嵌入式系统 xff08 驱动
  • BA(后端)优化与卡尔曼滤波的一些区别

    今天这篇文章会写得深入一些 xff0c 主要知识来自于业内多位大佬的实际落地与自身的思考 主要涉及机器人状态估计与机器视觉 xff0c 多传感器结合时 xff0c BA优化与卡尔曼滤波的差异及如何选择 机器人状态估计中 xff0c 大家应该
  • 关于VIO零速更新(ZUPT)与控制三种约束的工程实践

    今天这篇是深度稍微高一些的 xff0c 尽量写细 xff0c 但是具体实践各家都有不同的方式与工程习惯 xff0c 就不多赘述了 小组工作比较忙 xff0c 代码还没来得及整理 xff0c 总体更新一下基础知识 VIO系统后端核心的三种约束
  • 关于DSO直接法与IMU预积分联合VIO/SLAM一些思路

    本文不适合初学者 xff1b 干货多没写具体方法 xff0c 目前还在数论分解和思考中 xff0c 估计得2个月后完成 必要性 xff1a 1 常规VIO系统如VINS MONO建立的地图质量太差 xff0c 稀疏且不便认知 2 假设并入D
  • 主流VIO/VSLAM系统改造与工程化落地

    今天主要写针对主流VIO和VSLAM如VINS MONO和DSO的工程改造思路 肯定是有相当价值的 xff0c 总体写得比较简单 xff0c 需要具备软件 硬件 算法等各方面综合能力才能掌握主要路径 xff0c 具体实现方面以后由其他同事来
  • VIO与全局快门及轮速计的一些应用小技巧

    封面就用一个可爱的小车车 之前各种针对VIO xff0c VSLAM和VINS的工程注意事项都讲过了 今天的内容主要是针对VSLAM xff0c VIO的实用性 比如Td xff0c 同步对时 xff0c 内参 xff0c 外参这一串 最近
  • 关于机器人状态估计(12)-VIO/VSLAM的稀疏与稠密

    VIO三相性与世界观室内ALL IN ONE 首先以此链接先对近期工作的视频做个正经的引流 xff0c 完成得这么好的效果 xff0c 仅仅是因为知乎限流1分钟以内的视频 xff0c 导致整个浏览量不到300 xff0c 让人非常不爽 这套