Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. The drawings illustrate examples of the embodiments of the present application, in which like numerals represent like elements. It is to be understood that the drawings are not to scale as they might be practiced in this application, but are for illustration purposes and not drawn to scale. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The terms "first," "second," "third," "fourth," and the like in the description and in the claims of the present application and in the drawings described above, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged under appropriate circumstances, in other words, the described embodiments have been implemented in a sequence other than that shown or described herein. Further, the terms "comprises," "comprising," and "having," and any variations thereof, may also encompass other items, such as, for example, processes, methods, systems, articles, or apparatus that comprise a list of steps or elements, are not necessarily limited to only those steps or elements explicitly listed, but may include other steps or elements not explicitly listed or inherent to such processes, methods, articles, or apparatus.
It should be noted that the descriptions in this application referring to "first", "second", etc. are for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In addition, technical solutions between various embodiments may be combined with each other, but must be realized by a person skilled in the art, and when the technical solutions are contradictory or cannot be realized, such a combination should not be considered to exist, and is not within the protection scope of the present application.
Please refer to fig. 1 in combination, which is a flowchart illustrating a data processing method for an autonomous vehicle according to an embodiment of the present application. The data processing method for an autonomous vehicle includes the following steps.
Step S102, external data received in the current computing cycle and/or internal data generated after the external data is processed by a computing module are detected. Specifically, the autopilot system receives external data and utilizes a number of calculation modules to calculate the external data to generate internal data. The external data includes data detected by the automatic driving system through various sensors and data transmitted from the outside. For example, autonomous vehicles are provided with various sensors to receive external data, the main sensors including: camera sensors, lidar sensors, ultrasonic sensors, and the like. When the automatic driving vehicle normally runs, a plurality of sensors acquire external data of the automatic driving vehicle and receive road congestion information received by a navigation system.
Step S104, determining whether the external data and/or the internal data need to be calculated or postponed in the current calculation period according to a first preset rule. Specifically, the first preset rule is to determine whether the external data and/or the internal data need to be calculated or postponed in the current calculation period according to the type of the external data and/or the internal data, wherein the automatic driving system stores a first type of data in advance and a second type of data, the first type of data is data which needs to be calculated in the current calculation period, for example, the automatic driving system detects that an obstacle exists in the front of a vehicle, the automatic driving system must immediately react, and a control command is sent to adjust the direction and the speed of the automatic driving system in the current calculation period. The second type of data is data that requires deferred computation, for example, when the autopilot system first detects a distant siren sound via a microphone or the police car first captures a picture of the police car in the field of view with a camera, the autopilot system does not need to react on the current computation cycle because at least 2 seconds are required when the autopilot system first receives the distant siren sound via a microphone or the police car first captures a picture of the police car in the field of view with a camera until the police car approaches the autopilot vehicle, and a computation cycle of the autopilot system is typically 500 milliseconds. For example, when the automatic driving system detects that a pedestrian is in a close distance in front of the vehicle according to the detection of the sensor, the automatic driving system performs preliminary identification on the data and compares the data with data stored in advance in the automatic driving vehicle to determine that the data is the first type of data. How to determine whether the external data and/or the internal data need to be calculated in the current calculation cycle or postponed in calculating according to the first preset rule will be described in detail below.
And step S106, when the external data and/or the internal data need delay calculation, matching a corresponding scheduling strategy according to a second preset rule. Specifically, the second preset rule is to determine a scheduling policy for the second type of data according to the external data and/or the internal data being the second type of data, where the automatic driving system stores the scheduling policy for the second type of data and an association relationship between the scheduling policy and the second type of data in advance. For example, the autopilot system stores data that the autopilot system detected an ambulance and a scheduling policy for the data.
And step S108, calling corresponding calculation modules to calculate the external data and/or the internal data in one or more calculation cycles according to the scheduling strategy. Specifically, the automatic driving system stores external data and/or a scheduling strategy corresponding to the internal data, and the scheduling strategy comprises calculation time of the data and a required calculation module. The scheduling strategies comprise a first scheduling strategy, a second scheduling strategy and a third scheduling strategy. How to invoke the corresponding computation module to compute the external data and/or the internal data in one or more computation cycles of deferring according to the scheduling policy will be described in detail below.
In the above embodiment, the automatic driving vehicle detects external data received in the current calculation period and/or internal data generated after the external data is processed by one calculation module through the automatic driving system, and then identifies the type of the external data and/or the internal data, and compares the type of the data prestored in the automatic driving system with the associated scheduling policy to obtain calculation or delay calculation in the current calculation period. The computing resources of the automatic driving system can be saved, the accuracy of data is guaranteed, the reliability of automatic driving is improved, the intelligence of automatic driving is improved, and the riding experience of passengers is improved.
Please refer to fig. 2, which is a sub-flowchart of step S104 according to an embodiment of the present disclosure.
Step S402, comparing the external data and/or the internal data with the first type data or the second type data. Specifically, the autopilot system classifies all data that the autopilot vehicle may encounter while traveling into a first type of data and a second type of data, and pre-stores the data and associated data types in an autopilot system memory. When the data is detected in the actual driving process of the automatic driving system, the initial identification is carried out, the data is searched in the memory, and the data type corresponding to the data is obtained. For example, the autonomous driving system memory stores therein data relating to the presence of a pedestrian in close proximity to the autonomous driving vehicle and the type of data associated therewith is a first type of data. When the automatic driving system detects that the pedestrian data exists in the front of the automatic driving vehicle in a short distance in the actual driving process, the comparison is carried out in the memory.
Step S404, when the external data and/or the internal data match with the first type data, determining that the external data and/or the internal data are data that needs to be calculated in the current calculation cycle. Specifically, the automatic driving system detects that the external data and/or the internal data are/is compared with data stored in a memory in the current calculation period, when the external data and/or the internal data are determined to be matched with the first type of data, the external data and/or the internal data are/is determined to be the first type of data, and the external data and/or the internal data are/is determined to be data needing to be calculated in the current calculation period.
Step S406, when the external data and/or the internal data are matched with the second type data, determining that the external data and/or the internal data are data needing delay calculation. Specifically, the automatic driving system detects that external data and/or the internal data are/is compared with data stored in a memory in the current calculation period, when the external data and/or the internal data are/is determined to be matched with the second type of data, the external data and/or the internal data are/is determined to be the second type of data, and the external data and/or the internal data are/is determined to be data needing delay calculation.
Please refer to fig. 3, which is a flowchart illustrating a first exemplary process of step S108 according to the present embodiment.
Step S6010, a preset calculation period of the second type data is obtained. Specifically, the automatic driving system stores the second type of data and the corresponding specific scheduling strategy in advance. For example, the autopilot system stores a second type of data of the detected siren sound of the police car and a corresponding scheduling policy, wherein the scheduling policy calls 5 calculation modules to calculate the data for the 3 rd calculation cycle after the siren sound is detected.
Step S6012, a corresponding calculation module is called to perform calculation within the preset calculation period. For example, the scheduling policy calls 5 calculation modules to calculate the data for the 3 rd calculation cycle after a siren is detected, and then calls 5 calculation modules to calculate the data for the 3 rd calculation cycle after the autopilot system detects a siren.
Please refer to fig. 4, which is a flowchart illustrating a second exemplary embodiment of step S108 according to the present disclosure.
And step S6020, calculating the number of modules required for acquiring the second type of data. Specifically, when some data are acquired by the automatic driving system, the data are not calculated, and the influence on the safe driving of the automatic driving system is avoided. The number of calculation modules required for the automatic driving system to acquire and calculate the data in the memory.
And step S6022, acquiring the number of available calculation modules of the automatic driving system. Specifically, the autopilot system obtains the number of calculation modules available to the autopilot system for the current calculation cycle and a number of calculation cycles thereafter.
Step S6024, determining whether the number of available calculation modules satisfies the required number of calculation modules. Specifically, the automatic driving system judges whether the number of calculation modules required for calculating data is satisfied according to the available calculation module number area.
Step S6026, when the number of the available calculating modules meets the number of the required calculating modules, calling the corresponding calculating modules to calculate. Specifically, when the automatic driving system judges that the number of available calculation modules in a certain calculation period meets the required number of calculation modules, the corresponding calculation modules are called for calculation. For example, when the automatic driving system detects the current position data, the real-time road data and the destination data, the automatic driving system may call the corresponding calculation module to calculate a route to the destination faster according to the current position data, the real-time road data and the destination data. However, the autopilot system does not invoke the calculation module to calculate a route to the destination sooner and does not affect the safety of the autopilot system's travel. Therefore, when the data detected by the automatic driving system does not affect the safety of the automatic driving vehicle, but the data can be calculated to obtain better riding experience, the data can be calculated when the automatic driving system has enough available calculation modules.
Please refer to fig. 5, which is a flowchart illustrating a third embodiment of step S108 provided in the present embodiment.
Step S6030, calculating time for acquiring the second type data is consumed. Specifically, the calculations that the autopilot system has pre-stored the second type of data take time in memory. When the autopilot system detects the second type of data, the calculation to obtain the second type of data in the corresponding memory is time consuming.
Step S6032, obtaining the preset calculation completion time of the second type data. Specifically, the autopilot system stores in advance a preset calculation completion time of the second type of data in the memory, for example, the autopilot system provides that the determination of the police car must be completed in 2 seconds upon detection of a siren sound.
And step S6034, obtaining the latest calculation time according to the calculation time and the preset calculation completion time. For example, when the autopilot system determines that the siren is that the calculation of the police car takes 0.5 seconds, and the autopilot system presets the calculation completion time to be 2 seconds, the latest calculation time is 1.5 seconds, which is 2-0.5 seconds.
Step S6036, before the latest calculation time, the corresponding calculation module is called to calculate. For example, the latest calculation time is 1.5 seconds, and the automatic driving system finds an appropriate time to call the corresponding calculation resource to start calculation within 1.5 seconds of the current time according to the scheduling requirement.
Please refer to fig. 6 in combination, which is a schematic diagram of a data processing apparatus for an autonomous vehicle according to an embodiment of the present application. The data processing apparatus 10 includes a data collection module 101, a first processing module 102, a second processing module 103, and a scheduling policy module 104.
The data collection module 101 is configured to detect external data received in a current computing cycle and/or internal data generated by processing the external data by a computing module. Specifically, the automatic driving system receives external data through a data collection module and calculates the external data by using a plurality of calculation modules to generate internal data. The external data includes data detected by the automatic driving system through various sensors and data transmitted from the outside.
The first processing module 102 is configured to determine, according to a first preset rule, that the external data and/or the internal data need to be calculated in a current calculation cycle or delay calculation. Specifically, the first preset rule is to determine whether the external data and/or the internal data need to be calculated or postponed in the current calculation period according to the type of the external data and/or the internal data, wherein the automatic driving system stores first type data and second type data in advance, the first type data is data needing to be calculated in the current calculation period, and the second type data is data needing to be postponed in calculation.
The second processing module 103 is configured to, when the external data and/or the internal data require deferred computation, match a corresponding scheduling policy according to a second preset rule. Specifically, the second preset rule is to determine a scheduling policy for the second type of data according to the external data and/or the internal data, where the scheduling policy for the second type of data and an association relationship between the scheduling policy and the second type of data are stored in advance by the automatic driving system.
And the scheduling policy module 104 is used for calling a corresponding computing module to compute the external data and/or the internal data in one or more delayed computing cycles according to the scheduling policy. Specifically, the automatic driving system stores external data and/or a scheduling strategy corresponding to the internal data, and the scheduling strategy comprises calculation time of the data and a required calculation module. The scheduling strategies comprise a first scheduling strategy, a second scheduling strategy and a third scheduling strategy.
Please refer to fig. 7 in combination, which is a schematic diagram illustrating an internal structure of a computer apparatus 900 according to an embodiment of the present application. The computer device 900 comprises at least a memory 901, a processor 902. Specifically, the memory 901 is used to store program instructions for a data processing method for an autonomous vehicle. The processor 902 is configured to execute program instructions to cause a computer device to implement the data processing method for an autonomous vehicle described above.
The memory 901 includes at least one type of readable storage medium, which includes flash memory, hard disk, multimedia card, card type memory (e.g., SD or DX memory, etc.), magnetic memory, magnetic disk, optical disk, and the like. The memory 901 may in some embodiments be an internal storage unit of the computer device 900, such as a hard disk of the computer device 900. The memory 901 may also be an external storage device of the computer device 900 in other embodiments, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital Card (SD), a Flash memory Card (Flash Card), etc. provided on the computer device 900. Further, the memory 901 may also include both internal and external storage devices for the computer device 900. The memory 901 may be used not only to store application software installed in the computer apparatus 900 and various types of data, such as control instructions for a data processing method of an autonomous vehicle and the like, but also to temporarily store data that has been output or is to be output.
Processor 902 may be, in some embodiments, a Central Processing Unit (CPU), controller, microcontroller, microprocessor or other data Processing chip that executes program instructions or processes data stored in memory 901. In particular, processor 902 executes program instructions for a data processing method for an autonomous vehicle to control computer device 900 to implement the data processing method for the autonomous vehicle.
Further, the bus 903 may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 7, but this is not intended to represent only one bus or type of bus.
Further, computer device 900 may also include a display component 904. The display component 904 may be an LED (Light Emitting Diode) display, a liquid crystal display, a touch-sensitive liquid crystal display, an OLED (Organic Light Emitting Diode) touch panel, or the like. The display component 904 may also be referred to as a display device or display unit, among other things, for displaying information processed in the computer device 900 and for displaying a visualized user interface.
Further, the computer device 900 may also include a communication component 905, and the communication component 905 may optionally include a wired communication component and/or a wireless communication component (e.g., a WI-FI communication component, a bluetooth communication component, etc.), typically used for establishing a communication connection between the computer device 900 and other computer devices.
While fig. 7 illustrates only a computer device 900 having components 901 and 905 and program instructions implementing a data processing method for an autonomous vehicle, those skilled in the art will appreciate that the architecture illustrated in fig. 7 is not limiting of the computer device 900 and may include fewer or more components than those illustrated, or some components in combination, or a different arrangement of components.
It will be apparent to those skilled in the art that, for convenience and brevity of description, the specific operation of the above-described systems, apparatus and units, and in particular, the processor 902 of the computer device 900 executes program instructions of a data processing method for an autonomous vehicle to control the computer device 900 to implement the detailed procedures of the data processing method for the autonomous vehicle. Reference may be made to the corresponding process in the above method embodiment, which is not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described embodiment of computer device 900 is merely illustrative, and for example, the division of the unit is merely a logical division, and in actual implementation, there may be another division, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not implemented. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented as a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application may be implemented in the form of a software product, which is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the methods of the embodiments of the present application. And the aforementioned storage medium includes: a U disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program instructions.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, to the extent that such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, it is intended that the present application also encompass such modifications and variations.
The above-mentioned embodiments are only examples of the present invention, and the scope of the claims of the present invention should not be limited by these examples, so that the claims of the present invention should be construed as equivalent and still fall within the scope of the present invention.