CN113741384B - 检测自动驾驶系统的方法和装置 - Google Patents

检测自动驾驶系统的方法和装置 Download PDF

Info

Publication number
CN113741384B
CN113741384B CN202010476010.8A CN202010476010A CN113741384B CN 113741384 B CN113741384 B CN 113741384B CN 202010476010 A CN202010476010 A CN 202010476010A CN 113741384 B CN113741384 B CN 113741384B
Authority
CN
China
Prior art keywords
data
vehicle
target
track information
automatic driving
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010476010.8A
Other languages
English (en)
Other versions
CN113741384A (zh
Inventor
金淑一
兹米特里·齐什库
佘晓丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010476010.8A priority Critical patent/CN113741384B/zh
Publication of CN113741384A publication Critical patent/CN113741384A/zh
Application granted granted Critical
Publication of CN113741384B publication Critical patent/CN113741384B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0213Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24065Real time diagnostics

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Traffic Control Systems (AREA)

Abstract

本申请提供了人工智能领域的智能驾驶技术,涉及检测自动驾驶系统的方法和基于自动驾驶系统控制车辆行驶的方法。本申请中,获取目标驾驶场景中的多个车辆的传感器采集的数据,使用待检测自动驾驶系统根据这些数据获取目标车辆在目标驾驶场景中行驶时的轨迹信息,并将该轨迹信息与预设的轨迹信息进行比较,以及根据比较结果判断该自动驾驶系统在所述目标驾驶场景中行驶时是否失效。进一步地,本申请还可以检测该自动驾驶系统的失效原因,以及使用检测过的自动驾驶系统控制车辆行驶。本申请提出的技术方案有助于提高车辆的安全性。

Description

检测自动驾驶系统的方法和装置
技术领域
本申请涉及人工智能的自动驾驶领域,尤其涉及一种检测自动驾驶系统的方法和测试装置。
背景技术
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
自动驾驶是人工智能领域的一种主流应用,自动驾驶技术依靠计算机视觉、雷达、监控装置和全球定位系统等协同合作,让机动车辆可以在不需要人类主动操作下,实现自动驾驶。自动驾驶的车辆使用各种计算系统来帮助将乘客从一个位置运输到另一位置。一些自动驾驶车辆可能要求来自操作者(诸如,领航员、驾驶员、或者乘客)的一些初始输入或者连续输入。自动驾驶车辆准许操作者从手动模操作式切换到自东驾驶模式或者介于两者之间的模式。由于自动驾驶技术无需人类来驾驶机动车辆,所以理论上能够有效避免人类的驾驶失误,减少交通事故的发生,且能够提高公路的运输效率。因此,自动驾驶技术越来越受到重视。
安全对于自动驾驶来说具有很重要的意义,提高自动驾驶的安全性的一个重要途径就是对车辆的自动驾驶系统进行测试,以提前发现和分析自动驾驶系统的失效驾驶案例,从而可以改进自动驾驶系统,以减小自动驾驶系统出现失效驾驶案例的可能性。失效驾驶案例也可以理解为出错案例。
传统技术中,对自动驾驶系统进行检测时,在车辆上运行该自动驾驶系统,并通过该车辆上的传感器采集行驶其周围的环境数据和该车辆的状态数据,这些数据可以统称为传感器数据;该待检测自动驾驶系统基于该传感器数据输出车辆的轨迹信息;然后,将该轨迹信息与车辆的人类驾驶员驾驶该车辆所得到的轨迹信息或者与车辆上部署的另一个自动驾驶系统基于该传感器数据输出的轨迹信息进行比较;再根据该比较结果分析该待检测自动驾驶系统是否在该行驶场景中出现失效案例,例如,若比较的结果是存在差异,则说明该待测试自动驾驶系统在这种场景下失效。
虽然上述方法能够在绝大多数情况下检测出自动驾驶系统的失效案例,但是,在很多场景下,会出现检测结果出错的现象,例如,自动驾驶系统实际没有失效的情况下得出该自动驾驶系统失效的结论,或者,自动驾驶系统实际失效的情况下,得出该自动驾驶系统没有失效的结论。也就是说,上述方法对自动驾驶系统的检测率有待提高。
因此,如何提高自动驾驶系统的出错案例的检测率,从而提高应用该自动驾驶系统的车辆的行驶安全性,是一个亟待解决的技术问题。
发明内容
本申请提供了检测自动驾驶系统的方法和基于自动驾驶系统控制车辆行驶的方法,有助于提高车辆的安全性。
第一方面,本申请提供一种检测自动驾驶系统的方法。所述方法包括:获取第一数据,所述第一数据中包括传感器数据,所述传感器数据包括目标驾驶场景中的多个车辆的传感器采集的数据;使用待检测自动驾驶系统,根据所述第一数据,获取目标车辆在所述目标驾驶场景中行驶时的第一轨迹信息;根据所述第一轨迹信息与预设的第二轨迹信息之间的差异,检测所述待检测自动驾驶系统在所述目标驾驶场景中行驶时是否失效。
该方法中,待检测自动驾驶系统推测目标车辆在目标驾驶场景中行驶时的轨迹所使用的传感器数据是多个车辆采集的。这与待检测自动驾驶系统基于一个车辆采集的传感器数据推测目标车辆在目标驾驶场景中行驶时的轨迹相比,由于多个车辆上的传感器能够采集到目标驾驶场景中更多的数据,即可以获得目标驾驶场景的更多信息,因此,待检测自动驾驶系统推测的轨迹信息更准确。基于该更准确的轨迹信息对该待检测自动驾驶系统进行失效检测的结果也就会更准确,最终,可以提高应用该待检测自动驾驶系统的车辆的安全性。
在一些可能的实现方式中,所述待检测自动驾驶系统在所述目标驾驶场景中行驶时失效的情况下,所述方法还包括:使用预设的神经网络根据所述第一数据、所述第二轨迹信息和所述第一轨迹信息,获取所述待检测自动驾驶系统的失效原因。
该实现方式中的方法,可以通过训练过的神经网络来定位待检测自动驾驶系统失效的原因,即定位是由于待检测自动驾驶系统中哪个或哪些模块发生错误才导致的失效。这有助于对该待检测自动驾驶系统进行改进,以避免该待检测自动驾驶系统再出现该失效案例,从而提高应用该自动驾驶系统的车辆的安全性。
在一些可能的实现方式中,所述失效原因包括以下一种或多种:所述待检测自动驾驶系统的决策规控模块发生错误,所述待检测自动驾驶系统的感知模块发生错误。
在一些可能的实现方式中,所述错误定位系统是基于第二数据、所述第二数据对应的轨迹信息、对所述第二数据中的数据进行修改得到的第三数据所对应的轨迹信息以及预设失效原因训练得到的神经网络,其中,所述预设失效原因包括感知模块发生错误。
其中,第三数据是根据第二数据得到的,例如,在第二数据中添加新的数据,删减部分数据,或者更改部分数据,从而得到第三数据。第三数据对应的轨迹信息即为基于第三数据推测的轨迹信息。第二数据对应的轨迹信息即为基于第二数据推测得到的轨迹信息。预设失效原因是指会导致第二数据变换成第三数据的原因。
也就是说,该错误系统是根据正确数据,基于正确数据推测的轨迹信息,基于错误数据推测的轨迹信息和导致正确数据变换为错误数据的原因进行深度学习得到的神经网络。其中,原因可以作为监督数据。这样,训练得到的错误系统可以用于根据正确数据、基于正确数据推测的轨迹信息、基于错误数据推测的轨迹信息,预测得到导致该正确数据变换为该错误数据的原因。
在一些可能的实现方式中,所述预设的第二轨迹信息为基准自动驾驶系统根据所述第一数据获取得到的所述目标车辆在所述目标驾驶场景中行驶时的轨迹信息。
也就是说,将另外的自动驾驶系统基于第一数据推测得到的轨迹信息作为第二轨迹信息来检测第一轨迹信息,以实现检测待检测自动驾驶系统的目的。
可选地,也可以将人工驾驶员驾驶车辆行驶时的轨迹信息作为第二轨迹信息。
与将人工驾驶员驾驶车辆行驶时的轨迹信息作为第二轨迹信息相比,将自动驾驶系统基于第一数据推测的轨迹信息作为第二轨迹信息,更便于采集到轨迹信息,且该自动驾驶系统输出的轨迹信息与待检测自动驾驶系统输出的轨迹信息之间的格式更容易达到一致,从而可以提高检测效率。
在一些可能的实现方式中,所述基准自动驾驶系统为经过训练得到的自动驾驶系统,所述训练包括基于深度学习方法的训练。
也就是说,使用经过深度学习方法训练的神经网络系统作为基准自动驾驶系统。因为经过深度学习,所以可以学习到包含传感器数据的数据与轨迹信息之间的深层关系,从而可以提高作为基准轨迹信息的第二轨迹信息的准确性,从而可以提高待检测自动驾驶系统的检测准确性。
在一些可能的实现方式,所述训练还包括基于强化学习和逆强化学习的训练。
也就是说,该基准自动驾驶系统可以进一步经过强化学习和逆强化学习的训练,从而可以提高其输出的轨迹信息的准确性,进而可以提高待检测自动驾驶系统的检测准确性。
在一些可能的实现方式中,所述待检测自动驾驶系统在所述目标驾驶场景中行驶时没有失效的情况下,所述第一数据和所述第一轨迹信息用于对所述基准自动驾驶系统进行训练。
所述待检测自动驾驶系统在所述目标驾驶场景中行驶时没有失效的情况下,说明第一轨迹信息是第一数据所对应的合理轨迹信息,因此,可以将该第一数据和第一轨迹信息收集起来作为基准自动驾驶系统的对基准自动驾驶系统进行再训练,提高基准自动驾驶系统的性能,从而可以进一步提高待检测自动驾驶系统的检测准确性。
在一些可能的实现方式中,所述目标车辆为虚拟车辆。也就是说,可以构建虚拟车辆,将虚拟车辆作为目标车辆来检测待检测自动驾驶系统的失效案例。
将虚拟车辆作为目标车辆,与将真实车辆作为目标车辆相比,不需要真的在真实驾驶场景中行驶,因此有助于降低检测成本,同时也可以提高检测效率。
此外,有助于虚拟更多数量的虚拟车量作为目标车量检测待检测自动驾驶系统,从而可以提升检测效率。
在一些可能的实现方式中,可以通过可视化界面来显示目标车辆的行驶轨迹,从而可以更直观地观测到目标车辆的行驶轨迹,进而可以判断目标车辆的行驶轨迹的合理性,最终可以检测待检测自动驾驶系统是否失效。
可选地,在该可视化界面中,还可以显示第一数据所对应的多个车辆中的全部或部分车辆的行驶轨迹。
在一些可能的实现方式中,错误定位系统基于第一数据、第二轨迹信息和第一轨迹信息,可以输出与第一轨迹信息对应的数据。这种情况下,可以通过可视化界面显示该数据与第一数据之间的差异,从而可以通过可视化界面判断待检测自动驾驶系统的失效原因。
例如,该数据的可视化界面中显示的内容与第一数据的可视化界面中的显示内容一致时,可以认为感知模块没有发生错误,则可以认为是规控模块发生错误。若该数据的可视化界面中显示的内容与第一数据的可视化界面中的显示内容不一致,则可以认为是感知模块发生错误。
在一些可能的实现方式中,第一数据中还可以包括目标驾驶场景的地图数据。
第二方面,本申请提供一种控制车辆行驶的方法。所述方法包括:获取目标自动驾驶系统基于目标数据输出的轨迹信息,所述目标数据包括目标驾驶场景的地图数据和/或所述目标驾驶场景中的多个车辆的传感器采集的数据,所述多个车辆包括目标车辆;根据所述轨迹信息控制所述目标车辆行驶。
该方法中,因为目标自动驾驶系统推测目标车辆在目标驾驶场景中行驶时的轨迹所使用的传感器数据是多个车辆采集的。这与目标自动驾驶系统基于一个车辆采集的传感器数据推测目标车辆在目标驾驶场景中行驶时的轨迹相比,由于多个车辆上的传感器能够采集到目标驾驶场景中更多的数据,即可以获得目标驾驶场景的更多信息,因此,目标自动驾驶系统推测的轨迹信息更准确,从而可以提高车辆的安全性。
在一些可能的实现方式中,所述目标自动驾驶系统是使用第一方面或其中任意一种可能的实现方式中的方法检测得到的自动驾驶系统。
因此第一方面或其中任意一种可能的实现方式中的方法检测过的目标自动驾驶系统的失效案例可以更少,因此基于该目标自动驾驶系统控制车辆行驶时,该车辆的安全性更高。
第三方面,本申请提供一种检测自动驾驶系统的装置,所述装置包括用于实现第一方面或其中任意一种可能的实现方式中的方法的模块。
例如,所述装置包括:数据获取模块,用于获取第一数据,所述第一数据中包括传感器数据,所述传感器数据包括目标驾驶场景中的多个车辆的传感器采集的数据;轨迹获取模块,用于使用待检测自动驾驶系统,根据所述第一数据,获取目标车辆在所述目标驾驶场景中行驶时的第一轨迹信息;失效检测模块,用于根据所述第一轨迹信息与预设的第二轨迹信息之间的差异,检测所述待检测自动驾驶系统在所述目标驾驶场景中行驶时是否失效。
在一些可能的实现方式中,所述装置还包括错误定位模块,用于:在所述待检测自动驾驶系统在所述目标驾驶场景中行驶时失效的情况下,使用预设的神经网络根据所述第一数据、所述第二轨迹信息和所述第一轨迹信息,获取所述待检测自动驾驶系统的失效原因。
在一些可能的实现方式中,所述失效原因包括以下一种或多种:所述待检测自动驾驶系统的决策规控模块发生错误,所述待检测自动驾驶系统的感知模块发生错误。
在一些可能的实现方式中,所述错误定位系统是基于第二数据、所述第二数据对应的轨迹信息、对所述第二数据中的数据进行修改得到的第三数据所对应的轨迹信息以及预设失效原因训练得到的神经网络,其中,所述预设失效原因包括感知模块发生错误。
在一些可能的实现方式中,所述预设的第二轨迹信息为基准自动驾驶系统根据所述第一数据获取得到的所述目标车辆在所述目标驾驶场景中行驶时的轨迹信息。
在一些可能的实现方式中,所述基准自动驾驶系统为经过训练得到的自动驾驶系统,所述训练包括基于深度学习方法的训练。
在一些可能的实现方式中,所述训练还包括基于强化学习和逆强化学习的训练。
在一些可能的实现方式中,在所述待检测自动驾驶系统在所述目标驾驶场景中行驶时没有失效的情况下,所述第一数据和所述第一轨迹信息用于对所述基准自动驾驶系统进行训练。
在一些可能的实现方式中,所述目标车辆为虚拟车辆。
第四方面,本申请提供一种控制车辆行驶的装置,所述装置包括用于实现第三方面或其中任意一种实现方式中的方法的模块。
例如,所述装置包括:轨迹获取模块,用于获取目标自动驾驶系统基于目标数据输出的轨迹信息,所述目标数据包括目标驾驶场景的地图数据和/或所述目标驾驶场景中的多个车辆的传感器采集的数据,所述多个车辆包括目标车辆;控制模块,用于根据所述轨迹信息控制所述目标车辆行驶。
在一些可能的实现方式中,所述目标自动驾驶系统是使用第一方面或其中任意一种可能的实现方式中的方法检测得到的自动驾驶系统。
第五方面,提供了一种检测自动驾驶系统的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面或者其中任意一种实现方式中的方法。
第六方面,提供了一种控制车辆行驶的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第二方面或者其中任意一种实现方式中的方法。
第七方面,提供一种计算机可读介质,该计算机可读介质存储用于计算设备执行的程序代码,该程序代码包括用于执行第一方面或其中任意一种实现方式中的方法。
第八方面,提供一种计算机可读介质,该计算机可读介质存储用于计算设备执行的程序代码,该程序代码包括用于执行第二方面或者其中任意一种实现方式中的方法。
第九方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或其中任意一种实现方式中的方法。
第十方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第二方面或者其中任意一种实现方式中的方法。
第十一方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面或其中任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或其中任意一种实现方式中的方法。
第十二方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第二方面或者其中任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第二方面或者其中任意一种实现方式中的方法。
第十三方面,提供了一种计算设备,该计算设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面或者其中任意一种实现方式中的方法。
第十四方面,提供了一种计算设备,该计算设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第二方面或者其中任意一种实现方式中的方法。
第十五方面,提供了一种车辆,该车辆包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面或者其中任意一种实现方式中的方法。
第十六方面,提供了一种车辆,该车辆包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第二方面或者其中任意一种实现方式中的方法。
附图说明
图1为本申请实施例提供的一种车辆的结构示意图;
图2为本申请实施例提供的一种计算机系统的结构示意图;
图3为本申请一个实施例的自动驾驶系统的结构示意图;
图4为本申请一个实施例的云侧指令自动驾驶汽车的应用示意图;
图5为本申请一个实施例的构建虚拟车运行网络系统的示意性流程图;
图6为本申请一个实施例的虚拟驾驶场景示意图;
图7为本申请一个实施例的训练模型的方法的示意性架构图;
图8为本申请一个实施例的轨迹聚类示意图;
图9为本申请一个实施例的检测自动驾驶系统的方法的示意性流程图;
图10为本申请一个实施例的控制车辆行驶的方法的示意性流程图;
图11为本申请一个实施例的检测自动驾驶系统的装置的示意性结构图;
图12为本申请一个实施例的控制车辆行驶的装置的示意性结构图;
图13为本申请一个实施例的装置的示意性结构图;
图14为本申请一个实施例的计算机程序产品的示意图。
具体实施方式
下面先对本申请实施例中的一些用语进行解释。
自动驾驶系统:包括规控模块,当然,还可以包括行为决策模块、感知模块、定位模块和控制模块等。
本申请中的自动驾驶系统可以是高级驾驶辅助系统(advanced drivingassistance system,ADAS),或者可以是高级驾驶系统(advanced driving system),也可以是其他任何包含规控模块的驾驶系统。
规控模块:根据行为决策,规划生成一条满足特定约束条件(例如车辆本身的动力学约束、避免碰撞、乘客舒适性等)的轨迹,该轨迹作为控制模块的输入决定车辆最终行驶路径。
传感器数据:可以通过车载传感器,例如摄像头、激光雷达、毫米波雷达等获取的数据。本申请中的传感器数据可以是原始采集的视频流、雷达的点云数据或者是经过分析的结构化的人、车、物的位置、速度、转向角度、尺寸大小等信息或数据。对于原始的视频流数据、雷达的点云数据,感知模块可以将这些传感器数据处理成可识别的、结构化的人、车、物的位置、速度、转向角度、尺寸大小等信息或数据。
下面将结合附图,对本申请的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请一个实施例的车辆100的功能框图。其中,车辆100可以是人工驾驶车辆,或者可以将车辆100配置可以为完全或部分地自动驾驶模式。
在一个示例中,车辆100在处于自动驾驶模式中的同时,可以控制自车,并且可通过人为操作来确定车辆及其周边环境的当前状态,确定周边环境中的至少一个其他车辆的可能行为,并确定其他车辆执行可能行为的可能性相对应的置信水平,基于所确定的信息来控制车辆100。在车辆100处于自动驾驶模式中时,可以将车辆100置为在没有和人交互的情况下操作。
车辆100中可以包括各种子系统,例如,行进系统110、传感系统120、控制系统130、一个或多个外围设备140以及电源160、计算机系统150和用户接口170。
可选地,车辆100可以包括更多或更少的子系统,并且每个子系统可包括多个元件。另外,车辆100的每个子系统和元件可以通过有线或者无线互连。
示例性地,行进系统110可以包括用于向车辆100提供动力运动的组件。在一个实施例中,行进系统110可以包括引擎111、传动装置112、能量源113和车轮(轮胎)114。其中,引擎111可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合;例如,汽油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎111可以将能量源113转换成机械能量。
示例性地,能量源113可以包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源113也可以为车辆100的其他系统提供能量。
示例性地,传动装置112可以包括变速箱、差速器和驱动轴;其中,传动装置112可以将来自引擎111的机械动力传送到车轮114。
在一个实施例中,传动装置112还可以包括其他器件,比如离合器。其中,驱动轴可以包括可耦合到一个或多个车轮114的一个或多个轴。
示例性地,传感系统120可以包括感测关于车辆100周边的环境的信息的若干个传感器。
传感器系统120可包括感测关于车辆100周边的环境的信息的若干个传感器。例如,传感器系统120可包括定位系统121、惯性测量单元(inertial measurement unit,IMU)122、雷达123、激光测距仪124以及相机125。定位系统121可以是全球定位系统(globalpositioning system,GPS),也可以是北斗系统或者其他定位系统。
传感器系统120还可包括车辆100的内部系统的传感器,例如车内空气质量监测器、燃油量表、机油温度表等。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测是车辆100的安全操作的关键功能。
定位系统121可用于估计车辆100的地理位置。IMU 122用于基于惯性加速度来感测车辆100的位置和朝向变化。在一个示中,IMU 122可以是加速度计和陀螺仪的组合。
雷达123可利用无线电信号来感测车辆100的周边环境内的物体。在一些示例中,除了感测物体以外,雷达123还可用于感测物体的速度和/或前进方向。
激光测距仪124可利用激光来感测车辆100所位于的环境中的物体。在一些示例中,激光测距仪124可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。
相机125可用于捕捉车辆100的周边环境的多个图像。相机125可以是静态相机或视频相机。
如图1所示,控制系统130用于控制车辆100及其组件。控制系统130可以包括各种元件,比如可以包括转向系统131、油门132、制动单元133、计算机视觉系统134、路线控制系统135和障碍规避系统136。
示例性地,转向系统131可以操作来调整车辆100的前进方向。例如,在一个实施例中可以为方向盘系统。油门132可以用于控制引擎111的操作速度并进而控制车辆100的速度。
示例性地,制动单元133可以用于控制车辆100减速;制动单元133可以使用摩擦力来减慢车轮114。在其他实施例中,制动单元133可以将车轮114的动能转换为电流。制动单元133也可以采取其他形式来减慢车轮114转速从而控制车辆100的速度。
计算机视觉系统134可以操作来处理和分析由相机125捕捉的图像以便识别车辆100周边环境中的物体和/或特征。上述物体和/或特征可以包括交通信号、道路边界和障碍物。计算机视觉系统134可以使用物体识别算法、运动中恢复结构(structure frommotion,SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统134可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。
示例性地,路线控制系统135可以用于确定车辆100的行驶路线。在一些实施例中,路线控制系统135可结合来自传感器、GPS和一个或多个预定地图的数据以为车辆100确定行驶路线。
障碍规避系统136可以用于识别、评估和避免或者以其他方式越过车辆100的环境中的潜在障碍物。
车辆100可以通过外围设备140与外部传感器、其他车辆、其他计算机系统或用户之间进行交互;其中,外围设备140可包括无线通信系统141、车载电脑142、麦克风143和/或扬声器144。
在一些实施例中,外围设备140可以提供车辆100与用户接口170交互的手段。例如,车载电脑142可以向车辆100的用户提供信息。用户接口116还可操作车载电脑142来接收用户的输入;车载电脑142可以通过触摸屏进行操作。在其他情况中,外围设备140可以提供用于车辆100与位于车内的其它设备通信的手段。例如,麦克风143可以从车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器144可以向车辆100的用户输出音频。
无线通信系统141可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统141可以使用3G蜂窝通信;例如,码分多址(code division multipleaccess,CDMA)、EVD0、全球移动通信系统(global system for mobile communications,GSM)/通用分组无线服务(general packet radio service,GPRS),或者4G蜂窝通信,例如长期演进(long term evolution,LTE);或者,5G蜂窝通信。无线通信系统141可以利用无线上网(WiFi)与无线局域网(wireless local area network,WLAN)通信。
在一些实施例中,无线通信系统141可以利用红外链路、蓝牙或者紫蜂协议(ZigBee)与设备直接通信;其他无线协议,例如各种车辆通信系统,例如,无线通信系统141可以包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
电源160可以向车辆100的各种组件提供电力。在一个实施例中,电源160可以为可再充电锂离子电池或铅酸电池。这种电池的一个或多个电池组可被配置为电源为车辆100的各种组件提供电力。在一些实施例中,电源160和能量源113可一起实现,例如一些全电动车中那样。
示例性地,车辆100的部分或所有功能可以受计算机系统150控制,其中,计算机系统150可以包括至少一个处理器151,处理器151执行存储在例如存储器152中的非暂态计算机可读介质中的指令153。计算机系统150还可以是采用分布式方式控制车辆100的个体组件或子系统的多个计算设备。
例如,处理器151可以是任何常规的处理器,诸如商业可获得的中央处理器(central processing unit,CPU)。
可选地,该处理器可以是诸如专用集成电路(application specific integratedcircuit,ASIC)或其它基于硬件的处理器的专用设备。尽管图2功能性地图示了处理器、存储器、和在相同块中的计算机的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机、或存储器实际上可以包括可以或者可以不存储在相同的物理外壳内的多个处理器、计算机或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。
在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
在一些实施例中,存储器152可包含指令153(例如,程序逻辑),指令153可以被处理器151执行来执行车辆100的各种功能,包括以上描述的那些功能。存储器152也可包含额外的指令,比如包括向行进系统110、传感系统120、控制系统130和外围设备140中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
示例性地,除了指令153以外,存储器152还可存储数据,例如,道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆100在自主、半自主和/或手动模式中操作期间被车辆100和计算机系统150使用。
用户接口170可以用于向车辆100的用户提供信息或从其接收信息。可选地,用户接口170可以包括在外围设备140的集合内的一个或多个输入/输出设备,例如,无线通信系统141、车载电脑142、麦克风143和扬声器144。
在本申请的实施例中,计算机系统150可以基于从各种子系统(例如,行进系统110、传感系统120和控制系统130)以及从用户接口170接收的输入来控制车辆100的功能。例如,计算机系统150可以利用控制系统130的输出以便控制制动单元133来避免由传感系统120和障碍规避系统136检测到的障碍物,或者计算机系统150可以利用控制系统130的输出以便控制制动单元133来按照指定的轨迹行驶。在一些实施例中,计算机系统150可操作来对车辆100及其子系统的许多方面提供控制。
可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,存储器152可以部分或完全地与车辆100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1不应理解为对本申请实施例的限制。
上述车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本申请实施例不做特别的限定。
在一些实现方式中,车辆100上可以部署有自动驾驶系统,并且在车辆100的行驶过程中,车辆100的传感器系统120采集到数据之后,该自动驾驶系统可以根据传感器系统120采集的数据以及车辆100周围的一个或多个车辆的传感器系统采集的数据预测得到车辆100的轨迹信息,同时,车辆100的计算机系统150可以基于该轨迹信息调用控制系统130来控制车辆100按照该轨迹信息所指示的轨迹行驶。可选地,自动驾驶系统预测轨迹信息时,还可以使用地图数据。
在一些实现方式中,车辆100上可以部署有使用图9所示的方法检测得到的自动驾驶系统,并且在车辆100的行驶过程中,车辆100的传感器系统120采集到数据之后,该自动驾驶系统可以根据传感器系统120采集的数据预测得到车辆100的轨迹信息,同时,车辆的计算机系统150可以基于该轨迹信息调用控制系统130来控制车辆100按照该轨迹信息所指示的轨迹行驶。
可选地,该自动驾驶系统在预测轨迹信息时,还可以使用车辆100周围的一个或多个车辆的传感器系统采集的数据。
作为一个示例,车辆100可以执行图10所示的方法来控制自身的行驶。
在一些实现方式中,车辆100上可以部署有待检测的自动驾驶系统和自动驾驶系统的检测系统。在人类驾驶员驾驶车辆100行驶的过程中,车辆100的传感器系统120采集到数据之后,该待检测的自动驾驶系统可以根据传感器系统120采集的数据和车辆100周围的一个或多个车辆的传感器系统采集的数据预测得到车辆100的轨迹信息。然后,该检测系统可以基于该检测自动驾驶系统预测得到的轨迹信息和车辆100的实际轨迹信息作比较,判断该待检测自动驾驶系统的失效案例。进一步地,在该待检测自动驾驶系统失效的情况下,该检测系统可以判断该待检测自动驾驶系统的失效原因。
作为一个示例,车辆100上的检测系统可以执行图9中所示的相关操作,以实现自动驾驶系统的检测。
在一些实现方式中,车辆100上可以部署有待检测的自动驾驶系统、可信的自动驾驶系统和自动驾驶系统的检测系统。在人类驾驶员驾驶车辆100行驶的过程中,车辆100的传感器系统120采集到数据之后,该待检测的自动驾驶系统可以根据传感器系统120采集的数据和车辆100周围的一个或多个车辆的传感器系统采集的数据预测得到车辆100的一个轨迹信息,可信的自动驾驶系统也可以根据传感器系统120采集的数据预测得到车辆100的另一个轨迹信息。然后,该检测系统可以基于该检测自动驾驶系统预测得到的轨迹信息和可信的自动驾驶系统预测得到的轨迹信息作比较,判断该待检测自动驾驶系统是否失效。进一步地,在该待检测自动驾驶系统失效的情况下,该检测系统可以判断该待检测自动驾驶系统的失效原因。
作为一个示例,车辆100上的检测系统可以执行图9中所示的相关操作,以实现自动驾驶系统的检测。
在一些实现方式中,车辆100上可以部署有待检测的自动驾驶系统、可信的自动驾驶系统和自动驾驶系统的检测系统。在可信自动驾驶系统控制车辆100行驶的过程中,车辆100的传感器系统120采集到数据之后,该待检测的自动驾驶系统可以根据传感器系统120和车辆100周围的一个或多个车辆采集的数据预测得到车辆100的一个轨迹信息,可信的自动驾驶系统也可以根据传感器系统120采集的数据预测得到车辆100的另一个轨迹信息。然后,该检测系统可以基于该检测自动驾驶系统预测得到的轨迹信息和可信的自动驾驶系统预测得到的轨迹信息作比较,判断该待检测自动驾驶系统是否失效。进一步地,在该待检测自动驾驶系统失效的情况下,该检测系统可以判断该待检测自动驾驶系统的失效原因。
作为一个示例,车辆100上的检测系统可以执行图9中所示的相关操作,以实现自动驾驶系统的检测。
图2为本申请一个实施例的计算机系统的示意性流程图。例如,图1中的计算机系统150的一种示例性结构可以如图2所示。
计算机系统201可以包括处理器203,处理器203和系统总线205耦合。处理器203可以是一个或者多个处理器,其中,每个处理器都可以包括一个或多个处理器核。显示适配器(video adapter)207,显示适配器可以驱动显示器209,显示器209和系统总线205耦合。系统总线205可以通过总线桥211和输入输出(I/O)总线213耦合,I/O接口215和I/O总线耦合。I/O接口215和多种I/O设备进行通信,比如,输入设备217(如:键盘,鼠标,触摸屏等),媒体盘(media tray)221(例如,CD-ROM,多媒体接口等)。收发器223可以发送和/或接受无线电通信信号,摄像头255可以捕捉景田和动态数字视频图像。其中,和I/O接口215相连接的接口可以是USB端口225。
其中,处理器203可以是任何传统处理器,比如,精简指令集计算(reducedinstruction set computer,RISC)处理器、复杂指令集计算(complex instruction setcomputer,CISC)处理器或上述的组合。
可选地,处理器203可以是诸如专用集成电路(ASIC)的专用装置;处理器203可以是神经网络处理器或者是神经网络处理器和上述传统处理器的组合。
可选地,在本申请所述的各种实施例中,计算机系统201可位于远离车辆的地方,并且可与车辆无线通信。在其它方面,本申请所述的一些过程在设置在车辆内的处理器上执行,其它由远程处理器执行,包括采取执行单个操纵所需的动作。
计算机系统201可以通过网络接口229和软件部署服务器249通信。网络接口229可以是硬件网络接口,比如,网卡。网络227可以是外部网络,比如,因特网,也可以是内部网络,比如以太网或者虚拟私人网络(virtual private network,VPN)。可选地,网络227还可以是无线网络,比如WiFi网络,蜂窝网络等。
硬盘驱动接口和系统总线205耦合,硬件驱动器接口231可以与硬盘驱动器233相连接,系统内存235和系统总线205耦合。运行在系统内存235的数据可以包括操作系统237和应用程序243。其中,操作系统237可以包括解析器(shell)239和内核(kernel)241。shell239是介于使用者和操作系统之内核间的一个接口。
shell可以是操作系统最外面的一层;shell可以管理使用者与操作系统之间的交互,比如,等待使用者的输入,向操作系统解释使用者的输入,并且处理各种各样的操作系统的输出结果。内核241可以由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。直接与硬件交互,操作系统内核通常运行进程,并提供进程间的通信,提供CPU时间片管理、中断、内存管理、IO管理等等。
应用程序243包括控制车辆行驶相关的程序,比如,管理车辆和路上障碍物交互的程序,控制车辆路线或者速度的自动驾驶程序,控制车辆和路上其他车辆交互的程序,基于传感器采集的数据为车辆规划轨迹的程序,根据规划的轨迹控制车辆行驶,将自动驾驶程序的检测程序,等等。
应用程序243也存在于软件部署服务器249的系统上。在一个实施例中,在需要执行驾驶相关程序247时,计算机系统201可以从软件部署服务器249下载应用程序。
传感器253可以与计算机系统201关联,传感器253可以用于探测计算机201周围的环境。
举例来说,传感器253可以探测路上的车道,比如可以探测到车道线,并能够在车辆移动(如正在行驶)过程中实时跟踪到车辆前方一定范围内的车道线变化。又例如,传感器253可以探测动物,汽车,障碍物和人行横道等,进一步传感器还可以探测上述动物,汽车,障碍物和人行横道等物体周围的环境,比如:动物周围的环境,例如,动物周围出现的其他动物,天气条件,周围环境的光亮度等。再如,传感器253可以探测其所属车辆的速度、加速度、方向盘转角等等状态信息。
可选地,传感器253可以是摄像头,红外线感应器,化学检测器,麦克风等。
在一些实现方式中,驾驶相关程序247中可以包括自动驾驶系统的相关程序,并且在计算机系统201所属的车辆的行驶过程中,传感器253采集到数据之后,该自动驾驶系统的相关程序可以根据传感器253采集的数据以及该车辆周围的一个或多个车辆的传感器系统采集的数据预测得到该车辆的轨迹信息。计算机系统201可以基于该轨迹信息调用其他驾驶相关程序来控制该车辆按照该轨迹信息所指示的轨迹行驶。可选地,该自动驾驶系统的相关程序预测轨迹信息时,还可以使用地图数据。
在一些实现方式中,驾驶相关程序247中可以包括使用图9所示的方法检测得到的自动驾驶系统的相关程序,并且在计算机系统201所属的车辆的行驶过程中,传感器253采集到数据之后,该自动驾驶系统的相关程序可以根据传感器253采集的数据预测得到该车辆的轨迹信息。计算机系统201可以基于该轨迹信息控制其所属车辆按照该轨迹信息所指示的轨迹行驶。
可选地,该自动驾驶系统的相关程序在预测轨迹信息时,还可以使用车辆周围的一个或多个车辆的传感器系统采集的数据。
作为一个示例,计算机系统201可以执行图10所示的方法来控制自身的行驶。
在一些实现方式中,驾驶相关程序247中可以包括待检测自动驾驶系统的程序和用于检测该自动驾驶系统的程序。在人类驾驶员驾驶计算机系统201所属的车辆行驶的过程中,传感器253采集到数据之后,该待检测自动驾驶系统可以根据传感器253和其他车辆的传感器采集的数据预测得到该车辆的轨迹信息。然后,该用于检测自动驾驶系统的程序可以基于该检测自动驾驶系统预测得到的轨迹信息和该车辆的实际轨迹信息作比较,判断该待检测自动驾驶系统是否失效。进一步地,在该待检测自动驾驶系统失效的情况下,该检测程序可以判断该待检测自动驾驶系统的失效原因。
作为一个示例,该检测程序可以执行图9中所示的相关操作,以实现自动驾驶系统的检测。
在一些实现方式中,驾驶相关程序247中可以包括待检测自动驾驶系统、可信自动驾驶系统和自动驾驶系统的检测系统。在人类驾驶员驾驶计算机系统201所属车辆行驶的过程中,传感器系统253采集到数据之后,该待检测自动驾驶系统可以根据传感器253和其他车辆的传感器采集的数据预测得到该车辆的一个轨迹信息,可信自动驾驶系统也可以根据传感器253和其他传感器采集的数据预测得到该车辆的另一个轨迹信息。然后,该检测系统可以基于该检测自动驾驶系统预测得到的轨迹信息和可信自动驾驶系统预测得到的轨迹信息作比较,判断该待检测自动驾驶系统是否失效。进一步地,在该待检测自动驾驶系统失效的情况下,该检测系统可以判断该待检测自动驾驶系统的失效原因。
作为一个示例,该检测系统可以执行图9中所示的相关操作,以实现自动驾驶系统的检测。
在一些实现方式中,驾驶相关程序247中可以包括待检测自动驾驶系统、可信自动驾驶系统和自动驾驶系统的检测系统。在可信自动驾驶系统控制计算机系统201所属车辆行驶的过程中,传感器253采集到数据之后,该待检测自动驾驶系统可以根据传感器253和其他车辆的传感器采集的数据预测得到该车辆的一个轨迹信息,可信的自动驾驶系统也可以根据传感器系统120和其他车辆的传感器采集的数据预测得到车辆100的另一个轨迹信息。然后,该检测系统可以基于该检测自动驾驶系统预测得到的轨迹信息和可信的自动驾驶系统预测得到的轨迹信息作比较,判断该待检测自动驾驶系统是否失效。进一步地,在该待检测自动驾驶系统失效的情况下,该检测系统可以判断该待检测自动驾驶系统的失效原因。
作为一个示例,车辆100上的检测系统可以执行图9中所示的相关操作,以实现自动驾驶系统的检测。
图3是本申请一个实施例的自动驾驶系统的示例性结构框图。如图3所示,自动驾驶系统300包括感知模块310、融合模块320和规控模块330。
感知模块310可以执行特定的感知算法,基于传感设备采集的数据,对车辆周围进行环境感知。传感设备可以包括摄像头、毫米波雷达、激光雷达以及超声波雷达等传感器。
环境感知通常包括感知路面、静态物体和动态物体等。其中,对于动态物体,还要对其轨迹进行追踪,并根据追踪结果,预测该物体下一步的轨迹(位置)。
在一些示例中,感知模块310可以使用深度学习算法来识别车辆周边环境中的物体。
例如,感知模块310中可以包括神经网络,该神经网络可以是通用的分类网络,也可以是自行设计的分类网络。基于训练数据对该神经网络进行训练可以得到该神经网络的参数,该参数也可以称为该神经网络的权重。
例如,训练数据可以包括路标、行人、建筑物或车辆等信息的图像数据以及这些图像数据的标注数据,该标注数据用于标注该图像中的目标物所属的类别。基于该训练数据对神经网络进行训练,得到参数之后,该神经网络即可以用于图像分类。
例如,在实际应用场景中,向该神经网络输入车辆的摄像头采集的图像数据之后,该神经网络基于训练得到的参数,对该图像中的目标物进行分类,从而可以得到该图像中的目标物所属的类别以及该目标物属于该类别的概率,或者说可以识别出智能车周边环境中的目标物所属的类别以及属于对应类别的概率。
融合模块320可以控制传感器,组合处理各传感器接收到的数据信息,帮助预测交通参与者状态,输出交通环境信息等。
规控模块330可以根据融合模块320输出的信息计算车辆的安全空间,即对车辆进行轨迹规划。例如,规控模块330可以结合融合模块320输出的信息,规划智能车的安全路径,该安全路径也可以称为智能车的预测轨迹。
在一些示例中,自动驾驶系统300可以用于执行图10所示的方法。在另一些示例中,自动驾驶系统300可以是使用图9所示的方法检测得到的自动驾驶系统。
图4示出了车辆410和云服务中心420的示例。云服务中心410可以经诸如无线通信网络的网络402,从其操作环境内的车辆410接收数据(例如传感器数据等)。
在一个示例中,云服务中心420根据接收到的数据,运行其存储的车辆驾驶相关程序,实现图10中所示的方法,控制车辆410的行驶。
在一个示例中,云服务中心420根据接收到的数据,运行其存储的车辆驾驶相关程序,实现图9中所示的方法,对车辆410的自动驾驶系统进行检测,以便于对该自动驾驶系统优化。
优化得到的自动驾驶系统可以发送给车辆410。车辆410接收到该自动驾驶系统之后,可以根据传感器采集的数据,执行图10中所示的方法。
或者,优化得到的自动驾驶系统可以部署在云服务中心上。车辆410通过网络402将采集的数据发送给云服务中心420。云服务中心420可以执行图10中的方法,以控制车辆410的行驶。
网络402可以包括各种配置和协议,包括因特网、万维网、内联网、虚拟专用网络、广域网、局域网、使用一个或多个公司的专有通信协议的专用网络、以太网、WiFi和HTTP、以及前述的各种组合。这种通信可以由能够传送数据到其它计算机和从其它计算机传送数据的任何设备,诸如调制解调器和无线接口。
在一个示例中,云服务中心420可以包括具有多个计算机的服务器,例如负载均衡服务器群。这些服务器可以被类似于计算机系统201或计算机系统150的配置,具有处理器、存储器、指令等。
图5为本申请一个实施例的虚拟车运行网络系统的构建方法的示意性流程图。
S510,获取真实车辆的传感器数据。
其中,可以获取一个或多个真实车辆的传感器数据。传感器数据是指传感器采集的数据。通常来说,这多个真实车辆位于同一驾驶场景中,或者可以说这多个真实车辆中任意两个车辆之间的距离不大于预设的距离阈值。
本实施例中,真实车辆简称为实车。
S520,根据所述真实车辆的传感器数据构建虚拟车运行网络系统,该虚拟车运行网络系统中包括一个或多个虚拟车。其中,虚拟车又可以称为影子车。
在一些示例中,获取到真实车辆的传感器数据之后,可以根据这些传感器数据构建得到虚拟的驾驶场景,例如构建得到该虚拟驾驶场景的地图数据,并在该虚拟驾驶场景中生成一个或多个影子车。其中,每个影子车可以放在虚拟驾驶场景范围内的任意位置,例如可以放在与真实车辆相对应的位置上,并将虚拟车的相关数据与该虚拟车对应的实车的相关数据同步。该相关数据可以包括速度、加速度、位置、转向角等等。
可以理解的是,影子车的相关数据也可以全部或部分虚拟生成的,即不是通过与实车同步得到的。
可选地,每个影子车的生命周期可以由真实驾驶场景中采集的传感器数据决定。例如,当根据传感器数据判断出影子车对应的实车已驶出该真实驾驶场景之后,可以删除该影子车。又如,当根据传感器数据判断出真实驾驶场景中出现新的实车的情况下,可以新增该实车对应的影子车。
可以理解的是,也可以是随机生成的影子车。例如,预设虚拟驾驶场景中要保持M辆影子车并行的情况下,若该虚拟驾驶场景中的虚拟车少于了M辆,则可以随机挑选位置生成新的影子车,M为正整数。
可选地,同一个影子车可以使用同一个软件栈独立的处理传感器数据,从而得到预测得到轨迹信息。所述软件栈可以理解为神经网络模型。
可选地,影子车的规控决策(例如轨迹信息)可以与其对应的真实车辆的规控决策(例如轨迹信息)实时保持一致,这类影子车称为第一类影子车。
可选地,影子车的规控决策(例如轨迹信息)可以与其对应的真实车辆的规控决策(例如轨迹信息)实时保持一致,但是该影子车具有决策预测能力,只是其决策不用于控制其行驶行为,这类影子车称为第二类影子车。
可选地,影子车可以具有决策预测能力,并且该决策预测能力预测的轨迹信息实际用于指导自己的行驶行为,这类影子车可以称为第三类影子车。本实施例中的决策预测能力是指可以运行规控算法,得到规控输出的轨迹。
可选地,本实施例中的虚拟车运行网络系统中可以并行运行多个影子车,并且可以根据获取的传感器数据和地图数据选择添加或者删减影子车,以及选择添加或删减的影子车的位置或者其他特性。
本实施例中的虚拟车运行网络系统中并行运行多个影子车的情况下,这多个影子车可以称为一个影子车集群。
可选地,每个影子车可以获知或者不获知其他影子车的存在。影子车获知其他影子车存在的情况,与不获知其他影子车的存在的情况,对该影子车而言,可以认为是两个不同的驾驶场景,根据这两种情况下的数据推测的轨迹信息也就可以认为是不同的驾驶场景下的轨迹信息。
也就是说,本申请实施例的虚拟车运行网络系统根据同一真实驾驶场景下的一个或多个车辆的传感器数据和该真实驾驶场景的地图数据,可以获取到更多数量的虚拟驾驶场景,从而可以采集到车辆在更多驾驶场景下的轨迹信息。
在训练用于基于传感器数据和地图数据预测轨迹信息的自动驾驶系统时,使用如图4所示的方法构建虚拟车运行网络系统,可以采集到更多更丰富的驾驶场景和对应的轨迹信息,即可以采集到更多更丰富的训练数据,从而有助于提高训练后的自动驾驶系统的性能。
本申请的虚拟车运行网络系统构建的虚拟驾驶场景的一个示例如图6所示。其中,白色车辆表示该虚拟驾驶场景对应的真实场景中的实车;带斜线的车辆表示虚拟车。
其中,1号车为第一类影子车,即没有决策预测能力,且行驶行为与对应的真实车辆的行驶行为完全一致;2号车为第二类影子车,即有决策预测能力,但行驶行为与对应的真实车辆的行驶行为完全一致;3号车和4号车为第三类影子车,即既有决策预测能力,且行驶行为由自己的自动驾驶系统输出的轨迹信息决定。
图7为本申请一个实施例的模型训练方法的示意图。
在图7中,数据采集设备760用于采集训练数据。例如,数据采集设备760可以从图4所示的方法构建的虚拟车运行网络系统中采集传感器数据和影子车的轨迹信息,根据该传感器数据和轨迹信息获取训练数据。
在采集到训练数据之后,数据采集设备760将这些训练数据存入数据库730,训练设备720基于数据库730中维护的训练数据训练得到自动驾驶系统701。
需要说明的是,在实际的应用中,所述数据库730中维护的训练数据不一定都来自于数据采集设备760的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备720也不一定完全基于数据库730维护的训练数据进行模型701的训练,也有可能从云端或其他地方获取训练数据进行型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备720训练得到的模型201可以应用于不同的系统或设备中,如应用于图7所示的执行设备710,所述执行设备710可以是车辆,还可以是服务器或者云端等。在图7中,执行设备710配置输入/输出(input/output,I/O)接口712,用于与外部设备进行数据交互,用户可以通过客户设备740向I/O接口712输入数据,所述输入数据在本申请实施例中的一种示例可以包括车辆的传感器采集的数据。
预处理模块713用于根据I/O接口712接收到的输入数据(如传感器数据)进行预处理,在本申请实施例中,也可以没有预处理模块713。
在执行设备710对输入数据进行预处理,或者在执行设备710的处理模块711执行计算等相关的处理过程中,执行设备710可以调用数据存储系统750中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统750中。
最后,I/O接口212将处理结果返回给客户设备740,从而提供给用户。
值得注意的是,图7仅是本申请实施例提供的一种训练模型的示意架构图,图7中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图7中,数据存储系统750相对执行设备710是外部存储器,在其它情况下,也可以将数据存储系统750置于执行设备710中。
在一个示例中,模型701可以是自动驾驶系统,相应地,训练数据中可以包括车辆的传感器在驾驶场景中采集的数据和车辆在该驾驶场景中的轨迹信息,例如该传感器数据和轨迹信息可以是从使用图4所示的方法构建的虚拟车运行网络系统中采集的;执行设备向客户设备反馈的可以是自动驾驶系统预测的轨迹信息。
在另一个示例中,模型701可以是自动驾驶系统的错误定位系统,相应地,训练数据可以包括车辆的传感器在驾驶场景中采集的数据、车辆在该驾驶场景中的轨迹信息,车辆在变换数据对应的驾驶场景中行驶的轨迹信息以及模拟的自动驾驶系统的失效原因,其中,该传感器数据和轨迹信息可以是从使用图4所示的方法构建的虚拟车运行网络系统中采集的,变换数据是基于该模拟的失效原因从该传感器数据变换得到的数据。执行设备向客户设备反馈的是自动驾驶系统的失效原因。
下面介绍本申请训练自动驾驶系统的一种示例性方法。
本实施例中的自动驾驶系统可以是神经网络,进一步地,可以是深度神经网络。本实施例中的自动驾驶系统的一种示例为卷积神经网络。
该方法中,针对获取的训练数据中的轨迹信息,进行聚类处理。例如,可以使用K均值聚类算法、层次聚类算法、基于密度的聚类算法、高斯混合模型聚类算法或者均值漂移聚类算法中的任意一种对训练数据中的轨迹信息进行聚类处理,得到多类轨迹,以及得到每类轨迹的中心轨迹和概率分布。
聚类得到的轨迹类的一种示例图如图8所示。图8中,在四个车道上总共有编号从1至8的八辆车,该八辆车上的传感设备分别采集数据,并且可以将该八辆车上的传感设备分别采集的数据组合在一起,从而可以得到该驾驶场景中更宽视角的道路信息。
例如,在图8所示的驾驶场景下,对车辆8在该驾驶场景下的四条轨迹进行聚类,可以得到两类轨迹,其中,长虚线表示第一类轨迹为,短虚线表示第二类轨迹。
得到聚类结果之后,可以获取训练数据中每个轨迹信息所属的轨迹类的中心轨迹和概率分布,并将该中心轨迹和概率分布作为该轨迹信息对应的传感器数据的标签数据。
在训练过程中,可以将训练数据中每个传感器数据输入待训练的自动驾驶系统,自动驾驶系统预测得到轨迹信息之后,将该预测轨迹信息与各个轨迹类的中心轨迹信息相比较,计算预测轨迹信息与各个中心轨迹信息之间的距离,并根据该距离判断该预测轨迹信息属于各个轨迹类的概率,从而根据判断结构训练自动驾驶系统,例如调整自动驾驶系统的参数,直到结束条件得到满足。预测轨迹信息属于各个轨迹类的概率,也可以理解为预测轨迹信息与各个中心轨迹信息的相似度,或者可以理解为将各个中心轨迹信息作为预测轨迹信息的概率。
训练后的自动驾驶系统基于传感器数据,可以输出传感器数据对应的轨迹信息为各个中心轨迹信息的概率。在一种示例中,可以将最大概率对应的中心轨迹信息作为预测轨迹信息。
结束条件的一种示例为训练数据中一定比例的传感器数据对应的预测轨迹信息与该传感器数据对应的中心轨迹信息属于同一个轨迹类。例如,假设比例阈值为98%,则自动驾驶系统基于98%的传感器数据预测的轨迹信息与对应的中心轨迹信息属于同一个轨迹类时,说明该自动驾驶系统是可靠的,可以停止训练。
其中,计算预测的轨迹信息和中心轨迹信息之间的距离时,在一种可能的实现方式中,可以在预测轨迹信息中取M个轨迹点,并在中心轨迹信息中取M个轨迹点,在标签轨迹信息中取的M个轨迹点与在预测轨迹信息中取的M个轨迹点一一对应,M为正整数;然后计算预测轨迹信息中的M个点中的每个点与中心轨迹信息中的M个点中的对应点的之间的距离,最终可以得到M个距离;根据这M个距离确定预测轨迹信息与中心轨迹信息之间的距离。
根据这M个距离确定预测轨迹信息与中心轨迹信息之间的距离时,在一种可能的实现方式中,可以计算这M个距离的平均距离,并将该平均距离作为预测轨迹信息与中心轨迹信息之间的距离。
根据这M个距离确定预测轨迹信息与中心轨迹信息的距离时,在另一种可能的实现方式中,可以找出这M个距离中的最大距离,并根据该最大距离作为预测轨迹信息与中心轨迹信息之间的距离。
根据这M个距离确定预测轨迹信息与中心轨迹信息之间的距离时,在又一种可能的实现方式中,可以计算这M个距离的和,并将该和作为预测轨迹信息与中心轨迹信息之间的距离。
在轨迹信息中取点时,可以从指定位置开始,按照固定的距离取点,即每个一段固定的距离,在轨迹信息中取一个点,直到取得预定数量的点,或者直到取点位置超出轨迹信息的范围。该固定的距离可以是预先设置的。
在轨迹信息中取点时,也可以参考轨迹的形状来进行。例如,在轨迹的直线形状部分,取点距离可以适当大一些,在轨迹的弧线形状部分,取点距离可以适当小一些。
可以理解的是,通常来说,预测轨迹信息中的取点距离应与中心轨迹信息中的取点距离相对应。例如,预测轨迹信息的第三个点与第二个点之间的距离,应与在中心轨迹信息中的第三个点与第二个点之间的距离相同。
本申请实施例的训练方法中,可选地,将每个训练数据输入自动驾驶系统之前,可以对每个训练数据包括的数据进行分类;并将不同类的数据输入到自动驾驶系统不同的输入通道。例如,将传感器数据中的数据分为车道线标记数据、速度数据、道路边界数据和/或障碍物数据等,其中,障碍物也可以称为对象,可以包括建筑物、行人、其他车辆等。
本申请实施例的训练方法中,可选地,可以基于每个训练数据,生成该训练数据对应的驾驶场景的二维顶视图,该二维顶视图可以包括多个语义层,每个语义层对应前述对训练数据进行分类得到的多个类中的一个类中的数据。例如该二维顶视图可以包括车道线标记层,速度层,道路边界层,障碍物层等等。
在一些方式中,该二维顶视图可以剪裁或者旋转。该二维顶视图中可以显示该驾驶场景中的可移动物体以及该可移动物体的轨迹、方向等等。
本申请实施例的训练方法中,可选地,可以结合强化学习和逆强化学习的方式加强第一神经网络的性能。例如,可以通过人们先验知识设定一系列规则,第一神经网络预测出符合这些规则的轨迹数据时,给予第一神经网络较高的奖励值,否则可以给予较低的奖励值,该奖励值用于调整第一神经网络的权重。这些规则可以包括但不限于:无撞击,较快移动速度,没有压实线,没有走之字形等。该方式训练得到的第一神经网络能够预测得到更安全、效率更高的轨迹。
下面介绍本申请训练自动驾驶系统的错误定位系统的一种示例性方法。
本实施例中的错误定位系统可以是神经网络,进一步地,可以是深度神经网络。本实施例中的自动驾驶系统的一种示例为卷积神经网络。
训练错误定位系统时,首先获取训练集,该训练集中可以包括车辆在驾驶场景中采集的传感器数据和车辆在该驾驶场景中的轨迹信息,例如该训练集中可以包括训练自动驾驶系统时的训练数据。
另外,可以针对自动驾驶系统预设错误,例如预设自动驾驶系统的感知模块或融合模块发生错误,并基于该错误对采集的传感器数据进行变换,得到变换数据,然后基于该变换数据预测车辆的轨迹信息,例如自动驾驶系统基于该变换数据预测车辆的轨迹信息。这种情况下,训练集中还可以包括基于变换数据预测的轨迹信息和预设的错误原因。
获取到训练集后,可以使用该训练集对错误定位系统进行训练,直到结束条件得到满足,例如训练次数达到最大次数,训练时长达到最大时长,等等。
训练后的错误定位系统可以基于传感器数据、车辆在该传感器数据对应的驾驶场景中行驶时的合理轨迹信息以及待检测自动驾驶系统基于该传感器数据预测的轨迹信息,输出待检测自动驾驶系统的失效原因。该失效原因可以认为是导致该待检测自动驾驶系统基于该传感器数据预测得到的轨迹信息不是该合理轨迹信息的原因。
本实施例中,可以对每个传感器数据进行分类,例如,将传感器数据中的数据分为车道线标记数据、速度数据、道路边界数据和/或障碍物数据等,其中,障碍物也可以称为对象,可以包括建筑物、行人、其他车辆等;同样,对变换数据进行分类,分类方式与前述传感器数据的分类方式相同。
然后,可以生成该传感器数据的二维顶视图,该二维顶视图可以包括多个语义层,每个语义层对应前述多个分类中的一个分类中的数据。例如该二维顶视图可以包括车道线标记层,速度层,道路边界层,障碍物层等等。
在一些方式中,该二维顶视图可以剪裁或者旋转。该二维顶视图中可以显示可移动物体以及该可移动物体的轨迹、方向等等。
接下来,可以选择修改传感器数据中一个或多个分类所对应的数据,得到变换数据,并记录下该分类对应的是哪个层,该层的位置可以作为标签数据。并且,基于该变换数据预测得到轨迹信息,该轨迹信息可以认为是不合理轨迹信息。
训练错误定位系统时,错误定位系统基于传感器数据、该传感器数据对应的合理轨迹信息和不合理轨迹信息之后,可以预测该变换数据与传感器数据在哪些层上的数据不同。这样,可以基于错误定位系统预测的层和标签数据记录的层对错误定位系统进行训练。
训练后的错误定位系统,基于传感器数据、该传感器数据对应的合理轨迹信息和待检测自动驾驶系统基于该传感器数据预测的轨迹信息,可以推测导致该检测自动驾驶系统失效的数据层,并根据该数据层的位置推测该检测自动驾驶系统的失效原因。
其中,车道线标记层、速度层、道路边界层或障碍物层的发生错误,都可以认为是待检测自动驾驶系统的感知模块发生错误,若不是感知模块或融合模块发生错误,则可以认为是规控模块发生错误。
换种角度来说,就是通过在传感器数据中添加新的信息或者移出现有信息来模拟自动驾驶系统的错误。例如,通过在传感器数据中添加本不存在的车辆信息来模拟感知模块的多检问题。又如,通过移出道路上的部分车道线来模拟地图中因为某些原因造成的车道线输出不完整的问题。
这些添加的信息或移出的信息可以体现在顶视图中。例如,这些信息的变化会存储在相应的语义层中,并且会编码生成导致该语音层发生变换的错误位置的语义信息。
在一些示例中错误定位系统输出的是含有错误信息的多语义层顶视图。对比错误定位系统输出的顶视图与输入该错误定位系统的顶视图,可以判断待检测自动驾驶系统是否发生了感知模块的错误、融合模块的错误或者地图数据的错误。如果这些都没有错误,可以初步确定是规控模块发生了错误。其中,地图数据是指能够用于指示驾驶场景的环境信息的数据。
图9为本申请一个实施例的检测自动驾驶系统的方法的示意性流程图。该方法包括S910至S930。
S910,获取第一数据,所述第一数据中包括目标驾驶场景中的多个车辆的传感器采集的数据。
例如,可以从使用图5所示的方法构建的虚拟车运动网络系统中获取第一数据。
S920,使用待检测自动驾驶系统,根据所述第一数据,获取目标车辆在所述目标驾驶场景中行驶时的第一轨迹信息。
该待检测自动驾驶系统可以是使用图7所示的方法训练得到的自动驾驶系统。该目标车辆可以是真实车辆,也可以是虚拟车辆。例如,该目标车辆可以是图6所示的驾驶场景中的实车,也可以是其中的虚拟车。
S930,根据所述第一轨迹信息与预设的第二轨迹信息之间的差异,检测所述待检测自动驾驶系统在所述目标驾驶场景中行驶时是否失效。
该方法中,待检测自动驾驶系统推测目标车辆在目标驾驶场景中行驶时的轨迹所使用的传感器数据是多个车辆采集的。这与待检测自动驾驶系统基于一个车辆采集的传感器数据推测目标车辆在目标驾驶场景中行驶时的轨迹相比,由于多个车辆上的传感器能够采集到目标驾驶场景中更多的数据,即可以获得目标驾驶场景的更多信息,因此,待检测自动驾驶系统推测的轨迹信息更准确。基于该更准确的轨迹信息对该待检测自动驾驶系统进行失效检测的结果也就会更准确,最终,可以提高应用该待检测自动驾驶系统的车辆的安全性。
本实施例中,可选地,所述待检测自动驾驶系统在所述目标驾驶场景中行驶时失效的情况下,所述方法还可以包括:S940,使用预设的神经网络根据所述第一数据、所述第二轨迹信息和所述第一轨迹信息,获取所述待检测自动驾驶系统的失效原因。
其中的神经网络可以是使用图7所示的方法训练得到的错误定位系统。
该实现方式中,可以通过训练过的神经网络来定位待检测自动驾驶系统失效的原因,即定位是由于待检测自动驾驶系统中哪个或哪些模块发生错误才导致的失效。这有助于对该待检测自动驾驶系统进行改进,以避免该待检测自动驾驶系统再出现该失效案例,从而提高应用该自动驾驶系统的车辆的安全性。
可选地,待检测自动驾驶系统的失效原因可以包括以下一种或多种:所述待检测自动驾驶系统的决策规控模块发生错误,所述待检测自动驾驶系统的感知模块发生错误,所述待检测自动驾驶系统的融合模块发生错误。
本实施例中,该第二轨迹信息可以是人类驾驶员驾驶真实车辆行驶时的轨迹信息,也可以是其他可信自动驾驶系统基于第一数据输出的轨迹信息。
与将人工驾驶员驾驶车辆行驶时的轨迹信息作为第二轨迹信息相比,将可信自动驾驶系统基于第一数据推测的轨迹信息作为第二轨迹信息,更便于采集到轨迹信息,且该自动驾驶系统输出的轨迹信息与待检测自动驾驶系统输出的轨迹信息之间的格式更容易达到一致,从而可以提高检测效率。
在第二轨迹信息为可信自动驾驶系统输出的轨迹信息的情况下,该可信自动驾驶系统为经过训练得到的自动驾驶系统,所述训练包括基于深度学习方法的训练。例如,该可信自动驾驶系统可以是使用图7所示的方法训练得到的自动驾驶系统。
因为经过深度学习,所以可以学习到包含传感器数据的数据与轨迹信息之间的深层关系,从而可以提高作为基准轨迹信息的第二轨迹信息的准确性,从而可以提高待检测自动驾驶系统的检测准确性。
本实施例中,可选地,所述待检测自动驾驶系统在所述目标驾驶场景中行驶时没有失效的情况下,所述第一数据和所述第一轨迹信息用于对所述基准自动驾驶系统进行训练。也就是说,所述待检测自动驾驶系统在所述目标驾驶场景中行驶时没有失效的情况下,将该第一数据和第一轨迹信息收集起来作为训练数据,以便于对该可信自动驾驶系统进行再训练,提高该可信自动驾驶系统的性能,从而可以进一步提高待检测自动驾驶系统的检测准确性。
本实施例中,可以通过可视化界面来显示目标车辆的行驶轨迹,从而可以更直观地观测到目标车辆的行驶轨迹,进而可以判断目标车辆的行驶轨迹的合理性,最终可以检测待检测自动驾驶系统是否失效。例如,可以使用如图4所示的方法构建虚拟车运行网络系统,并在可视化界面中显示驾驶场景以及各个车辆的轨迹信息。
可以理解的是,本申请的实施例中,可以使用该待检测自动驾驶系统基于多个传感器数据输出多个目标车辆的轨迹信息,并将这多个目标车辆的多个轨迹信息与预设的多个基准轨迹信息分别进行比较,以判断该自动驾驶系统在多种驾驶场景下的失效情况。其中,这多个目标车辆中可以包括在真实驾驶环境中行驶的车辆,也可以包括虚拟车辆。当目标车辆为真实车辆时,基准轨迹信息可以是该真实车辆在人类驾驶员控制下行驶时的轨迹信息,也可以是真实车辆上的其他可信自动驾驶系统为该车辆预测的轨迹信息。当目标车辆为虚拟车辆时,基准轨迹信息可以是该可信自动驾驶系统为该车辆预测的轨迹信息,也可以是与该虚拟车辆对应的实车的真实轨迹信息。
图10是本申请一个实施例的控制车辆行驶的方法的示意性流程图。该方法可以包括S1010至S1020。
S1010,获取目标自动驾驶系统基于目标数据输出的轨迹信息,所述目标数据包括目标驾驶场景中的多个车辆的传感器采集的数据,所述多个车辆包括目标车辆。
S1020,根据所述轨迹信息控制所述目标车辆行驶。
该方法中,因为目标自动驾驶系统推测目标车辆在目标驾驶场景中行驶时的轨迹所使用的传感器数据是多个车辆采集的。这与目标自动驾驶系统基于一个车辆采集的传感器数据推测目标车辆在目标驾驶场景中行驶时的轨迹相比,由于多个车辆上的传感器能够采集到目标驾驶场景中更多的数据,即可以获得目标驾驶场景的更多信息,因此,目标自动驾驶系统推测的轨迹信息更准确,从而可以提高车辆的安全性。
例如,该目标自动驾驶系统可以是使用图7所示的方法训练之后又使用图9所示的方法检测得到的自动驾驶系统。由于使用图9所示方法检测过的目标自动驾驶系统的失效案例可以更少,因此基于该目标自动驾驶系统控制车辆行驶时,该车辆的安全性更高。
图11为本申请一个实施例的检测自动驾驶系统的装置1100的结构示意图。装置1100可以包括数据获取模块1110、轨迹获取模块1120和失效检测模块1130。装置1100可以用于实现前述图9所示的方法。
例如,数据获取模块1110可以用于执行S910,轨迹获取模块1120可以用于执行S920,失效检测模块1130可以用于执行S930。
装置1100可部署在云环境中,云环境是云计算模式下利用基础资源向用户提供云服务的实体。云环境包括云数据中心和云服务平台,所述云数据中心包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源),云数据中心包括的计算资源可以是大量的计算设备(例如服务器)。装置1100可以是云数据中心中用于检测自动驾驶系统的服务器。装置1100也可以是创建在云数据中心中的用于检测自动驾驶系统的虚拟机。装置1100还可以是部署在云数据中心中的服务器或者虚拟机上的软件装置,该软件装置用于检测自动驾驶系统,该软件装置可以分布式地部署在多个服务器上、或者分布式地部署在多个虚拟机上、或者分布式地部署在虚拟机和服务器上。例如,装置1100中的数据获取模块1110、轨迹获取模块1120和失效检测模块1130可以分布式地部署在多个服务器上,或分布式地部署在多个虚拟机上,或者分布式地部署在虚拟机和服务器上。又如,失效检测模块1130包括多个子模块时,这多个子模块可以部署在多个服务器上,或分布式地部署在多个虚拟机上,或者分布式地部署在虚拟机和服务器上。
装置1100可以由云服务提供商在云服务平台抽象成一种检测自动驾驶系统的云服务提供给用户,用户在云服务平台购买该云服务后,云环境利用该云服务向用户提供优检测自动驾驶系统的云服务,用户可以通过应用程序接口(application programinterface,API)或者通过云服务平台提供的网页界面上传检测的自动驾驶系统至云环境,装置1100优化自动驾驶系统之后,将检测结果(例如是否失效甚至实效原因)返回至用户。
当装置1100为软件装置时,装置1100也可以单独部署在任意环境的一个计算设备上。
图12为本申请实施例提供的一种控制车辆行驶的装置1200的结构示意图。装置1200可以包括轨迹获取模块1210和控制模块1220。装置1000可以用于实现前述图10所示的方法。
例如,轨迹获取模块1210可以用于执行S1010,控制模块1230可以用于执行S1020。
装置1200可部署在云环境中,云环境是云计算模式下利用基础资源向用户提供云服务的实体。云环境包括云数据中心和云服务平台,所述云数据中心包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源),云数据中心包括的计算资源可以是大量的计算设备(例如服务器)。装置1200可以是云数据中心中用于控制车辆行驶的服务器。装置1200也可以是创建在云数据中心中的用于控制车辆行驶的虚拟机。装置1200还可以是部署在云数据中心中的服务器或者虚拟机上的软件装置,该软件装置用于控制车辆行驶,该软件装置可以分布式地部署在多个服务器上、或者分布式地部署在多个虚拟机上、或者分布式地部署在虚拟机和服务器上。例如,装置1200中的轨迹获取模块1210和控制模块1220可以分布式地部署在多个服务器上,或分布式地部署在多个虚拟机上,或者分布式地部署在虚拟机和服务器上。又如,控制模块1220包括多个子模块时,这多个子模块可以部署在多个服务器上,或分布式地部署在多个虚拟机上,或者分布式地部署在虚拟机和服务器上。
装置1200可以由云服务提供商在云服务平台抽象成一种控制车辆行驶的云服务提供给用户,用户在云服务平台购买该云服务后,云环境利用该云服务向用户提供控制车辆行驶的云服务,用户可以通过应用程序接口或者通过云服务平台提供的网页界面上传传感器数据至云环境,装置1200得到控制策略(例如轨迹信息)之后,向车辆返回该控制策略,以控制车辆行驶。
当装置1200为软件装置时,装置1200也可以单独部署在任意环境的一个计算设备上。
图13为本申请实施例提供的一种装置1300的结构示意图。装置1300包括处理器1302、通信接口1303和存储器1304。装置1300的一种示例为芯片。装置1300的另一种示例为计算设备。
处理器1302、存储器1304和通信接口1303之间可以通过总线通信。存储器1304中存储有可执行代码,处理器1302读取存储器1304中的可执行代码以执行对应的方法。存储器1304中还可以包括操作系统等其他运行进程所需的软件模块。操作系统可以为LINUXTM,UNIXTM,WINDOWSTM等。
例如,存储器1304中的可执行代码用于实现图9或图10所示的方法,处理器1302读取存储器1304中的该可执行代码以执行图9或图10所示的方法。
其中,处理器1302可以为CPU。存储器1304可以包括易失性存储器(volatilememory),例如随机存取存储器(random access memory,RAM)。存储器1304还可以包括非易失性存储器(2non-volatile memory,2NVM),例如只读存储器(2read-only memory,2ROM),快闪存储器,硬盘驱动器(hard disk drive,HDD)或固态启动器(solid state disk,SSD)。
在本申请的一些实施例中,所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。图14示意性地示出根据这里展示的至少一些实施例而布置的示例计算机程序产品的概念性局部视图,所述示例计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。在一个实施例中,示例计算机程序产品1400是使用信号承载介质1401来提供的。所述信号承载介质1401可以包括一个或多个程序指令1402,其当被一个或多个处理器运行时可以提供以上针对图9或图10所示的方法中描述的功能或者部分功能。因此,例如,参考图9中所示的实施例,S910至S930的一个或多个特征可以由与信号承载介质1401相关联的一个或多个指令来承担。又如,参考图10中所示的实施例,S1010至S1020的一个或多个特征可以由与信号承载介质1401相关联的一个或多个指令来承担。
在一些示例中,信号承载介质1401可以包含计算机可读介质1403,诸如但不限于,硬盘驱动器、紧密盘(CD)、数字视频光盘(DVD)、数字磁带、存储器、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等等。在一些实施方式中,信号承载介质1401可以包含计算机可记录介质1404,诸如但不限于,存储器、读/写(R/W)CD、R/W DVD、等等。在一些实施方式中,信号承载介质1401可以包含通信介质1405,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质1401可以由无线形式的通信介质1405(例如,遵守IEEE802.11标准或者其它传输协议的无线通信介质)来传达。一个或多个程序指令1402可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,前述的计算设备可以被配置为,响应于通过计算机可读介质1403、计算机可记录介质1404、和/或通信介质1405中的一个或多个传达到计算设备的程序指令1402,提供各种操作、功能、或者动作。应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能实体。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (15)

