一种自动驾驶方法及相关装置与流程

文档序号:29460275发布日期:2022-04-02 01:03阅读:316来源:国知局
一种自动驾驶方法及相关装置与流程

1.本技术涉及自动驾驶技术领域,尤其涉及一种自动驾驶方法及相关装置。


背景技术:

2.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,ai基础理论等。
3.自动驾驶是人工智能领域的一种主流应用,自动驾驶技术依靠计算机视觉、雷达、监控装置和全球定位系统等协同合作,让机动车辆可以在不需要人类主动操作下,实现自动驾驶。自动驾驶的车辆使用各种计算系统来帮助将乘客从一个位置运输到另一位置。一些自动驾驶车辆可能要求来自操作者(诸如,领航员、驾驶员、或者乘客)的一些初始输入或者连续输入。自动驾驶车辆准许操作者从手动模操作式切换到自动驾驶模式或者介于两者之间的模式。由于自动驾驶技术无需人类来驾驶机动车辆,所以理论上能够有效避免人类的驾驶失误,减少交通事故的发生,且能够提高公路的运输效率。因此,自动驾驶技术越来越受到重视。
4.在自动驾驶领域,自动驾驶车辆可以根据实际的驾驶场景执行相应的行驶策略,以保证自动驾驶车辆的安全行驶。然而,在一些特殊场景下,例如无左转保护路口或者是出入口匝道等场景,有时会出现自动驾驶车辆与其他车辆轨迹冲突的情况。
5.目前,在自动驾驶车辆与目标车辆出现轨迹冲突的情况时,自动驾驶车辆往往会采取与目标车辆进行一对一博弈的博弈策略,忽略了博弈过程之外的驾驶风险,容易导致自动驾驶车辆所做出的行驶策略存在一定的危险性。


技术实现要素:

