很久没更新自己的大专栏了,熟悉我博客的朋友应该知道如果写这个标题,就说明是挺认真写的~哈哈。

最近的工作也确实取得了很大的进展,进入了更困难的深水区

首先得感谢港科多位师兄师弟的帮助,尤其是本末提供的Diable刑天小车车,优秀的编码直驱电机的表现,轮足设计和棒棒的6DOF全能,很大程度的帮助了我们的工作!导致这一版几乎是为刑天量身订做的。。。其他底盘泛用性应该也是可以的。另外感谢某师兄企业优异的全局快门相机模组性能和沈老师VINS组过去这么多年的研究基础,这些事情对PR-MONO第一个正式版本的工程化工作产生了巨大的帮助。

今天这篇是看图说话,重点提出VIO与VSLAM应用和工程,以及实用性的一些基础评估方法,结合我们的工作,希望能对大家起到较大的帮助。工程化所有相关事项以前的文章都讲过,不赘述了。

设备长这个样:

接口嘛。。。反正你想得到的都有

​除了有点丑,没什么大毛病

首先看一下室内的测试环境:

​大概就这样,强光区很多,走廊都是弱纹理区。

评估VIO系统的核心指标有三项(分先后):开销,鲁棒性,精度

哪怕你的系统在EUROC或各种数据集上能跑到飞起!但是如果实际环境工作shi得一塌糊涂的话,那它对你个人来说还是个垃圾,因为你的系统最终适配的是你自己的算力平台与相机。

为什么我把精度放最后呢?从学术的角度看,最重要的当然是精度,但是实际如果开销的问题都解决不了,谈何鲁棒性?鲁棒性都没有(比如整天scale飘飞),那聊个毛的精度。怎么解决前2者确实很难我也谈过很多次了。从整个SLAM系统的角度来说,即使你VIO水平比较挫,也是完全可以用高精度RTK(没钱用个亚米级的low版RTK也行)来解决室外精度问题,室内可以用AI或者二维码来修正精度。其实就算我们这种整得很好的工程化VIO,在严肃场景(如电力/能源等行业)一样得耦合RTK,进一步控制鲁棒性也是建议耦合轮速计的。

先放室内:(1圈28米,10圈280米),这是简单场景评估,工作中存在1处强光照射,1块转弯区无纹理

下面2张图大约时速<1.1米/秒,转弯比较柔和(约60°/S),要求同事们都静止了,环境不错,基本没干扰。

顺时针10圈,逆时针10圈:

评估方法:10圈后计算和回环原点的直线绝对距离即可,方向可以靠估

注意,绿线仅仅是前端+后端优化的结果,这里是没有回环和轮速计耦合的,室内也没RTK。

结果:里程280米,顺时针偏差3.9米(1.4%),角度偏差6°左右,逆时针偏差2.8米(1%),角度偏差4°左右

不要问我为啥有差别。。。我手操的,我又不是机器。。。另外可能还有些玄学的成分吧。

好了,更精彩的部分来了

下图还是280米,时速直接干到1.6米,各个弯的转速激烈,最高超过120°/秒,正好午饭时间测试,大量同学在视线内反复通过(频繁的动态障碍物)!结合了大量工程/并行化和ZUPT的版本,在这次测试中升华了。

以下还是10圈优化的结果(结果没法看。。。)

​最终误差超过了8米,每环精度差异也极大,优化的结果基本不可用了。

但是当ZUPT+回环全开时(上下2张图对应的是同一个测试)

就变成了下图这样:

​这个误差有多低相信不言而喻一目了然了,有一些环环突出了一点是因为毕竟是我随意手控的嘛。。。有远有近,最终的误差抵达了不到0.6米!即0.22%这种精度,角度偏差1°。

室内测试告一段落,最后放张难看的带稀疏点云的总图(没开视觉窗口),稀疏点云的缺点就是世界观奇烂:

后续我们的重点工作也是在现在的基础上建立世界观,只有这样,VIO相对RTK和激光雷达的劣势才会越来越小,优势才会越来越大。当前的能力在室内和半户外来说,其实已经可以取代很多种传感器了。

​然后再放一下刑天在室外探索的记录了,下图大约30000平米:

​画红线的长度大约500米,在一个阳光普照的大晴天试的(光度极高),因为这次主要是测性能,没有严格按照划定的路线跑,大量进行了草地的穿越,得益于刑天优异的性能,在草地漫游中剧烈的无规则振动中VIO一直保持了非常好的稳定性。

其实录了个7分钟的视频,但是不知道怎么上载就随便截下图吧

​从左上视频可以看出行进路线在草丛中,从棋盘格的大小可以看出行进距离之远,左边的椭圆对应实景图中儿童活动区共160米的回环。其他就是在瞎跑了。。。这个全程户外800米的样子,刑天探索新世界。

测试并没有刻意取最好的结果,都是随便跑随便测的,我们在室内外都搭建了覆盖广阔的MESH网络,所以网络所有的包延时都大概在40ms以内,这个要注意,大家做同样测试的时候一定要注意网络还是得比较好。

从这些结果来看,懂行的同学可能会觉得那岂不是RTK得失业了?如果VIO建立了世界观,雷达也得失业了??!

