元宇宙作为2021年最热门的概念已经是无人不知、无人不晓,而自动驾驶领域也有一个元宇宙,这里有无数的自动驾驶车辆行驶在道路上,这里是自动驾驶未来的模样。
在第六期博闻驭识线上课堂上,驭势科技仿真测试团队负责人Edith带你一起构建自动驾驶元宇宙。
以下为正文内容:
★
元宇宙(Meta Verse)从字面上看指的是“超越现实的另一个宇宙”,这个词最早出现在科幻小说《雪崩》,Neal Stephenson描述了一个平行于现实世界的虚拟数字世界,那时被译作元域。
虽然元宇宙这个词出现了很久,但是却还在不断发展当中;尽管尚无法定义元宇宙,我们仍可以窥探到它的很多特性,例如持续性(可以持续运行)、多样性(存在数以万计的场景、元素)、全覆盖(在任意地方均可接入)等等,未来可能还会有更多特征出现。
在自动驾驶的仿真测试环节,就可以构建一个元宇宙。在这样的元宇宙里,你可以看见无数自动驾驶车辆行驶在马路上,车上的人们可能在学习、工作,甚至可以开Party,而路上的行人习以为常。
如何构建一个自动驾驶元宇宙?
构建自动驾驶元宇宙有三步:
第一步是静态环境的孪生,对应后缀Verse(代表世界),我们需要采集与导入现实世界的静态环境;
第二步,动态元素的植入,对应Meta,需要在第一步生成的静态环境中植入一些动态元素,令元宇宙能够超越真实环境,为什么这样做就能超越现实呢?接下来的内容中会给大家揭晓;
第三步就是自动驾驶车辆的接入了,这样自动驾驶元宇宙的雏形就形成了。
静态环境的孪生
静态是相对动态而言的,不怎么变化的设施,例如厂区的道路结构、厂房等等。
孪生这个词则指的是,利用现场采集到的道路模型、地图语义等元素,在虚拟空间中、构建一个1:1、还原真实场景的模型。
经过现场数据采集、修正与重建、导入生成等一系列步骤,就可以将现实搬进电脑,开始构建一个元宇宙。
现场数据的采集方式很多,可以通过无人机拍摄、激光雷达扫描、车载摄像头录制等等。例如利用加装LiDAR、Camera等各种传感器的AI采集车,到现场运行,就能采集道路模型、地图语义等我们需要的元素。
这个环节里会涉及到很多客户现场地图的信息数据,这些涉及安全,驭势科技所有的技术都立足国内本土自主研发,不依赖外部,同时拥有着严苛的数据安全管理机制,能够保障数据信息全链路、全流程、自主安全可控。
现场采集到的数据有时候并不是很完美,产生干扰的因素很多,例如室内定位精度不高,如此采集到的数据会有偏差、有重影、有压缩,如下方左图那些红色和橘色的线,经过修正与重建,在右图我们看到的就都是绿色的,这些数据就是正常的。
假如真实世界不方便进行这样的数据采集,但又有几处复杂的位置需要仿真构建,那么这一步可以简化,我们可以直接通过语义描述来构建一个小小的元宇宙。
最后将这些数据导入我们的系统,系统就会根据语义协议,生成静态环境了。我们还可以导入修正后的点云数据进行比对,路面上有车道线、人行道、路面标识和禁停区,有路牙、和廊柱,还看到红白路障,到此一个静态环境就孪生完毕了。
动态元素的植入
在本节开头就提到过,这个步骤会令元宇宙超越现实世界;因为仅仅是孪生,我们不过是复制了一个宇宙,而将现实中已知会发生、未知会发生的动态元素植入环境中,也就是说可以把预测到的可能会发生的情况和事件植入。这就开始超越现实世界了,比如你期望自动驾驶在暴雪天气中可以稳定运行,那么我们的元宇宙就可以是个终日暴雪的环境。甚至我们还可以定义随机量、设置AI元素,如此就连未知的未知也都植入了。
相对自动驾驶车辆而言,环境中的其他实体可以统一称之为干扰。在元宇宙中,干扰的类型非常多,比如行人、车辆、各类路障、路边设施,还有各种飞禽走兽……每一个实体都可以为其定义动作,也只有定义了动作的实体才是完整的干扰,实体的动作又可以分三类:AI、路径跟随、静止。
AI:举例来说,一个人走到马路边上时,他会停留下来等待、还是会突然横穿马路、又或者犹犹豫豫要过不过的,行人的“心情与想法”决定了他的行动轨迹,AI的好处是场景行为是随机的、变化的,可以覆盖很多种可能性。
路径跟随:顾名思义,我们需要定义一条路径,这种定义包括内建的路径和用户定义的路径:
● 内建的路径,相对用户自定义而言,我们把常用的路径预先设置好以便客户选择,例如:走走停停、超车、横穿等等。
● 用户定义的路径,需要定义几个关键的node,包括它的位置、方向、切线,还要定义在node上实体需达到的速度值。
同样模拟一个行人,采用路径跟随的模式,我们可以预设一批运动轨迹,让他按设想行动,这样的好处的是,我们可以绝对重复一个场景很多很多次。
静止:就是不动了,那怎么算动作呢?因为某些静止的物体存在出现/消失的状态,更有和前两种动作组合的情况,比如一辆干扰车,他在超车后、有可能就驶入车位、成为静止的车辆。那么如何实现这种组合?这就需要请出触发器了。
触发器是一类“看不见”的元素,它掌控上述实体的动作的控制权,触发器有几个主要成员,一是判定条件,二是绑定对象及动作:
一、绑定对象和绑定动作很好理解,绑定的是哪个实体,触发后就控制该实体执行绑定的动作。
二、判断条件又分判断对象和判断值:
● 判断对象,触发器要根据当前场景中哪个实体的状态去判断
● 判断值,上述实体的状态值达到什么阈值空间才触发
举个简单的例子,在某个位置P,我们设置了一个位置触发器T,这个触发器绑定了一只跟随路径的海鸟B,绑定的动作路径是从道路左侧走动到道路中央、然后起飞到右侧的变电箱,那么当自动驾驶车辆V,到达位置P、与触发器T发生正向接触,这时就会触发海鸟B、从静止状态、走动道路中央、起飞到右侧的变电箱。
如果绑定的是AI海鸟,那我就它会怎么做了,是会啄食呢?还是起飞呢?总之它会从一只鸟雕塑复活,开始做符合鸟类特性的行为。
触发器的灵活性、和干扰实体的稳定性,决定了场景的丰富性,或者说元宇宙的多样性,这也很大程度地影响了、对自动驾驶解决方案的、测试质量。
自动驾驶车辆的接入
上述两个步骤完成之后,就可以接入驭势科技元宇宙的主角——自动驾驶车辆。
数字孪生和导入生成的手段,就好像建设了传送阵,让我们可以轻易在元宇宙之间切换,如此我们可以选择、不必关注现实的每个角落,我们只需关注重点、复杂的那些位置,比如无人车在左边的某码头运行,轻松切换就可以进入右边隧道运行。
如上所述,就是一个元宇宙雏形的打造了,我们来简单回顾一下:第一步是静态环境的孪生,通过采集数据信息、修正重建、导入生成宇宙;第二步通过动态元素的植入完成了超越,才形成MetaVerse,这一步包括干扰的植入与控制,最后是自动驾驶车辆的接入。
在元宇宙,我们能做什么?
那么有了一个元宇宙之后我们可以在其中做什么呢?
给大家举一个例子,假如你是一家工厂的负责人,有三个痛点想解决:
● 生产有淡旺季,无论何时,物流司机都必须按旺季来配备,在淡季势必造成浪费;
● 卫生需要,在运输过程中隔离人与食品;
● 厂区坡陡弯多,安全成本高,尤其担心新招募的司机产生安全问题。
但是你采购新设备是十分谨慎的,购买某种新设备来提升工厂效率你会很担心是否真的能满足需求,而驭势科技有三柄利器满足你的需求:概念验证、产品测试、仿真运营。这三柄利器都是可以在自动驾驶元宇宙中可以实现的。
概念验证
概念验证简而言之就是客户提出了特定的需求,我们在模拟环境里进行真实数据的运行,对需求的落地性进行测算,并根据业务实际、进行不同程度的调整、甚至预测,来看我们的解决方案、能否满足你真正的需求。
通过模拟真实运营的示例,向客户展示“装货-运输-卸货的全无人物流运输”是什么效果,在这个流程里不需要让人和货物接触,可以减少人为操作失误,保障货运安全性;可以随时启用,不用担心资源浪费,让客户的感受更直接;还可以告诉你,无人车的停车区域是多大、会借多少道、货物之间的间距又有多大,可以有多少无人车同时卸货等等,这些细节可以使方案更加精细化。
还可以用来指导基建,尤其是辅助自动驾驶的基建,V2I设施的仿真可以展示建设该设施如何同时提升安全性和运输效率。在一条车流穿行不息的路口,没有V2I设施时,无人车判断会过于保守,在路口会等待很长时间;而有了V2I设施,无人车会更聪明,挑准时机会直接转弯,这能大大提升运行效率、降低路程中花费的时间。
其实还不止提升运行效率,倘若该路口存在盲区,比如大树遮挡、货物堆放、货车临停等等,没有V2I设施辅助的无人车会因为视野受限而不安全,容易产生安全事故。
有时候一个概念验证可以通用到所有的客户,比如客户可能想换一个拖斗供应商,因为新拖斗物美价廉或运载能力更强,但又不确定换过以后安全性和通过性是否还能得到保证,这时候制动规格测试就派上用场了,通过使用干扰车以不同车速和无人车对向行驶,而得出无人车成功制动不发生碰撞的最大车速,这可以用于对比更换拖斗前后的安全性表现。
产品测试
如果有幸,你决定和驭势科技合作开展全面的厂区物流无人化,这会是个长期的过程,而且一定会遇到一开始未能设想到的业务需求,比如说新增了一条线路,运营效率需要提升至少一倍,那么我们的产品就需要迭代,而每一次迭代都需要进行不同级别的正规的完备的产品测试,才可以送到客户现场。
因此在元宇宙中能做的第二件事就是产品测试,其中又包含了三大层级:模块测试、系统测试、回归测试。
模块测试:即一个模块或者几个相关模块的测试,例如盲区处理算法,优化前由于盲区遮挡,无人车无法预知被遮挡的垂直车辆,发现刹车不及,发生了碰撞,那么优化后就需要复刻一模一样的场景,这在现实世界中是不可能做到的,这时候元宇宙的优势就体现了出来。
第一个优势是绝对复刻,即两次测试场景完全一致;二是成本很低,使用真车测试,撞一次的成本会很高;三是可以进行无限次的测试,哪怕人类去睡觉了,无人车依旧可以继续测试。
系统测试:当这次版本的所有单模块以及模块都被测试过了,就进入了系统测试;例如某次版本着重更新对飞机业务的安全保障,就把飞机搬进了测试场地中, “AI驾驶员”会不知疲倦地运行着,当它看到后退的飞机时,会减速并停在指定区域外,以免影响飞机运营。
回归验证:即完成对一个版本的新增功能的测试还要保证版本功能没有回退,因此驭势科技按照道路类型到干扰类型再到触发条件的三级分类创建了自动化回归测试用例库,例如下图中换道场景下用例库。
仿真运营
为了能在设备落地之前发掘更多客户需求,在这个元宇宙中可以进行同步仿真运营,下方未来工厂的视频想必大家也已经见过,利用这样的仿真运营提前发现了很多客户需求,随着产品迭代优化,当你的工厂有新业务时,也许不必等待下一代版本就可以直接进行部署了。
回顾工厂负责人痛点,本质上有个核心问题——降本增效,我们通过三招可以科学地来解决这一核心问题:概念验证、产品测试、仿真运营,能够在产品落地运行前发掘新的业务需求,提前做好部署准备。
元宇宙背后的场景库
上文中我们提到了回归测试,回归测试需要场景库支撑,而形成自动驾驶元宇宙背后的场景库包含很多元素的变化,天气演变、障碍物的类型、数量、临时状态或运动模式都要考虑。
在客户现场驭势科技真实观察到了某些边角案例,例如:某机场在海边,常常有海鸟飞过,一开始无人车策略过于保守,检测前方有物体即会停下,大大影响了运行效率。后来对于飞鸟检测进行了优化,确认是飞鸟无人车就不会停车,为了确保这个算法稳定有效且不会错检其他物体为飞鸟,场景库就有了一批案例来帮助算法演进。
作为正向案例,海鸟分了大中小三种,飞行模式也分了横穿、盘旋上升、盘旋下降;而作为反向影响案例,模拟抛掷一个球体(给这个球体绑定一条抛物线的动作路径),行人快速跑过等等,这就是场景泛化了。
泛化是一个很有意思的课题,包括参数泛化和结构泛化,每一个场景都可以引申出无数的场景,而这个课题如果有机会再给大家深入讲解。
★
点击文末阅读原文,即可查看完整版视频。
在元宇宙中窥见自动驾驶的未来,不局限于空中楼阁,在虚拟世界与现实世界碰撞交融中演进,让自动驾驶拥抱整个世界。
欢迎持续关注博闻驭识线上课堂,用深度知识挖掘自动驾驶的未来,在新的一年继续扬帆启航。