1.一种检测自动驾驶系统的方法,其特征在于,所述方法包括:
获取第一数据,所述第一数据中包括传感器数据,所述传感器数据包括多个车辆的传感器采集的数据,所述多个车辆为位于同一驾驶场景中的真实车辆;
使用待检测自动驾驶系统,根据所述第一数据,获取目标车辆在目标驾驶场景中行驶时的第一轨迹信息,所述目标车辆为虚拟车辆,所述目标驾驶场景为根据所述第一数据构建;
根据所述第一轨迹信息与预设的第二轨迹信息之间的差异,检测所述待检测自动驾驶系统在所述目标驾驶场景中行驶时是否失效,所述第二轨迹信息为基准自动驾驶系统根据所述第一数据获取的所述目标车辆在所述目标驾驶场景中行驶时的轨迹信息;
在所述待检测自动驾驶系统在所述目标驾驶场景中行驶时失效的情况下,使用预设的神经网络根据所述第一数据、所述第二轨迹信息和所述第一轨迹信息,获取所述待检测自动驾驶系统的失效原因,所述预设的神经网络是基于第二数据、所述第二数据对应的轨迹信息、对所述第二数据中的数据基于预设错误进行修改得到的第三数据所对应的轨迹信息训练得到的神经网络,其中,所述预设错误包括感知模块或融合模块发生错误。
2.根据权利要求1所述的方法,其特征在于,所述失效原因包括以下一种或多种:所述待检测自动驾驶系统的决策规控模块发生错误,所述待检测自动驾驶系统的感知模块发生错误。
3.根据权利要求1所述的方法,其特征在于,所述基准自动驾驶系统为经过训练得到的自动驾驶系统,所述训练包括基于深度学习方法的训练。
4.根据权利要求3所述的方法,其特征在于,所述训练还包括基于强化学习和逆强化学习的训练。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述待检测自动驾驶系统在所述目标驾驶场景中行驶时没有失效的情况下,所述第一数据和所述第一轨迹信息用于对所述基准自动驾驶系统进行训练。
6.一种控制车辆行驶的方法,其特征在于,包括:
获取目标自动驾驶系统基于目标数据输出的轨迹信息,其中,所述目标自动驾驶系统是使用如权利要求1至5中任一项所述的方法检测得到的自动驾驶系统,所述目标数据包括多个车辆的传感器采集的数据,所述多个车辆为位于同一驾驶场景中的真实车辆,所述多个车辆包括与所述目标车辆关联的真实车辆;
根据所述轨迹信息控制所述与所述目标车辆关联的真实车辆行驶。
7.一种检测自动驾驶系统的装置,其特征在于,包括:
数据获取模块,用于获取第一数据,所述第一数据中包括传感器数据,所述传感器数据包括多个车辆的传感器采集的数据,所述多个车辆为位于同一驾驶场景中的真实车辆;
轨迹获取模块,用于使用待检测自动驾驶系统,根据所述第一数据,获取目标车辆在目标驾驶场景中行驶时的第一轨迹信息,所述目标车辆为虚拟车辆,所述目标驾驶场景为根据所述第一数据构建;
失效检测模块,用于根据所述第一轨迹信息与预设的第二轨迹信息之间的差异,检测所述待检测自动驾驶系统在所述目标驾驶场景中行驶时是否失效,所述第二轨迹信息为基准自动驾驶系统根据所述第一数据获取的所述目标车辆在所述目标驾驶场景中行驶时的轨迹信息;
错误定位模块,用于在所述待检测自动驾驶系统在所述目标驾驶场景中行驶时失效的情况下,使用预设的神经网络根据所述第一数据、所述第二轨迹信息和所述第一轨迹信息,获取所述待检测自动驾驶系统的失效原因,所述预设的神经网络是基于第二数据、所述第二数据对应的轨迹信息、对所述第二数据中的数据基于预设错误进行修改得到的第三数据所对应的轨迹信息训练得到的神经网络,其中,所述预设错误包括感知模块或融合模块发生错误。
8.根据权利要求7所述的装置,其特征在于,所述失效原因包括以下一种或多种:所述待检测自动驾驶系统的决策规控模块发生错误,所述待检测自动驾驶系统的感知模块发生错误。
9.根据权利要求7所述的装置,其特征在于,所述基准自动驾驶系统为经过训练得到的自动驾驶系统,所述训练包括基于深度学习方法的训练。
10.根据权利要求9所述的装置,其特征在于,所述训练还包括基于强化学习和逆强化学习的训练。
11.根据权利要求7至10中任一项所述的装置,其特征在于,在所述待检测自动驾驶系统在所述目标驾驶场景中行驶时没有失效的情况下,所述第一数据和所述第一轨迹信息用于对所述基准自动驾驶系统进行训练。
12.一种控制车辆行驶的装置,其特征在于,包括:
轨迹获取模块,用于获取目标自动驾驶系统基于目标数据输出的轨迹信息,其中,所述目标自动驾驶系统是使用如权利要求1至5中任一项所述的方法检测得到的自动驾驶系统,所述目标数据包括多个车辆的传感器采集的数据,所述多个车辆为位于同一驾驶场景中的真实车辆,所述多个车辆包括与所述目标车辆关联的真实车辆;
控制模块,用于根据所述轨迹信息控制所述与所述目标车辆关联的真实车辆行驶。
13.一种检测自动驾驶系统的装置,其特征在于,包括:处理器,所述处理器与存储器耦合;
所述存储器用于存储指令;
所述处理器用于执行所述存储器中存储的指令,以使得所述装置实现如权利要求1至5中任一项所述的方法。
14.一种控制车辆行驶的装置,其特征在于,包括:处理器,所述处理器与存储器耦合;
所述存储器用于存储指令;
所述处理器用于执行所述存储器中存储的指令,以使得所述装置实现如权利要求6所述的方法。
15.一种计算机可读介质,其特征在于,包括指令,当所述指令在处理器上运行时,使得所述处理器实现如权利要求1至6中任一项所述的方法。
CN202010476010.8A 2020-05-29 2020-05-29 检测自动驾驶系统的方法和装置 Active CN113741384B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010476010.8A CN113741384B (zh) 2020-05-29 2020-05-29 检测自动驾驶系统的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010476010.8A CN113741384B (zh) 2020-05-29 2020-05-29 检测自动驾驶系统的方法和装置

