关于机器人状态估计(11)-VIO单目与双目/雷达Lidar SLAM/未来的机器人
写这篇文章的时候刚发生行业大事件: Google收购ROS
其实一开始还是水,绝对大量文不对题,但是必有干货,毕竟用的是这个关键的系列标题。
最近有几件行业内发生的大小事,让我觉得有必要更一下。
首先是Livox的mid-360
好几个亲密小伙伴开始关心我会不会失业。。。~
其实说真的,我非常开心和快乐,早在2021年中的时候,在珠三角内部产业研讨中我们就已经得出了未来高线束(64-128)雷达会在车规级大量进入4位数区间(毕竟我们是卷王之国),Livox这个犀利产品只是将这个进程又向前迈进了一步。而且这个产品做得非常好,极大地降低了开发者们的门槛。一个市场,从来只有参与者越多,才能成为一个真正的蓝海,否则都是伪命题。
接下来放这个:
DJI的车规级平台,大家可以认真观察一下,Where is Lidar?
这是一件很有意思的事情,当然,主配个Lidar对DJI来说易如反掌。这里也就是给后文打个前站,告诉大家,其实CV一样可以玩到极致。
我非常非常喜欢DJI车载的宣传视频,大家有空也可以去看一下。一个姑娘一匹马,全程未出现车辆,未出现传感器。却充满了美感与浪漫,极大地拉升了B格。其实衷心希望未来我们国家的工程师,能够越来越重视这些软性的事项,我们要做好的,并不仅仅是我们的技术,更是我们作为一个又一个的工程组,能够真正地以我们的技术突破市场的同时,实现那些属于我们的浪漫。
第三个是奥比出的一个缝合,奥比作为青年一代的企业,也是我非常喜欢的公司。
虽然这个小东西是个缝合,我仍然非常喜欢,这是一个标准的Sersor+Plat的二合一,而且选择上并没有问题,Intel的视觉ASIC+NV的小算力平台,再配合部分奥比自己的Sensor。从某个意义上来说,从这也能看出年轻公司的野心和未来的规划。
最后再聊一个小事然后进正题,考虑到为朋友和伙伴保密,就不说太细了。
简单点讲就是遇到了一个数量极大的方案设计,但是甲方成本只能达到全套系统在当下必须具备的固有成本的1/3,中国公司和工程师们的传统想法就是以数量换价格,这也是过去的成功之道之一。但其实这个世界,从2022年开始就在发生剧变,这样的工作思路也是过去的成功路径,但是在未来未必可行,因为我们必须要遵从逻辑。仅仅有数量却没有利润的订单重要性会急剧下降,世界对工业品的整体需求正在下降,而我国的卷王正在变得越来越多。降本增效之外,如何创造和保证质量与B格,会是非常重要的课题。
这个设计中最大的问题就是想用通用SOC中的低核搭配去覆盖整个VIO系统。
这个想法其实挺好,我2021年也是这么想的,但是现在并不,也和我的工作相关~因为在相当一段长的时间里,独立或半独立的机器人,仍需要有相当余裕的算力空间用于感知与规划。。而且也是在相当一段时间里,它们并不会有真正的普及,虽然数量级相对现在至少提升2个。
过去提到过的部分就不再重复了,举了这4个例子后开始进入正文:
-
首先,视觉与雷达并非替代关系,在很多重要场景都是互补关系,如涉及法律法规风险的自动驾驶,电动轮椅类的东西。
2. 其次,VIO未来绝对不仅仅用于教研,实验室和机器人比赛等场景。它的构造能在相当多的场景成为主用,甚至唯一的感知配置,相对应的可以松耦合一些类似轮速计,rtk,i-TOF之类的传感器,或者用vslam搭配轮速计+IMU的DR来耦合,当然也可以适配多目VSLAM,减少VIO紧耦的开销。
3. 再次,机载/车载综合算力平台的重要性会越来越高,在独立和半自主机器人中,融合感知+规划一体承载的嵌入式平台会变成核心课题。当然也可以采用一些前后端结合的架构,如将集群优化,回环,重定位等工作放在云端。但是这一类主要适合集群的成组单任务类机器人。在这类任务中,如果是通核SOC设计,CPU/GPU/DSP/NPU都是必不可少的(具体能力和选择取决于场景要求)。专核设计的话,部分感知前端和优化任务可以ASIC化(参考Navion篇),FPGA可有,可无。
4. 最后,中低核SOC不适合任何独立/半自主机器人,甚至不适合任何玩具以外的机器人(哪怕是集群类很多工作量云端化的),原因有一大箩筐就不展开了。
VIO单双目异同:
1.首先,VIO本身就有主配角之分,较有代表性的VINS系列以IMU作为主C,如ORB-SLAM3, DM-VIO等以视觉为主C。
2.单目VIO需要大量数理知识和代码能力,上手困难,精度高,是通向双目VIO和多目VSLAM的必由之路,不搞透直接去弄双目和多目,基本就是普通调库调参侠,完全无法深入三相性和世界观相关工作,做出来的都是花架子。
3.单目VIO非常适合2种形态:空中无人机与手持装备,对地面AGV/AMR机器人不友好,对多足极其不友好。
4. 双目VIO融合了视差部分作为其中的主约束,部分降低了精度,但是极大地增强了三相性中的鲁棒性。还有个优点就是非常轻松的初始化。
5.不管什么级别的双目B线,仍然有可能在大场景小目标的情况下丢失尺度,任何时候都有可能发生。
6.其他的ZUPT相关工程问题,尤其是视觉盲人问题,2者一致。当然VIO和多目VSLAM本身通过精密的软硬件设计与耦合都能鲁棒掉大部分这一类的事情。
VIO与Lidar雷达 SLAM的异同:
1.世界观!世界观!世界观!线扫和固态雷达具备极佳的世界观,三相性达不到的VIO在它面前就是个垃圾,三相性能达到的VIO如果没有半稠密世界观在它面前就是个弟弟。而绝大部分的VIO没有半稠密/稠密世界观,有的三相性中最重要的开销度直接炸天。
2.优点是稀疏世界观的VIO,三相性能够优化和并行化或ASIC化到足够好的水准时,算力开销虽然仍然很高,但是远远小于Lidar那些ICP化点云的开销,算力平台要求远远小于雷达,即使感规一体也不需ORIN或Xavier大版这样夸张的算力。
3.VIO是有机会构建半稠密世界观的,但是完成后仍然面临很严峻的问题!规划开发有很多的难点,雷达的世界观主要是深度数据与三维建图构成的点云阵列,表述清晰,使规划工作难度急剧下降。而视觉即使提供了半稠密甚至稠密的世界观,如果不以ICP类的形态完成建图,对规划的指导仍然是比较抽象的。
4.从第3点开始延展,雷达规划走到今天,方法论无数,即使在三维空间中,地面机器人也只需要类似极坐标系+笛卡尔坐标系组合,再做一个简单的高程升维即可以解决(当然空间三维的飞行机器人规划非常复杂)。而VIO,即使完成较为稠密的点云,也没有足够好的工作设计可以参考。举一个很简单例子,大树投下的阴影,对雷达来说世界观中可以通行,而对视觉建图来说,它就是一个真实存在的可能障碍。如果做了视觉上响应的忽略,但是如果它是一个真实的深坑呢?此时雷达又可以简单地进行处理。所以VIO如果要作为主用传感+算力平台组合时,还是存在着一系列的缺陷。
好了,今天文章写完了,纯当纪念下Google收购ROS,对我们的工作又产生了进一步的鼓励,哈哈。