US 11,926,340 B2
Distributed centralized automatic driving method
Yang Zhang, Nanjing (CN); Cheng Chen, Nanjing (CN); and Jie Liu, Nanjing (CN)
Assigned to AutoCore Technology (Nanjing) Co., Ltd., Jiangsu (CN)
Appl. No. 17/607,040
Filed by AutoCore Technology (Nanjing) Co., Ltd., Jiangsu (CN)
PCT Filed Apr. 24, 2020, PCT No. PCT/CN2020/086845
§ 371(c)(1), (2) Date Oct. 28, 2021,
PCT Pub. No. WO2020/207504, PCT Pub. Date Oct. 15, 2020.
Claims priority of application No. 201910360926.4 (CN), filed on Apr. 30, 2019.
Prior Publication US 2022/0204025 A1, Jun. 30, 2022
Int. Cl. B60W 60/00 (2020.01); B60W 50/00 (2006.01); G01C 21/16 (2006.01); G01C 21/34 (2006.01); G07C 5/00 (2006.01)
CPC B60W 60/001 (2020.02) [B60W 50/00 (2013.01); G01C 21/1652 (2020.08); G01C 21/3415 (2013.01); G07C 5/008 (2013.01); B60W 2420/52 (2013.01); B60W 2420/54 (2013.01); B60W 2520/10 (2013.01); B60W 2556/40 (2020.02); B60W 2556/50 (2020.02); B60W 2556/55 (2020.02); B60W 2556/60 (2020.02)] 5 Claims
OG exemplary drawing
 
1. A method of implementing a distributed centralized automatic driving method in an automatic driving vehicle, wherein data domains and a control process are defined, a modular design is performed to implement each functional method, and each module is deployed to a computing unit of the corresponding data domain according to a load of a computing platform of the automatic driving vehicle, wherein the computing platform comprises a main processor, a plurality of computing units and a storage circuit unit, wherein the storage circuit unit stores a plurality programed functional modules, the method comprising:
Step 1: loading, by the main processor, the functional modules, and identifying the functional modules according to bus categories, wherein definition descriptions of the functional modules are described in an XML format, and for each said functional module, the definition description includes an interface, a desired performance indicator, a function to be fulfilled, a communication interface, a data source, and a safety and priority of the functional module,
wherein the functional modules comprise:
a sensor processing module;
a perception positioning module, is configured to input point clouds, GPS longitudes and latitudes, an IMU, the speedometer and a high-precision map, and to output the global position of the automatic driving vehicle;
a perception target detection module, is configured to perform scene detection, target detection, road detection and traffic sign detection, is further configured to input the point clouds, camera videos and a global position of the automatic driving vehicle, and is further configured to output a target position, road rules and road guides;
a decision-making module, is configured to input the road guides, the global position of the automatic driving vehicle, a dynamic map and a static map, and to output running decisions, lane rules, and a position of a target in the dynamic map;
a planning module, comprises an available space, lane planning, traffic planning, path planning and path following, and is used for inputting the global position of the automatic driving vehicle, the running decisions, the lane rules, the position of the target in the dynamic map, and the road guides, and outputting a path to be followed by the automatic driving vehicle; and
a vehicle control module, configured to input the path to be followed by the automatic driving vehicle and a sensor state for current control of the automatic driving vehicle, and to output a control command of a vehicle actuator,
wherein the sensor processing module comprises: a laser radar processing module configured to output the point clouds, a visual processing module, an ultrasonic radar, an inertia unit, a GPS navigation module, and a speedometer;
Step 2: identifying, by the main processor, data domains to highlight types and channels of data sources supporting specified functional modules, as well as data outputs of the functional modules, which are then provided for other functional modules, wherein the functional modules exchange data flows within a capacity of the corresponding data domains, and a physical carrier of each said data domain is expressed as a physical bus interface;
Step 3: determining, by the main processor, whether a control and message flow between the functional modules is in a client/server mode or a message release/subscription mode;
Step 4: performing, by the main processor, unit mapping, comprising: mapping the functional modules to a selected specific computing unit with reference to definition of the data domains by evaluating computing capacity requirements and performance indicators of the computing units, and making a mapping decision according to currently available overall system resources of the computing platform;
Step 5: implementing, by the main processor, the functional modules by dividing the functional modules are divided into a hardware dependent layer, a hardware abstraction layer and an independent software layer according to a static definition of the functional modules and the definition of the data domains, wherein a physical implementation form of the functional modules is expressed as one to multiple computing tasks, and the computing tasks independently or collaboratively run in a container of the independent software layer;
Step 6: allocating, by the main processor, the computing tasks in the independent software layer to a plurality of the computing units, wherein the computing units execute corresponding allocated computing task, comprising:
executing, by the main processor, a plurality of main scheduling modules to master resource information of all the computing units, and allocate the computing tasks to the computing units according to resources of the computing units and computing task requirements by negotiating with scheduling middleware on each said computing unit,
wherein the computing units are distributed in different chips and collaborate with each other by means of distributed computing and scheduling, and
the computing task requirements comprise data requirements,
performance requirements and resource requirements, wherein said computing task requirements are configured to facilitate completion of all sensor collaborations for applying the automatic driving method, a sensor capacity and computing capacity actually configured for the method, self-adaptable configuration in an environment of multiple computing platforms.