其实哪有那么美好呢?现在虽然我们把VIO工程化又向前推进了几个大步。但是必须得说,高速场景即使建立了世界观VIO还是会被雷达秒杀,4自由度不可观的能观性问题依旧,初始化依然是很让人闹心的破事。很多能在机器人上完成的规定动作并不能用于汽车,同样,这类工程化很强的系统也不适用于VR等行业,即使建立了世界观也不适合具体的抓取等动作。但是我认为从未来的发展来看,它是有大量的用武之地的,尤其是在定建导环节来配合控制与规划,甚至可以作为很多设备的主传感器。

关于机器人状态估计(8)-VSLAM/VIO应用与实用性评估相关推荐

  1. 关于机器人状态估计(10)-VSLAM与VIO的3D建图,重定位与世界观综述

    近期我国迎来了cov海啸,其实我也不知道我羊了没有,但并没有什么不舒服同时因为我没有测,那自然是没有羊,或者是薛定谔的羊. 近年另外一块工作的综述,这篇科普的同时,也会包含部分有价值的信息. 一. 摘 ...

  2. 关于机器人状态估计8-VSLAM工程与VIO工程难点

    最近做产设和综述把头都整晕了,本来想认真更新GPU那篇DSP的姊妹篇,突然觉得太长了实在是没有写的欲望,还是写篇杂文算了...一看这个标题就知道 首先如果没有关于机器人状态估计(4)-成长路径与能力提 ...

  3. 关于机器人状态估计(1)-高斯分布应用

    知识主要来源于对Barfoot教授"机器人学中的状态估计"的分析总结理解以及工程实践,感谢高翔博士及其他译者. 今天写了2篇基础文,决定认真抽时间写一篇干货,是整个系列的第一篇,也 ...

  4. 机器人状态估计一之两大方程知多少

    状态估计中的两大方程知多少! 状态方程 测量方程 控制数据(这里为毛还把控制数据扯进来了,且看下面说明原因) 以上就是在状态估计两大方程中所需要着重理解的两个方程和一个数据. 前面 下面这些东西对后面 ...

  5. 关于机器人状态估计(13)-线性代数有多重要?18.06总结

    太久没更新主要是在忙开发和测试,这几个月被很多同学提问,同时接触了一些实习生.普遍发现动手能力不错,数学基础却差异很大.从我身边电子,CV或者SLAM做得比较杰出的朋友来看,大家普遍有个共性,具备优秀 ...

  6. Where Can Machine Learning Help Robotic State Estimation 机器学习在机器人状态估计的应用

    Where Can Machine Learning Help Robotic State Estimation Tim Barfoot 关于机器学习在机器人状态估计中应用的报告演讲.演讲时间2021 ...

  7. 关于机器人状态估计(4)-成长路径与能力提升

    今天突然想起应该补充一下正确的成长路径和需要掌握的技能 机器人状态估计是一门学习曲线陡峭的学科,总体来说需要大量的数学知识,以及较强的代码能力.很多工程师总是会在这个领域开始时就容易放弃,这里我总体描 ...

  8. 关于机器人状态估计/VIO/VSLAM中能观性/可观性/FEJ的一些直接解释

    知识来源是高翔博士与贺一家老师的VIO课程,以及Barfoot教授的机器人学中的状态估计. 可观性问题会直接带来多传感器融合融态中的关键手段:FEJ First Estimated Jacobian ...

  9. 基于扩展卡尔曼滤波(EKF)的机器人状态估计

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 EKF的目的是使卡尔曼滤波器能够应用于机器人等非线性运动系统,EK ...

最新文章

  1. visual c 语言参考手册pdf,《Microsoft-Visual-C-6-0语言参考手册(三)》.pdf
  2. 关于[UITableView setEditing:YES animated:YES] 没有animation
  3. CodeForces - 1288D Minimax Problem(二分+状态压缩)
  4. python3多线程编程_Python 3-多线程编程
  5. netscreen 25配置外网到内网的Webserver实践
  6. Linux内核中makefile有什么作用?深入解析makefile工作过程和原理
  7. 给你一份详细的 Spring Boot 知识清单,史上最全,建议收藏
  8. RN 0.26 引用方式中哪些属于React,哪些属于React Native
  9. opencv 滤镜效果php,opencv滤镜-去色滤镜
  10. 浪漫的c语言程序6,【2021跨年】最浪漫的烟花程序,送给新的一年的自己!(源码)...
  11. [WeChart]微信小程序抓包步骤
  12. SylixOS之OK6410开发板系统烧写
  13. 入行嵌入式开发若干年悟出的道理
  14. PAT 甲级 1014. Waiting in Line
  15. 吴彩强:从表征到行动---意向性的自然主义进路
  16. TFBGA240+25封装尺寸图
  17. html的div双线边框,设置div边框
  18. AVM环视:系统搭建整体流程
  19. python数字转中文_阿拉伯数字转换为中文数字的python实现
  20. 如何低成本化实时网络摄像头监控直播?

热门文章

  1. 计算机工具栏使用说明,2345好压主菜单:工具菜单使用说明
  2. Python通过pywin32操作Excel
  3. 基于C-V2X前向碰撞预警算法的实现
  4. finereport部署到php,finereport
  5. 12V5A 12V6A反激开关电源、氮化镓方案 OB2269 M5576 CR6842启辰微方案 方案包括原理图,PCB,变压器规格书
  6. 特征筛选利器:Boruta 原理
  7. 文件存储管理软件 php,Drawer文件管理系统
  8. 射气球(今日头条笔试题)? 待解决
  9. bootstrap树状图
  10. Flutter之fvm管理版本