6.本技术提供了一种自动驾驶方法及相关装置,通过获取与自车具有博弈关系的博弈目标车的信息以及对自车的决策产生影响的风险目标车的信息,来建立引入冲突损失和安全距离损失的动态博弈模型。由于将驾驶环境对博弈过程的风险影响添加进了动态博弈模型,可以将风险决策和博弈决策结合起来,有效地降低了博弈过程的风险性,提高自动驾驶的安全性。
7.本技术第一方面提供一种自动驾驶方法,可用于人工智能领域的自动驾驶领域中。该方法可以包括:获取第一目标车的第一信息和第二目标车的第二信息,第一目标车和第二目标车可以为自车周边环境中的车辆,自车与所述第一目标车和所述第二目标车具有碰撞风险,且所述自车能通过加速抢行或减速让行来消除与所述第一目标车的碰撞风险。
简单来说,自车与第一目标车具有直接的博弈关系,并且在博弈过程中,自车以及第一目标车能够做出的行驶策略为加速抢行或减速让行。第二目标车与自车并不存在直接的博弈关系,但第二目标车会对自车在博弈过程中的决策和动作范围产生影响和限制。所述第一信息可以包括所述第一目标车的位置信息和速度信息,所述第二信息可以包括所述第二目标车的位置信息和速度信息。至少根据所述第一信息和所述第二信息,建立动态博弈模型,所述第一信息用于确定所述动态博弈模型中的冲突损失,所述第二信息用于确定所述动态博弈模型中的安全距离损失。其中,该冲突损失表示在自车选择加速抢行且第一目标车也选择加速抢行时,自车的损失;该安全距离损失表示在自车执行加速抢行的策略或减速让行的策略,而使得自车与前方或后方的第二目标车的空间距离发生变化时,自车的损失。其中,自车的损失是指在博弈过程中,由于自车的博弈策略的选择所导致的自车的道路通过性或者安全性中的一种或两种所可能发生的变化的度量。根据所述动态博弈模型确定行驶策略,该行驶策略为加速抢行或减速让行;根据所述行驶策略控制所述自车行驶。
8.本方案中,通过获取与自车具有博弈关系的博弈目标车的信息以及对自车的决策产生影响的风险目标车的信息,来建立引入冲突损失和安全距离损失的动态博弈模型。由于将驾驶环境对博弈过程的风险影响添加进了动态博弈模型,可以将风险决策和博弈决策结合起来,有效地降低了博弈过程的风险性,提高自动驾驶的安全性。
9.在一种可能的实施方式中,该自动驾驶方法还包括:识别到所述自车处于预设场景,所述预设场景包括:无左转保护路口驾驶场景、出入口匝道驾驶场景、车道合并驾驶场景。本方案中,通过在识别到自车处于预设场景时,选择自动执行本技术的自动驾驶方法,能够提高特殊场景下的决策准确性,提高自动驾驶的安全性。
10.在一种可能的实施方式中,所述至少根据所述第一信息和所述第二信息,建立动态博弈模型具体可以包括:获取所述自车对应的距轨迹冲突点的时间(time to conflict,ttc);根据所述第一信息确定所述第一目标车对应的ttc;根据所述自车对应的ttc和所述第一目标车对应的ttc之间的差值确定所述动态博弈模型中的冲突损失。对于自车来说,根据自车当前所处的位置以及轨迹冲突点的位置可以确定自车对应的距轨迹冲突点的距离(distance to conflict,dtc)。在确定自车对应的dtc之后,根据自车当前的速度和加速度,可以确定自车对应的ttc。类似地,同样可以根据第一目标车当前所处的位置以及轨迹冲突点的位置确定第一目标车的dtc,然后基于第一目标车的dtc,确定自第一目标车对应的ttc。
11.本方案中,通过基于自车对应的ttc和第一目标车对应的ttc之间的差值来确定动态博弈模型中的冲突损失,可以在博弈过程中引入随ttc差值变化的冲突损失,提高动态博弈模型的决策准确性。
12.在一种可能的实施方式中,所述至少根据所述第一信息和所述第二信息,建立动态博弈模型具体可以包括:根据所述自车的位置和速度以及所述第二信息,确定所述动态博弈模型中的第一安全距离损失或第二安全距离损失;其中,第一安全距离损失为执行加速抢行策略时的前方安全距离损失,第二安全距离损失为执行减速让行策略时的后方安全距离损失。例如,在第二目标车在自车的前方时,可以确定第二目标车对应的第一安全距离损失;在第二目标车在自车的后方时,则可以确定第二目标车对应的第二安全距离损失。具体地,第一安全距离损失或第二安全距离损失可以基于第二目标车与自车之间的空间距
离,以及第二目标车和自车之间的相对速度来确定。例如,可以通过将第二目标车与自车之间的空间距离除以第二目标车和自车之间的相对速度,来求得第一安全距离损失或第二安全距离损失。一般来说,第二目标车与自车之间的空间距离越大,第一安全距离损失或第二安全距离损失则越大;第二目标车和自车之间的相对速度越大,第一安全距离损失或第二安全距离损失则越小。本方案中,通过在动态博弈模型中引入安全距离损失,可以将博弈决策和风险决策耦合起来,提高决策的安全性。
13.在一种可能的实施方式中,该自动驾驶方法还包括:根据所述自车和所述第一目标车,确定所述自车具有路权;根据所述自车具有路权,确定路权抢行收益,所述路权抢行收益用于建立所述动态博弈模型。可以理解的是,具有路权的车辆在行驶过程中能够具有通行的优先权。因此,在建立动态博弈模型的过程中,可以引入路权抢行收益,即赋予具有路权的车辆一定的收益,以使得动态博弈模型更符合实际情况,提高决策结果的可靠性。
14.在一种可能的实施方式中,所述获取第一目标车的第一信息和第二目标车的第二信息之前,该自动驾驶方法还包括:根据所述自车的位置确定第一目标车集合,所述第一目标车集合包括多个与所述自车的距离小于预设阈值的目标车;根据所述自车的规划轨迹和所述第一目标车集合,确定第二目标车集合,所述第二目标车集合包括多个预测轨迹与所述自车的规划轨迹相交的目标车;在所述第二目标车集合中确定所述第一目标车和所述第二目标车。本方案中,在获取第一目标车的第一信息和第二目标车的第二信息之前,可以根据自车的位置和规划轨迹识别自车对应的关键障碍物,然后在自车对应的关键障碍物中确定第一目标车和第二目标车。通过关键障碍物识别,可以滤掉大量的无关目标。
15.在一种可能的实施方式中,所述在所述第二目标车集合中确定所述第一目标车和所述第二目标车,具体包括:获取所述自车对应的ttc以及第三目标车对应的ttc,所述第三目标车为所述第二目标车集合中的目标车;确定所述自车对应的ttc和所述第三目标车对应的ttc之间的差值;若所述自车对应的ttc和所述第三目标车对应的ttc之间的差值小于或等于预置阈值,且所述第三目标车处于博弈车道集,则确定所述第三目标车为所述第一目标车;其中,所述博弈车道集为与所述自车所处的车道具有博弈关系的车道集。
16.在一种可能的实施方式中,所述在所述第二目标车集合中确定所述第一目标车和所述第二目标车,具体包括:若第三目标车处于风险车道集,且所述第三目标车的轨迹车道集与自车车道集中存在相同的车道,则确定所述第三目标车为第二目标车;其中,所述第三目标车为所述第二目标车集合中的目标车,所述自车车道集包括自车道、所述自车道的前方车道和所述自车道的后方车道,所述自车道为所述自车所处的车道,所述风险车道集包括所述自车车道集以及所述自车车道集的左方车道集和/或所述自车车道集的右方车道集。
17.本技术第二方面提供一种自动驾驶装置,包括:获取单元,用于获取第一目标车的第一信息和第二目标车的第二信息,其中,自车与所述第一目标车和所述第二目标车具有碰撞风险,所述第一信息包括所述第一目标车的位置信息和速度信息,所述第二信息包括所述第二目标车的位置信息和速度信息;处理单元,用于至少根据所述第一信息和所述第二信息,建立动态博弈模型,所述第一信息用于确定所述动态博弈模型中的冲突损失,所述第二信息用于确定所述动态博弈模型中的安全距离损失,所述冲突损失为所述自车与所述第一目标车均选择加速抢行时,所述自车的损失,所述安全距离损失为所述自车与所述第
二目标车的安全距离发生变化时,所述自车的损失;所述处理单元,还用于根据所述动态博弈模型确定行驶策略;控制单元,用于根据所述行驶策略控制所述自车行驶。
18.在一种可能的实施方式中,该自动驾驶装置还包括:识别单元,用于识别到所述自车处于预设场景,所述预设场景包括:无左转保护路口驾驶场景、出入口匝道驾驶场景、车道合并驾驶场景。
19.在一种可能的实施方式中,所述自车能通过加速抢行或减速让行来消除与所述第一目标车的碰撞风险。
20.在一种可能的实施方式中,所述处理单元具体用于:获取所述自车对应的距轨迹冲突点的时间ttc;根据所述第一信息确定所述第一目标车对应的ttc;根据所述自车对应的ttc和所述第一目标车对应的ttc之间的差值确定所述动态博弈模型中的冲突损失。
21.在一种可能的实施方式中,所述处理单元具体用于:根据所述自车的位置和速度以及所述第二信息,确定所述动态博弈模型中的第一安全距离损失或第二安全距离损失;其中,第一安全距离损失为执行加速抢行策略时的前方安全距离损失,第二安全距离损失为执行减速让行策略时的后方安全距离损失。
22.在一种可能的实施方式中,所述处理单元还用于:根据所述自车和所述第一目标车,确定所述自车具有路权;根据所述自车具有路权,确定路权抢行收益,所述路权抢行收益用于建立所述动态博弈模型。
23.在一种可能的实施方式中,所述处理单元还用于:根据所述自车的位置确定第一目标车集合,所述第一目标车集合包括多个与所述自车的距离小于预设阈值的目标车;根据所述自车的规划轨迹和所述第一目标车集合,确定第二目标车集合,所述第二目标车集合包括多个预测轨迹与所述自车的规划轨迹相交的目标车;在所述第二目标车集合中确定所述第一目标车和所述第二目标车。
24.在一种可能的实施方式中,所述获取单元还用于获取所述自车对应的ttc以及第三目标车对应的ttc,所述第三目标车为所述第二目标车集合中的目标车;所述处理单元还用于确定所述自车对应的ttc和所述第三目标车对应的ttc之间的差值;所述处理单元还用于若所述自车对应的ttc和所述第三目标车对应的ttc之间的差值小于或等于预置阈值,且所述第三目标车处于博弈车道集,则确定所述第三目标车为所述第一目标车;其中,所述博弈车道集为与所述自车所处的车道具有博弈关系的车道集。
25.在一种可能的实施方式中,所述处理单元具体用于:若第三目标车处于风险车道集,且所述第三目标车的轨迹车道集与自车车道集中存在相同的车道,则确定所述第三目标车为第二目标车;其中,所述第三目标车为所述第二目标车集合中的目标车,所述自车车道集包括自车道、所述自车道的前方车道和所述自车道的后方车道,所述自车道为所述自车所处的车道,所述风险车道集包括所述自车车道集以及所述自车车道集的左方车道集和/或所述自车车道集的右方车道集。
26.本技术第三方面提供一种自动驾驶装置,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时执行上述第一方面或第一方面任意一种可能的实施方式中所描述的自动驾驶方法。
27.本技术第四方面提供一种计算机可读存储介质,可以包括程序,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任意一种可能的实施方式中所描述的自
动驾驶方法。
28.本技术第五方面提供一种自动驾驶车辆,该自动驾驶车辆可以包括处理电路和存储电路,处理电路和存储电路被配置为执行上述第一方面或第一方面任意一种可能的实施方式中所描述的自动驾驶方法。
29.本技术第六方面提供一种电路系统,电路系统可以包括处理电路,处理电路配置为执行上述第一方面或第一方面任意一种可能的实施方式中所描述的自动驾驶方法。
30.本技术第七方面提供了一种计算机程序,当其在计算机上行驶时,使得计算机执行上述第一方面或第一方面任意一种可能的实施方式中所描述的自动驾驶方法。
31.本技术第八方面提供了一种芯片系统,该芯片系统可以包括处理器,用于支持自动驾驶装置实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存服务器或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以可以包括芯片和其他分立器件。
32.对于本技术第二方面至第九方面以及各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第一方面中各种可能的实现方式中的描述,此处不再一一赘述。
附图说明
33.图1为本技术实施例提供的车辆的一种结构示意图;
34.图2为本技术实施例提供的一种无左转保护路口驾驶场景的示意图;
35.图3为本技术实施例提供的一种出入口匝道驾驶场景的示意图;
36.图4为本技术实施例提供的一种车道合并驾驶场景的示意图;
37.图5为本技术提供的一种自动驾驶方法的流程示意图;
38.图6为本技术实施例提供的一种目标车识别的方法的流程示意图;
39.图7为本技术实施例提供的一种车道划分方式的示意图;
40.图8为本技术实施例提供的一种博弈车道划分方式的示意图;
41.图9为本技术实施例提供的另一种博弈车道划分方式的示意图;
42.图10为本技术实施例提供的一种滤除第一目标车和第二目标车的示意图;
43.图11为本技术实施例提供的自动驾驶装置1100的一种结构示意图;
44.图12为本技术实施例提供的自动驾驶车辆的一种结构示意图;
45.图13为本技术实施例提供的芯片的一种结构示意图。
具体实施方式
46.本技术的说明书和权利要求书及上述附图中的术语“第一”、第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本技术的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
47.下面结合附图,对本技术的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
48.为了便于理解本方案,本技术实施例中首先结合图1对车辆的结构进行介绍,本技术实施例提供的自动驾驶方法可以应用如图1所示的车辆上。可以参阅图1,图1为本技术实施例提供的车辆的一种结构示意图。
49.在一个实施例中,自动驾驶车辆100可以被配置为完全或部分地自动驾驶模式。例如,自动驾驶车辆100可以在处于自动驾驶模式中的同时控制自身,并且可通过人为操作来确定车辆及其周边环境的当前状态,确定周边环境中的至少一个其他车辆的可能行为,并确定该其他车辆执行可能行为的可能性相对应的置信水平,基于所确定的信息来控制自动驾驶车辆100。在自动驾驶车辆100处于自动驾驶模式中时,可以将自动驾驶车辆100置为在没有和人交互的情况下操作。
50.自动驾驶车辆100可包括各种子系统,例如行进系统102、传感器系统104、控制系统106、一个或多个外围设备108以及电源110、计算机系统112和用户接口116。可选地,自动驾驶车辆100可包括更多或更少的子系统,并且每个子系统可包括多个元件。另外,自动驾驶车辆100的每个子系统和元件可以通过有线或者无线互连。
51.行进系统102可包括为自动驾驶车辆100提供动力运动的组件。在一个实施例中,推进系统102可包括引擎118、能量源119、传动装置120和车轮/轮胎121。引擎118可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如气油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎118将能量源119转换成机械能量。
52.能量源119的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源119也可以为自动驾驶车辆100的其他系统提供能量。
53.传动装置120可以将来自引擎118的机械动力传送到车轮121。传动装置120可包括变速箱、差速器和驱动轴。在一个实施例中,传动装置120还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮121的一个或多个轴。
54.传感器系统104可包括感测关于自动驾驶车辆100周边的环境的信息的若干个传感器。例如,传感器系统104可包括定位系统122(定位系统可以是gps系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,imu)124、雷达126、激光测距仪128以及相机130。传感器系统104还可包括被监视自动驾驶车辆100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是自主自动驾驶车辆100的安全操作的关键功能。
55.定位系统122可用于估计自动驾驶车辆100的地理位置。imu 124用于基于惯性加速度来感测自动驾驶车辆100的位置和朝向变化。在一个实施例中,imu 124可以是加速度计和陀螺仪的组合。
56.雷达126可利用无线电信号来感测自动驾驶车辆100的周边环境内的物体。在一些实施例中,除了感测物体以外,雷达126还可用于感测物体的速度和/或前进方向。
57.激光测距仪128可利用激光来感测自动驾驶车辆100所位于的环境中的物体。在一些实施例中,激光测距仪128可包括一个或多个激光源、激光扫描器以及一个或多个检测
器,以及其他系统组件。
58.相机130可用于捕捉自动驾驶车辆100的周边环境的多个图像。相机130可以是静态相机或视频相机。
59.控制系统106为控制自动驾驶车辆100及其组件的操作。控制系统106可包括各种元件,其中包括转向系统132、油门134、制动单元136、传感器融合算法138、计算机视觉系统140、路线控制系统142以及障碍物避免系统144。
60.转向系统132可操作来调整自动驾驶车辆100的前进方向。例如在一个实施例中可以为方向盘系统。
61.油门134用于控制引擎118的操作速度并进而控制自动驾驶车辆100的速度。
62.制动单元136用于控制自动驾驶车辆100减速。制动单元136可使用摩擦力来减慢车轮121。在其他实施例中,制动单元136可将车轮121的动能转换为电流。制动单元136也可采取其他形式来减慢车轮121转速从而控制自动驾驶车辆100的速度。
63.计算机视觉系统140可以操作来处理和分析由相机130捕捉的图像以便识别自动驾驶车辆100周边环境中的物体和/或特征。物体和/或特征可包括交通信号、道路边界和障碍物。计算机视觉系统140可使用物体识别算法、运动中恢复结构(structure from motion,sfm)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统140可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。
64.路线控制系统142用于确定自动驾驶车辆100的行驶路线。在一些实施例中,路线控制系统142可结合来自传感器138、gps 122和一个或多个预定地图的数据以为自动驾驶车辆100确定行驶路线。
65.障碍物避免系统144用于识别、评估和避免或者以其他方式越过车辆100的环境中的潜在障碍物。
66.当然,在一个实例中,控制系统106可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。
67.自动驾驶车辆100通过外围设备108与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外围设备108可包括无线通信系统146、车载电脑148、麦克风150和/或扬声器152。
68.在一些实施例中,外围设备108提供自动驾驶车辆100的用户与用户接口116交互的手段。例如,车载电脑148可向自动驾驶车辆100的用户提供信息。用户接口116还可操作车载电脑148来接收用户的输入。车载电脑148可以通过触摸屏进行操作。在其他情况中,外围设备108可提供用于自动驾驶车辆100与位于车内的其它设备通信的手段。例如,麦克风150可从自动驾驶车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器152可向自动驾驶车辆100的用户输出音频。
69.无线通信系统146可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统146可使用3g蜂窝通信,例如cdma、evd0、gsm/gprs,或者4g蜂窝通信,例如lte。或者5g蜂窝通信。无线通信系统146可利用wifi与无线局域网(wireless local area network,wlan)通信。在一些实施例中,无线通信系统146可利用红外链路、蓝牙或zigbee与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统146可包括一个或多个专用短程通信(dedicated short range communications,dsrc)设备,这
些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
70.电源110可向自动驾驶车辆100的各种组件提供电力。在一个实施例中,电源110可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源为自动驾驶车辆100的各种组件提供电力。在一些实施例中,电源110和能量源119可一起实现,例如一些全电动车中那样。
71.自动驾驶车辆100的部分或所有功能受计算机系统112控制。计算机系统112可包括至少一个处理器113,处理器113执行存储在例如数据存储装置114这样的非暂态计算机可读介质中的指令115。计算机系统112还可以是采用分布式方式控制自动驾驶车辆100的个体组件或子系统的多个计算设备。
72.处理器113可以是任何常规的处理器,诸如商业可获得的cpu。替选地,该处理器可以是诸如asic或其它基于硬件的处理器的专用设备。尽管图1功能性地图示了处理器、存储器、和在相同块中的计算机110的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机、或存储器实际上可以包括可以或者可以不存储在相同的物理外壳内的多个处理器、计算机、或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机110的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,处理器只执行与特定于组件的功能相关的计算。
73.在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
74.在一些实施例中,数据存储装置114可包含指令115(例如,程序逻辑),指令115可被处理器113执行来执行自动驾驶车辆100的各种功能,包括以上描述的那些功能。数据存储装置114也可包含额外的指令,包括向推进系统102、传感器系统104、控制系统106和外围设备108中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
75.除了指令115以外,数据存储装置114还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在自动驾驶车辆100在自主、半自主和/或手动模式中操作期间被自动驾驶车辆100和计算机系统112使用。
76.用户接口116,用于向自动驾驶车辆100的用户提供信息或从其接收信息。可选地,用户接口116可包括在外围设备108的集合内的一个或多个输入/输出设备,例如无线通信系统146、车车在电脑148、麦克风150和扬声器152。
77.计算机系统112可基于从各种子系统(例如,行进系统102、传感器系统104和控制系统106)以及从用户接口116接收的输入来控制自动驾驶车辆100的功能。例如,计算机系统112可利用来自控制系统106的输入以便控制转向单元132来避免由传感器系统104和障碍物避免系统144检测到的障碍物。在一些实施例中,计算机系统112可操作来对自动驾驶车辆100及其子系统的许多方面提供控制。
78.可选地,上述这些组件中的一个或多个可与自动驾驶车辆100分开安装或关联。例如,数据存储装置114可以部分或完全地与车辆1100分开存在。上述组件可以按有线和/或
无线方式来通信地耦合在一起。
79.可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1不应理解为对本技术实施例的限制。
80.在道路行进的自动驾驶汽车,如上面的自动驾驶车辆100,可以识别其周围环境内的物体以确定对当前速度的调整。物体可以是其它车辆、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,可以用来确定自动驾驶汽车所要调整的速度。
81.可选地,自动驾驶车辆100或者与自动驾驶车辆100相关联的计算设备(如图1的计算机系统112、计算机视觉系统140、数据存储装置114)可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰、等等)来预测识别的物体的行为。可选地,每一个所识别的物体都依赖于彼此的行为,因此还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。自动驾驶车辆100能够基于预测的识别的物体的行为来调整它的速度。换句话说,自动驾驶汽车能够基于所预测的物体的行为来确定车辆将需要调整到(例如,加速、减速、或者停止)什么稳定状态。在这个过程中,也可以考虑其它因素来确定自动驾驶车辆100的速度,诸如,自动驾驶车辆100在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。
82.除了提供调整自动驾驶汽车的速度的指令之外,计算设备还可以提供修改自动驾驶车辆100的转向角的指令,以使得自动驾驶汽车遵循给定的轨迹和/或维持与自动驾驶汽车附近的物体(例如,道路上的相邻车道中的轿车)的安全横向和纵向距离。
83.上述自动驾驶车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车等,本技术实施例不做特别的限定。
84.随着自动驾驶技术的进一步发展和不断地演进迭代,人们对自动驾驶车辆的要求也越来越高,要求自动驾驶车辆的行为更加的智能化和拟人化。在自动驾驶的相关技术中,通常是以安全为首要准则,期望在任何时候都提供过于冗余的安全裕量。从而导致了自动驾驶车辆的驾驶策略趋于保守,自动驾驶车辆在一些特殊的场景中容易停滞不前,有时甚至会因此阻塞交通,造成人为接管的局面。
85.其中,前述特殊的场景可以是指自动驾驶车辆与目标车辆存在轨迹冲突的场景,例如无左转保护路口驾驶场景、出入口匝道驾驶场景以及车道合并驾驶场景等场景。
86.示例性地,可以参阅图2,图2为本技术实施例提供的一种无左转保护路口驾驶场景的示意图。如图2所示,在无左转保护路口,自车(即本车)的规划轨迹为直行,目标车的规划轨迹为左转。由于直行和左转共用同一个绿灯,所以常常会出现自车和目标车轨迹冲突的情况。
87.示例性地,可以参阅图3,图3为本技术实施例提供的一种出入口匝道驾驶场景的示意图。如图3所示,在出入口匝道,自车的规划轨迹为直行,目标车的规划轨迹为从匝道汇入自车所行驶的车道。在这种情况下,也会出现自车和目标车轨迹冲突的情况。
88.示例性地,可以参阅图4,图4为本技术实施例提供的一种车道合并驾驶场景的示意图。如图4所示,在存在两车道合并为单车道的场景下,自车的规划轨迹为直行,目标车的规划轨迹为驶入合并后的车道。在这种情况下,通常也会出现自车和目标车轨迹冲突的情
况。
89.在相关技术中,当面对轨迹冲突时,自动驾驶车辆的决策往往会非常保守,在大部分情况下都会保守的选择减速让行,这样就会导致通行效率十分低下。因此,选择适当的交互博弈策略,可以大大提升轨迹冲突场景下的通行效率,降低因决策保守而引起的接管次数,也是自动驾驶更加智能化的体现。
90.目前,在自动驾驶车辆与目标车辆出现轨迹冲突的情况时,自动驾驶车辆往往会采取与目标车辆进行一对一博弈的博弈策略,而忽略了驾驶环境对博弈过程的影响,即忽略了一对一博弈过程之外的驾驶风险,容易导致自动驾驶车辆所做出的行驶策略存在一定的危险性。
91.例如,在自动驾驶车辆在博弈过程中选择了加速抢行的行驶策略时,自动驾驶车辆加速抢行会使得自动驾驶车辆与其前方的车辆的安全距离减小,从而导致自动驾驶车辆与其前方的车辆产生碰撞风险。又例如,在自动驾驶车辆在博弈过程中选择了减速让行的行驶策略时,自动驾驶车辆减速让行会使得自动驾驶车辆与其后方的车辆的安全距离减小,从而导致自动驾驶车辆与其后方的车辆产生碰撞风险。
92.也就是说,在一对一博弈过程之外,自动驾驶车辆还存在与其周围的车辆发生碰撞的风险,而现有的博弈策略通常都忽略了一对一博弈过程之外的驾驶风险。
93.有鉴于此,本技术实施例提供了一种自动驾驶方法,该方法可应用于图1中示出的自动驾驶车辆100中,以保障自动驾驶车辆在轨迹冲突场景下的安全行驶。
94.为便于理解,以下先对本技术实施例提及的技术术语进行介绍。
95.路口:两条或多条道路相交的交叉区域。
96.无左转保护路口:车辆直行和车辆左转共用同一个绿灯的路口,没有独立的左转灯。
97.自车(ego):以自动驾驶车辆为自车。
98.目标车(object):自动驾驶车辆周边所检测出的车辆。
99.动态博弈:一种在博弈过程有先后顺序,并且后行动者会根据先行动者的行为而作出相应决策的博弈论,也称“多阶段博弈”。
100.子博弈:指在动态博弈中,所有参与者先后都采取了一次行动后所构成的一组新的博弈,这组博弈中的每一个都称为子博弈。
101.子博弈精炼纳什均衡:当且仅当参与者的战略在其子博弈的系列(第二代、第三代

)中,每一个子博弈都构成纳什均衡,就构成了子博弈精练纳什均衡。子博弈精练纳什均衡要求参与者的决策在每一个时间节点的子博弈中都为最优。
102.可以参阅图5,图5为本技术提供的一种自动驾驶方法的流程示意图。如图5所示,本技术实施例提供的一种自动驾驶方法,可以包括以下步骤:
103.501、获取第一目标车的第一信息和第二目标车的第二信息。
104.其中,第一目标车和第二目标车可以为自车周边环境中的车辆,自车与第一目标车和第二目标车具有碰撞风险,且自车能通过加速抢行或减速让行来消除与第一目标车的碰撞风险。也就是说,自车与第一目标车具有直接的博弈关系,并且在博弈过程中,自车以及第一目标车能够做出的行驶策略为加速抢行或减速让行。第二目标车与自车并不存在直接的博弈关系,但第二目标车会对自车在博弈过程中的决策和动作范围产生影响和限制。
105.第一目标车的第一信息包括第一目标车的位置信息和速度信息,第二目标车的第二信息包括第二目标车的位置信息和速度信息。第一目标车和第二目标车的位置信息可以通过全球定位系统(global position system,gps)、实时动态定位(real-time kinematic,rtk)、摄像头及激光雷达等方式来完成。在一个可能的实施方式中,可以综合预先存储的地图、gps位置信息及毫米波测量信息判断车辆可能存在的位置,并计算该车辆可能存在的位置出现概率,以此确定车辆所在的具体位置。需要说明的是,本技术提供的方案可以通过多种方式来获取车辆的位置信息,相关技术中关于获取车辆的位置信息的方式,本技术实施例均可以采用。第一目标车和第二目标车的速度信息可以通过自车上的测速雷达或者传感器测得。第一目标车和第二目标车的速度信息例如可以包括第一目标车和第二目标车的实时速度和加速度等信息。
106.在一个可能的实施例中,自车可以是在识别到其处于预设场景时,再建立动态博弈模型。其中,在该预设场景下,自车与自车附近的目标车存在碰撞风险,并且自车能够通过加速抢行或减速让行来消除与该目标车的碰撞风险。示例性地,该预设场景包括但不限于无左转保护路口驾驶场景、出入口匝道驾驶场景、车道合并驾驶场景。该预设场景也可以是其他的满足前述条件的场景,本实施例并不对该预设场景做具体限定。
107.为便于描述,以下将以预设场景为无左转保护路口驾驶场景为例,对本技术实施例进行描述。
108.502、至少根据第一信息和第二信息,建立动态博弈模型,第一信息用于确定动态博弈模型中的冲突损失,第二信息用于确定动态博弈模型中的安全距离损失。
109.在获取到第一目标车的第一信息和第二目标车的第二信息之后,可以基于第一信息和第二信息建立动态博弈模型,以迭代得到自车的行驶策略。
110.由于第一目标车与自车具有直接的博弈关系,因此可以基于第一目标车的第一信息确定动态博弈模型中的冲突损失,以表示在自车选择加速抢行且第一目标车也选择加速抢行时,自车的损失。其中,自车的损失是指在博弈过程中,由于自车的博弈策略的选择所导致的自车的道路通过性或者安全性中的一种或两种所可能发生的变化的度量。
111.在一种可能的实施方式中,冲突损失可以根据自车对应的距轨迹冲突点的时间(time to conflict,ttc)和第一目标车对应的ttc来确定。
112.示例性地,在获取到自车的规划轨迹和第一目标车的预测轨迹之后,可以基于自车的规划轨迹和第一目标车的预测轨迹确定轨迹冲突点,即规划轨迹和预测轨迹相交的点。对于自车来说,根据自车当前所处的位置以及轨迹冲突点的位置可以确定自车对应的距轨迹冲突点的距离(distance to conflict,dtc)。在确定自车对应的dtc之后,根据自车当前的速度和加速度,可以确定自车对应的ttc。
113.具体地,自车对应的dtc可以根据公式(1)来确定,公式(1)如下所示:
[0114][0115]
其中,xi和yi分别表示轨迹的第i个点的横坐标和纵坐标;x
i+1
和y
i+1
分别表示轨迹的第i+1个点的横坐标和纵坐标;idxc表示轨迹交叉点在轨迹中的序号。
[0116]
自车对应的ttc可以基于公式(2)来确定,公式(2)如下所示:
[0117][0118]
其中,a表示加速度,v表示速度。
[0119]
类似地,第一目标车的dtc和ttc也可以根据上述的公式(1)和公式(2)求得。
[0120]
在获取到自车对应的ttc和第一目标车的ttc之后,可以确定两个ttc之间的差值,并且根据该差值确定动态博弈模型中的冲突损失。
[0121]
示例性地,自车对应的ttc和第一目标车对应的ttc之间的差值可以基于公式(3)来确定,公式(3)如下所示:
[0122]
δt=|ttc
e-ttco|
ꢀꢀ
公式(3)
[0123]
其中,δt表示自车对应的ttc和第一目标车对应的ttc之间的差值,ttce表示自车对应的ttc,ttco表示第一目标车对应的ttc。
[0124]
在获取到差值δt之后,可以基于预先设定的函数和差值δt来求取冲突损失ce(δt)。该预先设定的函数可以为线性函数、指数函数或者对数函数,本技术实施例并不对差值δt与冲突损失ce(δt)之间的函数关系做具体限定。例如该预先设定的函数可以为反比例函数,即ce(δt)=1/δt。一般来说,差值δt越大,冲突损失则越小,差值δt越小,冲突损失则越大。
[0125]
基于自车的行驶信息和第二目标车的第二信息可以确定动态博弈模型中的安全距离损失,该安全距离损失用于表示自车执行加速抢行的策略或减速让行的策略,而导致自车与前方或后方的第二目标车之间的空间距离发生变化时,自车的损失。
[0126]
示例性地,在实际行驶过程中,可以根据第二目标车与自车的相对位置来确定第二目标车对应的第一安全距离损失或第二安全距离损失。
[0127]
该第一安全距离损失表示在自车执行加速抢行策略,自动驾驶车辆与其前方的第二目标车之间的前方安全距离减小,而导致自车与前方的第二目标车发送碰撞的概率增大时,自车的损失。该第二安全距离损失表示在自车执行减速让行策略,自动驾驶车辆与其后方的第二目标车之间的后方安全距离减小,而导致自车与后方的第二目标车发送碰撞的概率增大时,自车的损失。例如,在第二目标车在自车的前方时,可以确定第二目标车对应的第一安全距离损失;在第二目标车在自车的后方时,则可以确定第二目标车对应的第二安全距离损失。
[0128]
具体地,第一安全距离损失或第二安全距离损失可以基于第二目标车与自车之间的空间距离,以及第二目标车和自车之间的相对速度来确定。例如,可以通过将第二目标车与自车之间的空间距离除以第二目标车和自车之间的相对速度,来求得第一安全距离损失或第二安全距离损失。一般来说,第二目标车与自车之间的空间距离越大,第一安全距离损失或第二安全距离损失则越大;第二目标车和自车之间的相对速度越大,第一安全距离损失或第二安全距离损失则越小。
[0129]
在一个可能的实施例中,还可以根据自车和第一目标车,确定自车是否具有路权。在确定自车具有路权的情况下,可以确定自车的路权抢行收益,该路权抢行收益可以用于建立动态博弈模型。可以理解的是,具有路权的车辆在行驶过程中能够具有通行的优先权。因此,在建立动态博弈模型的过程中,可以引入路权抢行收益,即赋予具有路权的车辆一定的收益,以使得动态博弈模型更符合实际情况,提高决策结果的可靠性。一般来说,相对于
孤立的车辆(即车辆的前后方没有其他的车辆),在车流中的车辆具有路权;相对于转弯的车辆,例如左转或右转的车辆,直行的车辆具有路权。在实际情况中,自车可以根据所处的驾驶场景以及车流情况,来确定自车是否具有路权。
[0130]
503、根据动态博弈模型确定行驶策略。
[0131]
在建立了动态博弈模型之后,可以基于该动态博弈模型确定自车的行驶策略,该行驶策略为加速抢行或减速让行。
[0132]
为便于理解,以下将介绍建立动态博弈模型以及根据动态博弈模型确定行驶策略的过程。
[0133]
一、确定博弈体系的多个要素:博弈主体、博弈主体策略集和收益损失变量。
[0134]
其中,博弈主体为自车和第一目标车;博弈主体策略集b包括加速抢行或减速让行;博弈主体博弈过程中的收益损失变量包括收益变量和损失变量。具体地,收益变量包括自车的基础损失ge和路权抢行收益re;损失变量包括避让损失fe、冲突损失ce(δt)、互让损失me以及第一安全距离损失sf和第二安全距离损失sa。
[0135]
收益和损失的定义如下:
[0136]
基础收益ge:常量,是博弈关系中的基础收益。
[0137]
路权抢行收益re:常量,当有路权的一方具有抢行意图时的收益,体现了路权对通行优先权的影响。
[0138]
避让损失fe:常量,当自车选择减速让行,第一目标车选择加速抢行时,自车的损失。
[0139]
冲突损失ce(δt):函数,当自车选择加速抢行,第一目标车选择加速抢行时,自车的损失;此δt即为公式(4)中的δt。
[0140]
互让损失me:常量,当自车选择减速让行,第一目标车也选择减速让行时,自车的损失。
[0141]
第一安全距离损失sf(df,δvf,be):函数,当自车选择加速抢行时,在前方因自车与第二目标车的空间距离发生变化的安全距离损失。示例性地,第一安全距离损失sf的一种可能的形式如公式(4)所示:
[0142][0143]
其中,v
egos
为自车的纵向速度;v
fronts
为自车前方的第二目标车的纵向速度;δvf为自车与该第二目标车的速度差;ttr(time to risk)表示碰撞风险时间,指自车前方的第二目标车以a(a为正数)的减速度刹车,而自车匀速时,自车与自车前方的第二目标车的碰撞时间。df为自车与自车前方的第二目标车的纵向相对距离。sf为第一安全距离损失,k1、k2和
k3分别为调节函数陡峭程度的参数。kb为抢让系数,offset的取值范围为(0,1),gw(grabway)表示抢行系数,yd(yield)表示让行系数。例如,在offset的取值为0.2时,当自车策略be为gw时,kb为1.2;当自车策略be为td时,kb为0.8。
[0144]
可以理解的是,在确定自车前方具有多个第二目标车的情况下,可以分别确定多个第二目标车所对应的第一安全距离损失。在建立动态博弈模型的过程中,则在多个第二目标车所对应的第一安全距离损失中选择损失值最大的一个第一安全距离损失来建立动态博弈模型中的收益方程。
[0145]
第二安全距离损失sa(da,δva,be):函数,当自车选择减速让行时,在后方因自车与第二目标车的空间距离发生变化的安全距离损失。示例性地,第二安全距离损失sa的一种可能的形式如公式(5)所示:
[0146][0147]
其中,v
egos
为自车的纵向速度;v
afters
为自车后方的第二目标车的纵向速度;δvf为自车与该第二目标车的速度差。ttr表示碰撞风险时间,指自车后方的第二目标车以a(a为正数)的加速度加速行驶,而自车匀速时,自车与该第二目标车的碰撞时间;da为自车与自车后方的第二目标车的纵向相对距离。sa为第二安全距离损失,k1、k2和k3分别为调节函数陡峭程度的参数。kb为抢让系数,offset的取值范围为(0,1),gw表示抢行系数,yd表示让行系数。
[0148]
类似地,在确定自车后方具有多个第二目标车的情况下,可以分别确定多个第二目标车所对应的第二安全距离损失。在建立动态博弈模型的过程中,则在多个第二目标车所对应的第二安全距离损失中选择损失值最大的一个第二安全距离损失,来建立动态博弈模型中的收益方程。
[0149]
二、确定了博弈体系的多个要素之后,建立收益方程。
[0150]
假设自车加速抢行的概率为x,减速让行的概率为(1-x);第一目标车加速抢行的概率为y,减速让行的概率为(1-y)。根据前述所定义的收益和损失,自车选择加速抢行的纯策略期望收益e
e1
和选择减速让行的纯策略期望收益e
e2
分别如公式(6)和公式(7)所示:
[0151]ee1
=g
e-cey+r
e-sf+saꢀꢀ
公式(6)
[0152]ee2
=g
e-me+(m
e-fe)y+s
f-saꢀꢀ
公式(7)
[0153]
因此,根据公式(6)和公式(7),可以推导得到自车以x的概率加速抢行,以(1-x)的概率减速让行时的混合策略期望收益该混合策略期望收益可以如公式(8)所示:
[0154]
[0155]
三、在建立了收益方程之后,建立动态复制方程。
[0156]
动态复制方程是每一帧数据的迭代方程,是根据当前帧数据的博弈对象抢让概率、自车抢让概率和收益方程所建立的自车抢让概率的微分δx,也就是x的变化量,即具体地,根据公式(6)和(8),可以推导得到自车迭代概率的动态复制方程,该动态复制方程具体可以如公式(9)所示:
[0157][0158]
在得到动态复制方程之后,可以根据动态复制方程,以当前帧预测得到的第一目标车的加速抢行的概率y来迭代自车加速抢行的概率x,最后通过设置的概率阈值x
threshold
,以及概率微分阈值δx
threshold
来确定行驶策略。
[0159]
示例性地,可以设置加速抢行决策的概率阈值为x
grabway1
和x
grabway2
,减速让行决策的概率阈值为x
yield1
和x
yield2
,概率微分阈值为δx
threshold
,其中x
yield2
《x
yield1
《x
grabway1
《x
grabway2
。当自车加速抢行的概率x在(x
yield1
,x
grabway1
)之间时,继续使用动态复制方程来进行x的迭代;当自车加速抢行的概率x在(x
yield2
,x
yield1
)和(x
grabway1
,x
grabway2
)之间时,则判断动态复制方程是否小于概率微分阈值δx
threshold
。如果动态复制方程小于概率微分阈值δx
threshold
,则可以认为已收敛,可以做出决策,即在x位于(x
yield2
,x
yield1
)时确定行驶策略为减速让行,在x位于(x
grabway1
,x
grabway2
)时确定行驶策略为加速抢行;如果动态复制方程不小于概率微分阈值δx
threshold
,则继续使用动态复制方程来进行x的迭代。当x《x
yield2
或x》x
grabway2
时,同样可以认为已收敛,从而做出决策,即在x《x
yield2
时确定行驶策略为减速让行,在x》x
grabway2
时确定行驶策略为加速抢行。
[0160]
504、根据行驶策略控制自车行驶。
[0161]
可以理解的是,在确定了行驶策略之后,可以根据行驶策略控制自车的行驶。例如,在行驶策略为加速抢行时,则提高自车的速度,以便于控制自车在第一目标车到达轨迹冲突点之前通过轨迹冲突点。在行驶策略为减速让行时,则降低自车的速度,控制自车减速让行,以便于控制自车在第一目标车点通过轨迹冲突点之后再到达轨迹冲突点。
[0162]
本实施例中,通过获取与自车具有博弈关系的博弈目标车的信息以及对自车的决策产生影响的风险目标车的信息,来建立引入冲突损失和安全距离损失的动态博弈模型。由于将驾驶环境对博弈过程的风险影响添加进了动态博弈模型,可以将风险决策和博弈决策结合起来,有效地降低了博弈过程的风险性,提高自动驾驶的安全性。
[0163]
以上描述了建立动态博弈模型以及基于动态博弈模型确定行驶策略的过程,以下将详细描述自车识别第一目标车和第二目标车的过程。
[0164]
可以参阅图6,图6为本技术实施例提供的一种目标车识别的方法的流程示意图。可以参阅图6,自车识别第一目标车和第二目标车的的过程,可以包括以下步骤:
[0165]
601、根据自车的位置确定第一目标车集合,第一目标车集合包括多个与自车的距离小于预设阈值的目标车。
[0166]
在获取第一目标车的第一信息和第二目标车的第二信息之前,可以根据自车的位
置和规划轨迹识别自车对应的关键障碍物,然后在自车对应的关键障碍物中确定第一目标车和第二目标车。通过关键障碍物识别,可以滤掉大量的无关目标。其中,关键障碍物指的是与自车相关性较高,对自车的驾驶行为有可能产生影响的车辆、行人、骑行车等可移动目标。为便于描述,以下将以关键障碍物是车辆为例来进行说明。
[0167]
本实施例中,根据自车的位置确定第一目标车集合的方式可以有多种。
[0168]
在一种可能的实施方式中,可以通过自车与其他车辆之间的欧式距离来确定第一目标车集合。示例性地,可以根据自车的位置和自车周边环境中的车辆的位置,来确定自车和周边环境中的车辆之间的欧式距离。在自车和某一车辆的欧式距离小于预先设置的欧式距离阈值时,则可以确定该车辆为第一目标车集合中的车辆。具体地,可以通过公式(10)来确定自车和某一车辆的欧式距离是否小于预先设置的欧式距离阈值。
[0169][0170]
其中,xe表示自车的横坐标,ye表示自车的纵坐标,xo表示目标车辆的横坐标,yo表示目标车辆的纵坐标,d
threshold
为欧氏距离阈值。
[0171]
在一种可能的实施方式中,可以是以自车的规划轨迹为中轴线,在自车的周边做一个范围框,例如一个可弯曲的矩形框,并且通过射线法来确定目标车辆是否在该范围框内,从而确定第一目标车集合。具体地,通过射线法确定目标车辆是否在范围框内的方式可以如公式(11)所示。
[0172][0173]
其中,yc表示以目标车辆为起始点,垂直向上作射线与范围框的交点的纵坐标;x
(p,i)
表示范围框的第i个点的横坐标值;x
(p,i+1)
表示范围框的第i+1个点的横坐标值;y
(p,i)
表示范围框的第i个点的纵坐标值;y
(p,i+1)
表示范围框的第i+1个点的纵坐标值;s
p
表示范围框中所包含点的数量;i表示用于遍历范围框的标号;count则是交点的数量。在公式(11)中,可以基于count的奇偶性来判断目标车辆是否在范围框内。如果count为奇数,则可以确定目标车辆在范围框内;如果count为偶数,则可以确定目标车辆在范围框外。
[0174]
602、根据自车的规划轨迹和第一目标车集合,确定第二目标车集合,第二目标车集合包括多个预测轨迹与自车的规划轨迹相交的目标车。
[0175]
在确定第一目标车集合之后,可以进一步确定第一目标车集合中预测轨迹与自车的规划轨迹相交的目标车,从而确定第二目标车集合。示例性地,对于第一目标车集合中的每一个目标车,都可以基于公式(12)来确定该目标车的预测轨迹是否与自车的规划轨迹相交。
[0176]
[0177]
其中,s
ep
是自车的规划轨迹所包含点的数量,s
op
是目标车的预测轨迹所包含点的数量,i和j是遍历轨迹的系数,x
(ep,i)
表示自车的第i个点的横坐标,y
(ep,i)
表示自车的第i个点的纵坐标,x
(op,i)
表示目标车的第i个点的横坐标,y
(op,i)
表示目标车的第i个点的纵坐标。r和s为两条以两点所确定的直线的交点,分别投影在两点构成线段上的系数。在0≤r≤1并且0≤s≤1时,可以确定自车的规划轨迹与目标车的预测轨迹相交。
[0178]
603、在第二目标车集合中确定第一目标车和第二目标车。
[0179]
在确定了第二目标车集合之后,可以在第二目标车集合中确定与自车具有直接的博弈关系的第一目标车,以及对自车的博弈过程产生影响的第二目标车。
[0180]
在一个可能的实现方式中,可以基于自车和目标车的ttc之间的差值以及目标车所处的车道来确定第二目标车集合中的第一目标车。
[0181]
示例性地,首先可以获取自车对应的ttc以及第三目标车对应的ttc,该第三目标车为第二目标车集合中的目标车。获取自车对应的ttc以及第三目标车对应的ttc的方式可以如上述实施例,此处不再赘述。然后,可以确定自车对应的ttc和第三目标车对应的ttc之间的差值。在自车对应的ttc和第三目标车对应的ttc之间的差值小于或等于预置阈值,且第三目标车处于博弈车道集的情况下,则可以确定第三目标车为第一目标车;其中,博弈车道集为与自车所处的车道具有博弈关系的车道集。也就是说,在自车与第三目标车到达轨迹冲突点的时间相差较小,且第三目标车位于博弈车道集时,即可确定第三目标车为第一目标车。
[0182]
为便于理解,以下将对本实施例所涉及的车道进行详细的介绍。可以参阅图7,图7为本技术实施例提供的一种车道划分方式的示意图。如图7所示,本实施例中所定义的车道具有一定的长度,且车道与车道之间具有连接关系。在图7中,a1、a2、a3、b1、b2、b3、c1、c2以及c3均为独立的车道,由多个车道组成的集合则可以称为车道集。
[0183]
在自车处于不同的场景时,自车可以根据当前所处的场景来确定对应的博弈车道集。示例性地,可以参阅图8,图8为本技术实施例提供的一种博弈车道划分方式的示意图。如图8所示,在自车处于无左转保护路口驾驶场景时,自车可以确定与自车所在车道构成博弈关系的车道为博弈车道。在图8中,车道f1和车道f3均为博弈车道,即自车可以确定博弈车道集包括车道f1和车道f3。
[0184]
可以参阅图9,图9为本技术实施例提供的另一种博弈车道划分方式的示意图。如图9所示,在自车处于出入口匝道驾驶场景时,自车同样可以确定与自车所在车道构成博弈关系的车道为博弈车道。在图9中,博弈车道集包括车道h1。
[0185]
在一个可能的实现方式中,可以基于目标车所处的车道来确定第二目标车集合中的第二目标车。
[0186]
示例性地,若第三目标车处于风险车道集,且该第三目标车的轨迹车道集与自车车道集中存在相同的车道,则确定第三目标车为第二目标车。其中,第三目标车为第二目标车集合中的目标车。自车车道集可以是指自车所在车道的一定纵向范围内的车道集,自车车道集例如可以包括自车道、自车道的前方车道和自车道的后方车道,该自车道即为自车所处的车道。风险车道集可以是指在自车博弈过程,会对自车产生影响的车辆所在的车道。风险车道集例如可以包括自车车道集以及自车车道集的左方车道集和/或自车车道集的右方车道集。
[0187]
示例性地,如图8所示,在无左转保护路口驾驶场景中,自车车道集包括车道d1、车道d2和车道d3,风险车道集包括车道d1、车道d2、车道d3、车道e1、车道e2和车道e3,轨迹车道集包括车道f3和车道f4。
[0188]
如图9所示,在出入口匝道驾驶场景中,自车车道集包括车道g1和车道g2,风险车道集包括车道g1、车道g2、车道i1和车道i2,轨迹车道集包括车道h1和车道g2。
[0189]
在一个可能的实施例中,在识别到第一目标车和第二目标车之后,如果第一目标车或第二目标车与自车之间存在空间间隔,则可以认为所识别到的第一目标车与第二目标车实际上并没有博弈相关关系。因此,可以滤除这部分识别到的目标车。
[0190]
示例性地,对于识别到的第一目标车,可以将第一目标车的预测轨迹拓宽为可弯的矩形框;对于第二目标车,可以对第二目标车与自车的连线进行拓宽,得到可弯的矩形框。在得到可弯的矩形框之后,可以通过判断是否有目标车被可弯的矩形框覆盖来确定第一目标车或第二目标车是否被其他的目标车所间隔。具体地,可以通过公式(9)来遍历其他的目标车是否在可弯矩形框的范围内来确定第一目标车或第二目标车是否被其他的目标车所间隔。
[0191]
可以参阅图10,图10为本技术实施例提供的一种滤除第一目标车和第二目标车的示意图。在图10中,目标车1和目标车2可以被识别为第一目标车,目标车3和目标车4可以被识别为第二目标车。通过将目标车2的预测轨迹进行拓宽并得到矩形框之后,可以确定目标车1被该矩形框所覆盖。因此,可以确定目标车2被目标车1所间隔,从而可以滤除目标车2。此外,通过对自车与目标车4之间的连线进行拓宽并得到矩形框之后,可以确定目标车3被该矩形框所覆盖。因此,可以确定目标车4被目标车3所间隔,从而可以滤除目标车4。
[0192]
在图5至图10所对应的实施例的基础上,为了更好的实施本技术实施例的上述方案,下面还提供用于实施上述方案的相关设备。具体参阅图11,图11为本技术实施例提供的自动驾驶装置1100的一种结构示意图。该自动驾驶装置1100包括可以包括获取单元1101,处理单元1102以及控制单元1103,该自动驾驶装置1100还可以包括识别单元1104。
[0193]
在一个可能的实施方式中,可以包括:获取单元1101,用于获取第一目标车的第一信息和第二目标车的第二信息,其中,自车与第一目标车和第二目标车具有碰撞风险,第一信息包括第一目标车的位置信息和速度信息,第二信息包括第二目标车的位置信息和速度信息;
[0194]
处理单元1102,用于至少根据第一信息和第二信息,建立动态博弈模型,第一信息用于确定动态博弈模型中的冲突损失,第二信息用于确定动态博弈模型中的安全距离损失;
[0195]
处理单元1102,还用于根据动态博弈模型确定行驶策略;
[0196]
控制单元1103,用于根据行驶策略控制自车行驶。
[0197]
在一个可能的实施方式中,装置还包括:识别单元1104,用于识别到自车处于预设场景,预设场景包括无左转保护路口驾驶场景、出入口匝道驾驶场景或车道合并驾驶场景中的一个。
[0198]
在一个可能的实施方式中,处理单元1102具体用于:获取自车对应的距轨迹冲突点的时间ttc;根据第一信息确定第一目标车对应的ttc;根据自车对应的ttc和第一目标车对应的ttc之间的差值确定动态博弈模型中的冲突损失。
[0199]
在一个可能的实施方式中,处理单元1102具体用于:根据自车的位置和速度以及第二信息,确定动态博弈模型中的第一安全距离损失或第二安全距离损失;其中,第一安全距离损失为执行加速抢行策略时的前方安全距离损失,第二安全距离损失为执行减速让行策略时的后方安全距离损失。
[0200]
在一个可能的实施方式中,处理单元1102还用于:根据自车和第一目标车,确定自车具有路权;根据自车具有路权,确定路权抢行收益,路权抢行收益用于建立动态博弈模型。
[0201]
在一个可能的实施方式中,处理单元1102还用于:根据自车的位置确定第一目标车集合,第一目标车集合包括多个与自车的距离小于预设阈值的目标车;根据自车的规划轨迹和第一目标车集合,确定第二目标车集合,第二目标车集合包括多个预测轨迹与自车的规划轨迹相交的目标车;在第二目标车集合中确定第一目标车和第二目标车。
[0202]
在一个可能的实施方式中,获取单元1101还用于获取自车对应的ttc以及第三目标车对应的ttc,第三目标车为第二目标车集合中的目标车;处理单元1102还用于确定自车对应的ttc和第三目标车对应的ttc之间的差值;处理单元1102还用于若自车对应的ttc和第三目标车对应的ttc之间的差值小于或等于预置阈值,且第三目标车处于博弈车道集,则确定第三目标车为第一目标车;其中,博弈车道集为与自车所处的车道具有博弈关系的车道集。
[0203]
在一个可能的实施方式中,处理单元1102具体用于:若第三目标车处于风险车道集,且第三目标车的轨迹车道集与自车车道集中存在相同的车道,则确定第三目标车为第二目标车;其中,第三目标车为第二目标车集合中的目标车,自车车道集包括自车道、自车道的前方车道和自车道的后方车道,自车道为自车所处的车道,风险车道集包括自车车道集以及自车车道集的左方车道集和/或自车车道集的右方车道集。
[0204]
需要说明的是,自动驾驶装置1100中各单元之间的信息交互、执行过程等内容,与本技术中图5至图10对应的各个方法实施例基于同一构思,具体内容可参见本技术前述所示的方法实施例中的叙述,此处不再赘述。
[0205]
本技术实施例还提供了一种自动驾驶车辆,结合上述对图1的描述,请参阅图12,图12为本技术实施例提供的自动驾驶车辆的一种结构示意图,其中,自动驾驶车辆100上可以部署有图10对应实施例中所描述的自动驾驶装置,用于实现图5至图10对应实施例中自动驾驶车辆的功能。由于在部分实施例中,自动驾驶车辆100还可以包括通信功能,则自动驾驶车辆100除了包括图1中所示的组件,还可以包括:接收器1201和发射器1202,其中,处理器113可以包括应用处理器1131和通信处理器1132。在本技术的一些实施例中,接收器1201、发射器1202、处理器113和存储器114可通过总线或其它方式连接。
[0206]
处理器113控制自动驾驶车辆的操作。具体的应用中,自动驾驶车辆100的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
[0207]
接收器1201可用于接收输入的数字或字符信息,以及产生与自动驾驶车辆的相关设置以及功能控制有关的信号输入。发射器1202可用于通过第一接口输出数字或字符信息;发射器1202还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器1202还可以包括显示屏等显示设备。
[0208]
本技术实施例中,应用处理器1131,用于执行图5对应实施例中的自动驾驶车辆执行的自动驾驶方法。具体的,应用处理器1131用于执行如下步骤:
[0209]
获取第一目标车的第一信息和第二目标车的第二信息,其中,自车与第一目标车和第二目标车具有碰撞风险,第一信息包括第一目标车的位置信息和速度信息,第二信息包括第二目标车的位置信息和速度信息;至少根据第一信息和第二信息,建立动态博弈模型,第一信息用于确定动态博弈模型中的冲突损失,第二信息用于确定动态博弈模型中的安全距离损失;根据动态博弈模型确定行驶策略;根据行驶策略控制自车行驶。
[0210]
在一个可能的实施方式中,识别到自车处于预设场景,预设场景包括无左转保护路口驾驶场景、出入口匝道驾驶场景或车道合并驾驶场景中的一个。
[0211]
在一个可能的实施方式中,获取自车对应的距轨迹冲突点的时间ttc;根据第一信息确定第一目标车对应的ttc;根据自车对应的ttc和第一目标车对应的ttc之间的差值确定动态博弈模型中的冲突损失。
[0212]
在一个可能的实施方式中,根据自车的位置和速度以及第二信息,确定动态博弈模型中的第一安全距离损失或第二安全距离损失;其中,第一安全距离损失为执行加速抢行策略时的前方安全距离损失,第二安全距离损失为执行减速让行策略时的后方安全距离损失。
[0213]
在一个可能的实施方式中,根据自车和第一目标车,确定自车具有路权;根据自车具有路权,确定路权抢行收益,路权抢行收益用于建立动态博弈模型。
[0214]
在一个可能的实施方式中,根据自车的位置确定第一目标车集合,第一目标车集合包括多个与自车的距离小于预设阈值的目标车;根据自车的规划轨迹和第一目标车集合,确定第二目标车集合,第二目标车集合包括多个预测轨迹与自车的规划轨迹相交的目标车;在第二目标车集合中确定第一目标车和第二目标车。
[0215]
在一个可能的实施方式中,获取自车对应的ttc以及第三目标车对应的ttc,第三目标车为第二目标车集合中的目标车;确定自车对应的ttc和第三目标车对应的ttc之间的差值;若自车对应的ttc和第三目标车对应的ttc之间的差值小于或等于预置阈值,且第三目标车处于博弈车道集,则确定第三目标车为第一目标车;其中,博弈车道集为与自车所处的车道具有博弈关系的车道集。
[0216]
在一个可能的实施方式中,若第三目标车处于风险车道集,且第三目标车的轨迹车道集与自车车道集中存在相同的车道,则确定第三目标车为第二目标车;其中,第三目标车为第二目标车集合中的目标车,自车车道集包括自车道、自车道的前方车道和自车道的后方车道,自车道为自车所处的车道,风险车道集包括自车车道集以及自车车道集的左方车道集和/或自车车道集的右方车道集。
[0217]
需要说明的是,对于应用处理器1131执行自动驾驶方法的具体实现方式以及带来的有益效果,均可以参考图5至图10对应的各个方法实施例中的叙述,此处不再一一赘述。
[0218]
本技术实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于执行自动驾驶的程序,当其在计算机上执行时,使得计算机执行如前述图5至图10所示实施例描述的方法中自动驾驶车辆(或者自动驾驶装置)所执行的步骤。
[0219]
本技术实施例中还提供一种包括计算机程序产品,当其在计算机上执行时,使得计算机执行如前述图5至图10所示实施例描述的方法中自动驾驶车辆所执行的步骤。
[0220]
本技术实施例中还提供一种电路系统,电路系统包括处理电路,处理电路配置为执行如前述图5至图10所示实施例描述的方法中自动驾驶车辆所执行的步骤。
[0221]
本技术实施例提供的自动驾驶装置或自动驾驶车辆具体可以为芯片,芯片包括:处理单元和通信单元,处理单元例如可以是处理器,通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使服务器内的芯片执行上述图5至图10所示实施例描述的自动驾驶方法。可选地,存储单元为芯片内的存储单元,如寄存器、缓存等,存储单元还可以是无线接入设备端内的位于芯片外部的存储单元,如只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)等。
[0222]
具体的,请参阅图13,图13为本技术实施例提供的芯片的一种结构示意图,芯片可以表现为神经网络处理器npu 130,npu 130作为协处理器挂载到主cpu(host cpu)上,由host cpu分配任务。npu的核心部分为运算电路1303,通过控制器1304控制运算电路1303提取存储器中的矩阵数据并进行乘法运算。
[0223]
在一些实现中,运算电路1303内部包括多个处理单元(process engine,pe)。在一些实现中,运算电路1303是二维脉动阵列。运算电路1303还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1303是通用的矩阵处理器。
[0224]
举例来说,假设有输入矩阵a,权重矩阵b,输出矩阵c。运算电路从权重存储器1302中取矩阵b相应的数据,并缓存在运算电路中每一个pe上。运算电路从输入存储器1301中取矩阵a数据与矩阵b进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1308中。
[0225]
统一存储器1306用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(direct memory access controller,dmac)1305,dmac被搬运到权重存储器1302中。输入数据也通过dmac被搬运到统一存储器1306中。
[0226]
总线接口单元(bus interface unit,biu)1310,用于axi总线与dmac和取指存储器(instruction fetch buffer,ifb)1309的交互。
[0227]
biu1310,用于取指存储器1309从外部存储器获取指令,还用于存储单元访问控制器1305从外部存储器获取输入矩阵a或者权重矩阵b的原数据。
[0228]
dmac主要用于将外部存储器ddr中的输入数据搬运到统一存储器1306或将权重数据搬运到权重存储器1302中或将输入数据数据搬运到输入存储器1301中。
[0229]
向量计算单元1307包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如批归一化(batch normalization),像素级求和,对特征平面进行上采样等。
[0230]
在一些实现中,向量计算单元1307能将经处理的输出的向量存储到统一存储器1306。例如,向量计算单元1307可以将线性函数和/或非线性函数应用到运算电路1303的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1307生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1303的激活输入,例如用于在神经网络
中的后续层中的使用。
[0231]
控制器1304连接的取指存储器(instruction fetch buffer)1309,用于存储控制器1304使用的指令。
[0232]
统一存储器1306,输入存储器1301,权重存储器1302以及取指存储器1309均为on-chip存储器。外部存储器私有于该npu硬件架构。
[0233]
其中,循环神经网络中各层的运算可以由运算电路1303或向量计算单元1307执行。
[0234]
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,asic,或一个或多个用于控制上述第一方面方法的程序执行的集成电路。
[0235]
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本技术提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
[0236]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用clu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本技术而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、rom、ram、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例的方法。
[0237]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0238]
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1