大家好,我是来自腾讯自动驾驶业务中心的孙驰天,今天我想跟大家分享一下我们用游戏技术,来助力自动驾驶仿真所做的一些工作,在今天的分享开始前,想先有几个问题向大家提问一下。
首先第一个是,不知道在座的各位,有多少是自己开车上下班的?下一个问题是,开车上下班的这些同学们,不知道你们有多少同学在车上是搭载有辅助驾驶或者说是智能驾驶的功能的。那么搭载有辅助驾驶或者智能驾驶功能的同学们,不知道你们有多少同学敢真正的信任自己车上的辅助驾驶或者自动驾驶功能,让它来代替你做自动驾驶和辅助驾驶运行和决策规划呢。
其实当然我也看不到在座同学们的反馈,但之前我们也在一些线下场合和交流里也询问过一些同学,我们得到的反馈,其实并不如我们想象中的数字那么乐观。大家对于自动驾驶或者说智能驾驶的安全性还是有一定的担心的,所以今天我们的分享主要是介绍我们用了哪些游戏技术,来帮助我们更好的打造自动驾驶的仿真的技术,从而帮助我们自动驾驶本身的安全性有一个更高的提升。
腾讯自动驾驶部门介绍
首先介绍一下我们整个腾讯自动驾驶部门,其实很多朋友、很多同学都会问我腾讯还有自动驾驶部门,你们是不是要造车呀,因为确实是可以看到目前整个行业内部做自动驾驶以及造车的公司越来越多。但其实我们还是很明确的,腾讯是不会自己去造车的,那我们做什么呢?
我们的定位是做汽车行业的工具箱和加速器,我们会去做帮助自动驾驶落地的工具、软件以及服务,那会涉及到比如说包括面向自动驾驶的模拟仿真体系TAD SIM,包括自动驾驶车端的全套软件TAD Pilot,也包括面向自动驾驶用的一套云工具链和云服务TAD Cloud,最后一个是我们面向自动驾驶专用的,一种地图格式叫高精度地图TAD HD MAP。
当然今天的分享主题可能跟我们面向自动驾驶仿真系统TAD SIM更相关一些,腾讯自动驾驶的合作伙伴会包括政府、车厂、汽车制造商或者Tier1一级供应商之类的,当然我们的合作伙伴也会和高校进行科研的、前沿的应用。
从技术研究走向落地应用
腾讯自动驾驶是2016年正式成立的,在这五年来我们也打造了三位一体的面向自动驾驶的研发体系,包括刚刚我们说过的一个自动驾驶的云开发平台、自动驾驶的高精度地图的平台,也包括一个专门为自动驾驶或者我们叫智能网联汽车服务的仿真平台。
落地难题1:感知算法训练
那我们在这几年的研发、探索和实践中碰到了什么样的问题呢?其实我们很深切的感受到,在整个自动驾驶行业、或者我们说智联网联汽车这个行业,有一些难题是困扰着我们整个行业的前进和落地,所以我们将这里面的最重要两点总结了出来。
第一是我们在感知算法训练上所面临到的挑战,有一个比较有意思的段子是说,人工智能、人工智能,你有多少人工才能有多少智能,这个点其实在自动驾驶行业里也是非常现实的,每年全球这些做自动驾驶的公司,需要投入非常多的人力物力还有财力,来进行自动驾驶专用的人工智能算法的标注还有训练,这里面需要标注的这些样本,包括一般的汽车在路上经常碰到的交通场景,也会包括一些可能我们平时不是很经常碰到,但我们一旦碰到会发生比较危险的交通事件的一些场景,我们都是需要去进行数据的采集和标注的。
据第三方的统计,每年全球这些自动驾驶公司,光在这样的数据集的采集和标注上,就有超过10亿美元的投入,所以这个投入还是非常非常巨大的,而且这个数据集也是很难进行非常普适性的共享。原因是,当然,行业内有些公司会将自己采集和标注的数据集拿出来给大家去共用,但是其实在不同的国家、不同的城市内,是有不同的情况。
我们举个例子,我国有些特色的场景,比如说外卖小哥、比如老头乐这种电动车 这种场景或者说这种要素,在别的国家是很少见到的,那这种要素的采集、标注都是需要我们国家内部的这些科技公司来自己进行数据的搜集和标注、制作。
所以这方面就会导致我们的数据集,基本上是每家都要自己去制作很多很多的标注和采集的投入,这样的量级对于自动驾驶行业来说,还是比较沉重的负担。
落地难题2:测试验证
第二个比较重要的问题,需要行业解决的是测试验证问题,在2016年的时候,兰德智库就提出来一辆自动驾驶汽车,需要经过110亿英里这个距离,才能证明它达到一个合格的人类驾驶员水平,它才可以进入一个量产的阶段,那110亿英里是什么概念。这里我们举了一个比较直观的数字,地球到太阳距离大概是0.932亿英里,这样相当于是不到1亿英里的样子,110亿英里就相当于100多倍的地日距离,这个距离行业里的公司们做到什么程度呢?
我们拿行业里可能路测数据最多的谷歌无人车的子公司叫Waymo,以他的数据来举例,Waymo到目前为止,已经完成了超过2千万英里的路测,即折合成0.2亿英里的数字,大家可以看到0.2亿英里,和我们想达到的目标数字,110亿英里还是有一个非常大的距离,而且这也是花费了Waymo很多年的时间才能达到。所以这个数字将是我们自动驾驶落地的一个非常大的阻碍。
解决策略:虚拟仿真
那我们行业里会去怎么解决它呢?目前大家看到比较通用的办法,是利用虚拟仿真的引擎、虚拟仿真系统,来生成各种各样的场景解决刚刚所说的两个问题。举个例子,第一个问题感知算法训练的问题,那我们可能不需要通过这么多的真实采集车去进行数据的采集和标注,而是借由仿真系统自己内部构建千变万化、多种多样的场景,比如说城市的、高速的、城区的、晴天的、雨天的、雾天的等等这些场景会生成各种各样的图像。点云、不同的数据集用来给做感知系统做训练。这样做的好处,除了我们可以很方便的生成各种天气也好、极端的交通场景也好、直接生成出来这些对应的场景也好,这是一部分。
另外一个重要原因,是因为由仿真系统生出来的场景是自带真值的,“真值”是指什么呢?这可能是在人工智能里,用得比较多的一个词: ground truth。它是指一个物体或者一个元素的客观属性,其实我们在观察和了解这个世界的时候,我们看到的东西、我们认知到的东西、或者我们摸到的东西,其实它都不是真值,它不是客观值,它是观测值。而真值是指这个物体本身就具备的客观属性,所以由观测值去推导它物体本身具有的客观真值,中间就会存在误差,这里面就会引入错误,但由仿真系统这种自带真值的系统,它生成出来的、预带标注结果的数据,它的结果是100%准确的。所以通过这种方式可以100%准确的,生成带有标注结果的训练数据。
第二个问题测试验证,虽然行业内公认的谷歌无人车的子公司Waymo,虽然它目前只进行了0.2亿英里的路测,当然这里的“只”是有一点引号的意思在,因为他已经是行业里遥遥领先的一个路测距离了,但是他已经进行了150亿英里的仿真测试,当然不仅仅是waymo了,在整个行业内部,使用虚拟仿真技术来进行大范围、大规模的里程测试,是一个共识,大家也将虚拟仿真技术称作为自动驾驶技术的奠基技术,为什么要用虚拟仿真技术,来尽可能的代替道路测试呢?
当然我们不是说要完全代替,我们只是说使用虚拟仿真技术来极大的代替,比如95%、99%的路测里程。有三个非常重要的原因,首先第一是安全性问题,说到安全性问题,我想大家可以把时间带回到2018年的3月18号,在那一天,有一位可能大家会比较熟知的人,一个很有名的作家李敖先生去世了,当然这事是比较受我们关注,但其实在同一天、在自动驾驶行业内也发生了一件非常有冲击性的事情,就是在2018年的3月18号,在美国的亚利桑那州,uber的无人测试车发生了整个行业内、全球的第一起自动驾驶测试致死事故,这个事故其实当时对于整个行业来说,是非常大的一个负面冲击,因为自动驾驶目前面临的挑战,如最开始我提的那几个问题一样,大家关心的就是最核心的就是安全性这个点。你在测试过程中就已经发生了致死事故,你又如何能够保证你的产品,以后在大规模应用的时候,可以解决这些你本应该解决的安全问题呢?
所以使用虚拟仿真测试来代替真实的道路测试,就可以完全避免安全性的问题,因为在虚拟世界内部是不会有任何真实的伤亡,毕竟你在虚拟世界内部你把楼、把车、把道路都撞毁了也是不会有任何损失的,所以安全性我们是用虚拟仿真测试来代替真实路测的一个很重要的原因,也是我们放在第一个的原因。
第二个原因就是时间和金钱,可能在座的小伙伴们没有真正从事过自动驾驶算法的测试,我举一个我们去进行一次自动驾驶路测例子,早上可能准备代码的发布、发包、车端部署,中午我们上车,把车开到指定的测试区域,因为不是所有区域都可以测试的,你必须要去政府指定的自动驾驶的测试区域开展路测,测完之后下午再把数据拿回来,拿到本地我们进行数据的分析和处理。
这样一来一回,那怕你只是调了你算法里非常小的一个参数、一个变量,那也是需要、至少需要消耗一整天的时间来进行验证。我们可以想象,如果当你进行更多的、更丰富的场景测试,有几千个、几万个、几十万个场景需要测试和覆盖的时候,那这个所消耗的时间和金钱是非常海量的数字。而使用虚拟仿真测试来进行这样的测试,你唯一需要承担就是电费一个成本。
第三个我们会重点提到软件OTA的回归测试,可能这个概念对于我们的小伙伴们来说会有一点陌生,在这里我简单解释一下,软件的OTA是指这个软件可能一开始发布到自动驾驶渠道上是版本一,后面通过不停的云端推送来进行长期的升级和迭代。比如特斯拉,它是最典型的自动驾驶行业内部,或者汽车行业内部,会使用OTA不停的进行智能驾驶或者说辅助驾驶软件升级的一家公司。
回归测试,是指我们每次升级之后,我们要进行一个非常全面的检查和测试,来保证我最新的自动驾驶算法,是可以解决之前我所有已经解决的问题,而不是说捡了芝麻丢了西瓜,或者拆东墙补西墙。我解决了新的问题,旧的问题又出现了,所以回归测试是非常重要的一点。
大家可以看到的是,如果一个软件版本就需要进行110亿英里的里程测试,那当每次你的软件通过OTA进行更新之后,你需要进行回归测试的时候,那这个总的里程就是一个天量、天文数字,没有一家公司是可以承受得起的。
“绿洲”虚拟仿真系统
所以,使用虚拟仿真测试来进行软件OTA之后的回归测试,这也是一个必然的趋势。所以基于上面的这两个解决方案,我们就做了一件什么事情,我们的目标是要打造一个类似于电影《头号玩家》中的“绿洲”系统,当然最近也上映了新的电影《失控玩家》,大家可能也有一些同学去看了,也是类似的概念。
本质我们的目的是要构建这样的虚拟世界,只不过接入到这个虚拟世界内部的,不再是人类的玩家用户,而接入的是被测试的自动驾驶算法,我们的目的要生成不同的关卡、不同的副本,让自动驾驶算法来体验不同的场景,面对不同的困难和挑战,让我们来观察他们是不是可以,很好的去解决这些不管是路上常见、还是路上不常见的交通场景和问题,从而我们来决定这个算法是不是已经成熟到可以部署到自动驾驶车辆上,进行真实的道路测试或者规模的商用 。
核心仿真系统的核心能力
基于这个目的,我们就需要打造我们的核心仿真系统,我们也总结了四个仿真系统最核心的能力,在这里也是直接的列出来给大家。
第一个是对于一个真实世界的几何还原能力,对于世界的几何还原能力,大家可以理解为我们去构建了一个游戏的场景,这里面可能更需要在三维的静态场景之上。不管是我们的游戏里,我们叫场景构建、还是地编,可能都是类似一个概念,只有很准确的将一个世界、真实的还原出来,我才有可能比较准确的去观测它。尤其是我们在做自动驾驶测试的时候,我们不仅要将世界非常真实的还原出来,我们还需要将去观测这个世界的算法或者是模块,我们叫传感器,比较精确的还原出来。大家熟知的传感器可能会包括摄像头,这可能是大家最了解的,其实在自动驾驶或者智能网联汽车领域,我们也会用激光雷达,毫米波雷达这样的传感器。所以我们的目标是,通过对世界的完整、精确的几何还原,来帮助我们进行世界的真实重建,以及基于真实重建的世界的传感器仿真。这是我们做的第一步,对于世界的几何还原。
第二步就是要进行,对世界一个非常精确的逻辑还原,那几何还原解决了,我们如何比较精确的还原静态场景的问题,那逻辑还原需要解决的是,我们如何去生成世界内部的动态的元素。动态场景问题,那动态元素就会包括我们说的车、行人、外卖小哥、老头乐电动车。
想去还原这些动态要素,首先就要对这些动态元素有一个比较形象、比较准确的建模,车的运动轨迹是什么样子的、人的运动轨迹是什么样子,当行人碰到别的障碍物车的时候,它会有什么样的反应,当行人碰到别的车、碰到别的行人的时候,是什么样的反应。这都需要我们在进行逻辑还原的时候,需要进行非常精确的还原,从而让这个世界内部的所有元素、动态元素、车流人流都更精确的贴近真实世界的这些元素的反馈。
第三要对于真实世界的物理还原,做物理还原的原因是因为我们在做整个自动驾驶仿真的时候,我们很关心这些汽车运动模型,这辆车的动力学模型、它的电机、发动机、变速器、动力传动系统,当然我们也会关心汽车的轮胎和地面的摩擦等这些物理效应,所以只有当比较准确、精确、真实还原出这些物理效果,才能得到一个比较精确的车辆仿真结果,这就是我们第三步要解决的问题。
第四步需要做的是高并发,这个可能在上一部分我也提到了,我们做仿真系统的目的,就是给这些自动驾驶算法建立非常多的副本,让他们去进行挨个的困难和挑战。所以你想建立成千上万、几百万个副本,你就需要具备高并发能力。从而让这些自动驾驶算法,可以并行的进入到这几千、几万、几十万的场景或者副本当中去进行测试,而不是说我一个副本一个副本进行测试,那这样十万个场景量级的场景库,可能需要等待数个月的时间才能得到一个结果。
所以这四个点是我们目前总结的,对于自动驾驶仿真来说最核心的四个能力。
TAD Sim 1.0 从无到有构建数字孪生世界
基于我们要去构建的这四个能力,我们在过去的这五年时间里做了什么呢?
首先我们TAD SIM1.0也就是我们第一个版本,我们是从无到有构建了数字孪生世界,来去将我们的自动驾驶算法放在里面进行世界的测试,我们具体做了什么事情?
首先我们基于自动驾驶专用的高精度地图,来完整1:1还原了整个现实世界,然后我们会将我们的现实世界转换成一些真值,输出给不管是自动驾驶的算法也好,还是训练集也好,下一步我们会在虚拟世界内部生成,千变万化的测试场景,供我的自动驾驶算法进行测试。
TAD Sim 2.0 真实数据+游戏技术双擎驱动
这就是我们大概在前两年的时候,也就是我们组建前两年的时候所做的事情。后来我们发现只有这些事情可能是不够的,尤其在自动驾驶。我们非常关心的、仿真的真实性上是需要做提升的,所以我们又花费了比较多的时间,来利用游戏技术以及真实数据这两条腿、双擎驱动的方式,来帮助我们极大的提升仿真系统的真实性,当然我们用了一些比较不同的技术路线和方式来提升真实性,包括在传感器仿真上去用游戏引擎的能力,包括我们在做交通流的仿真上。我们会使用AI、Agent AI的能力,后面会有一个更详细的介绍。
首先我们谈到用游戏技术来提升,我们自动驾驶仿真系统的真实性,我们指的不是我们小时候,带给我们无限欢乐的这些游戏。
而是更新的使用最新的游戏引擎、游戏的渲染引擎或者游戏AI技术等等。来构建的这些次时代的游戏,这里面有很多东西是我们可以拿来借鉴,构建自动驾驶仿真测试用的系统。
举例来说,第一点是我们如何用这些游戏技术来进行看似很真实,但实际上是虚拟场景的还原,这里面举了四个例子,大家可以看一看这四个场景的构建,哪一个是真实、哪一个是虚拟的。
这四个场景其实都是虚拟的,都是利用游戏引擎以及一些场景的,构建技术来还原出来一个真实世界供自动驾驶汽车来进行测试。在这种场景还原的技术点上,有几点是我们特别关心的,首先是模型的面数,包括所有模型所使用的材质,当然也有对应的光照变化和应用的优化,这些都结合起来会极大的影响我们整个虚拟测试的场景的还原真实度。而场景还原真实度也是,刚刚我介绍过的核心能力的第一条,对于一个真实世界的几何还原,会极大的影响我们整个仿真测试的结果,所以使用游戏技术里面的场景还原技术,不仅仅是游戏引擎也会用一些别的技术,来帮助我们极大提升场景的真实性,这对我们是非常有帮助。
同时我们也是用了一些,不管是腾讯地图的数据还是卫星图的数据,或者我们也用了人工智能算法来帮助我们大规模的生成城市级别区域,这都是我们用这些类似的技术来帮助我们进行仿真测试的。
这里面大家可以看到,这是我们用腾讯地图+卫星图数据+我们自己的数据孪生的人工智能算法的工具链,可以直接纯自动的生成。这是北京市五环以内576平方公里的完全的城市重建,这里面没有任何人工干预,不管是建筑物还是道路,还是水系还是植被,完全都是纯自动生成、一键生成的,我们所花的所有成本也就是在本地,运行了一个22小时的电脑和电费,仅此而已。
如果这个工作放在云上的话,可以在一小时内快速完成576平方公里的重建,所以使用这种技术来帮助我们重建,并在游戏引擎内去渲染一个非常广域和真实世界能够对应上的场景,可以帮助我们去进行真实世界所对应的虚拟场景搭建,从而进行对应的虚拟世界的自动驾驶的测试。
刚刚介绍的是我们利用腾讯地图、卫星图还有一些我们用POI数据,来帮助我们构建城市级别的场景,当我们做自动驾驶仿真测试的时候,其实在一些局部的道路,我们是对精度有着非常高的要求。我们希望精度可以达到厘米级,比如3厘米、5厘米,这种情况下我们就会采用第二种技术手段,也就是一套依赖数据采集车的数据采集和重建技术,来非常高精度以3厘米的精度来还原整个真实世界。
还原真实世界的步骤
这里介绍了我们整个还原真实世界的步骤,首先我们会进行一定的数据采集生成一定的虚拟世界,然后转化成刚刚提到过通过真值系统转换成深度值也好、语义信息也好,就是语义分割后的结果也好。
通过这些数据,我们通过生成式对抗网络,又将它们转换成了真实图片风格的图像,以及标注的结果,而且这个标注结果因为是进行了真值标注,所以是100%准确。通过这些真值的结果又反过来,训练我们的场景生成和感知的算法,又反过来可以提升我们场景的生成的自动化率,以及降低人工成本参与的比例,所以这样闭环的工具链经过三年时间可以非常高自动化率、非常低成本不间断的运行,帮助我们自动生成世界上各种各样的场景。当然我们还是需要采集一定的真实数据,作为我们这个数据集的输入来补齐的,但是这样一个自闭环场景生成的工具链,帮助我们极大的解决了采集数据会花费一定的时间和成本,但要又要生成无限多种虚拟场景的问题。
这个可以看到是我们通过刚刚介绍的依赖采集车的数据孪生的工具链,帮助我们还原了一个仿真测试场景,右边是真实的采集回来的路测数据,左边是我们用采集回来的数据,可以完全还原的虚拟仿真的测试场景,这里面包括我们对于静态世界的还原,建筑、道路、路牌、标识牌、道路、路面上的一些地面标识,当然也包括动态元素,这些行人这些车流, 包括也可以看到,我们也生成了外卖小哥的小车。将动态元素和静态元素合在一起,我们就生成一个比较真实,可以进行虚拟仿真测试的一个虚拟环境。而且这样做的好处是,我们可以通过有限的数据,可以去生成无限多种的测试场景,这里我们是生成了一个和真实世界,非常一致的、完全回放或者我们,在复现真实路采数据的虚拟场景,但我们可以用这个数据来生成,无限多种千变万化跟真实世界,完全不一样的场景,来进行进一步的自动驾驶的仿真测试。
基于数字孪生仿真的车辆在环测试
基于刚刚我说的这些工作,生成出来这些场景之后,我们还可以做进一步更真实的仿真测试,在行业内部我们管这个叫“车辆在环测试”。举一个直观例子,我们给自动驾驶汽车套上了一个AR眼镜,大家可以看到在右侧四幅画面里面,最右边的两侧是我们由虚拟仿真系统直接生成的虚拟画面,而靠左边这两侧图片是我们将虚拟仿真系统生成的这些动态元素。这个图层可以提取出来,以AR的方式叠加到自动驾驶汽车真实看到的真实世界的摄像头的结果上面去,从而可以在完全空旷的测试场内部,去生成无数多种、千变万化、各种各样的交通参与者的测试。包括这里面出现有老奶奶过马路、有小猫小狗直接横穿马路的,这种你在真实世界内完全不会看到的场景,很容易通过我们这种方式。首先可以在虚拟场景内去生成,然后我们会将它这个图层给提取出来,以AR的方式叠加到真实的摄像头之上,进行一个车辆在环测试,这个也是我们借助游戏引擎的一些能力,包括我们做的一些AR的工作可以帮助我们去进行一个非常真实的车辆在环的仿真测试。
Agent AI
下面我想介绍一下,我们使用Agent AI来提升我们在自动驾驶仿真里所使用的这些交通流的智能,交通流一般包括车流和人流,主要是行人和其他障碍物车等等这些动态元素。
这里面其实大家可能会很直观的想到,我们需要面对的就是场景的内部所需要的这些元素,这可能跟游戏内部的NPC是非常像的,只不过我们提的要求,可能会和游戏内部有些不一样,游戏内部的NPC一般是服务于一些特定的行为或者特定的运行规则。而对于我们来说 我们的目的是需要这些Agent AI、这些NPC的AI要极大的还原真实世界里行人、车流、自行车,或者是电动车他们的真实运动行为,所以对于我们来说,光使用我们游戏里常用的behavior tree或者是一些别的状态机,可能都是不足够的。
基于这些游戏里我们常用的功能之外,我们还要使用我们采集回来的大量的真实数据,包括大量的车流数据、也包括大量的人流数据,用这些真实数据来训练我们整个Agent AI的参数,从而让我们Agent AI的各种参数,比如接近程度。
我们举一个直观的例子,比如他开车的时候有多么想去并道、有多么想去加塞,或者它去跟前车的距离,会保持在一个很安全的跟车距离,还是很危险很接近的跟车距离。这些参数都要通过真实采集回来的数据进行训练和标定,从而得到一个非常贴近真实的交通场景的Agent AI的系统,这是我们使用Agent AI来去帮助我们,生成我们场景内部这些交通流的元素。
云游戏技术
下一个我想讲的点是我们如何使用云游戏技术(主要是云渲染的技术),来帮助我们进行自动驾驶仿真的运行结果的一个触达。其实在自动驾驶仿真里,我们的计算完全都是在云端的后台,不管是我们整个场景的运算,还是我们对算法的运算,其实都是一个纯后台的计算,我们如何将场景内部的目前运行的状态,这个车碰到了什么样的场景,它现在处于什么样的元素内部,把这个结果呈现给终端用户,这就需要使用云游戏或者准确来说是云渲染的技术,将后台渲染出来的图像,不管传感器的也好、还是场景本身的也好,渲染出来的图像通过推流的方式推送到前端、用户端,可以让用户在随时随地,基本上以用网页浏览器的方式来进行访问,这样用户就可以非常轻松的访问到在后台高并发运行的,那几千上万甚至几十万个自动驾驶仿真测试场景内部。他关心的那一个场景内部,这个车到底碰到了什么样的场景,它在尝试解决一个什么样的问题,它现在运行的状态是什么样。这样非常高逼真的可视化结果,就可以通过这个通路触达到用户的网页端,让用户看到我们的结果。
MMO同步
第三个,我想跟大家介绍的是我们如何使用MMO同步技术,来帮助我们提升仿真系统在运算时的一致性。其实MMO大家都比较熟悉了,不管是我们以前去经常玩的《魔兽世界》、还是我们腾讯自研的国风大世界游戏《天涯明月刀》,其实它的后台都是用了很多MMO技术,来进行玩家间的信息同步。
举例来说,当玩家A攻击玩家B的时候,我一拳挥出去的时候,在玩家B的视角内部,他也要看到是一个完全一样的场景,而不能说玩家A看到我这个拳已经击打到玩家B的身上了,而对于玩家B来说这一拳还隔着十万八千里,所以对于我们来说仿真测试,其实不仅是要能够实现同步的结果,而且我们会比游戏的要求会再更高一层、再更上一层,我们会要求在整个仿真的内部,我们所有元素的信息同步需要做到强一致性。
什么叫强一致性,在做游戏的时候,在后台内部如果出现了丢帧、丢包、网络抖动情况,我们在客户端会是做一些补偿,通过一些预测也好、或者一些差值的算法,来将我们丢掉的数据包、丢掉这一帧给补上来,但在我们做自动驾驶仿真的时候,是不允许进行这样的操作。为了保证我们整个自动驾驶仿真世界内所有要素,不管是场景内部的车流、人流 这些要素也好,还是我们被测的自动驾驶车辆,它们所有要素看到场景必须在每一帧是完全一样。为了保证这一点,我们就不能允许去做任何差值和预测,而要保证在每一帧所有要素的运算结果一定要完成,而且要同步到所有其他的要素结果上面来。
所以这里的话,我们就要进行基于MMO同步技术的二次开发,来进行强一致性的实现,保证场景内部,那怕是个非常大的地图,可能几百平方公里、几千平方公里的地图,在左上角一辆车动态它这个数据,也可以通过真值系统瞬间、完整、完全准确的传达给整个地图的最右下角的车辆的收到的信息,这是我们使用基于MMO技术、同步技术,来进行更进一步的仿真强一致性的后台技术,同步我们开发所做的一些工作。
以上就是我给大家分享,我们如何使用游戏技术,来帮助我们打造自动驾驶仿真系统,来帮助我们提升自动驾驶仿真系统的真实性,从而使用自动驾驶的仿真系统来进一步提升自动驾驶汽车、智能网联汽车也好,它的安全性的一个工作。
但不管是我们用到游戏技术,或者是整个行业内一些别的同行会用,更广阔的上下游有不同领域的技术,我想强调的是这是件非常严肃的事情,说到底只要涉及到安全,那都不是一个小问题,我们想做的事情是为了极大的保证,大家在使用智能驾驶汽车,使用自动驾驶模式的时候一个驾驶安全性问题。
虽然我们用了很多游戏技术,但其实我们是非常严肃使用游戏技术在自动驾驶这个行业内部,严肃去解决自动驾驶安全性问题。我们也是希望通过我们做这些工作,通过我们的这些努力,可以让大家能非常有信心在未来3年、5年内,敢于将汽车的驾驶权交给汽车商的自动驾驶的算法,让它来代替你进行汽车的驾驶。谢谢大家,以上就是我今天的分享。