Publications (2)

Publication Number Publication Date
CN113741384A CN113741384A (zh) 2021-12-03
CN113741384B true CN113741384B (zh) 2023-12-29

Family

ID=78724684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010476010.8A Active CN113741384B (zh) 2020-05-29 2020-05-29 检测自动驾驶系统的方法和装置

Country Status (1)

Country Link
CN (1) CN113741384B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115107791A (zh) * 2022-04-06 2022-09-27 东软睿驰汽车技术(沈阳)有限公司 一种触发数据采集的方法、数据采集的方法及装置
CN115056754B (zh) * 2022-08-18 2022-10-28 江苏天一航空工业股份有限公司 一种物流行李牵引车制动控制系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108089571A (zh) * 2016-11-22 2018-05-29 百度(美国)有限责任公司 用于预测无人驾驶车辆的车辆交通行为以做出驾驶决策的方法和系统
CN109445425A (zh) * 2019-01-02 2019-03-08 奇瑞汽车股份有限公司 自动驾驶系统的性能检测方法、装置及存储介质
CN109597317A (zh) * 2018-12-26 2019-04-09 广州小鹏汽车科技有限公司 一种基于自学习的车辆自动驾驶方法、系统及电子设备
CN110884502A (zh) * 2019-12-06 2020-03-17 北京京东乾石科技有限公司 自动驾驶路径规划质量测评方法、装置和系统
CN111123933A (zh) * 2019-12-24 2020-05-08 华为技术有限公司 车辆轨迹规划的方法、装置、智能驾驶域控制器和智能车

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101514928B1 (ko) * 2014-09-24 2015-04-23 주식회사 만도 자동 주행 제어 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108089571A (zh) * 2016-11-22 2018-05-29 百度(美国)有限责任公司 用于预测无人驾驶车辆的车辆交通行为以做出驾驶决策的方法和系统
CN109597317A (zh) * 2018-12-26 2019-04-09 广州小鹏汽车科技有限公司 一种基于自学习的车辆自动驾驶方法、系统及电子设备
CN109445425A (zh) * 2019-01-02 2019-03-08 奇瑞汽车股份有限公司 自动驾驶系统的性能检测方法、装置及存储介质
CN110884502A (zh) * 2019-12-06 2020-03-17 北京京东乾石科技有限公司 自动驾驶路径规划质量测评方法、装置和系统
CN111123933A (zh) * 2019-12-24 2020-05-08 华为技术有限公司 车辆轨迹规划的方法、装置、智能驾驶域控制器和智能车

