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

news2024/12/24 9:35:40

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依赖。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/358232.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

总是跳转到国内版(cn.bing.com)?New Bing使用全攻略

你是否想要使用强大的(被削后大嘘)New Bing? 你是否已经获得了New Bing的使用资格? 你是否在访问www.bing.com/new时提示页面不存在? 你是否在访问www.bing.com时总是重定向到cn.bing.com而使用不了New Bing? New Bi…

C++——C++11第二篇

目录 可变参数模板 lambda表达式 lambda表达式语法 捕获列表说明 可变参数模板 可变参数:可以有0到n个参数,如之前学过的 Printf C11的新特性可变参数模板能够让您创建可以接受可变参数的函数模板和类模板 模板参数包 // Args是一个模板参数包&…

Python3 pip

Python3 pip pip 是 Python 包管理工具,该工具提供了对 Python 包的查找、下载、安装、卸载的功能。 软件包也可以在 https://pypi.org/ 中找到。 目前最新的 Python 版本已经预装了 pip。 注意:Python 2.7.9 或 Python 3.4 以上版本都自带 pip 工具…

IM 即时通讯实战:环信Web IM极速集成

前置技能 Node.js 环境已搭建。npm 包管理工具的基本使用。Vue2 或者 Vue3 框架基本掌握或使用。 学习目标 项目中集成 IM 即时通讯实战利用环信 IM Web SDK 快速实现在 Vue.js 中发送出一条 Hello World! 一、了解环信 IM 什么是环信 IM? 环信即时通讯为开发者…

深度学习神经网络基础知识(一) 模型选择、欠拟合和过拟合

专栏:神经网络复现目录 深度学习神经网络基础知识(一) 本文讲述神经网络基础知识,具体细节讲述前向传播,反向传播和计算图,同时讲解神经网络优化方法:权重衰减,Dropout等方法,最后进行Kaggle实…

机器学习算法原理之k近邻 / KNN

文章目录k近邻 / KNN主要思想模型要素距离度量分类决策规则kd树主要思想kd树的构建kd树的搜索总结归纳k近邻 / KNN 主要思想 假定给定一个训练数据集,其中实例标签已定,当输入新的实例时,可以根据其最近的 kkk 个训练实例的标签&#xff0c…

5.5 配置路由反射器

5.3.2配置路由反射器 1. 实验目的 熟悉路由反射器的应用场景掌握路由反射器的配置方法2. 实验拓扑 实验拓扑如图5-5所示: 图5-5:配置路由反射器 3. 实验步骤 (1) 配置IP地址 R1的配置 <Huawei>sy…

JVM学习笔记三:运行时数据区之程序计数器

目录 概述 字节码取指令举例 CPU时间片 经典问题 使用PC寄存器存储字节码指令地址有什么用呢&#xff1f; 为什么使用PC寄存器记录当前线程的执行地址呢&#xff1f; 概述 运行时数据区中运行速度最快的存储区域&#xff0c;并且是线程私有的&#xff0c;每一个线程都具…

在线教育有什么优势?

AI 1、便捷性&#xff1a;在线教育可以让学生在家里或者其他任何地方学习&#xff0c;不受时间和地点的限制&#xff0c;可以随时随地学习&#xff0c;极大的方便了学习者。 2、节约成本&#xff1a;在线教育可以节约学习者的时间和金钱&#xff0c;学习者可以节省出去上学的…

【MFC】数据库操作——ODBC(20)

ODBC:开放式数据库连接&#xff0c;是为解决异构数据库&#xff08;不同数据库采用的数据存储方法不同&#xff09;共享而产生的。ODBC API相对来说非常复杂&#xff0c;这里介绍MFC的ODBC类。 添加ODBC用户DSN 首先&#xff0c;在计算机中添加用户DSN&#xff1a;(WIN10下&a…

详解js在事件中,如何传递复杂数据类型(数组,对象,函数)

文章目录 前言一、何谓预编译&#xff0c;变量提升&#xff1f;二、复杂数据类型的传递 1.数组2.对象3.函数总结前言 在JavaScript这门编程语言学习中&#xff0c;如何传参&#xff0c;什么是变量提升&#xff0c;js代码预编译等等。要想成为一名优秀的js高手&#xff0c;这些内…

一个页面分成几块展示

每一项占用一个div,里面展示的是具体的图文内容,页面底部展示的是当前页码和总数,实现效果如下: 代码如下: <div class"header"></div><div class"main-content"><divclass"equipment-item"v-for"item in equipmentL…

OpenCV-PyQT项目实战(8)项目案例03:鼠标定位

欢迎关注『OpenCV-PyQT项目实战 Youcans』系列&#xff0c;持续更新中 OpenCV-PyQT项目实战&#xff08;1&#xff09;安装与环境配置 OpenCV-PyQT项目实战&#xff08;2&#xff09;QtDesigner 和 PyUIC 快速入门 OpenCV-PyQT项目实战&#xff08;3&#xff09;信号与槽机制 …

信创引领丨呼叫中心加速适配国产化

随着信创产业的高速发展&#xff0c;企业服务软件高度适配国产操作系统成为大势所趋。早在2020年&#xff0c;佳信客服平台就正式通过“华为云鲲鹏云服务”平台系统的兼容性测试与认证&#xff0c;成为鲲鹏凌云伙伴&#xff0c;也意味着佳信客服平台正式与国产硬件平台及操作系…

【Kubernetes 企业项目实战】07、最新一代微服务网格 Istio 入门到企业实战(下)

目录 一、istio 核心资源解读 1.1 Gateway 总结&#xff1a; 1.2 VirtualService 1.2.1 VirtualService 主要由以下部分组成 1.2.2 virtualservice 配置路由规则 1.2.3 路由规则优先级 1.2.4 多路由规则解读 1.3 DestinationRule 二、istio 核心功能演示 2.1 断路器…

【离散数学】1. 数理逻辑

1.数理逻辑 2. 集合论 3. 代数系统 4. 图论 离散数学&#xff1a;研究离散量结构及相互关系的学科 数理逻辑集合论代数系统图论 逻辑&#xff1a;研究推理的科学 数学方法&#xff1a;引进一套符号系统的方法 数理逻辑是用数学方法研究形式逻辑的科学&#xff0c;即使用符号化…

vue环境总结

因将node.js升级后&#xff0c;打包运行出错了。后来加班重新改好。 一、用nvm管理可以用命令将node和npm对应安装 1.首先在控制台输入where node查看之前本地安装的node的路径 2.将node目录删除或者卸载 二、1.安装nvm 从官网下载安装包 https://github.com/coreybutler/nvm…

JDK定时器Timer原理

前言 前些时间想到利用redis实现延时队列&#xff0c;但是底层的定时器不止如何实现好些&#xff0c;故此研究了一下jdk的Timer。 Timer是一个用于执行定时任务的类&#xff0c;可以单次执行或按指定时间间隔循环执行&#xff08;直到主动cancel或线程被杀掉&#xff09;。Ti…

大数据之---Nifi-Nifi模板_具体使用方法---大数据之Nifi工作笔记0009

然后我们来看看,如果好不容易设计了一个流程,那么是可以通过 使用模板来让流程复用的 可以看到可以创建模板,一会说怎么用具体,上面已经 写清楚了,如何创建模板 我们看一下左侧的operate,这里可以看到这里就可以创建模板 可以看到小手那个地方,点击就可以创建模板了 可以看到…

python k8s库,read_namespaced_config_map:maximum recursion depth exceeded

使用背景 在python中&#xff0c;调用了gevent库&#xff0c;同时引用了官方的k8s库接口&#xff1a; GitHub - kubernetes-client/python: Official Python client library for kubernetesOfficial Python client library for kubernetes. Contribute to kubernetes-client/…