CN109901574B - 自动驾驶方法及装置 - Google Patents
自动驾驶方法及装置 Download PDFInfo
- Publication number
- CN109901574B CN109901574B CN201910082123.7A CN201910082123A CN109901574B CN 109901574 B CN109901574 B CN 109901574B CN 201910082123 A CN201910082123 A CN 201910082123A CN 109901574 B CN109901574 B CN 109901574B
- Authority
- CN
- China
- Prior art keywords
- vehicle
- target vehicle
- action
- confidence
- target
- 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
Links
Images
Landscapes
- Traffic Control Systems (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Abstract
本申请提供一种自动驾驶方法及装置,涉及人工智能技术领域,能够兼顾驾驶策略的灵活性与安全性。该方法包括:获取目标车辆的第一置信度和第二置信度,第一置信度表征目标车辆所处周围环境的环境信息的可信程度,第二置信度表征目标车辆的自身状态信息以及目标车辆潜在交互目标对象的状态信息对应的可信程度;根据第一置信度和第二置信度获取第一驾驶策略;根据第一驾驶策略和基于预设规则的第二驾驶策略获取第三驾驶策略,第三驾驶策略用于控制目标车辆的自动驾驶。该方法应用在控制智能汽车进行自动驾驶的过程中。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及自动驾驶方法及装置。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
自动驾驶是人工智能领域的一种主流应用,自动驾驶技术依靠计算机视觉、雷达、监控装置和全球定位***等协同合作,让机动车辆可以在不需要人类主动操作下,实现自动驾驶。自动驾驶的车辆使用各种计算***来帮助将乘客从一个位置运输到另一位置。一些自动驾驶车辆可能要求来自操作者(诸如,领航员、驾驶员、或者乘客)的一些初始输入或者连续输入。自动驾驶车辆准许操作者从手动模操作式切换到自东驾驶模式或者介于两者之间的模式。由于自动驾驶技术无需人类来驾驶机动车辆,所以理论上能够有效避免人类的驾驶失误,减少交通事故的发生,且能够提高公路的运输效率。因此,自动驾驶技术越来越受到重视。
随着机器学习技术的发展,基于机器学习算法控制车辆自动驾驶的方案日益成熟。具体的,车辆从传感器获取自身的速度、航向角等信息,获取与车辆可能交互的其他车辆的速度、航向角等信息,并将获取的信息输入机器学习模型,通过机器学习模型运算,得到用于控制车辆自动驾驶的驾驶策略,驾驶策略包括对速度、加速度、航向角的控制策略等。可见,基于机器学习的自动驾驶方案中,虽然能够针对车辆在不同的速度、航向角场景下灵活制定不同的驾驶策略,但是,由于需从传感器获取信息,并基于获取的信息制定驾驶策略,所以对传感器的精度要求较高。当传感器出现故障或灵敏度不够高或精度不够高时,极容易导致制定安全性较差的驾驶策略,使得自动驾驶的风险较大。
因此,现有技术的自动驾驶方案无法兼顾驾驶策略的灵活性与安全性。
发明内容
本申请实施例提供一种自动驾驶方法及装置,能够兼顾驾驶策略的灵活性与安全性。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供一种自动驾驶方法,该方法应用于具有自动驾驶功能的装置中,比如,用于车辆,用于车辆中的芯片***,用于处理器上运行的操作***和驱动,该方法包括:获取目标车辆的第一置信度和第二置信度,第一置信度表征目标车辆所处周围环境的环境信息的可信程度,第二置信度表征目标车辆的自身状态信息以及目标车辆潜在交互目标对象的状态信息对应的可信程度。根据第一置信度和第二置信度获取第一驾驶策略,并根据第一驾驶策略和基于预设规则的第二驾驶策略获取第三驾驶策略,第三驾驶策略用于控制目标车辆的自动驾驶。
采用上述自动驾驶方法,一方面,通过第一驾驶策略和第二驾驶策略的结合,可以灵活制定第三驾驶策略,由于第三驾驶策略不仅仅依赖于置信度得出,而是在置信度的基础上综合考虑了预设规则,所以,当传感器出现故障时,能够根据预设规则这一因素控制车辆进行自动驾驶,提升自动驾驶的安全性。另一方面,在确定第三驾驶策略时,不仅考虑与车辆有交互可能性的其他车辆对该车辆自动驾驶的影响,还考虑了车辆环境的环境信息对自动驾驶的影响,通过考虑多角度、综合因素,使得第三驾驶策略可以应对复杂多样的交通场景,更为灵活。
在一种可能的设计中,根据第一置信度和第二置信度获取第一驾驶策略,包括:根据第一置信度和第二置信度获取安全通行概率,并根据安全通行概率获取第一驾驶策略。
在一种可能的设计中,根据第一置信度和第二置信度获取安全通行概率,包括:
将第一置信度和第二置信度输入第一模型,以通过第一模型运算输出安全通行概率,第一模型是基于至少一个第一样本数据训练得到的模型,第一样本数据包括初始的第一观测状态、第一动作、执行第一动作获取的反馈、执行第一动作后新的第一观测状态,初始的第一观测状态包括初始的第一置信度和初始的第二置信度,新的第一观测状态包括执行第一动作后新的第一置信度和新的第二置信度。
在一种可能的设计中,将第一置信度和第二置信度输入第一模型之前,自动驾驶装置还可以执行如下步骤:获取初始的第一观测状态,初始的第一观测状态包括初始的第一置信度和当前的第二置信度,从动作空间中选择并执行第一动作,观测执行第一动作所对应的反馈和执行第一动作后新的第一观测状态,并将初始的第一观测状态、第一动作、执行第一动作对应的反馈、新的第一观测状态作为一个第一样本数据,并将一个第一样本数据存储至经验回放池。
可以理解的是,重复执行上述操作,将多个第一样本数据分别存储至经验回放池。
后续,从经验回放池中获取N个第一样本数据,并根据N个第一样本数据更新第一模型, N为正整数,若更新后的第一模型收敛,则获取收敛的第一模型。
在一种可能的设计中,根据安全通行概率获取第一驾驶策略,包括:将安全通行概率输入第二模型,以通过第二模型运算输出第一驾驶策略。第二模型是基于至少一个第二样本数据训练得到的模型,第二样本数据包括初始的第二观测状态、第二动作、执行第二动作获取的反馈、执行第二动作后新的第二观测状态,初始的第二观测状态包括初始的安全通信概率,新的第二观测状态包括执行第二动作后新的安全通行概率。
在一种可能的设计中,在将安全通行概率输入第二模型之前,自动驾驶装置还可以执行:获取初始的第二观测状态,初始的第二观测状态包括初始的安全通行概率,从动作空间中选择并执行第二动作,观测执行第二动作所对应的反馈和执行第二动作后新的第二观测状态,并将初始的第二观测状态、第二动作、执行第二动作对应的反馈、新的第二观测状态作为一个第二样本数据,并将一个第二样本数据存储至经验回放池。
执行上述操作,将多个第二样本数据分别存储至经验回放池。
从经验回放池中获取L个第二样本数据,并根据L个第二样本数据更新第二模型,M为正整数,若更新后的第二模型收敛,则获取收敛的第二模型。
在一种可能的设计中,获取目标车辆的第二置信度,包括:将目标车辆的状态信息和目标对象的状态信息输入第三模型,以获取第二置信度,第三模型为机器学习模型,目标车辆的状态信息包括目标车辆位置、目标车辆的速度、目标车辆的加速度、目标车辆的运动方向中的至少一个,第三模型是基于至少一个第三样本数据训练得到的模型,第三样本数据包括初始的第三观测状态、第三动作、执行第三动作获取的反馈、执行第三动作后新的第三观测状态,初始的第三观测状态包括初始时目标车辆的状态信息和目标对象的状态信息,新的第三观测状态包括执行第三动作后目标车辆的状态信息和目标对象的状态信息。
在一种可能的设计中,自动驾驶装置还可以执行如下步骤:根据第三驾驶策略控制自动驾驶。
第二方面,本申请提供一种自动驾驶装置,该装置可以为车辆,也可以是能够支持车辆实现自动驾驶功能的装置,其可以和车辆匹配使用,例如可以是车辆中的装置(比如是车辆中的芯片***,或者车辆的计算机***上运行的操作***和/或驱动等)。该装置包括获取模块、控制模块、选择模块、执行模块、观测模块、存储模块、更新模块,这些模块可以执行上述第一方面任一种设计示例中的自动驾驶装置执行的相应功能,具体的:
获取模块,用于获取目标车辆的第一置信度和第二置信度,第一置信度表征目标车辆所处周围环境的环境信息的可信程度,第二置信度表征目标车辆的自身状态信息以及目标车辆潜在交互目标对象的状态信息对应的可信程度。还用于根据第一置信度和第二置信度获取第一驾驶策略,并根据第一驾驶策略和基于预设规则的第二驾驶策略获取第三驾驶策略,第三驾驶策略用于控制目标车辆的自动驾驶。
在一种可能的设计中,获取模块,用于根据第一置信度和第二置信度获取第一驾驶策略,包括:用于根据第一置信度和第二置信度获取安全通行概率,并根据安全通行概率获取第一驾驶策略。
在一种可能的设计中,获取模块,用于根据第一置信度和第二置信度获取安全通行概率,包括:用于将第一置信度和第二置信度输入第一模型,以通过第一模型运算输出安全通行概率,第一模型是基于至少一个第一样本数据训练得到的模型,第一样本数据包括初始的第一观测状态、第一动作、执行第一动作获取的反馈、执行第一动作后新的第一观测状态,初始的第一观测状态包括初始的第一置信度和初始的第二置信度,新的第一观测状态包括执行第一动作后新的第一置信度和新的第二置信度。
在一种可能的设计中,获取模块,还用于获取初始的第一观测状态,初始的第一观测状态包括初始的第一置信度和当前的第二置信度。
选择模块,用于从动作空间中选择第一动作。
执行模块,用于执行第一动作。
观测模块,用于观测执行第一动作所对应的反馈和执行第一动作后新的第一观测状态。
存储模块,用于将初始的第一观测状态、第一动作、执行第一动作对应的反馈、新的第一观测状态作为一个第一样本数据,并将一个第一样本数据存储至经验回放池。
可以理解的是,重复执行上述操作,将多个第一样本数据分别存储至经验回放池。
获取模块,还用于从经验回放池中获取N个第一样本数据。
更新模块,用于根据N个第一样本数据更新第一模型,N为正整数。
若更新后的第一模型收敛,则获取收敛的第一模型。
在一种可能的设计中,获取模块,用于根据安全通行概率获取第一驾驶策略,包括:用于将安全通行概率输入第二模型,以通过第二模型运算输出第一驾驶策略。第二模型是基于至少一个第二样本数据训练得到的模型,第二样本数据包括初始的第二观测状态、第二动作、执行第二动作获取的反馈、执行第二动作后新的第二观测状态,初始的第二观测状态包括初始的安全通信概率,新的第二观测状态包括执行第二动作后新的安全通行概率。
在一种可能的设计中,获取模块,还用于获取初始的第二观测状态,初始的第二观测状态包括初始的安全通行概率。
选择模块,用于从动作空间中选择第二动作。
执行模块,用于执行第二动作。
观测模块,用于观测执行第二动作所对应的反馈和执行第二动作后新的第二观测状态。
存储模块,用于将初始的第二观测状态、第二动作、执行第二动作对应的反馈、新的第二观测状态作为一个第二样本数据,并将一个第二样本数据存储至经验回放池。
执行上述操作,将多个第二样本数据分别存储至经验回放池。
获取模块,还用于从经验回放池中获取L个第二样本数据。
更新模块,用于根据L个第二样本数据更新第二模型,M为正整数。
获取模块,还用于若更新后的第二模型收敛,则获取收敛的第二模型。
在一种可能的设计中,获取模块,用于获取目标车辆的第二置信度,包括:用于将目标车辆的状态信息和目标对象的状态信息输入第三模型,以获取第二置信度,第三模型为机器学习模型,目标车辆的状态信息包括目标车辆位置、目标车辆的速度、目标车辆的加速度、目标车辆的运动方向中的至少一个,第三模型是基于至少一个第三样本数据训练得到的模型,第三样本数据包括初始的第三观测状态、第三动作、执行第三动作获取的反馈、执行第三动作后新的第三观测状态,初始的第三观测状态包括初始时目标车辆的状态信息和目标对象的状态信息,新的第三观测状态包括执行第三动作后目标车辆的状态信息和目标对象的状态信息。
在一种可能的设计中,控制模块,用于根据第三驾驶策略控制自动驾驶。
在第一方面和第二方面的一种可能的设计中,安全通行概率满足如下关系:
C=w_1T*C_1+w_2T*C_2;
其中,C为安全通行概率,C_1为第一置信度,C_2为第二置信度,w_1,w_2为权重系数矩阵,w_1T为w_1的转置、w_2T为w_2的转置。
在第一方面和第二方面的一种可能的设计中,若第一驾驶策略包括目标车辆在下一时刻的速度,第一驾驶策略满足如下关系:
v_confidence=v_current*C/w_3;
其中,v_confidence表示目标车辆在下一时刻的速度,v_current表示目标车辆在当前时刻的速度,C为安全通行概率,w_3为权重。
在第一方面和第二方面的一种可能的设计中,第三驾驶策略的车辆速度为第一驾驶策略的车辆速度和第二驾驶策略的车辆速度中的最小值。
在第一方面和第二方面的一种可能的设计中,环境信息包括静态目标、动态目标、路面状况、天气状况中的至少一种;静态目标的可信程度为静态目标被识别为预设类型物体的概率;动态目标的可信程度为动态目标被识别为预设类型物体的概率;路面状况的可信程度与归一化的车辆与路面之间的摩擦系数相关;天气状况的可信程度与归一化的大气能见度相关,和/或,天气状况的可信程度与归一化的湿度相关,和/或,天气状况的可信程度与归一化的温度相关,和/或,天气状况的可信程度与归一化的光线强度相关;
第一置信度满足如下关系:
C_1=(C_i(obj),C(road),C(weather));
其中,C_1为第一置信度,C_i(obj)为动态目标或静态目标被识别为第i类物体的可信程度,C(road)为路面状况的可信程度,C(weather)为天气状况的可信程度。
在第一方面和第二方面的一种可能的设计中,第三驾驶策略包括指示目标车辆进行加速、减速、前进、停止、启动的指令,还包括所指示的目标车辆的速度、加速度、运动方向、位置中的至少一项。
在第一方面和第二方面的一种可能的设计中,预设规则包括基于比例-积分-微分PID的规则和基于线性二次型控制器LQR的规则。
第三方面,本申请实施例提供一种自动驾驶装置,该装置具有实现上述第一方面中任一项的自动驾驶方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第四方面,提供一种自动驾驶装置,包括:处理器和存储器;该存储器用于存储计算机执行指令,当该自动驾驶装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该自动驾驶装置执行如上述第一方面中任一项的自动驾驶方法。
第五方面,提供一种自动驾驶装置,包括:处理器;处理器用于与存储器耦合,并读取存储器中的指令之后,根据指令执行如上述第一方面中任一项的自动驾驶方法。
第六方面,本申请实施例中还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行第一方面的方法。
第七方面,本申请实施例中还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行第一方面的方法。
第八方面,本申请实施例提供了一种自动驾驶装置,该装置可以为芯片***,该芯片***包括处理器,还可以包括存储器,用于实现上述方法的功能。该芯片***可以由芯片构成,也可以包含芯片和其他分立器件。
第九方面,提供一种自动驾驶装置,该装置可以为电路***,电路***包括处理电路,处理电路被配置为执行如上述第一方面中任一项的自动驾驶方法。
第十方面,本申请实施例提供了一种***,***包括第二至第五方面、第八、第九方面中任一方面的装置和/或第六方面中的可读存储介质和/或第七方面中的计算机程序产品。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种自动驾驶汽车的结构示意图;
图2为本申请实施例提供的一种自动驾驶汽车的结构示意图;
图3为本申请实施例提供的一种计算机***的结构示意图;
图4为本申请实施例提供的一种神经网络处理器的结构示意图;
图5为本申请实施例提供的一种云侧指令自动驾驶汽车的应用示意图;
图6为本申请实施例提供的一种云侧指令自动驾驶汽车的应用示意图;
图7为本申请实施例提供的一种计算机程序产品的结构示意图;
图8为本申请实施例提供的自动驾驶方法的流程示意图;
图9为本申请实施例提供的自动驾驶方法的流程示意图;
图10为本申请实施例提供的检测识别目标方法的流程示意图一;
图11为本申请实施例提供的检测识别目标方法的流程示意图二;
图12为本申请实施例提供的训练用于获取第二置信度的模型的流程示意图;
图13为本申请实施例提供的训练用于获取安全通行概率的模型的流程示意图;
图14为本申请实施例提供的训练用于获取第一驾驶策略的模型的流程示意图;
图15为本申请实施例提供的应用场景的示意图;
图16为本申请实施例提供的自动驾驶装置的结构示意图;
图17为本申请实施例提供的自动驾驶装置的结构示意图。
具体实施方式
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。在本申请实施例中,“A和/或B”表示A和B,A或B两个含义。“A,和/或B,和/或C”表示A、B、C中的任一个,或者,表示A、B、C中的任两个,或者,表示A和B和C。
本申请实施例提供的自动驾驶方法应用在具有自动驾驶功能的车辆上,或者应用于具有控制自动驾驶功能的其他设备(比如云端服务器)中。车辆可通过其包含的组件(包括硬件和软件)实施本申请实施例提供的自动驾驶方法,获取用于控制自动驾驶的第三驾驶策略。或者,其他设备(比如服务器)用于实施本申请实施例的自动驾驶方法,获取用于控制自动驾驶的第三驾驶策略,并向目标车辆发送该第三驾驶策略,以控制目标车辆的自动驾驶。
图1是本申请实施例提供的车辆100的功能框图。在一个实施例中,将车辆100配置为完全或部分地自动驾驶模式。例如,车辆100可以在处于自动驾驶模式的同时控制自身,并且可通过人为操作来确定车辆及其周边环境的当前状态,确定周边环境中的至少一个其他车辆的可能行为,并确定该其他车辆执行可能行为的可能性相对应的置信水平,基于所确定的信息来控制车辆100。在车辆100处于自动驾驶模式时,可以将车辆100置为在没有和人交互的情况下操作。
车辆100可包括各种子***,例如行进***102、传感器***104、控制***106、一个或多个***设备108以及电源110、计算机***112和用户接口116。可选地,车辆100可包括更多或更少的子***,并且每个子***可包括多个元件。另外,车辆100的每个子***和元件可以通过有线或者无线互连。
行进***102可包括为车辆100提供动力运动的组件。在一个实施例中,行进***102 可包括引擎118、能量源119、传动装置120和车轮/轮胎121。引擎118可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如气油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎118将能量源119转换成机械能量。
能量源119的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源119也可以为车辆100的其他***提供能量。
传动装置120可以将来自引擎118的机械动力传送到车轮121。传动装置120可包括变速箱、差速器和驱动轴。在一个实施例中,传动装置120还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮121的一个或多个轴。
传感器***104可包括感测关于车辆100周边的环境的信息的若干个传感器。例如,传感器***104可包括定位***122(定位***可以是GPS***,也可以是北斗***或者其他定位***)、惯性测量单元(inertial measurement unit,IMU)124、雷达126、激光测距仪128 以及相机130。传感器***104还可包括被监视车辆100的内部***的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是自主车辆100 的安全操作的关键功能。
定位***122可用于估计车辆100的地理位置。IMU 124用于基于惯性加速度来感测车辆100的位置和朝向变化。在一个实施例中,IMU 124可以是加速度计和陀螺仪的组合。
雷达126可利用无线电信号来感测车辆100的周边环境内的物体。在一些实施例中,除了感测物体以外,雷达126还可用于感测物体的速度和/或前进方向。
激光测距仪128可利用激光来感测车辆100所位于的环境中的物体。在一些实施例中,激光测距仪128可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他***组件。
相机130可用于捕捉车辆100的周边环境的多个图像。相机130可以是静态相机或视频相机。
控制***106可控制车辆100及其组件的操作。控制***106可包括各种元件,其中包括转向***132、油门134、制动单元136、计算机视觉***140、路线控制***142以及障碍规避***144。
转向***132可操作来调整车辆100的前进方向。例如在一个实施例中可以为方向盘***。
油门134用于控制引擎118的操作速度并进而控制车辆100的速度。
制动单元136用于控制车辆100减速。制动单元136可使用摩擦力来减慢车轮121。在其他实施例中,制动单元136可将车轮121的动能转换为电流。制动单元136也可采取其他形式来减慢车轮121转速从而控制车辆100的速度。
计算机视觉***140可以操作来处理和分析由相机130捕捉的图像以便识别车辆100周边环境中的物体和/或特征。所述物体和/或特征可包括交通信号、道路边界和障碍物。计算机视觉***140可使用物体识别算法、运动中恢复结构(Structure from Motion,SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉***140可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。
路线控制***142用于确定车辆100的行驶路线。在一些实施例中,路线控制***142 可结合来自传感器、定位***122和一个或多个预定地图的数据以为车辆100确定行驶路线。
障碍规避***144用于识别、评估和避免或者以其他方式越过车辆100的环境中的潜在障碍物。
当然,在一个实例中,控制***106可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。
车辆100通过***设备108与外部传感器、其他车辆、其他计算机***或用户之间进行交互。***设备108可包括无线通信***146、车载电脑148、麦克风150和/或扬声器152。
在一些实施例中,***设备108提供车辆100的用户与用户接口116交互的手段。例如,车载电脑148可向车辆100的用户提供信息。用户接口116还可操作车载电脑148来接收用户的输入。车载电脑148可以通过触摸屏进行操作。在其他情况中,***设备108可提供用于车辆100与位于车内的其它设备通信的手段。例如,麦克风150可从车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器152可向车辆100的用户输出音频。
无线通信***146可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信***146可使用3G蜂窝通信,例如CDMA、EVD0、GSM/GPRS,或者4G蜂窝通信,例如LTE。或者5G蜂窝通信。无线通信***146可利用WiFi与无线局域网(wireless localarea network,WLAN)通信。在一些实施例中,无线通信***146可利用红外链路、蓝牙或ZigBee与设备直接通信。其他无线协议,例如各种车辆通信***,例如,无线通信*** 146可包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备。
电源110可向车辆100的各种组件提供电力。在一个实施例中,电源110可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源,从而为车辆100的各种组件提供电力。在一些实施例中,电源110和能量源119可一起实现,例如一些全电动车中那样。
车辆100的部分或所有功能受计算机***112控制。计算机***112可包括至少一个处理器113,处理器113执行存储在例如数据存储装置114这样的非暂态计算机可读介质中的指令115。计算机***112还可以是采用分布式方式控制车辆100的个体组件或子***的多个计算设备。
处理器113可以是任何常规的处理器,诸如商业可获得的中央处理单元(CentralProcessing Unit,CPU)。替选地,该处理器可以是诸如专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)或其它基于硬件的处理器的专用设备。尽管图1功能性地图示了处理器、存储器、和在相同物理外壳中的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机***、或存储器实际上可以包括可以存储在相同的物理外壳内的多个处理器、计算机***、或存储器,或者包括可以不存储在相同的物理外壳内的多个处理器、计算机***、或存储器。例如,存储器可以是硬盘驱动器,或位于不同于物理外壳内的其它存储介质。因此,对处理器或计算机***的引用将被理解为包括对可以并行操作的处理器或计算机***或存储器的集合的引用,或者可以不并行操作的处理器或计算机***或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。
在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
在一些实施例中,数据存储装置114可包含指令115(例如,程序逻辑),指令115可被处理器113执行来执行车辆100的各种功能,包括以上描述的那些功能。数据存储装置114也可包含额外的指令,包括向行进***102、传感器***104、控制***106和***设备108中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
除了指令115以外,数据存储装置114还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆100在自主、半自主和/或手动模式中操作期间被车辆100和计算机***112使用。
比如,在本申请实施例中,数据存储装置114从传感器***104或车辆100的其他组件获取环境信息,环境信息例如可以为车辆当前所处环境附近是否有绿化带、车道、行人等。比如,车辆通过机器学习算法计算当前所处环境附近是否存在绿化带、行人等。数据存储装置114还可以存储该车辆自身的状态信息,以及与该车辆有交互的其他车辆的状态信息。状态信息包括但不限于车辆的速度、加速度、航向角等。比如,车辆基于雷达126的测速、测距功能,得到其他车辆与自身之间的距离、其他车辆的速度等。如此,处理器113可从数据存储装置114获取这些信息,并基于车辆所处环境的环境信息、车辆自身的状态信息、其他车辆的状态信息,以及传统的基于规则的驾驶策略,得到最终的驾驶策略,以控制车辆进行自动驾驶。
用户接口116,用于向车辆100的用户提供信息或从其接收信息。可选地,用户接口116 可包括在***设备108的集合内的一个或多个输入/输出设备,例如无线通信***146、车载电脑148、麦克风150和扬声器152中的一个或多个。
计算机***112可基于从各种子***(例如,行进***102、传感器***104和控制*** 106)以及从用户接口116接收的输入来控制车辆100的功能。例如,计算机***112可利用来自控制***106的输入,以便控制转向***132,从而规避由传感器***104和障碍规避***144检测到的障碍物。在一些实施例中,计算机***112可操作来对车辆100及其子***的许多方面提供控制。
可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,数据存储装置114可以部分或完全地与车辆1100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1不应理解为对本申请实施例的限制。
在道路行进的自动驾驶汽车,如上面的车辆100,可以识别其周围环境内的物体以确定对当前速度的调整。所述物体可以是其它车辆、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,可以用来确定自动驾驶汽车所要调整的速度。
可选地,自动驾驶汽车车辆100或者与自动驾驶车辆100相关联的计算设备(如图1的计算机***112、计算机视觉***140、数据存储装置114)可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰、等等)来预测所述识别的物体的行为。可选地,每一个所识别的物体都依赖于彼此的行为,因此,还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。车辆100能够基于预测的所述识别的物体的行为来调整它的速度。换句话说,自动驾驶汽车能够基于所预测的物体的行为来确定车辆将需要调整到 (例如,加速、减速、或者停止)什么稳定状态。在这个过程中,也可以考虑其它因素来确定车辆100的速度,诸如,车辆100在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。
除了提供调整自动驾驶汽车的速度的指令之外,计算设备还可以提供修改车辆100的转向角的指令,以使得自动驾驶汽车遵循给定的轨迹和/或维持与自动驾驶汽车附近的物体(例如,道路上的相邻车道中的轿车)的安全横向和纵向距离。
上述车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本申请实施例不做特别的限定。
在本申请的另一些实施例中,自动驾驶车辆还可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
参见图2,示例性的,车辆中可以包括以下模块:
环境感知模块,用于获取路侧传感器与车载传感器识别的车辆、行人、路面物体的信息。路侧传感器与车载传感器可以是摄像头、激光雷达、毫米波雷达等,环境感知模块获取到的数据可以是原始采集的视频流、雷达的点云数据或者是经过分析的结构化的人、车、物的位置、速度、转向角度、尺寸大小数据,对于原始的视频流数据、雷达的点云数据,环境感知模块可以将这些数据处理成可识别的结构化的人、车、物的位置、速度、转向角度、尺寸大小等数据,并向基于规则的控制模块和基于置信度估计的控制模块传递这些数据,以便于这两个控制模块生成驾驶策略。
基于规则的控制模块:该模块是自动驾驶车辆所具备的传统控制模块,其作用是根据车辆自身状态信息和与车辆有交互的目标物体(比如其他车辆)的状态信息输出第二驾驶策略。该模块还可以将生成的第二驾驶策略传递给基于置信度估计的控制模块,以便于基于置信度估计的控制模块根据第二驾驶策略和从环境感知模块获取的数据生成第三驾驶策略,该第三驾驶策略用于控制车辆的自动驾驶。
基于置信度估计的控制模块:该模块用于从环境感知模块接收车辆自身的状态信息(比如速度、位置等)和环境信息(比如路面条件、天气条件等),并基于这些信息生成第一驾驶策略,还可以从基于规则的控制模块接收第二驾驶策略,进而根据第一驾驶策略和第二驾驶策略生成第三驾驶策略,并输出第三驾驶策略对应的动作指令,并向车辆控制模块发送该动作指令,该动作指令用于指示车辆控制模块对车辆进行自动驾驶控制。
车辆控制模块:用于从基于置信度的控制模块接收动作指令,以控制车辆完成自动驾驶的操作。
车载通信模块(图2中并未示出):用于自车和其他车之间的信息交互。
存储组件(图2中并未示出),用于存储上述各个模块的可执行代码。运行这些可执行代码可实现本申请实施例的部分或全部方法流程。
在本申请实施例的一种可能的实现方式中,如图3所示,图1所示的计算机***112包括处理器303,处理器303和***总线305耦合。处理器303可以是一个或者多个处理器,其中每个处理器都可以包括一个或多个处理器核。显示适配器(video adapter)307,显示适配器307可以驱动显示器309,显示器309和***总线305耦合。***总线305通过总线桥 311和输入输出(I/O)总线(BUS)313耦合。I/O接口315和I/O总线313耦合。I/O接口315 和多种I/O设备进行通信,比如输入设备317(如:键盘,鼠标,触摸屏等),多媒体盘(media tray)321,(例如,CD-ROM,多媒体接口等)。收发器323(可以发送和/或接收无线电通信信号),摄像头355(可以捕捉静态和动态数字视频图像)和外部通用串行总线(Universal SerialBus,USB)接口325。其中,可选地,和I/O接口315相连接的接口可以是USB接口。
其中,处理器303可以是任何传统处理器,包括精简指令集计算(ReducedInstruction Set Computer,RISC)处理器、复杂指令集计算(Complex Instruction SetComputer,CISC)处理器或上述的组合。可选地,处理器可以是诸如专用集成电路(ASIC)的专用装置。可选地,处理器 303可以是神经网络处理器或者是神经网络处理器和上述传统处理器的组合。
可选地,在本文所述的各种实施例中,计算机***112可位于远离自动驾驶车辆的地方,并且可与自动驾驶车辆100无线通信。在其它方面,本文所述的一些过程可设置在自动驾驶车辆内的处理器上执行,其它一些过程由远程处理器执行,包括采取执行单个操纵所需的动作。
计算机***112可以通过网络接口329和软件部署服务器(deploying server)349通信。网络接口329是硬件网络接口,比如,网卡。网络(network)327可以是外部网络,比如因特网,也可以是内部网络,比如以太网或者虚拟私人网络(VPN)。可选地,网络327还可以为无线网络,比如WiFi网络,蜂窝网络等。
硬盘驱动器接口331和***总线305耦合。硬盘驱动器接口331和硬盘驱动器333相连接。***内存335和***总线305耦合。运行在***内存335的数据可以包括计算机***112 的操作***(OS)337和应用程序343。
操作***包括但不限于Shell 339和内核(kernel)341。Shell 339是介于使用者和操作***的内核(kernel)间的一个接口。shell是操作***最外面的一层。shell管理使用者与操作***之间的交互:等待使用者的输入,向操作***解释使用者的输入,并且处理各种各样的操作***的输出结果。
内核341由操作***中用于管理存储器、文件、外设和***资源的那些部分组成。直接与硬件交互,操作***内核通常运行进程,并提供进程间的通信,提供CPU时间片管理、中断、内存管理、IO管理等等功能。
应用程序343包括控制汽车自动驾驶相关的程序,比如,管理自动驾驶的汽车和路上障碍物交互的程序,控制自动驾驶汽车路线或者速度的程序,控制自动驾驶汽车和路上其他自动驾驶汽车交互的程序。应用程序343也存在于deploying server 349的***上。在一个实施例中,在需要执行应用程序343时,计算机***112可以从deploying server 349下载应用程序343。
又比如,应用程序343可以是控制车辆根据上述环境信息、状态信息,以及传统的基于规则的驾驶策略计算最终驾驶策略的应用程序。其中,环境信息为车辆当前所处环境的信息 (绿化带、车道、交通信号灯等),状态信息为与车辆有交互的目标对象的信息(速度、加速度等)。计算机***112的处理器303调用该应用程序343,得到最终的驾驶策略。
传感器353和计算机***112关联。传感器353用于探测计算机***112周围的环境。举例来说,传感器353可以探测动物,汽车,障碍物和人行横道等。进一步传感器还可以探测上述动物,汽车,障碍物和人行横道等物体周围的环境。比如:动物周围的环境,例如,动物周围出现的其他动物,天气条件,周围环境的光亮度等。可选地,如果计算机***112位于自动驾驶的汽车上,传感器可以是摄像头,红外线感应器,化学检测器,麦克风等。
在本申请的另一些实施例中,本申请实施例的自动驾驶方法还可以由芯片***执行。参见图4,是本申请实施例提供的一种芯片***的结构图。
神经网络处理器(NPU)50作为协处理器挂载到主CPU(Host CPU)上,由Host CPU为NPU分配任务。NPU的核心部分为运算电路503。示例性的,通过控制器504控制运算电路503,从而运算电路503可提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路503内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列,或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路503从权重存储器502中获取权重矩阵B相应的数据,并缓存在运算电路503中每一个PE上。运算电路503 从输入存储器501中取输入矩阵A相应的数据,并根据输入矩阵A和权重矩阵B进行矩阵运算,得到矩阵运算的部分结果或最终结果可保存在累加器(accumulator)508中。
又比如,运算电路503可用于实现特征提取模型(如卷积神经网络模型),并将图像数据输入卷积神经网络模型,通过该模型的运算,得到图像的特征。进而,将图像特征输出到分类器,由分类器输出图像中物体的分类概率。
统一存储器506用于存放输入数据以及输出数据。外部存储器中的权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)505被送往到权重存储器502 中。外部存储器中的输入数据可通过DMAC被搬运到统一存储器506中,或者被搬运到输入存储器501中。
总线接口单元(Bus Interface Unit,BIU)510,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer)509的交互。还用于取指存储器509从外部存储器获取指令,还用于存储单元访问控制器505从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器(DDR)中的输入数据搬运到统一存储器506,或将权重数据搬运到权重存储器502中,或将输入数据搬运到输入存储器501中。
示例性的,在本申请实施例中,若使用DQN模型计算第二置信度时,输入数据可以是 DQN模型的输入数据,即车辆自身的状态信息(速度、加速度等)和与车辆有交互的目标对象(比如与车辆有交互的其他车辆)的状态信息。输出数据为DQN模型的输出数据,即基于车辆自身的状态信息和目标对象的状态信息得到的第二置信度。
向量计算单元507可包括多个运算处理单元。用于在需要的情况下,可以对运算电路503 的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/FC层网络计算,如池化(Pooling),批归一化(BatchNormalization),局部响应归一化(Local Response Normalization)等。
在一些实现种,向量计算单元507将经处理的输出向量存储到统一存储器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出向量还能够用作运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
控制器504连接取指存储器(instruction fetch buffer)509,控制器504使用的指令可存储在取指存储器509中。
作为一种可能的实现方式,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
结合图1至图3,主CPU和NPU共同配合,可实现图1中车辆100所需功能的相应算法,也可实现图2所示车辆所需功能的相应算法,也可以实现图3所示计算机***112所需功能的相应算法。
在本申请的另一些实施例中,计算机***112还可以从其它计算机***接收信息或转移信息到其它计算机***。或者,从车辆100的传感器***104收集的传感器数据可以被转移到另一个计算机,由另一计算机对此数据进行处理。如图5所示,来自计算机***112的数据可以经由网络被传送到云侧的计算机***720用于进一步的处理。网络以及中间节点可以包括各种配置和协议,包括因特网、万维网、内联网、虚拟专用网络、广域网、局域网、使用一个或多个公司的专有通信协议的专用网络、以太网、WiFi和HTTP、以及前述的各种组合。这种通信可以由能够传送数据到其它计算机和从其它计算机传送数据的任何设备执行,诸如调制解调器和无线接口。
在一个示例中,计算机***720可以包括具有多个计算机的服务器,例如负载均衡服务器群。为了从计算机***112接收、处理并传送数据,计算机***720与网络的不同节点交换信息。该服务器720可以具有类似于计算机***112的配置,并具有处理器730、存储器740、指令750、和数据760。
在一个示例中,服务器720的数据760可以包括提供天气相关的信息。例如,服务器720 可以接收、监视、存储、更新、以及传送与天气相关的各种信息。该信息可以包括例如以报告形式、雷达信息形式、预报形式等的降水、云、和/或温度信息和/或湿度信息。
参见图6,为自主驾驶车辆和云服务中心(云服务器)交互的示例。云服务中心可以经诸如无线通信网络的网络511,从其环境500内的自动驾驶辆513、512接收信息(诸如车辆传感器收集到数据或者其它信息)。
云服务中心520根据接收到的数据,运行其存储的控制汽车自动驾驶相关的程序对自动驾驶车辆513、512进行控制。控制汽车自动驾驶相关的程序可以为:管理自动驾驶汽车和路上障碍物交互的程序,或者控制自动驾驶汽车路线或者速度的程序,或者控制自动驾驶汽车和路上其他自动驾驶汽车交互的程序。
示例性的,云服务中心520通过网络511可将地图的部分提供给车辆513、512。在其它示例中,可以在不同位置之间划分操作。例如,多个云服务中心可以接收、证实、组合和/或发送信息报告。在一些示例中还可以在车辆之间发送信息报告和/传感器数据。其它配置也是可能的。
在一些示例中,云服务中心520向自动驾驶车辆发送关于环境内可能的驾驶情况所建议的解决方案(如,告知前方障碍物,并告知如何绕开它)。例如,云服务中心520可以辅助车辆确定当面对环境内的特定障碍时如何行进。云服务中心520向自动驾驶车辆发送指示该车辆应当在给定场景中如何行进的响应。例如,云服务中心520基于收集到的传感器数据,可以确认道路前方具有临时停车标志的存在,又比如,基于“车道封闭”标志和施工车辆的传感器数据,确定该车道由于施工而被封闭。相应地,云服务中心520发送用于车辆通过障碍的建议操作模式(例如:指示车辆变道另一条道路上)。云服务中心520观察其操作环境500内的视频流,并且已确认自动驾驶车辆能安全并成功地穿过障碍时,对该自动驾驶车辆所使用的操作步骤可以被添加到驾驶信息地图中。相应地,这一信息可以发送到该区域内可能遇到相同障碍的其它车辆,以便辅助其它车辆不仅识别出封闭的车道还知道如何通过。
在一些实施例中,所公开的方法可以实施为以机器可读格式,被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。图7示意性地示出根据这里展示的至少一些实施例而布置的示例计算机程序产品的概念性局部视图,示例计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。在一个实施例中,示例计算机程序产品600是使用信号承载介质601来提供的。信号承载介质601可以包括一个或多个程序指令602,其当被一个或多个处理器运行时可以提供以上针对图1至图6描述的全部功能或者部分功能,或者可以提供后续实施例中描述的全部或部分功能。例如,参考图8中所示的实施例,S801至S804中的一个或多个特征可以由与信号承载介质601相关联的一个或多个指令来承担。此外,图7中的程序指令602也描述示例指令。
在一些示例中,信号承载介质601可以包含计算机可读介质603,诸如但不限于,硬盘驱动器、紧密盘(CD)、数字视频光盘(DVD)、数字磁带、存储器、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等等。在一些实施方式中,信号承载介质601可以包含计算机可记录介质604,诸如但不限于,存储器、读/写 (R/W)CD、R/W DVD、等等。在一些实施方式中,信号承载介质601可以包含通信介质605,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质601可以由无线形式的通信介质605(例如,遵守IEEE 802.11标准或者其它传输协议的无线通信介质)来传达。一个或多个程序指令602可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,诸如针对图1至图6描述的计算设备可以被配置为,响应于通过计算机可读介质603、和/或计算机可记录介质604、和/或通信介质605中的一个或多个传达到计算设备的程序指令602,提供各种操作、功能、或者动作。应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能实体。
本申请实施例提供的自动驾驶方法应用在自动/半自动驾驶场景中。示例性的,应用在图 15所示的无左转灯保护的交叉口通行场景中。图15中,A表示左转的具有自动驾驶***的自车,B表示道路上直行的其他车辆。下面结合各个附图详细描述本申请实施例的自动驾驶方法。
本申请实施例提供一种自动驾驶方法,该方法可应用于图1至图6中的装置中,参见图 8,该方法包括如下步骤:
S801、获取目标车辆的第一置信度和第二置信度。
第一置信度与目标车辆周围环境的环境信息相关,用于表征目标车辆所处周围环境的环境信息的可信程度,第二置信度与目标车辆的状态信息,以及与目标车辆有交互可能性(即潜在交互)的目标对象的状态信息相关,用于表征目标车辆的自身状态信息以及目标车辆潜在交互目标对象的状态信息对应的可信程度。
需要说明的是,在本申请实施例中,目标车辆有时也称为自车,有时也称为本车辆。在此统一说明。
如下对S801的具体实现方式进行说明,参见图9,S801可具体实现为S8011至S8013。
首先,对获取第一置信度的方法进行介绍:
获取第一置信度,具体可以实现为S8011:
S8011、根据目标车辆的环境信息,获取目标车辆的第一置信度。
可选的,环境信息包括但不限于静态目标信息和动态目标信息。其中,静态目标信息可以例如但不限于为车道线信息,道路边界信息、绿化带信息。车道线信息用于指示车道线位置,道路边界信息用于指示道路边界线的位置,绿化带信息用于指示绿化带位置。动态目标信息可以例如但不限于为其他车辆以及行人的信息。其他车辆以及行人信息可以用于指示其他车辆以及行人的位置,以及可以指示其他车辆以及行人与本车辆之间的距离,还可以指示其他内容。环境信息还可以包括路面状况、天气状况。天气状况包括但不限于温度、湿度、光线、大气能见度。路面状况包括但不限于车辆轮胎与路面的摩擦系数。
作为一种可能的实现方式,获取目标车辆中车载传感器采集的环境信息。车载传感器包括但不限于激光雷达、毫米波雷达等。当然,还可以从路测传感器获取路测传感器采集的环境信息,路测传感器例如可以为摄像头、雷达等。本申请实施例对获取环境信息的方式不进行限制。示例性的,从车载传感器获取静态目标信息和动态目标信息,或者,从路测传感器 (比如摄像头)获取静态目标信息和动态目标信息。又比如,从车载传感器获取车载传感器测得的车辆轮胎与路面的摩擦系数。又比如,从车载传感器获取温度、湿度、光线、大气能见度等环境信息。
当然,环境信息还可以包括其他信息,只要是与车辆周围环境有关,且对车辆自动驾驶能够产生影响的因素,均可以作为环境信息。本申请实施例不再一一列举。
需要说明的是,不同环境场景下,比如不同的天气状况(阴、晴、雪、雨)下,目标车辆周围环境信息不同,此时,不同环境场景中,第一置信度可能不同。第一置信度表征目标车辆所处周围环境的环境信息的可信程度,也就是,第一置信度用于表征在某一环境场景中目标车辆安全通行的可信程度。
其中,对于不同环境信息,得到环境信息的可信程度的方式可能不同。具体的,对于环境信息中的静态目标(比如绿化带),可以用某一静态目标判定为某一类型物体的概率作为该静态目标的可信程度。类似的,对于环境信息中的动态目标(比如行人、其他车辆),可以用某一动态目标判定为某一类型物体的概率,作为该动态目标的可信程度。对于环境信息中的路面状况和天气状况,可以使用归一化的参数分别确定各自对应的可信程度。
首先,对获取静态目标或动态目标的可信程度的方法进行说明:
以环境信息为从摄像头获取的图像数据为例。首先,检测识别出来该目标是什么类型的物体。具体的,参见图10,为检测识别目标的流程。将图像数据输入特征提取模型,由特征提取模型在图像中选择候选区域,并提取候选区域的特征。之后,特征提取模型输出提取的特征,并将这些特征输入分类器,通过分类器对提取的特征进行分类识别,由分类器输出识别为第i类物体的概率P_i(obj)。进一步的,可对识别出的物体进行框选标识。图10还示出了获取分类器的方式,具体的,选择训练样本,并对训练样本进行特征提取等操作,从而完成对训练样本的训练流程,得到分类器。
其中,训练样本包括正样本和负样本。正样本指的是与检测识别对象相关的样本,负样本指的是与检测识别对象不相关或者相关性较低的样本。举例来说,图10所示目标检测识别流程需检测某一物体是否为车辆,即检测识别对象为车辆,此时,正样本为车辆的图像,负样本为除车辆外其他物体的图像,比如,负样本为车道线的图像,或者,绿化带的图像等。
可选的,上述特征提取模型可以为卷积神经网络(Convolutional NeuralNetworks,CNN) 模型,当然,也可以为其他具有提取图像数据特征功能的学习模型。分类器可以为支持向量机(Support Vector Machine,SVM),或者,采用其他类型的分类器。本申请实施例不对分类器和特征提取模型的类型进行限制。
以使用深度学习算法检测识别目标,且特征提取模型为卷积神经网络模型为例,参见图 11,目标检测识别的流程具体为:将图像数据输入卷积神经网络模型,通过该模型的卷积层得到图像数据的候选区域的特征图(feature map),该特征图用于表示从该候选区域提取的特征。之后,池化层根据卷积层输出的特征图进行池化(pooling)操作,保留候选区域的主要特征,减少所需计算特征的数目,以减少卷积神经网络的计算量。之后,池化层输出的特征输入全连接层,由全连接层将各个候选区域的特征综合起来,得到整个图像的特征,并将图像特征输出至分类器。分类器可输出图像中物体的分类概率。比如,分类器输出图像中物体为车辆的概率为98%。可选的,在得到物体的分类概率后,对识别出的物体进行框选,并使用回归器精细修正框选的位置。
需要说明的是,在卷积神经网络模型中,可能存在多个卷积层、多个池化层,以及多个全连接层,图11仅列举出卷积神经网络的一种可能的结构,即卷积神经网络包含一个卷积层、一个池化层、三个全连接层。本申请实施例并不对卷积神经网络中各层的数目进行限制。
在检测识别目标为哪一类型物体之后,将目标为某一类型物体的概率作为该目标的可信程度C_i(obj),用于表示目标为第i类物体的可信程度。在一个示例中,在图11流程中,检测识别到图像中的目标为车辆的概率为98%,则该目标为车辆的可信程度为98%。又比如,在图11流程中,检测识别图像中的目标为绿化带的概率为80%,则该目标为绿化带的可信程度为80%。
在介绍完获取动态目标或静态目标的可信程度的方法后,如下介绍环境信息中路面状况和天气状况的可信程度的获取方式:
作为一种可能的实现方式,路面状况的可信程度与归一化的目标车辆与路面之间的摩擦系数有关。比如,路面状况的可信程度可以用如下关系式表示:
C(road)=F。
其中,C(road)为路面状况的可信程度,F为归一化的摩擦系数,F∈(0,1)。
当然,还可以通过给摩擦系数设置一定的比例系数等方式,得到另一个参数,该另一个参数用于表示路面状况的可信程度。
当然,还可以采取其他方式来表示路面状况的可信程度,本申请实施例对此不进行限制。
作为一种可能的实现方式,天气状况的可信程度与大气能见度有关。比如,天气状况的可信程度可以用如下关系式表示:
C(weather)=V。
其中,C(weather)为天气状况的可信程度,V为归一化的大气能见度,C(weather)用于表征天气状况为V的可信程度,且V∈(0,1)。
当然,还可以将归一化的温度,和/或湿度,和/或光线,和/或光线,和/或大气能见度的加权结果作为天气状况的可信程度。比如,天气状况的可信程度可以用如下关系式表示:
Σ(k1*temperature+k2*humidity+k3*light+k4*visibility)。
其中,temperature为归一化的温度,humidity为归一化的湿度,light为归一化的光线,visibility为归一化的大气能见度,k1、k2、k3、k4为温度、湿度、光线、大气能见度分别对应的权重,且k1+k2+k3+k4=1。
当然,还可以用其他形式表示天气状况的可信程度。这里不再一一列举。
作为一种可能的实现方式,第一置信度可表示为下式:
C_1=(C_i(obj),C(road),C(weather))。
其中,C_1表示第一置信度,C_i(obj)表示目标车辆周围环境中多个目标各自的可信程度, C(road)为路面状况的可信程度,C(weather)为天气状况的可信程度。示例性的,C_1=(环境中存在绿化带的可信程度为90%,环境中存在交通信号灯的可信程度为99%,环境中存在人行道的可信程度为80%;路面状况的可信程度(比如轮胎与路面的摩擦系数)为0.8;天气状况的可信程度(比如大气能见度)为0.8)。这里,C_1表示,在存在绿化带、交通信号灯、人行道,且轮胎与路面的摩擦系数较大、大气能见度较高的环境场景中,目标车辆安全通行的可信程度。
需要说明的是,环境信息还可以包括其他类型的信息,上述仅仅列举了几种环境信息,可以理解的是,凡是与环境场景有关,并且能够影响第一置信度取值的因素,均可归于环境信息。比如,路口的红绿灯通行状况、道路结冰状况等。
如下对获取第二置信度的方法进行介绍,获取第二置信度,可实现为S8012和S8013:
S8012、获取目标车辆的状态信息,以及获取目标对象的状态信息。
可选的,在处理器的控制下,获取目标车辆的状态信息,以及获取目标对象的状态信息。
目标对象指的是与目标车辆可能发生交互的对象。如其他车辆或行人等。在本申请实施例中,将可能与本车辆发生交互的其他车辆称为他车。以目标对象为车辆举例,目标车辆的状态信息包括但不限于目标车辆的位置、速度、运动方向(当目标对象为车辆时,可以为车辆的航向角)中的至少一项。
可以理解的是,判断目标车辆与哪些对象会与自身发生交互,进而确定目标对象的流程可参见现有技术,这里不再赘述。并且,获取目标车辆的状态信息和获取目标对象的状态信息的流程,也可参见现有技术。
可选的,目标车辆的状态信息可表示为s_ego=(x,y,v,theta)。其中,x,y为目标车辆的位置坐标,v为目标车辆的速度,theta为目标车辆的航向角。需要说明的是,目标车辆的状态信息还可以包含更多或更少的项,比如,目标车辆的状态信息可以为s_ego=(v,theta)。本申请实施例对目标车辆的状态信息的具体表示方式不做限定。类似的,不对目标对象的状态信息的具体表示方式作出限定。
可选的,他车的状态信息可表示为s_j=(x_j,y_j,v_j,theta_j)。中x_j,y_j为他车的位置坐标,v_j为他车的速度,theta_j为他车的航向角。
S8013、根据目标车辆的状态信息和目标对象的状态信息,获取第二置信度。
可选的,由处理器执行S8013。
需要说明的是,在不同的交互场景中,比如在十字路口、丁字路口,与目标车辆交互的对象可能不同,目标车辆与目标对象的状态信息(比如速度、航向角等)也可能不同,此时,不同交互场景下,第二置信度可能不同。第二置信度表征目标车辆的自身状态信息以及目标车辆潜在交互目标对象的状态信息对应的可信程度,也就是,第二置信度用于表征在某一交互场景中目标车辆安全通行的可信程度。以目标对象为其他车辆为例,当目标车辆和其他车辆以不同的速度、加速度行驶时,第二置信度用于表征基于速度、加速度信息等,目标车辆与其他车辆交互(比如发生碰撞)的可信程度。
作为一种可能的实现方式,采用机器学习方法获取第二置信度。可选的,采用机器学习中的强化学习算法,或者采用强化学习中的深度强化学习算法,或者采用深度学习算法获取第二置信度。当然,也可以采取其他机器学习方法获取第二置信度,本申请实施例对此不进行限制。
以采用强化学习方法获取第二置信度为例,将目标车辆的状态信息和目标对象的状态信息输入第三模型,即强化学习模型,通过强化学习模型运算,得到第二置信度。可选的,强化学习模型可以为深度Q网络(Deep Q-Network,DQN)模型,或者深度确定性策略梯度(Deep Deterministic Policy Gradient,DDPG)模型。
以DQN模型为例,如下对训练得到DQN模型和使用DQN模型计算第二置信度进行说明。
首先,对训练DQN模型的流程进行说明。DQN是基于至少一个第三样本数据训练得到的模型,第三样本数据包括初始的第三观测状态、第三动作、执行第三动作获取的反馈、执行第三动作后新的第三观测状态,初始的第三观测状态包括初始时目标车辆的状态信息和目标对象的状态信息,新的第三观测状态包括执行第三动作后目标车辆的状态信息和目标对象的状态信息。示例性的,训练DQN模型的流程可参见图12。该流程包括如下步骤S1201至 S1206:
S1201、获取初始的第三观测状态s3。
可选的,处理器从传感器获取初始的第三观测状态。
其中,初始的第三观测状态s3包括初始时自车的状态信息s_ego和与自车可能发生交互的目标对象的状态信息s_j。
S1202、从动作空间中目标选择车辆执行的第三动作a3。
可选的,处理器执行该S1202。
作为一种可能的实现方式,根据ε-贪心(ε-greedy)算法(本文中ε-greedy算法也可称为ε-greedy策略),从动作空间中选择第三动作。
其中,在ε-greedy算法中,每一次从动作空间中选取目标车辆所执行的第三动作时,有ε的概率做随机探索,且有1-ε的概率选取Q值最大的第三动作,也就是说,在每一次选取第三动作时,有ε的概率从动作空间中随机选取一个第三动作,有1-ε的概率从动作空间中选择 Q值最大的第三动作。
这里,动作空间为目标车辆所执行的一系列第三动作的集合,比如,包括目标车辆的多个速度、航向角组合。参见表1,为一种示例性的动作空间:
表1
动作 | 速度 | 航向角 | 离散值 |
动作1 | 100km/h | 30° | 0 |
动作2 | 120km/h | 40° | 0.2 |
动作3 | 50km/h | 30° | 0.4 |
动作4 | 80km/h | 40° | 0.7 |
动作5 | 80km/h | 50° | 1 |
上述表1所示的动作空间包括5个第三动作,每一第三动作对应目标车辆的一个行驶速度、航向角和一个离散值。
上述仅以贪心算法为例对选择所执行第三动作的方法进行说明,在实际应用中,可以采用其他算法选择第三动作,这里不再一一列举。
S1203、执行第三动作a3,并获得来自环境的反馈r3,以及获得执行第三动作a3后的新的第三观测状态s3’。
可选的,处理器执行该S1203。
比如,初始的观测状态s3包括当前的自车状态信息s_ego(速度为100km/h、航向角为 40°)、他车的状态信息(速度为80km/h、航向角为40°),根据这些速度、航向角信息,以及一定算法,比如贪心算法,从表1所示动作空间中选取第三动作5。之后,执行第三动作5,即以80km/h速度、50°航向角行驶。此时,获取一个反馈r3,该反馈r3用于对执行第三动作 5进行奖励或惩罚,进而将第三观测状态s3更新为新的第三状态s3’,新的第三状态包括执行第三动作后,自车新的状态信息s’_ego(速度为80km/h、航向角为50°)、他车新的状态信息(比如速度为80km/h、航向角为40°)。
可以理解的是,在执行第三动作5后,若该目标车辆与他车未发生碰撞,则获取的反馈r为奖励,该奖励表征执行动作5可保证该目标车辆安全通行,在执行第三动作5后,若目标车辆与他车发生碰撞,则获取的反馈r为惩罚,该惩罚表征执行第三动作5(即以速度80km/h、航向角50°)行驶时,目标车辆安全通行概率较低。
可以理解的是当执行某一第三动作后,得到的奖励较多,说明该第三动作对应的Q值较大。
作为一种可能的实现方式,来自环境的反馈r可定义为:
上式表明,当执行所选第三动作后,目标车辆并未与他车发生碰撞,且目标车辆到达指定的终止状态,则获取的反馈r为+1。其中,目标车辆到达指定的终止状态可以指目标车辆到达预设的地理位置(也称为指定的终止位置)。当然,也可以指目标车辆的行驶速度到达指定的速度等,本申请实施例对终止状态不进行限制。
当执行所选第三动作后,若目标车辆并未与他车发生碰撞,并且,目标车辆未到达指定的终止状态,则称为单步反馈,相应的,在单步反馈时,获取的反馈r3为-0.01。
当执行所选动作后,若目标车辆与他车发生碰撞,则获取的反馈r3为-10。
可选的,将初始的第三观测状态s3、所选择的第三动作a3、执行第三动作a3得到的反馈r3,以及执行第三动作a3后新的状态s3’作为第三样本数据,并将该第三样本数据(比如 <s3:自车速度100km/h、航向角40°,他车速度80km/h、航向角40°;自车执行动第三作a3:80km/h速度、50°航向角;r3:+1;s3’:自车速80km/h、航向角50°,他车速度80km/h、航向角40°>)存储至经验回放池。以便于后续从动作空间中选取动作的过程中使用。
S1204、更新DQN模型。
可选的,处理器执行该S1204。
作为一种可能的实现方式,从经验回放池采集M个第三样本数据,其中,M为正整数,根据M个第三样本数据更新DQN模型。
作为一种可能的实现方式,通过随机梯度下降(Stochastic Gradient Descent,SGD)或者小批量梯度下降(Mini-Batch Gradient Descent,MBGD)DQN模型进行更新。
更新DQN模型包括但不限于更新DQN模型的动作网络参数和评价网络参数。
其中,动作网络用于通过观察环境状态,预测并输出当前应该执行的策略(policy),评价网络用于评估并输出当前策略的优劣。
这里,更新DQN模型的具体流程可参见现有技术,本申请实施例不再赘述。
S1205、判断更新的DQN模型是否收敛,若是,则执行S1206,若否,则继续执行S1201至S1204,并判断更新后的DQN模型是否收敛,直至更新后的DQN模型收敛。
可选的,处理器执行该S1205。
其中,模型收敛指的是当到达给定的迭代次数后,模型输出的变化较小。或者,在相邻几次迭代之间,模型输出的变化很小,比如第一次迭代后,模型输出结果为结果1,第二次迭代后,模型输出结果为结果2,结果1和结果2的差值是一个很小的数。
S1206、存储该更新的DQN模型。
可选的,处理器执行该S1206。示例性的,处理器将更新的DQN存储至存储器中。
将收敛的DQN模型作为训练好的DQN模型,并使用该DQN模型计算第二置信度。具体的,将目标车辆的状态信息和目标对象的状态信息输入该DQN模型,该DQN模型执行运算,并输出基于目标车辆和他车状态信息的第二置信度。
S802、根据第一置信度和第二置信度获取第一驾驶策略。
可选的,可选的,处理器执行该S802。
具体的,参见图9,S802可包括如下步骤:
S8021、根据第一置信度和第二置信度,获取安全通行概率。
可选的,处理器执行该S8021,比如,由图4中的神经网络处理器50执行。
如上文所描述,第一置信度用于表征在某一环境场景中目标车辆安全通行的可信程度,第二置信度用于表征在某一交互场景中目标车辆安全通行的可信程度,根据第一置信度和第二置信度获取可获取到在某一交互场景、某一环境场景中目标车辆安全通行的可信程度,即在某一交互场景、某一环境场景中,目标车辆安全通行的可信程度。其中,安全通行概率C 的大小满足下式:C∈(0,1)。
作为一种可能的实现方式,将第一置信度C_1与第二置信度C_2进行加权,得到安全通行概率的大小。示例性的,可采用如下公式计算安全通行概率:
C=w_1T*C_1+w_2T*C_2,其中w_1,w_2为权重系数矩阵,w_1T为w_1的转置、w_2T为w_2的转置,权重系数矩阵中的权重系数可根据应用场景进行调节。
作为另一种可能的实现方式,通过第一算法得到安全通行概率,第一算法可以为机器学习算法。可选的,通过强化学习算法,或者,强化学习算法中的深度强化学习算法来学习不同环境场景、不同交互场景下目标车辆的安全通行概率。第一算法所使用的模型称为第一模型。
以第一算法为DDPG算法,即使用DDPG算法计算安全通行概率为例,DDPG模型是基于至少一个第一样本数据训练得到的模型,第一样本数据包括初始的第一观测状态、第一动作、执行第一动作获取的反馈、执行第一动作后新的第一观测状态,初始的第一观测状态包括初始的第一置信度和初始的第二置信度。如下,先给出训练第一模型(即DDPG模型)的方法,参见图13,训练DDPG模型,具体包括如下步骤S1301至S1306:
首先,对获取第一样本数据的方法进行介绍,具体的,获取第一样本数据包括S1301至 S1303:
S1301、初始化DDPG模型的参数。
可选的,处理器执行该S1301。比如,由图4中的神经网络处理器50执行。
需要说明的是,机器学习算法可以部分由软件实现,部分由硬件实现。具体如何确定哪部分由软件实现,哪部分由硬件实现,可以基于该机器学习算法的计算密度来考虑,比如,如果由软件实现的部分较多,使得时间消耗多,便可用硬件指令去加速实现。这里统一说明,在本文的其他地方不再赘述。
具体的,初始化DDPG模型中评价网络、动作网络、动作网络对应的目标动作网络、评价网络对应的目标评价网络各自对应的参数,以及初始化经验回放池。
其中,初始化操作的具体流程可参见现有技术,这里不再赘述。
S1302、获取初始的第一观测状态s1。
示例性的,由处理器执行S1302。
初始的第一观测状态包括初始的第一置信度和第二置信度。第一置信度为根据当前环境场景得到的安全通行的可信程度,第二置信度为根据当前交互场景得到的安全通行的可信程度。
S1303、根据当前策略(policy)从动作空间中选择第一动作a1,并执行第一动作a1,观测执行第一动作a1所获取的反馈r1,和执行第一动作a1得到的新的第一观测状态s1’。
示例性的,由处理器执行S1303。
当前策略包括但不限于ε-greedy策略。当然,还可以为其他策略。
作为一种可能的实现方式,来自环境的反馈r1可定义为:
其中,上式中α为可调节的参数,Dr为目标车辆当前所处位置与指定的终止位置之间的距离。
执行动作a1得到的新的第一观测状态s1’包括新的第一置信度和新的第二置信度。
可选的,可以在动作空间中加入噪声。相应的,根据当前策略和加入的噪声从动作空间中选取动作a1。
这里,执行动作a1,并将第一观测状态更新为s1’的流程可参见上述S1203的相关描述。
可选的,在S1303之后,将获得的第一样本数据,即<s1,a1,r1,s1’,*>存储到经验回放池中,以便于后续选取动作时使用。作为一种可能的实现方式,第一样本数据中的“*”可以是flag标识,比如,当从动作空间中选择第一动作,并执行该第一动作后,若成功,则得到的flag为0,若碰撞,则flag为1,若单步反馈,则flag为2。
重复执行如上S1301、S1303,以便于在经验回放池中存储多个第一样本数据。如下S1304 至S1306为从经验回放池中采集多个第一样本数据,并基于采集的第一样本数据训练DDPG 模型的流程:
S1304、更新DDPG模型。
示例性的,由处理器执行S1304。
作为一种可能的实现方式,从经验回放池采集N个第一样本数据,N为正整数。使用N 个第一样本数据来更新DDPG模型。
更新DDPG模型包括更新动作网络和评价网络的参数,其中,评价网络和动作网络的介绍可参见上文描述。在更新DDPG模型的过程中,更新动作网络的参数,使得动作网络的输出值趋近于目标动作网络的输出值,更新评价网络的参数,使得评价网络的输出值趋近于目标评价网络的输出值,当动作网络的输出值与目标动作网络的输出值之间的误差小于第一阈值,且,评价网络的输出值与目标评价网络的输出值之间的误差小于第二阈值,DDPG模型的性能较优。
S1305、判断更新的DDPG模型是否收敛,若是,则执行S1306,若否,则继续执行S1302 至S1304,并判断更新后的DDPG模型是否收敛,直至更新后的DDPG模型收敛。
示例性的,由处理器执行S1305。
S1306、存储该更新的DDPG模型。
示例性的,由处理器执行S1306。
如此,在得到训练好的DDPG模型后,使用DDPG模型学习安全通行概率,可实现为:将第一置信度和第二置信度输入DDPG模型,DDPG经运算输出基于第一置信度和第二置信度的安全通行概率。
当然,除了使用图13所示DDPG算法计算安全通行概率,还可以采用DQN等算法计算安全通行概率,本申请实施例对此不进行限制。
如此,根据环境场景得到第一置信度,根据交互场景得到第二置信度,再根据第一置信度和第二置信度得到安全通行概率。由于综合考虑了目标车辆当前的环境场景和交互场景,有效提升了置信度估计的可靠性,增强了对复杂交通场景的适应性。
S8022、根据安全通行概率,获取第一驾驶策略。
示例性的,由处理器执行S8022。
第一驾驶策略为基于安全通行概率的驾驶策略。第一驾驶策略包括驾驶指令。驾驶指令用于控制目标车辆实现自动或半自动驾驶。驾驶指令包括但不限于加速指令、减速指令、前进指令、停止指令、启动指令。
可选的,第一驾驶策略还包括上述驾驶指令对应的速度、加速度、运动方向(比如航向角)、位置等的具体数值。比如,第一驾驶策略指示速度为80km/h。如此,可以根据速度、加速度的具体数值更为精准的控制目标车辆的动作,实现智能化的自动或半自动驾驶。
作为一种可能的实现方式,将安全通行概率C映射为对应的第一驾驶策略π_1。可选的,安全通行概率与第一驾驶策略π_1的映射关系可通过机器学习(比如强化学习、深度强化学习) 方式获得。
比如,采用第二模型获取第一驾驶策略。第二模型是基于至少一个第二样本数据训练得到的模型,第二样本数据包括初始的第二观测状态、第二动作、执行第二动作获取的反馈、执行第二动作后新的第二观测状态,初始的第二观测状态包括初始的安全通信概率,新的第二观测状态包括执行第二动作后新的安全通行概率。参见图14,如下给出训练第二模型的流程:
S1401、获取初始的第二观测状态s2。
示例性的,由处理器执行S1401。
初始的第二观测状态包括初始的安全通行概率。
S1402、从动作空间中选择并执行第二动作a2,观测执行第二动作所对应的反馈r2和执行第二动作后新的第二观测状态s2’。
示例性的,由处理器执行S1402。
S1403、将初始的第二观测状态、第二动作、执行第二动作对应的反馈、新的第二观测状态作为一个第二样本数据,并将一个第二样本数据存储至经验回放池。
示例性的,由处理器执行S1403。
作为一种可能的实现方式,重复执行上述操作,将多个第二样本数据分别存储至经验回放池。
S1404、从经验回放池中获取L个第二样本数据,并根据L个第二样本数据更新第二模型,L为正整数。
示例性的,由处理器执行S1404。
S1405、判断更新后的第二模型是否收敛。若更新后的第二模型收敛,则执行S1406,若更新后的第二模型不收敛,则继续执行S1401至S1405,直至第二模型收敛。
示例性的,由处理器执行S1405。
S1406、获取收敛的第二模型。
示例性的,由处理器执行S1406。
可选的,存储收敛的第二模型,以供后续流程使用。
其中,S1401至S1406的具体实现可参见上述图12、图13相关的描述,这里不再赘述。
在得到收敛的第二模型后,将安全通行概率输入第二模型,以通过第二模型运算输出第一驾驶策略。
可选的,根据预设映射方式获取安全通行概率对应的第一驾驶策略。比如,第一驾驶策略为速度值,安全通行概率与速度值之间的映射方式可表示为下式:
v_confidence=v_current*C/w_3。其中,v_confidence表示基于安全通行概率得到的自车速度,v_current表示当前时刻自车的速度,C为安全通行概率,w_3为权重,且w_3可以根据应用场景调整。
当然,还可以采取其他方式获取第一驾驶策略。比如,以第一驾驶策略为速度举例,当安全通行概率小于或等于安全通行概率阈值时,限制目标车辆的速度。当安全通行概率大于安全通行概率阈值时,可根据上述方式确定目标车辆在下一时刻的速度v_confidence。
又比如,还可以预存储第一预设关系,并从第一预设关系中获取当前安全通行概率对应的第一驾驶策略,该第一预设关系为安全通行概率和第一驾驶策略的映射关系。如此,不必实时计算第一驾驶策略,减少了实时计算量。或者,可以从其他车辆或者其他网络设备中获取安全通行概率对应的第一驾驶策略。
S803、获取第二驾驶策略。
示例性的,由处理器执行S803。
作为一种可能的实现方式,根据目标车辆的状态信息、与自车交互的目标对象的状态信息,以及预设规则,获取基于预设规则的第二驾驶策略π_2。其中,预设规则可以为现有技术中自动驾驶/半自动驾驶目标车辆中配置的预设规则。示例性的,第二驾驶策略为自车速度的大小,预设规则由比例-积分-微分(ProportionalIntegratingDifferentiation,PID)控制策略确定。此时自车速度大小可表示为下式:
其中,v_pid为自车速度的大小,e(t)=x_target(t)-x(t),e(t)表示目标车辆当前实际位置与期望位置的误差,Kp为可调节的比例系数,Ti为可调节的积分时间,Td为可调节的微分时间,∫e(t)dt表示对e(t)进行积分,表示对e(t)进行微分。
可选的,预设规则还可以是基于线性二次型控制器(LinearQuadraticRegulator,LQR)的规则。LQR的具体控制原理以及具体如何基于LQR获取第二驾驶策略可参见现有技术,这里不再赘述。
当然,预设规则还可以是现有技术中的其他规则,本申请实施例不再一一列举。
S804、根据第一驾驶策略和第二驾驶策略,获取第三驾驶策略π。
示例性的,由处理器执行S804。
作为一种可能的实施方式,通过机器学习算法学习,获取第三驾驶策略。具体的,将第二驾驶策略和第一驾驶策略输入机器学习模型,由机器学习模型输出基于第一驾驶策略和第二驾驶策略的第三驾驶策略。其中,第一驾驶策略基于第一置信度和第二置信度,第二驾驶策略基于预设规则,进而,得到的第三驾驶策略基于置信度和预设规则,第三驾驶策略用于控制目标车辆的自动驾驶。
示例性的,若第一驾驶策略、第二驾驶策略均为自车速度,第三驾驶策略也可以为自车速度。第三驾驶策略的自车速度可表示为下式:
v=min(v_confidence,v_pid)。
其中,v_confidence为基于置信度得到的自车速度,即基于安全通行概率得到的自车速度, v_pid为基于预设规则得到的自车速度,min()为求取最小值的函数。如此,能将目标车辆的行驶速度控制在v_confidence和v_pid中的最小值,以最大程度保证自动/半自动驾驶的安全性。
本申请实施例提供的自动驾驶方法,获取目标车辆的第一置信度和第二置信度,其中,第一置信度与车辆周围环境的环境信息相关,用于表征目标车辆所处周围环境的环境信息的可信程度,第二置信度与车辆自身的状态信息以及目标对象的状态信息相关,用于表征目标车辆的自身状态信息以及目标车辆潜在交互目标对象的状态信息对应的可信程度。并且,根据第一置信度和第二置信度获取第一驾驶策略,根据第一驾驶策略和基于预设规则的第二驾驶策略获取第三驾驶策略,以控制目标车辆的自动驾驶。一方面,通过第一驾驶策略和第二驾驶策略的结合,可以灵活制定第三驾驶策略,由于第三驾驶策略不仅仅依赖于置信度得出,而是在置信度的基础上综合考虑了预设规则,所以,当传感器出现故障时,能够根据预设规则这一因素控制车辆进行自动驾驶,提升自动驾驶的安全性。另一方面,在确定第三驾驶策略时,不仅考虑与车辆有交互可能性的目标对象对该车辆自动驾驶的影响,还考虑了车辆环境的环境信息对自动驾驶的影响,通过考虑多角度、综合因素,使得第三驾驶策略可以应对复杂多样的交通场景,更为灵活。
本申请实施例可以根据上述方法示例对自动驾驶装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图16示出上述实施例中所涉及的自动驾驶装置的一种可能的结构示意图。如图16所示,自动驾驶装置16包括获取模块161、控制模块162、选择模块163、执行模块164、观测模块165、存储模块166、更新模块167。当然,自动驾驶装置16还可以包括其他模块,或者自动驾驶装置可以包括更少的模块。
获取模块,用于获取目标车辆的第一置信度和第二置信度,第一置信度表征目标车辆所处周围环境的环境信息的可信程度,第二置信度表征目标车辆的自身状态信息以及目标车辆潜在交互目标对象的状态信息对应的可信程度。还用于根据第一置信度和第二置信度获取第一驾驶策略,并根据第一驾驶策略和基于预设规则的第二驾驶策略获取第三驾驶策略,第三驾驶策略用于控制目标车辆的自动驾驶。
在一种可能的设计中,获取模块,用于根据第一置信度和第二置信度获取第一驾驶策略,包括:用于根据第一置信度和第二置信度获取安全通行概率,并根据安全通行概率获取第一驾驶策略。
在一种可能的设计中,获取模块,用于根据第一置信度和第二置信度获取安全通行概率,包括:用于将第一置信度和第二置信度输入第一模型,以通过第一模型运算输出安全通行概率,第一模型是基于至少一个第一样本数据训练得到的模型,第一样本数据包括初始的第一观测状态、第一动作、执行第一动作获取的反馈、执行第一动作后新的第一观测状态,初始的第一观测状态包括初始的第一置信度和初始的第二置信度,新的第一观测状态包括执行第一动作后新的第一置信度和新的第二置信度。
在一种可能的设计中,获取模块,还用于获取初始的第一观测状态,初始的第一观测状态包括初始的第一置信度和当前的第二置信度。
选择模块,用于从动作空间中选择第一动作。
执行模块,用于执行第一动作。
观测模块,用于观测执行第一动作所对应的反馈和执行第一动作后新的第一观测状态。
存储模块,用于将初始的第一观测状态、第一动作、执行第一动作对应的反馈、新的第一观测状态作为一个第一样本数据,并将一个第一样本数据存储至经验回放池。
可以理解的是,重复执行上述操作,将多个第一样本数据分别存储至经验回放池。
获取模块,还用于从经验回放池中获取N个第一样本数据。
更新模块,用于根据N个第一样本数据更新第一模型,N为正整数。
若更新后的第一模型收敛,则获取收敛的第一模型。
在一种可能的设计中,获取模块,用于根据安全通行概率获取第一驾驶策略,包括:用于将安全通行概率输入第二模型,以通过第二模型运算输出第一驾驶策略。第二模型是基于至少一个第二样本数据训练得到的模型,第二样本数据包括初始的第二观测状态、第二动作、执行第二动作获取的反馈、执行第二动作后新的第二观测状态,初始的第二观测状态包括初始的安全通信概率,新的第二观测状态包括执行第二动作后新的安全通行概率。
在一种可能的设计中,获取模块,还用于获取初始的第二观测状态,初始的第二观测状态包括初始的安全通行概率。
选择模块,用于从动作空间中选择第二动作。
执行模块,用于执行第二动作。
观测模块,用于观测执行第二动作所对应的反馈和执行第二动作后新的第二观测状态。
存储模块,用于将初始的第二观测状态、第二动作、执行第二动作对应的反馈、新的第二观测状态作为一个第二样本数据,并将一个第二样本数据存储至经验回放池。
执行上述操作,将多个第二样本数据分别存储至经验回放池。
获取模块,还用于从经验回放池中获取L个第二样本数据。
更新模块,用于根据L个第二样本数据更新第二模型,M为正整数。
获取模块,还用于若更新后的第二模型收敛,则获取收敛的第二模型。
在一种可能的设计中,获取模块,用于获取目标车辆的第二置信度,包括:用于将目标车辆的状态信息和目标对象的状态信息输入第三模型,以获取第二置信度,第三模型为机器学习模型,目标车辆的状态信息包括目标车辆位置、目标车辆的速度、目标车辆的加速度、目标车辆的运动方向中的至少一个,第三模型是基于至少一个第三样本数据训练得到的模型,第三样本数据包括初始的第三观测状态、第三动作、执行第三动作获取的反馈、执行第三动作后新的第三观测状态,初始的第三观测状态包括初始时目标车辆的状态信息和目标对象的状态信息,新的第三观测状态包括执行第三动作后目标车辆的状态信息和目标对象的状态信息。
在一种可能的设计中,控制模块,用于根据第三驾驶策略控制自动驾驶。
在第一方面和第二方面的一种可能的设计中,安全通行概率满足如下关系:
C=w_1T*C_1+w_2T*C_2;
其中,C为安全通行概率,C_1为第一置信度,C_2为第二置信度,w_1,w_2为权重系数矩阵,w_1T为w_1的转置、w_2T为w_2的转置。
在第一方面和第二方面的一种可能的设计中,若第一驾驶策略包括目标车辆在下一时刻的速度,第一驾驶策略满足如下关系:
v_confidence=v_current*C/w_3;
其中,v_confidence表示目标车辆在下一时刻的速度,v_current表示目标车辆在当前时刻的速度,C为安全通行概率,w_3为权重。
在第一方面和第二方面的一种可能的设计中,第三驾驶策略的车辆速度为第一驾驶策略的车辆速度和第二驾驶策略的车辆速度中的最小值。
在第一方面和第二方面的一种可能的设计中,环境信息包括静态目标、动态目标、路面状况、天气状况中的至少一种;静态目标的可信程度为静态目标被识别为预设类型物体的概率;动态目标的可信程度为动态目标被识别为预设类型物体的概率;路面状况的可信程度与归一化的车辆与路面之间的摩擦系数相关;天气状况的可信程度与归一化的大气能见度相关,和/或,天气状况的可信程度与归一化的湿度相关,和/或,天气状况的可信程度与归一化的温度相关,和/或,天气状况的可信程度与归一化的光线强度相关;
第一置信度满足如下关系:
C_1=(C_i(obj),C(road),C(weather));
其中,C_1为第一置信度,C_i(obj)为动态目标或静态目标被识别为第i类物体的可信程度,C(road)为路面状况的可信程度,C(weather)为天气状况的可信程度。
在第一方面和第二方面的一种可能的设计中,第三驾驶策略包括指示目标车辆进行加速、减速、前进、停止、启动的指令,还包括所指示的目标车辆的速度、加速度、运动方向、位置中的至少一项。
在一种可能的设计中,预设规则包括基于比例-积分-微分PID的规则和基于线性二次型控制器LQR的规则。
参见图17,本申请还提供一种自动驾驶装置10,包括处理器处理器1001以及存储器1002。
处理器1001与存储器1002相连接(如通过总线1004相互连接)。
可选的,自动驾驶装置10还可包括收发器1003,收发器1003连接处理器1001和存储器1002,收发器用于接收/发送数据。
处理器1001,可以执行图8、图9所对应的任意一个实施方案及其各种可行的实施方式的操作。比如,用于执行获取模块161、控制模块162、选择模块163、执行模块164、观测模块165、存储模块166、更新模块167的操作,和/或本申请实施例中所描述的其他操作。
关于处理器、存储器、总线和收发器的具体介绍,可参见上文,这里不再赘述。
本申请还提供一种自动驾驶装置,包括非易失性存储介质,以及中央处理器,非易失性存储介质存储有可执行程序,中央处理器与非易失性存储介质连接,并执行可执行程序以实现本申请实施例的自动驾驶方法。
本申请另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码,该一个或多个程序包括指令,当处理器在执行该程序代码时,该自动驾驶装置执行如图8或图9所示的自动驾驶方法。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中。自动驾驶装置的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得自动驾驶装置实施执行图8或图9所示的自动驾驶方法中相应步骤。
在上述实施例中,可以全部或部分的通过软件,硬件,固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式出现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。
计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等) 或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种自动驾驶方法,其特征在于,包括:
获取目标车辆的第一置信度和第二置信度,所述第一置信度表征所述目标车辆所处周围环境的环境信息的可信程度,所述第二置信度表征所述目标车辆的自身状态信息以及所述目标车辆潜在交互目标对象的状态信息对应的可信程度;
将所述第一置信度和所述第二置信度输入第一模型,获取安全通行概率,所述第一模型是基于至少一个第一样本数据训练得到的模型,第一样本数据包括初始的第一观测状态、第一动作、执行第一动作获取的反馈、执行第一动作后新的第一观测状态,初始的第一观测状态包括初始的第一置信度和初始的第二置信度,新的第一观测状态包括执行第一动作后新的第一置信度和新的第二置信度;
其中,所述安全通行概率满足如下关系:
C=w_1T*C_1+w_2T*C_2;
其中,C为所述安全通行概率,C_1为所述第一置信度,C_2为所述第二置信度,w_1,w_2为权重系数矩阵,w_1T为w_1的转置、w_2T为w_2的转置;
根据所述安全通行概率获取第一驾驶策略;
若所述第一驾驶策略包括所述目标车辆在下一时刻的速度,所述第一驾驶策略满足如下关系:
v_confidence=v_current*C/w_3;
其中,v_confidence表示所述目标车辆在下一时刻的速度,v_current表示所述目标车辆在当前时刻的速度,C为安全通行概率,w_3为权重;
根据所述第一驾驶策略和基于预设规则的第二驾驶策略获取第三驾驶策略,所述第三驾驶策略用于控制所述目标车辆的自动驾驶;
所述第三驾驶策略的车辆速度为所述第一驾驶策略的车辆速度和所述第二驾驶策略的车辆速度中的最小值;
所述预设规则包括基于比例-积分-微分PID的规则和基于线性二次型控制器LQR的规则。
2.根据权利要求1所述的自动驾驶方法,其特征在于,根据所述安全通行概率获取第一驾驶策略,包括:
将所述安全通行概率输入第二模型,以通过所述第二模型运算输出所述第一驾驶策略,所述第二模型是基于至少一个第二样本数据训练得到的模型,第二样本数据包括初始的第二观测状态、第二动作、执行第二动作获取的反馈、执行第二动作后新的第二观测状态,初始的第二观测状态包括初始的安全通信概率,新的第二观测状态包括执行第二动作后新的安全通行概率。
3.根据权利要求1所述的自动驾驶方法,其特征在于,
所述环境信息包括静态目标、动态目标、路面状况、天气状况中的至少一种;所述静态目标的可信程度为所述静态目标被识别为预设类型物体的概率;所述动态目标的可信程度为所述动态目标被识别为预设类型物体的概率;所述路面状况的可信程度与归一化的车辆与路面之间的摩擦系数相关;所述天气状况的可信程度与归一化的大气能见度相关,和/或,所述天气状况的可信程度与归一化的湿度相关,和/或,所述天气状况的可信程度与归一化的温度相关,和/或,所述天气状况的可信程度与归一化的光线强度相关;
所述第一置信度满足如下关系:
C_1=(C_i(obj),C(road),C(weather));
其中,C_1为所述第一置信度,C_i(obj)为动态目标或静态目标被识别为第i类物体的可信程度,C(road)为所述路面状况的可信程度,C(weather)为所述天气状况的可信程度。
4.根据权利要求1所述的自动驾驶方法,其特征在于,所述获取目标车辆的第二置信度,包括:
将所述目标车辆的状态信息和所述目标对象的状态信息输入第三模型,以获取所述第二置信度,所述第三模型为机器学习模型,所述目标车辆的状态信息包括所述目标车辆位置、所述目标车辆的速度、所述目标车辆的加速度、所述目标车辆的运动方向中的至少一个,所述第三模型是基于至少一个第三样本数据训练得到的模型,第三样本数据包括初始的第三观测状态、第三动作、执行第三动作获取的反馈、执行第三动作后新的第三观测状态,初始的第三观测状态包括初始时所述目标车辆的状态信息和所述目标对象的状态信息,新的第三观测状态包括执行第三动作后所述目标车辆的状态信息和所述目标对象的状态信息。
5.根据权利要求1所述的自动驾驶方法,其特征在于,所述第三驾驶策略包括指示所述目标车辆进行加速、减速、前进、停止、启动的指令,还包括所指示的所述目标车辆的速度、加速度、运动方向、位置中的至少一项。
6.一种自动驾驶装置,其特征在于,包括:
处理器,用于获取目标车辆的第一置信度和第二置信度,所述第一置信度表征所述目标车辆所处周围环境的环境信息的可信程度,所述第二置信度表征所述目标车辆的自身状态信息以及所述目标车辆潜在交互目标对象的状态信息对应的可信程度;用于将所述第一置信度和所述第二置信度输入第一模型,以通过所述第一模型运算输出安全通行概率,所述第一模型是基于至少一个第一样本数据训练得到的模型,第一样本数据包括初始的第一观测状态、第一动作、执行第一动作获取的反馈、执行第一动作后新的第一观测状态,初始的第一观测状态包括初始的第一置信度和初始的第二置信度,新的第一观测状态包括执行第一动作后新的第一置信度和新的第二置信度;根据所述安全通行概率获取第一驾驶策略;根据所述第一驾驶策略和基于预设规则的第二驾驶策略获取第三驾驶策略,所述第三驾驶策略用于控制所述目标车辆的自动驾驶;所述预设规则包括基于比例-积分-微分PID的规则和基于线性二次型控制器LQR的规则;
所述安全通行概率满足如下关系:
C=w_1T*C_1+w_2T*C_2;
其中,C为所述安全通行概率,C_1为所述第一置信度,C_2为所述第二置信度,w_1,w_2为权重系数矩阵,w_1T为w_1的转置、w_2T为w_2的转置;
若所述第一驾驶策略包括所述目标车辆在下一时刻的速度,所述第一驾驶策略满足如下关系:
v_confidence=v_current*C/w_3;
其中,v_confidence表示所述目标车辆在下一时刻的速度,v_current表示所述目标车辆在当前时刻的速度,C为安全通行概率,w_3为权重;
所述第三驾驶策略的车辆速度为所述第一驾驶策略的车辆速度和所述第二驾驶策略的车辆速度中的最小值。
7.根据权利要求6所述的自动驾驶装置,其特征在于,所述处理器,用于根据所述安全通行概率获取第一驾驶策略,包括:用于将所述安全通行概率输入第二模型,以通过所述第二模型运算输出所述第一驾驶策略,所述第二模型是基于至少一个第二样本数据训练得到的模型,第二样本数据包括初始的第二观测状态、第二动作、执行第二动作获取的反馈、执行第二动作后新的第二观测状态,初始的第二观测状态包括初始的安全通信概率,新的第二观测状态包括执行第二动作后新的安全通行概率。
8.根据权利要求6所述的自动驾驶装置,其特征在于,
所述环境信息包括静态目标、动态目标、路面状况、天气状况中的至少一种;所述静态目标的可信程度为所述静态目标被识别为预设类型物体的概率;所述动态目标的可信程度为所述动态目标被识别为预设类型物体的概率;所述路面状况的可信程度与归一化的车辆与路面之间的摩擦系数相关;所述天气状况的可信程度与归一化的大气能见度相关,和/或,所述天气状况的可信程度与归一化的湿度相关,和/或,所述天气状况的可信程度与归一化的温度相关,和/或,所述天气状况的可信程度与归一化的光线强度相关;
所述第一置信度满足如下关系:
C_1=(C_i(obj),C(road),C(weather));
其中,C_1为所述第一置信度,C_i(obj)为动态目标或静态目标被识别为第i类物体的可信程度,C(road)为所述路面状况的可信程度,C(weather)为所述天气状况的可信程度。
9.根据权利要求6所述的自动驾驶装置,其特征在于,所述处理器,用于获取目标车辆的第二置信度,包括:用于将所述目标车辆的状态信息和所述目标对象的状态信息输入第三模型,以获取所述第二置信度,所述第三模型为机器学习模型,所述目标车辆的状态信息包括所述目标车辆位置、所述目标车辆的速度、所述目标车辆的加速度、所述目标车辆的运动方向中的至少一个,所述第三模型是基于至少一个第三样本数据训练得到的模型,第三样本数据包括初始的第三观测状态、第三动作、执行第三动作获取的反馈、执行第三动作后新的第三观测状态,初始的第三观测状态包括初始时所述目标车辆的状态信息和所述目标对象的状态信息,新的第三观测状态包括执行第三动作后所述目标车辆的状态信息和所述目标对象的状态信息。
10.根据权利要求6所述的自动驾驶装置,其特征在于,所述第三驾驶策略包括指示所述目标车辆进行加速、减速、前进、停止、启动的指令,还包括所指示的所述目标车辆的速度、加速度、运动方向、位置中的至少一项。
11.一种计算机可读存储介质,其特征在于,包括程序或指令,当所述程序或指令在计算机上运行时,如权利要求1至5中任一项所述的自动驾驶方法被实现。
12.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至5中任一项所述的自动驾驶方法。
13.一种芯片***,其特征在于,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现权利要求1至5任意一项所述的自动驾驶方法。
14.一种电路***,其特征在于,所述电路***包括处理电路,所述处理电路配置为执行如权利要求1至5任意一项所述的自动驾驶方法。
15.一种自动驾驶装置,其特征在于,包括处理器和存储器;
所述存储器用于存储计算机执行指令,当装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述装置执行如权利要求1-5中任意一项所述的自动驾驶方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910082123.7A CN109901574B (zh) | 2019-01-28 | 2019-01-28 | 自动驾驶方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910082123.7A CN109901574B (zh) | 2019-01-28 | 2019-01-28 | 自动驾驶方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109901574A CN109901574A (zh) | 2019-06-18 |
CN109901574B true CN109901574B (zh) | 2021-08-13 |
Family
ID=66944267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910082123.7A Active CN109901574B (zh) | 2019-01-28 | 2019-01-28 | 自动驾驶方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109901574B (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262508B (zh) * | 2019-07-06 | 2024-05-31 | 广州卡尔动力科技有限公司 | 应用于封闭场地无人驾驶货运车辆上的自动引导***及方法 |
CN110362086B (zh) * | 2019-07-29 | 2022-11-25 | 北京百度网讯科技有限公司 | 用于控制自动驾驶车辆的方法和装置 |
CN110488816B (zh) * | 2019-08-06 | 2021-12-31 | 华为技术有限公司 | 自动驾驶纵向规划方法及相关设备 |
CN112840284A (zh) * | 2019-08-13 | 2021-05-25 | 深圳鲲云信息科技有限公司 | 基于数据流的自动驾驶方法、装置、电子设备及存储介质 |
US11537127B2 (en) * | 2019-09-12 | 2022-12-27 | Uatc, Llc | Systems and methods for vehicle motion planning based on uncertainty |
JP6772351B1 (ja) * | 2019-09-18 | 2020-10-21 | Toyo Tire株式会社 | タイヤ物理情報推定システム |
CN110673599A (zh) * | 2019-09-29 | 2020-01-10 | 北京邮电大学 | 基于传感器网络的自动驾驶车辆环境感知*** |
CN112578781B (zh) * | 2019-09-29 | 2022-12-30 | 华为技术有限公司 | 数据处理方法、装置、芯片***及介质 |
EP3816944B1 (en) * | 2019-10-29 | 2024-02-28 | Volkswagen AG | Method, computer program, apparatus, vehicle, and traffic entity for updating an environmental model of a vehicle |
CN114556251B (zh) * | 2019-11-22 | 2023-11-17 | 华为技术有限公司 | 用于确定车辆可通行空间的方法和装置 |
CN113128303A (zh) * | 2019-12-31 | 2021-07-16 | 华为技术有限公司 | 一种自动驾驶方法、相关设备及计算机可读存储介质 |
CN111114541B (zh) * | 2019-12-31 | 2021-08-20 | 华为技术有限公司 | 车辆控制方法、装置、控制器和智能车 |
CN111340234B (zh) * | 2020-02-27 | 2024-01-30 | 南京星火技术有限公司 | 视频数据处理方法、装置、电子设备和计算机可读介质 |
CN113370990A (zh) * | 2020-03-10 | 2021-09-10 | 华为技术有限公司 | 驾驶辅助方法和驾驶辅助装置 |
CN111578894B (zh) * | 2020-06-02 | 2021-10-15 | 北京经纬恒润科技股份有限公司 | 一种确定障碍物航向角的方法及装置 |
CN111731326B (zh) * | 2020-07-02 | 2022-06-21 | 知行汽车科技(苏州)有限公司 | 避障策略确定方法、装置及存储介质 |
CN113954858A (zh) * | 2020-07-20 | 2022-01-21 | 华为技术有限公司 | 一种规划车辆行驶路线的方法以及智能汽车 |
CN113968242B (zh) * | 2020-07-22 | 2023-10-20 | 华为技术有限公司 | 自动驾驶场景生成方法、装置及*** |
CN114261404A (zh) * | 2020-09-16 | 2022-04-01 | 华为技术有限公司 | 一种自动驾驶方法及相关装置 |
CN111984018A (zh) * | 2020-09-25 | 2020-11-24 | 斑马网络技术有限公司 | 自动驾驶方法及装置 |
CN112489495B (zh) * | 2020-10-26 | 2023-01-17 | 浙江吉利控股集团有限公司 | 一种车辆预警方法、装置、电子设备及存储介质 |
CN112418092B (zh) * | 2020-11-23 | 2022-09-23 | 中国第一汽车股份有限公司 | 一种障碍物感知的融合方法、装置、设备及储存介质 |
CN112258097B (zh) * | 2020-12-23 | 2021-03-26 | 睿至科技集团有限公司 | 一种基于大数据的辅助驾驶方法和*** |
CN112433531A (zh) * | 2021-01-27 | 2021-03-02 | 国汽智控(北京)科技有限公司 | 一种自动驾驶车辆的轨迹跟踪方法、装置及计算机设备 |
CN113119999B (zh) * | 2021-04-16 | 2024-03-12 | 阿波罗智联(北京)科技有限公司 | 自动驾驶特征的确定方法、装置、设备、介质及程序产品 |
CN113507503B (zh) * | 2021-06-16 | 2022-06-14 | 华南理工大学 | 一种具有负载均衡的车联网资源分配方法 |
CN115700204A (zh) * | 2021-07-14 | 2023-02-07 | 魔门塔(苏州)科技有限公司 | 自动驾驶策略的置信度确定方法及装置 |
CN113401144B (zh) * | 2021-07-27 | 2022-10-11 | 阿波罗智能技术(北京)有限公司 | 自动驾驶车辆的控制方法、装置、设备和介质 |
CN113635896B (zh) * | 2021-07-31 | 2023-06-20 | 华为技术有限公司 | 一种驾驶行为确定方法及其相关设备 |
CN113807236B (zh) * | 2021-09-15 | 2024-05-17 | 北京百度网讯科技有限公司 | 车道线检测的方法、装置、设备、存储介质及程序产品 |
CN113844463B (zh) * | 2021-09-26 | 2023-06-13 | 国汽智控(北京)科技有限公司 | 基于自动驾驶***的车辆控制方法、装置及车辆 |
CN114115230B (zh) * | 2021-10-25 | 2023-10-03 | 武汉理工大学 | 人机协同的船舶远程驾驶控制方法、***、装置及介质 |
CN114013443B (zh) * | 2021-11-12 | 2022-09-23 | 哈尔滨工业大学 | 一种基于分层强化学习的自动驾驶车辆换道决策控制方法 |
CN114056425B (zh) * | 2021-11-23 | 2023-07-18 | 东软集团股份有限公司 | 车辆转向控制方法、装置、车辆及存储介质 |
CN114644016A (zh) * | 2022-04-14 | 2022-06-21 | 中汽创智科技有限公司 | 车辆自动驾驶决策方法、装置、车载终端和存储介质 |
CN116691689B (zh) * | 2023-08-07 | 2024-01-12 | 山东海量信息技术研究院 | 一种车辆控制方法、***、设备及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130002834A (ko) * | 2011-06-29 | 2013-01-08 | 엘지전자 주식회사 | 자율 이동 방법 및 그 장치 |
CN105564440A (zh) * | 2014-10-31 | 2016-05-11 | 富士重工业株式会社 | 车辆的行驶控制装置 |
CN105936294A (zh) * | 2015-03-03 | 2016-09-14 | 富士重工业株式会社 | 车辆的行驶控制装置 |
CN106080744A (zh) * | 2015-04-27 | 2016-11-09 | 丰田自动车株式会社 | 自动驾驶车辆*** |
JP2016210243A (ja) * | 2015-04-30 | 2016-12-15 | トヨタ自動車株式会社 | 車両の自動運転システム |
CN107176169A (zh) * | 2016-03-11 | 2017-09-19 | 丰田自动车株式会社 | 车辆的自动驾驶控制*** |
CN109196437A (zh) * | 2018-08-21 | 2019-01-11 | 深圳前海达闼云端智能科技有限公司 | 智能驾驶方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109085837B (zh) * | 2018-08-30 | 2023-03-24 | 阿波罗智能技术(北京)有限公司 | 车辆控制方法、装置、计算机设备及存储介质 |
-
2019
- 2019-01-28 CN CN201910082123.7A patent/CN109901574B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130002834A (ko) * | 2011-06-29 | 2013-01-08 | 엘지전자 주식회사 | 자율 이동 방법 및 그 장치 |
CN105564440A (zh) * | 2014-10-31 | 2016-05-11 | 富士重工业株式会社 | 车辆的行驶控制装置 |
CN105936294A (zh) * | 2015-03-03 | 2016-09-14 | 富士重工业株式会社 | 车辆的行驶控制装置 |
CN106080744A (zh) * | 2015-04-27 | 2016-11-09 | 丰田自动车株式会社 | 自动驾驶车辆*** |
JP2016210243A (ja) * | 2015-04-30 | 2016-12-15 | トヨタ自動車株式会社 | 車両の自動運転システム |
CN107176169A (zh) * | 2016-03-11 | 2017-09-19 | 丰田自动车株式会社 | 车辆的自动驾驶控制*** |
CN109196437A (zh) * | 2018-08-21 | 2019-01-11 | 深圳前海达闼云端智能科技有限公司 | 智能驾驶方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109901574A (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109901574B (zh) | 自动驾驶方法及装置 | |
CN110379193B (zh) | 自动驾驶车辆的行为规划方法及行为规划装置 | |
WO2022001773A1 (zh) | 轨迹预测方法及装置 | |
CN109901572B (zh) | 自动驾驶方法、训练方法及相关装置 | |
CN112230642B (zh) | 道路可行驶区域推理方法及装置 | |
CN112703506B (zh) | 车道线检测方法及装置 | |
CN110371132B (zh) | 驾驶员接管评估方法及装置 | |
CN113460042B (zh) | 车辆驾驶行为的识别方法以及识别装置 | |
CN110532846B (zh) | 自动换道方法、装置及存储介质 | |
CN113835421B (zh) | 训练驾驶行为决策模型的方法及装置 | |
WO2022017307A1 (zh) | 自动驾驶场景生成方法、装置及*** | |
CN113632033A (zh) | 车辆控制方法及装置 | |
WO2022062825A1 (zh) | 车辆的控制方法、装置及车辆 | |
CN111950726A (zh) | 基于多任务学习的决策方法、决策模型训练方法及装置 | |
WO2022051951A1 (zh) | 车道线检测方法、相关设备及计算机可读存储介质 | |
US20230048680A1 (en) | Method and apparatus for passing through barrier gate crossbar by vehicle | |
CN113954858A (zh) | 一种规划车辆行驶路线的方法以及智能汽车 | |
CN114693540A (zh) | 一种图像处理方法、装置以及智能汽车 | |
WO2022178858A1 (zh) | 一种车辆行驶意图预测方法、装置、终端及存储介质 | |
CN113022573B (zh) | 道路结构检测方法及装置 | |
CN114261404A (zh) | 一种自动驾驶方法及相关装置 | |
CN113741384A (zh) | 检测自动驾驶***的方法和装置 | |
CN114549610A (zh) | 一种点云数据的处理方法及相关装置 | |
CN114556251B (zh) | 用于确定车辆可通行空间的方法和装置 | |
WO2022001432A1 (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 |