Also Published As

Publication number Publication date
CN113741384A (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
CN110550029B (zh) 障碍物避让方法及装置
CN111123952B (zh) 一种轨迹规划方法及装置
US20220332348A1 (en) Autonomous driving method, related device, and computer-readable storage medium
CN112230642B (zh) 道路可行驶区域推理方法及装置
WO2021102955A1 (zh) 车辆的路径规划方法以及车辆的路径规划装置
CN113792566B (zh) 一种激光点云的处理方法及相关设备
CN110471411A (zh) 自动驾驶方法和自动驾驶装置
CN112543877B (zh) 定位方法和定位装置
CN113498529B (zh) 一种目标跟踪方法及其装置
WO2022142839A1 (zh) 一种图像处理方法、装置以及智能汽车
CN113968242B (zh) 自动驾驶场景生成方法、装置及系统
US20230048680A1 (en) Method and apparatus for passing through barrier gate crossbar by vehicle
CN113741384B (zh) 检测自动驾驶系统的方法和装置
CN114792149A (zh) 一种轨迹预测方法、装置及地图
CN112810603B (zh) 定位方法和相关产品
EP4159564A1 (en) Method and device for planning vehicle longitudinal motion parameters
CN113552869B (zh) 优化决策规控的方法、控制车辆行驶的方法和相关装置
WO2021159397A1 (zh) 车辆可行驶区域的检测方法以及检测装置
CN113859265A (zh) 一种驾驶过程中的提醒方法及设备
CN114556251B (zh) 用于确定车辆可通行空间的方法和装置
US20230256970A1 (en) Lane Change Track Planning Method and Apparatus
WO2022061725A1 (zh) 交通元素的观测方法和装置
CN116997940A (zh) 一种车道线检测方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant