基于局部地图的车辆控制方法、装置及自动驾驶车辆与流程

文档序号:32602087发布日期:2022-12-17 16:43阅读:41来源:国知局
基于局部地图的车辆控制方法、装置及自动驾驶车辆与流程

1.本公开涉及人工智能技术领域,具体涉及车辆定位和外界信息感知、地图构建、自动驾驶、数据缓存、车辆安全控制决策等技术领域,可应用于自动驾驶、辅助驾驶、车辆安全控制等场景下,尤其涉及一种基于局部地图的车辆控制方法、装置及自动驾驶车辆。


背景技术:

2.高精地图相对于普通地图而言,可以提供更高精度、内容更为丰富的地图信息。在自动驾驶场景中,车辆可以依赖高精地图提供的先验知识进行控制决策。
3.但是,高精度地图的生产标注到发布的流程的链路较为复杂,高精度地图的更新难以跟上实际道路中的现实变更速度,或者说,实际道路的变更频率是远远高于高精度地图的更新速度的。自动驾驶的车辆在道路上行驶时,可能会碰到由于实际道路现实变更导致车辆所获取的高精度地图的数据与实际道路情况不一致、或者部分行驶区域没有高精度地图的数据等场景。针对此类场景,往往需要人工来接管自动驾驶的车辆,自动驾驶体验较差。


技术实现要素:

4.本公开提供了一种基于局部地图的车辆控制方法、装置及自动驾驶车辆,能够针对车辆的任意行驶环境,保证车辆控制决策的地图数据需求,提高车辆在不同行驶环境下的自动驾驶灵活性。
5.根据本公开的第一方面,提供了一种基于局部地图的车辆控制方法,所述方法包括:
6.在车辆行驶过程中,采集车辆的定位信息和感知信息;感知信息包括车辆当前行驶区域的车道线信息和道路边界信息;根据定位信息和感知信息,生成当前行驶区域的局部地图数据;根据局部地图数据,控制车辆。
7.根据本公开的第二方面,提供了一种基于局部地图的车辆控制装置,所述装置包括:
8.定位和感知单元,用于在车辆行驶过程中,采集车辆的定位信息和感知信息;感知信息包括车辆当前行驶区域的车道线信息和道路边界信息;局部建图单元,用于根据定位信息和感知信息,生成当前行驶区域的局部地图数据;车辆控制单元,用于根据局部地图数据,控制车辆。
9.根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的方法。
10.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行根据第一方面所述的方法。
11.根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据第一方面所述的方法。
12.根据本公开的第六方面,提供了一种自动驾驶系统或自动驾驶车辆,所述自动驾驶系统或所述自动驾驶车辆,包括如第三方面所述的电子设备,用于实现根据第一方面所述的方法。
13.本公开通过通过在车辆行驶过程中,采集车辆的定位信息和感知信息,感知信息包括车辆当前行驶区域的车道线信息和道路边界信息;根据定位信息和感知信息,生成当前行驶区域的局部地图数据;并根据局部地图数据,控制车辆,可以实现对车辆的任意行驶环境,保证车辆控制决策的地图数据需求,提高了车辆在不同行驶环境下的自动驾驶灵活性,还可以明显降低自动驾驶的地图构建成本。
14.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
15.附图用于更好地理解本方案,不构成对本公开的限定。其中:
16.图1为本公开实施例提供的基于局部地图的车辆控制方法的流程示意图;
17.图2为本公开实施例提供的基于局部地图的车辆控制方法的另一流程示意图;
18.图3为本公开实施例提供的车辆控制系统的组成示意图;
19.图4为本公开实施例提供的客户端进程的缓存的组成示意图;
20.图5为本公开实施例提供的基于局部地图的车辆控制装置的组成示意图;
21.图6为本公开实施例提供的基于局部地图的车辆控制装置的另一组成示意;
22.图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。
具体实施方式
23.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
24.应当理解,在本公开各实施例中,字符“/”一般表示前后关联对象是一种“或”的关系。术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
25.高精地图相对于普通地图而言,可以提供更高精度、内容更为丰富的地图信息。在自动驾驶场景中,车辆可以依赖高精地图提供的先验知识进行控制决策。
26.但是,高精度地图的生产标注到发布的流程的链路较为复杂,高精度地图的更新难以跟上实际道路中的现实变更速度,或者说,实际道路的变更频率是远远高于高精度地图的更新速度的。自动驾驶的车辆在道路上行驶时,可能会碰到由于实际道路现实变更导致车辆所获取的高精度地图的数据与实际道路情况不一致、或者部分行驶区域没有高精度地图的数据等场景。针对此类场景,往往需要人工来接管自动驾驶的车辆,自动驾驶体验较差。
27.在此背景技术下,本公开提供了一种基于局部地图的车辆控制方法,能够针对车辆的任意行驶环境,保证车辆控制决策的地图数据需求,提高车辆在不同行驶环境下的自动驾驶灵活性。
28.示例性地,该方法的执行主体可以是车辆控制系统。车辆控制系统可以车辆本地实现,也可以在与车辆连接的远端(如服务器)实现。例如,车辆控制系统可以在车辆本地的车载芯片、中控设备等中实现。又例如,远端可以是与车辆连接的计算机或服务器,或者还可以是其他具有数据处理能力的设备。在此对车辆控制系统的实现不作限制。应当理解,车辆控制系统可以包括下述方法实施例中所提及的各模块,如:地图引擎、控制决策模块等。
29.一些实施例中,上述车辆控制系统可以是自动驾驶中的机器人操作系统(robot operating system,ros)。例如,ros可以是apollo的cybertron系统。
30.一些实施例中,上述服务器可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本公开对服务器的具体实现方式也不作限制。
31.下面对该基于局部地图的车辆控制方法进行示例性说明。
32.图1为本公开实施例提供的基于局部地图的车辆控制方法的流程示意图。如图1所示,该方法可以包括:
33.s101、在车辆行驶过程中,采集车辆的定位信息和感知信息;感知信息包括车辆当前行驶区域的车道线信息和道路边界信息。
34.示例性地,车辆可以包括定位设备和感知设备。其中,定位设备可以包括全球定位系统(global positioning system,gps)定位器、北斗定位器等,可以用于获取车辆的定位信息。定位信息可以是经纬度坐标、或其他地理坐标,在此不作限制。
35.感知设备可以包括:距离传感器、光线传感器、激光雷达、摄像头等各类能够采集车辆当前行驶区域中周围环境信息的设备。感知信息可以是前述感知设备采集到的信息,如:摄像头采集到的图像、距离传感器采集到的车辆周围障碍物的距离等。感知信息中可以包括车辆当前行驶区域的车道线信息和道路边界信息。例如,摄像头采集到的图像中可以包含车道线和道路边界线。
36.s101中,可以在车辆行驶过程中,采集上述定位信息和感知信息。例如,车辆控制系统中可以包括一个定位和感知模块,定位和感知模块可以和车辆的定位设备和感知设备连接,以获取上述定位信息和感知信息。
37.示例性地,定位和感知模块可以是一个软件模块,或者也可以是一个硬件模块,在此不作限制。
38.s102、根据定位信息和感知信息,生成当前行驶区域的局部地图数据。
39.如上所述,感知信息中包括车辆当前行驶区域的车道线信息和道路边界信息。s102中,可以根据定位信息和感知信息,构建当前行驶区域的局部地图数据。
40.例如,可以根据定位信息和感知信息,可以确定出车道线和道路边界线的位置信息;根据车道线还可以确定车道中间线的位置信息。基于车道线和道路边界线的位置信息、车道中间线的位置信息、以及车辆周围障碍物的距离、图像中包含的对象等,可以构建出车辆当前行驶区域的局部地图数据。
41.可选地,s102中所构建的局部地图数据的数据格式可以符合自动驾驶中通常所使
用的高精度地图数据的数据格式。
42.相对于自动驾驶中常用的高精度地图数据而言,s102中所构建的局部地图数据是一种更为简便、但能够满足自动驾驶车辆的驾驶需求的地图数据。例如,可以执行下述s103,以使用局部地图数据来控制自动驾驶的车辆。
43.s103、根据局部地图数据,控制车辆。
44.示例性地,车辆在自动驾驶时,通常需要地图数据来做控制决策,如:根据地图数据获知行驶路线、车道划分等。在本实施例中,车辆控制系统可以根据s102中所生成的局部地图数据进行决策,来控制车辆自动驾驶。例如,可以根据局部地图数据控制车辆加速或减速、变道、调整行驶方向等。由于局部地图数据是根据车辆的定位信息和感知信息生成的,而感知信息又包括了车辆当前行驶区域的车道线信息和道路边界信息,所以车辆在行驶到任何行驶环境中时,总是有可用的地图数据来支撑车辆自动驾驶。
45.可选地,本公开实施例中,除了车道线信息和道路边界信息之外,感知信息中还可以包括更多车辆自动驾驶所需要的必要信息,在此不再一一列举。
46.本公开实施例通过在车辆行驶过程中,采集车辆的定位信息和感知信息,感知信息包括车辆当前行驶区域的车道线信息和道路边界信息;根据定位信息和感知信息,生成当前行驶区域的局部地图数据;并根据局部地图数据,控制车辆,可以实现对车辆的任意行驶环境,保证车辆控制决策的地图数据需求,提高了车辆在不同行驶环境下的自动驾驶灵活性。
47.例如,在本公开实施例中,并不需要复杂的高精度地图数据,无需考虑实际道路中的现实变更问题和部分行驶区域没有高精度地图的数据的问题。在任何行驶场景中,本公开实施例均可以实时去构建车辆当前行驶区域的局部地图数据,并根据车辆当前行驶区域的局部地图数据来控制车辆。从而,可以提高车辆在不同行驶环境下的自动驾驶灵活性。
48.另外,相对于目前基于高精度地图数据控制车辆的方案而言,本公开实施例明显降低了自动驾驶的地图构建成本。
49.一些实施例中,本公开实施例提供的基于局部地图的车辆控制方法中,还可以将高精度地图数据和上述图1所示的实施例进行结合,车辆在有高精度地图数据的行驶区域中行驶、且车辆行驶区域相对于高精度地图数据而言未发生现实变更时,可以根据高精度地图数据控制车辆。而车辆行驶区域不存在高精度地图数据,或者车辆在有高精度地图数据的行驶区域中行驶、但车辆行驶区域相对于高精度地图数据而言发生了现实变更(即检测高精度地图数据和当前行驶区域的现实场景不一致)时,可以按照图1所示的实施例,根据局部地图数据控制车辆。
50.例如,在图1所示的实施例的基础上,该方法还可以包括:获取预置的当前行驶区域的高精度地图数据;根据定位信息和感知信息,检测高精度地图数据和当前行驶区域的现实场景是否一致;当高精度地图数据和当前行驶区域的现实场景一致时,根据高精度地图数据,控制车辆。上述s103中根据局部地图数据,控制车辆的步骤,可以包括:当高精度地图数据和当前行驶区域的现实场景不一致、或者高精度地图数据不存在时,根据局部地图数据,控制车辆。
51.其中,现实变更是指:道路情况发生了变化。例如,道路的车道线规划发生了变化、道路上新增或减少了障碍物等,在此对现实变更的情况不作限制。当发生现实变更后,高精
度地图数据和当前行驶区域的现实场景会出现不一致的情况。
52.下面以图2为例,对本实施例进行示例性说明。
53.示例性地,图2为本公开实施例提供的基于局部地图的车辆控制方法的另一流程示意图。如图2所示,该方法可以包括:
54.s201、在车辆行驶过程中,采集车辆的定位信息和感知信息;感知信息包括车辆当前行驶区域的车道线信息和道路边界信息。
55.s201可以参考上述s101,不再赘述。
56.s202、根据定位信息和感知信息,生成当前行驶区域的局部地图数据。
57.s202可以参考上述s102,也不再赘述。
58.s203、判断当前行驶区域是否存在预置的高精度地图数据。
59.若是,则依次执行s204和s205;若否,则执行s207。
60.例如,高精度地图数据可以预置在车辆中、或与车辆连接的云端中。s203中,可以查询当前行驶区域是否存在预置的高精度地图数据。如:可以根据定位信息查询当前行驶区域是否存在预置的高精度地图数据。
61.s204、获取预置的当前行驶区域的高精度地图数据。
62.示例性地,当s203中查询得到当前行驶区域存在预置的高精度地图数据时,可以获取预置的当前行驶区域的高精度地图数据,并执行s205。
63.s205、根据定位信息和感知信息,检测高精度地图数据和当前行驶区域的现实场景是否一致。
64.若是,则执行s206;若否,则执行s207。
65.示例性地,可以根据定位信息和感知信息,比较当前行驶区域的现实场景相对于当前行驶区域的高精度地图数据而言,是否发生了变化(即现实变更,具体可以参加上文关于现实变更的解释)。当前行驶区域的现实场景相对于当前行驶区域的高精度地图数据而言发生了变化时,可以确定高精度地图数据和当前行驶区域的现实场景不一致。当前行驶区域的现实场景相对于当前行驶区域的高精度地图数据而言没有发生变化时,可以确定高精度地图数据和当前行驶区域的现实场景一致。
66.s206、根据高精度地图数据,控制车辆。
67.示例性地,根据高精度地图数据控制车辆的方式,可以参考目前自动驾驶中基于高精度地图数据进行车辆控制决策的方式,在此不再详述。
68.s207、根据局部地图数据,控制车辆。
69.s207可以参考上述s103,不再赘述。
70.本实施例中,车辆在有高精度地图数据的行驶区域中行驶、且车辆行驶区域相对于高精度地图数据而言未发生现实变更时,根据高精度地图数据控制车辆;车辆行驶区域不存在高精度地图数据,或者车辆在有高精度地图数据的行驶区域中行驶、但车辆行驶区域相对于高精度地图数据而言发生了现实变更时,根据局部地图数据控制车辆;不仅可以利用高精度地图数据的高精度特点来提高车辆的自动驾驶性能,还可以实现针对车辆当前行驶区域无高精度地图数据的场景和现实变更的场景,降低对高精地图数据的依赖,仍然保证车辆自动驾驶的地图数据需求,进一步提高了车辆在不同行驶环境下的自动驾驶灵活性,提升了车辆自动驾驶的性能。
71.一些实施例中,车辆(或者车辆控制系统)可以包括地图引擎和至少一个控制决策模块。其中,地图引擎包括服务进程(server)和客户端进程(client);客户端进程部署在控制决策模块中。控制决策模块可以是车辆自动驾驶的刹车控制模块、速度控制模块、方向控制模块等,在此不作限制。
72.上述根据定位信息和感知信息,生成当前行驶区域的局部地图数据的步骤,可以包括:通过服务进程,根据定位信息和感知信息,生成当前行驶区域的局部地图数据。上述根据局部地图数据,控制车辆的步骤,可以包括:通过服务进程广播局部地图数据;通过客户端进程接收局部地图数据,并将局部地图数据加载至客户端进程的缓存中,供控制决策模块根据局部地图数据控制车辆。
73.示例性地,图3为本公开实施例提供的车辆控制系统的组成示意图。如图3所示,车辆控制系统(也可以是车辆)可以包括:定位和感知模块310、地图引擎、控制决策模块330、以及现实变更检测模块340。地图引擎可以包括:服务进程321和客户端进程322。客户端进程322部署在控制决策模块330中。
74.可选地,控制决策模块330可以包括一个或多个(图3中示出了多个)。一个控制决策模块330中可以部署一个或多个客户端进程322(图3中以一个控制决策模块330中部署一个客户端进程322为例)。控制决策模块330可以是自动驾驶中各个需要地图数据的模块。
75.其中,定位和感知模块310可以在车辆行驶过程中,采集车辆的定位信息和感知信息,并向地图引擎发送定位信息和感知信息。
76.示例性地,定位和感知模块310向地图引擎发送定位信息和感知信息的方式可以包括:定位和感知模块310通过广播的方式广播定位信息和感知信息;地图引擎可以接收定位信息和感知信息。
77.地图引擎接收到定位信息和感知信息后,可以通过服务进程321根据定位信息和感知信息,生成当前行驶区域的局部地图数据。
78.服务进程321生成当前行驶区域的局部地图数据后,可以通过广播的方式广播局部地图数据。
79.另外,地图引擎还可以获取预置的当前行驶区域的高精度地图数据,并通过服务进程321广播当前行驶区域的高精度地图数据。可以理解的,当前行驶区域不存在高精度地图数据时,服务进程321仅广播当前行驶区域的局部地图数据。
80.现实变更检测模块340可以接收服务进程321广播的当前行驶区域的高精度地图数据,并实现上述s205中所述的检测高精度地图数据和当前行驶区域的现实场景是否一致的功能。现实变更检测模块340还可以通过广播的方式广播现实变更的检测结果,如检测结果包括:高精度地图数据和当前行驶区域的现实场景一致或不一致。
81.客户端进程322可以接收服务进程321广播的高精度地图数据,并将高精度地图数据加载至客户端进程322的缓存中,供控制决策模块330根据高精度地图数据控制车辆。
82.当客户端进程322接收不到服务进程321广播的高精度地图数据时,表示当前行驶区域不存在高精度地图数据,客户端进程322可以接收服务进程321广播的局部地图数据,并将局部地图数据加载至客户端进程322的缓存中,供控制决策模块330根据局部地图数据控制车辆。
83.客户端进程322还可以接收现实变更检测模块340广播的检测结果,当检测结果表
示高精度地图数据和当前行驶区域的现实场景不一致时,客户端进程322也可以接收服务进程321广播的局部地图数据,并将局部地图数据加载至客户端进程322的缓存中,供控制决策模块330根据局部地图数据控制车辆。
84.示例性地,客户端进程322可以作为一个静态库部署在控制决策模块330中。例如,控制决策模块330可以包括自动驾驶的pnc进程、感知进程等。
85.在本实施例中,客户端进程322可以认为是为控制决策模块330提供高精度地图数据或局部地图数据的开关,可以使得控制决策模块330在上述现实变更或当前行驶区域不存在高精度地图数据的场景下,使用局部地图数据控制车辆;在正常场景(当前行驶区域存在高精度地图数据、且未发生现实变更)下,使用高精度地图数据控制车辆。
86.示例性地,本公开实施例可以将使用高精度地图数据控制车辆的模式称为高精度地图模式;将使用局部地图数据控制车辆的模式称为局部地图(local mapping)模式。
87.本实施例中,地图引擎包括服务进程和客户端进程,客户端进程部署在控制决策模块中,服务进程通过广播的方式向客户端进程发送局部地图数据,供控制决策模块使用,可以降低基于局部地图数据控制车辆的实现难度,提高地图数据的传输效率。
88.另外一些实施例中,服务进程生成当前行驶区域的局部地图数据后,也可以直接广播局部地图数据。上述根据局部地图数据,控制车辆的步骤,仅包括:通过客户端进程接收局部地图数据,并将局部地图数据加载至客户端进程的缓存中,供控制决策模块根据局部地图数据控制车辆。在此不作限制。
89.一些实施例中,上述服务进程以帧为单位广播局部地图数据。上述通过客户端进程接收局部地图数据,并将局部地图数据加载至客户端进程的缓存中,包括:通过客户端进程接收局部地图数据,当接收到新的一帧局部地图数据时,将客户端进程的缓存中的上一帧局部地图数据清空,并将新的一帧局部地图数据加载至客户端进程的缓存中。
90.类似地,服务进程以帧为单位广播高精度地图数据。客户端进程接收高精度地图数据时,当接收到新的一帧高精度地图数据时,可以将客户端进程的缓存中的上一帧高精度地图数据清空,并将新的一帧高精度地图数据加载至客户端进程的缓存中。
91.可以理解的,客户端进程接收高精度地图数据或局部地图数据时,缓存的上一帧地图数据可能时高精度地图数据,也可能是局部地图数据。客户端进程在接收到新的一帧地图数据时,都可以将缓存的上一帧地图数据清空。
92.本实施例中,客户端进程在接收到新的一帧地图数据时,将缓存的上一帧地图数据清空,可以减少地图数据占用的缓存,并保证地图数据的有效性。如:可以保证控制决策模块在任何时刻都可以从客户端进程的缓存中直接获取到最新的地图数据,无需重复查找之前缓存的地图数据。
93.一些实施例中,客户端进程的缓存可以包括第一缓存和第二缓存。上述将局部地图数据加载至客户端进程的缓存中的步骤,可以包括:将局部地图数据写入第一缓存;在将局部地图数据写入第一缓存的过程中,对第一缓存上锁,并保持第二缓存的状态为可读;在将局部地图数据写入第一缓存之后,将第一缓存中的数据同步至第二缓存。
94.示例性地,图4为本公开实施例提供的客户端进程的缓存的组成示意图。如图4所示,客户端进程的缓存可以包括:buffer0和buffer1。当buffer0为第一缓存时,buffer1为第二缓存。当buffer1为第一缓存时,buffer0为第二缓存。
95.以buffer0为第一缓存,buffer1为第二缓存为例,当需要向客户端进程的缓存写入局部地图数据时,可以将局部地图数据写入buffer0。在将局部地图数据写入buffer0的过程中,对buffer0上锁,并保持buffer1的状态为可读。当buffer0上锁时,buffer0为不可读状态,控制决策模块无法从buffer0中读取地图数据。buffer1的状态为可读时,控制决策模块可以从buffer0中读取地图数据。在将局部地图数据写入buffer0之后,可以将buffer0中的数据同步至buffer1。
96.例如,假设初始状态时,buffer0和buffer1中均没有地图数据。当客户端进程接收第1帧局部地图数据后,可以先向buffer0中写入第1帧局部地图数据,在将第1帧局部地图数据写入buffer0的过程中,对buffer0上锁,并保持buffer1的状态为可读。在将第1帧局部地图数据写入buffer0之后,可以将buffer0中的数据同步至buffer1。同步后,buffer0和buffer1中均存储有第1帧局部地图数据。当客户端进程接收第2帧局部地图数据后,可以先清空buffer0中缓存的第1帧局部地图数据,并向buffer0中写入第2帧局部地图数据,在将第2帧局部地图数据写入buffer0的过程中,对buffer0上锁,并保持buffer1的状态为可读。在将第2帧局部地图数据写入buffer0之后,可以先清空buffer1中缓存的第1帧局部地图数据,并将buffer0中的数据同步至buffer1。同步后,buffer0和buffer1中均存储有第2帧局部地图数据。
97.类似地,高精度地图数据写入客户端进程的缓存的方式,可以参考上述局部地图数据写入客户端进程的缓存的方式。
98.示例性地,本公开实施例中,车辆控制系统还可以为客户端进程的缓存单独维护一个数据维护线程(或称为数据更新线程)。数据维护线程可以执行上述将地图数据写入客户端进程的缓存的策略,以保证初始状态后的任何时刻,控制决策模块都可以从客户端进程的缓存中获取到可用的地图数据。
99.本实施例中,客户端进程的缓存包括第一缓存和第二缓存,在将局部地图数据写入第一缓存的过程中,对第一缓存上锁,并保持第二缓存的状态为可读;在将局部地图数据写入第一缓存之后,将第一缓存中的数据同步至第二缓存,可以减少控制决策模块从客户端进程的缓存查询地图数据时的等待时间,提高控制决策模块查询地图数据的效率,能够满足自动驾驶车辆的高实时性能的要求。
100.可选地,本公开实施例中,上述第一缓存和第二缓存可以在客户端进程的2个缓存之间进行轮换。也即,客户端进程的2个缓存可以轮换作为写入地图数据的第一缓存。例如,在写入第n(n为大于1的整数)帧地图数据时,buffer0为第一缓存,buffer1为第二缓存。在写入第n+1帧地图数据时,buffer1为第一缓存,buffer0为第二缓存。
101.通过将客户端进程的2个缓存轮换作为写入地图数据的第一缓存,可以进一步减少控制决策模块从客户端进程的缓存查询地图数据时的等待时间,提高控制决策模块查询地图数据的效率。
102.一些实施例中,车辆(或车辆控制系统)包括安全模式。该方法还包括:在车辆行驶过程中,当检测到触发安全模式时,根据局部地图数据,控制车辆安全靠边停车。
103.区别于安全模式,上述实施例中所述的根据高精度地图数据或局部地图数据控制车辆的模式,可以称为正常驾驶模式或计算模式。当车辆出现紧急状况时,如:突然检测到前方有行人或障碍物、可能发生碰撞,或者,车辆出现其他异常时,车辆可以由正常驾驶模
式切换为安全模式。在安全模式下,可以立即根据地图数据控制车辆安全靠边停车。
104.本实施例中,针对任何行驶场景,在车辆行驶过程中,当检测到触发安全模式时,可以根据局部地图数据,控制车辆安全靠边停车。局部地图数据更见简单,可以使得安全模式下控制车辆安全靠边停车的处理速度更快,能够提升车辆的安全性能。
105.可选地,本公开实施例中所提及的自动驾驶也可以被替换为辅助驾驶,也即,本公开实施例提供的技术方案的应用场景不限于自动驾驶,h爱可以应用到辅助驾驶中,在此不作限制。
106.示例性实施例中,本公开实施例还提供一种基于局部地图的车辆控制装置,可以用于实现如前述实施例所述的基于局部地图的车辆控制方法。图5为本公开实施例提供的基于局部地图的车辆控制装置的组成示意图。如图5所示,该装置可以包括:定位和感知单元501、局部建图单元502、车辆控制单元503。
107.定位和感知单元501,用于在车辆行驶过程中,采集车辆的定位信息和感知信息;感知信息包括车辆当前行驶区域的车道线信息和道路边界信息。
108.局部建图单元502,用于根据定位信息和感知信息,生成当前行驶区域的局部地图数据。
109.车辆控制单元503,用于根据局部地图数据,控制车辆。
110.图6为本公开实施例提供的基于局部地图的车辆控制装置的另一组成示意图。可选地,如图6所示,该装置还可以包括:获取单元504、检测单元505。
111.获取单元504,用于获取预置的当前行驶区域的高精度地图数据。
112.检测单元505,用于根据定位信息和感知信息,检测高精度地图数据和当前行驶区域的现实场景是否一致。
113.车辆控制单元503,具体用于当高精度地图数据和当前行驶区域的现实场景一致时,根据高精度地图数据,控制车辆;当高精度地图数据和当前行驶区域的现实场景不一致、或者高精度地图数据不存在时,根据局部地图数据,控制车辆。
114.可选地,车辆包括地图引擎和至少一个控制决策模块;地图引擎包括服务进程和客户端进程;客户端进程部署在控制决策模块中。
115.局部建图单元502,用于通过服务进程,根据定位信息和感知信息,生成当前行驶区域的局部地图数据。
116.局部建图单元502,还用于通过服务进程广播局部地图数据。
117.车辆控制单元503,用于通过客户端进程接收局部地图数据,并将局部地图数据加载至客户端进程的缓存中,供控制决策模块根据局部地图数据控制车辆。
118.可选地,服务进程以帧为单位广播局部地图数据。车辆控制单元503,具体用于通过客户端进程接收局部地图数据,当接收到新的一帧局部地图数据时,将客户端进程的缓存中的上一帧局部地图数据清空,并将新的一帧局部地图数据加载至客户端进程的缓存中。
119.可选地,客户端进程的缓存包括第一缓存和第二缓存。车辆控制单元503,具体用于将局部地图数据写入第一缓存;在将局部地图数据写入第一缓存的过程中,对第一缓存上锁,并保持第二缓存的状态为可读;在将局部地图数据写入第一缓存之后,将第一缓存中的数据同步至第二缓存。
120.可选地,车辆包括安全模式;车辆控制单元503,还用于在车辆行驶过程中,当检测到触发安全模式时,根据局部地图数据,控制车辆安全靠边停车。
121.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
122.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品、以及一种自动驾驶系统或自动驾驶车辆。
123.示例性实施例中,电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如以上实施例所述的方法。该电子设备可以是上述计算机或服务器。又或者,该电子设备还可以是上述车辆本地的车载芯片、中控设备等。
124.示例性实施例中,可读存储介质可以是存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行根据以上实施例所述的方法。
125.示例性实施例中,计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现根据以上实施例所述的方法。
126.示例性实施例中,自动驾驶系统或自动驾驶车辆,包括如以上实施例所述的电子设备,用于实现根据以上实施例所述的方法。
127.图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
128.如图7所示,电子设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
129.电子设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许电子设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
130.计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如基于局部地图的车辆控制方法。例如,在一些实施例中,基于局部地图的车辆控制方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或
安装到电子设备700上。当计算机程序加载到ram 703并由计算单元701执行时,可以执行上文描述的基于局部地图的车辆控制方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行基于局部地图的车辆控制方法。
131.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
132.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
133.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
134.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
135.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
136.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通
过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
137.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
138.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1