Vehicle Control Method, Device, Equipment and Readable Storage Medium
By dividing the algorithm of the intelligent driving function into multiple functional modules and decoupling it into a task flow, and using state machine and chassis data to determine the task flow, the problem of high coupling of the intelligent driving function algorithm is solved, and the algorithm development and update efficiency is improved.
Patent Information
- Application Number
- CN202311180707.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-13
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2043-09-13
AI Technical Summary
In the prior art, the algorithm coupling degree of intelligent driving functions is high, resulting in low algorithm update and development efficiency.
The algorithm of intelligent driving function is divided into multiple functional modules and decoupled into multiple task flows. The task flow is determined through the state machine and chassis data of the functional modules, and the algorithm is decoupled using the operator library and event library to reduce the degree of algorithm coupling.
It improves the development and update efficiency of intelligent driving function algorithms and simplifies the algorithm development and update process in different application scenarios.
Smart Images

Figure CN117184129B_ABST
Abstract
Description
Technical Field
[0001] This application relates to intelligent driving technology, and in particular, to a vehicle control method, device, equipment, and readable storage medium. Background Art
[0002] With the development of automotive intelligent driving technology, especially the Advanced Driving Assistance System (ADAS), vehicles can identify, perceive, and process the environmental information around the vehicle through various sensors, and analyze and make decisions through computer algorithms, thereby realizing a series of vehicle intelligent driving functions, such as Adaptive Cruise Control (ACC) function, AutoParking Assist (APA), etc.
[0003] Currently, in the prior art, the algorithms of intelligent driving functions for analyzing and making decisions based on data from multiple sensors in different application scenarios are coupled together, and the efficiency of algorithm development and update is low. For example, when it is necessary to update the processing algorithm of a certain sensor data, it is necessary to update the algorithms of all intelligent driving functions that use this sensor data, and the update efficiency is low. That is, the coupling degree of the algorithms of intelligent driving functions in the prior art is relatively high. Summary of the Invention
[0004] This application provides a vehicle control method, device, equipment, and readable storage medium to reduce the coupling degree of the algorithms of intelligent driving functions.
[0005] In a first aspect, this application provides a vehicle control method. When the vehicle is currently driving intelligently using a target intelligent driving function, it includes:
[0006] Obtain the state of the target state machine corresponding to the target intelligent driving function and chassis data; the target state machine is a driving state machine or a parking state machine;
[0007] According to the state of the target state machine and the chassis data, obtain the state of the algorithm state machine of at least one functional module corresponding to the target intelligent driving function; the state of the algorithm state machine is used to represent the state of the functional module;
[0008] According to the state of the algorithm state machine, determine the task flow to be run by the functional module;
[0009] Run the task flow to obtain the running result of the task flow;
[0010] Perform intelligent driving according to the running result of the task flow.
[0011] Optionally, determining the task flow to be run by the target functional module according to the state of the algorithm state machine includes:
[0012] Determining the event to be run from the event library of the functional module according to the state of the algorithm state machine; the events in the event library include at least one operator directed graph; the operator directed graph is used to describe the operators required to execute the event and the execution order between the operators.
[0013] Concatenating the identifiers of the operators according to the operator directed graph included in the event to be run to obtain the task flow to be run.
[0014] Optionally, running the task flow to obtain the running result of the task flow includes:
[0015] Calling the operator corresponding to the operator identifier from the operator library according to the operator identifier in the task flow;
[0016] Running the operators corresponding to the operator identifiers of the task flow to obtain the running result of the task flow.
[0017] Optionally, obtaining the state of the algorithm state machine of at least one functional module corresponding to the target intelligent driving function according to the state of the target state machine and the chassis data includes:
[0018] Obtaining the state of the algorithm state machine of at least one functional module corresponding to the target intelligent driving function from the state library according to the state of the target state machine and the chassis data; the state library pre-stores the mapping relationship between the state of the target state machine, the chassis data and the states of the algorithm state machines of multiple functional modules.
[0019] Optionally, running the task flow includes:
[0020] Creating a thread corresponding to the task flow through the configuration strategy of the thread in the application framework of the autonomous driving computing platform;
[0021] Running the thread corresponding to the task flow.
[0022] Optionally, the method further includes:
[0023] Managing the thread corresponding to the created task flow through the running strategy and / or monitoring strategy of the thread in the application framework of the autonomous driving computing platform.
[0024] Optionally, the configuration strategy of the thread includes: the receiving and publishing relationship of data between task flows;
[0025] Running the thread corresponding to the task flow includes:
[0026] According to the reception and publication relationships of data between task flows, obtain the callback interface and publication interface for data using the registered callback mechanism;
[0027] Use the data callback interface to obtain the input data of the thread corresponding to the task flow, and run the thread corresponding to the task flow to obtain the output data corresponding to the task flow;
[0028] Use the publication interface to publish the output data corresponding to the task flow.
[0029] In a second aspect, the present application provides a vehicle control device. The vehicle is currently performing intelligent driving using a target intelligent driving function, including:
[0030] A first acquisition module, configured to acquire the state of a target state machine corresponding to the target intelligent driving function and chassis data; the target state machine is a driving state machine or a parking state machine;
[0031] A second acquisition module, configured to acquire the state of an algorithm state machine of at least one functional module corresponding to the target intelligent driving function according to the state of the target state machine and the chassis data; the state of the algorithm state machine is used to represent the state of the functional module;
[0032] A determination module, configured to determine the task flow to be run by the functional module according to the state of the algorithm state machine;
[0033] A running module, configured to run the task flow to obtain the running result of the task flow;
[0034] A processing module, configured to perform intelligent driving according to the running result of the task flow.
[0035] In a third aspect, the present application provides an electronic device, including: a processor and a memory communicatively connected to the processor;
[0036] The memory stores computer-executable instructions;
[0037] The processor executes the computer-executable instructions stored in the memory to implement the vehicle control method according to any one of the first aspects.
[0038] In a fourth aspect, the present application provides a computer-readable storage medium, in which computer-executable instructions are stored, and when the computer-executable instructions are executed by a processor, they are used to implement the vehicle control method according to any one of the first aspects.
[0039] In a fifth aspect, the present application provides a computer program product, including a computer program, and when the computer program is executed by a processor, it implements the vehicle control method according to any one of the first aspects.
[0040] In a sixth aspect, the present application provides a chip, on which a computer program is stored. When the computer program is executed by the chip, the vehicle control method described in any one of the first aspects is implemented.
[0041] The vehicle control method, device, equipment and readable storage medium provided by the present application determine the task flow to be run by each functional module based on the state of the algorithm state machine of at least one functional module corresponding to the intelligent driving function, and then obtain the running results of the task flows of each functional module, and perform intelligent driving based on the running results. This method simplifies the combination of algorithms of various intelligent driving functions in different application scenarios into a combination of task flows of multiple functional modules based on the algorithms of the intelligent driving function divided into multiple functional modules, decouples the algorithms for the implementation of each functional module in different application scenarios, divides them into multiple task flows, and when developing and updating the algorithms corresponding to the intelligent driving functions in different application scenarios, only the task flows of each functional module need to be developed and updated, without the need to update and develop the algorithms corresponding to the intelligent driving functions in different application scenarios, reducing the coupling degree of the algorithms of the intelligent driving functions and improving the development and update efficiency of the algorithms of the intelligent driving functions. Description of the Drawings
[0042] The drawings here are incorporated into the specification and constitute a part of this specification, showing embodiments consistent with the present application, and are used together with the specification to explain the principles of the present application.
[0043] Figure 1 It is a schematic diagram of the architecture of an intelligent driving control system;
[0044] Figure 2 It is a schematic diagram of the structure of an autonomous driving computing platform;
[0045] Figure 3 It is a schematic flow chart of a vehicle control method provided by the present application;
[0046] Figure 4 It is a schematic flow chart of another vehicle control method provided by the present application;
[0047] Figure 5 It is a schematic diagram of the structure of a functional module provided by the present application;
[0048] Figure 6 It is a schematic diagram of the structure of a vehicle control device provided by the present application;
[0049] Figure 7 It is a schematic diagram of the structure of an electronic device provided by the present application.
[0050] Through the above-mentioned accompanying drawings, specific embodiments of the present application have been shown, and there will be more detailed descriptions hereinafter. These drawings and textual descriptions are not intended to limit the scope of the concept of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. Detailed Description of the Embodiments
[0051] Here, exemplary embodiments will be described in detail, and the examples are shown in the accompanying drawings. When the following description refers to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0052] First, the terms related to the present application are explained:
[0053] ADAS: It uses various sensors installed on the vehicle, such as millimeter-wave radars, lidars, etc., to collect surrounding environmental data during vehicle driving, identify, perceive, and process static and dynamic objects, and analyze and make decisions through computer algorithms, thereby realizing a series of vehicle intelligent driving functions.
[0054] State machine: It is a state transition diagram that can perform state transitions according to control signals according to pre-set states.
[0055] Figure 1 It is a schematic diagram of the architecture of an intelligent driving control system. As Figure 1 shown, the intelligent driving control system is divided into a perception layer, a decision-making layer, and an execution layer.
[0056] The above-mentioned perception layer is used to sense external environmental changes and obtain environmental information through a hardware system. The hardware system can be, for example, sensors such as cameras and lidars.
[0057] The above-mentioned decision-making layer formulates appropriate control strategies by using the information of the perception layer. The decision-making layer includes an intelligent driving domain controller (Domain Control Unit, DCU). The intelligent driving DCU can, for example, include an integrated driving and parking DCU, or include a driving DCU and a parking DCU. The present application does not make a limitation here. The intelligent driving DCU can be a system-on-chip (System on Chip, SOC) or a microcontroller unit (Microcontroller Unit, MCU). The execution subject of the present application is this intelligent driving DCU.
[0058] An autonomous driving computing platform is deployed in the intelligent driving DCU, and various algorithms, communication protocols, middleware, etc. corresponding to intelligent driving functions are included in the computing platform.
[0059] The above-mentioned execution layer executes instructions on the vehicle according to the decision results of the decision layer to enable the vehicle to perform intelligent driving. The execution layer includes the wheels, steering wheel, etc. of the vehicle.
[0060] Figure 2 It is a schematic structural diagram of an autonomous driving computing platform. As Figure 2 shown, the autonomous driving operating system includes a hardware platform layer, a system software layer, a functional software layer, and an application software layer.
[0061] The above-mentioned hardware platform layer includes a computing unit and a control unit, providing hardware support for the above-mentioned software layer. The computing unit can be, for example, a CPU, GPU, FPGA, etc., and the control unit can be, for example, an MCU, etc.
[0062] The above-mentioned system software layer includes an operating system kernel, virtualization management (Hypervisor), Portable Operating System Interface (POSIX), system middleware, etc.
[0063] The operating system kernel can be, for example, various operating system kernels such as Linux and Vxworks. The virtualization management is a hardware virtualization technology that manages and virtualizes hardware resources (such as CPU, memory, and peripheral devices, etc.) and provides them for multiple operating system kernels to use. The POSIX is a standard that defines the interfaces and functions of an operating system, aiming to enable application programs to be ported across different operating systems. The system middleware is used to manage computing resources and network communication. For example, it can include distributed communication services to provide data and information exchange services between the functional software layer and the application software layer in a publish / subscribe manner.
[0064] The above-mentioned functional software layer includes application software interfaces, general models for intelligent driving, application frameworks, and data abstractions, etc.
[0065] The application software interface refers to the interface between the hardware and the above-mentioned application software layer. By providing calls and services for the application software through a unified application software interface, the development and operation of the application software in the above-mentioned application software layer can be independent of specific sensors and vehicle models.
[0066] The general model for intelligent driving is a model-based abstraction of general processes such as intelligent perception, intelligent decision-making, and intelligent control in intelligent driving. The general model for intelligent driving includes a perception model, a decision model, and a planning model. The decision model includes a driving state machine and a parking state machine.
[0067] The application framework includes thread scheduling, networked cloud control service, information security, backfilling abstraction, etc., which can abstract, deploy, and drive the algorithms in the general intelligent driving model, and solve the problems of cross-domain, cross-platform deployment and calculation.
[0068] This data abstraction provides various different data sources for the upper-layer general intelligent driving model by standardizing data such as sensors, actuators, vehicle status, and maps.
[0069] The above application software layer is responsible for implementing intelligent driving functions, including algorithms corresponding to intelligent driving functions in various application scenarios.
[0070] Currently, the algorithms of intelligent driving functions in different application scenarios in the application software layer are coupled together. For example, in the scenario where the vehicle is driving normally, the intelligent driving DCU runs the algorithm corresponding to the ACC function. However, if an unexpected situation occurs during the normal driving of the vehicle, such as a pedestrian appears on the road and braking is required, at this time, the algorithm corresponding to this scenario includes the algorithm corresponding to the ACC function and the algorithm for braking. That is, the algorithms of intelligent driving functions are coupled based on multiple application scenarios.
[0071] In this way, it is not convenient to update and develop the algorithms. For example, when it is necessary to update the algorithm for processing a certain sensor data, it is necessary to update the algorithms of all intelligent driving functions that use this sensor data, and the update efficiency is low. When developing an algorithm corresponding to an intelligent driving function, it is necessary to consider the coupling with the algorithms corresponding to other intelligent driving functions in different application scenarios, and the algorithm development efficiency is low. The reason for this phenomenon is that the coupling degree of the algorithms of intelligent driving functions is relatively high.
[0072] In view of this, the present application proposes a vehicle control method. Based on multiple functional modules of intelligent driving function algorithms, the algorithms of each functional module are decoupled, and the algorithms corresponding to each functional module are divided into multiple task flows. The combination of multiple task flows is used to implement intelligent driving functions in different scenarios. When developing or updating the algorithms, only the task flows of each functional module need to be developed and updated, and there is no need to develop and update the algorithms of each intelligent driving function in different scenarios, realizing the decoupling of the algorithms of intelligent driving functions, and thus improving the development and update efficiency of the algorithms.
[0073] The technical solution of the present application and how the technical solution of the present application solves the above technical problems will be described in detail below in combination with specific embodiments. These specific embodiments below can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in combination with the drawings.
[0074] Figure 3Flow diagram of a vehicle control method provided for this application. At the application software layer, based on algorithms for intelligent driving functions in various application scenarios, it is divided into multiple functional modules. Each functional module includes algorithms for implementing a type of sub-function. For example, it can be divided into a perception module, a positioning module, a fusion module, a planning module, a control module, etc. The implementation of the intelligent driving function corresponds to at least one functional module. The vehicle is currently driving using the target intelligent driving function, such as Figure 1 As shown, the method includes:
[0075] S101. Obtain the state of the target state machine corresponding to the target intelligent driving function and chassis data.
[0076] The above-mentioned target intelligent driving function refers to the intelligent driving function currently used by the vehicle. This target intelligent driving function can be triggered by the user through the in-vehicle terminal, or can be implemented after the intelligent driving DCU of the vehicle makes a decision based on the vehicle state and current environmental information.
[0077] The above-mentioned target state machine is a driving state machine or a parking state machine. It should be understood that each intelligent driving function corresponds to a driving state machine or a parking state machine as the target state machine for vehicle state decision-making. The above-mentioned intelligent driving DCU will switch the target state machine corresponding to the target intelligent driving function to the state corresponding to the target intelligent driving function according to the intelligent driving function currently used by the vehicle. For example, when the target intelligent driving function currently used by the vehicle is the ACC function, at this time, the target state machine is the driving state machine, and its state is the ACC state.
[0078] The above-mentioned intelligent driving DCU can directly obtain the state of the corresponding target state machine from the above-mentioned driving state machine or parking state machine, or it can be the publishing and subscribing relationship of the state data of the preset driving state machine and parking state machine, that is, when the state data changes, the state data is automatically sent to the functional module that has subscribed to this data.
[0079] The above-mentioned chassis data refers to data related to the vehicle chassis. For example, it can be a chassis fault identifier, an opening and closing identifier of the door, an opening and closing identifier of the vehicle hood, an opening and closing identifier of the vehicle trunk lid, etc. It should be noted that the chassis data includes, but is not limited to, the vehicle body state and vehicle software or hardware related data such as chassis faults, and can also include other types of chassis data, which can be specifically set according to actual needs, and this application does not make a limitation here.
[0080] The above chassis data can be obtained by the above intelligent driving DCU from the application interface of the above autonomous driving computing platform, which is used to implement the interaction between the application software layer and the vehicle chassis data; or it can be to preset the publishing and subscribing relationship of the chassis data of the application interface, that is, when the chassis data changes, the chassis data is automatically sent to the function module that has subscribed to the data.
[0081] It should be noted that an identifier can be preset in the above chassis data to indicate that the chassis is fault-free.
[0082] S102. Obtain the state of the algorithm state machine of at least one function module corresponding to the target intelligent driving function according to the state of the target state machine and the chassis data.
[0083] The state of the above algorithm state machine is used to represent the state of the function module corresponding to the algorithm state machine. It should be noted that each function module presets the algorithm state machine of the function module, and the state of the function module can be used to represent the function to be implemented by the function module.
[0084] Regarding how to obtain the state of the algorithm state machine of the function module, a possible implementation method is to preset the respective state libraries of each function module, and the state libraries store the mapping relationships between the state of the algorithm state machine of the function module, the state of the target state machine, and the chassis data. The above intelligent driving DCU can obtain the state of the algorithm state machine of the function module from the state library corresponding to the function module according to the state of the target state machine and the chassis data.
[0085] Another possible implementation method is to preset a state library, which stores the mapping relationships between the state of the target state machine, the chassis data, and the states of the algorithm state machines of each function module. The above intelligent driving DCU can obtain the states of the algorithm state machines of each function module from this state library according to the state of the target state machine and the chassis data.
[0086] Regarding how to obtain the state of the algorithm state machine of at least one function module corresponding to the target intelligent driving function, a possible implementation method is to preset the above intelligent driving function in advance, as well as the mapping relationship between the intelligent driving function and the function module corresponding to the intelligent driving function. The above intelligent driving DCU can first obtain the identifiers of at least one function module corresponding to the intelligent driving function according to the intelligent driving function and the mapping relationship between the intelligent driving function and the function module corresponding to the intelligent driving function; then, according to the state of the target state machine, the chassis data, and the identifiers of at least one function module, adopt the aforementioned method of obtaining the state of the algorithm state machine of the function module to obtain the state of the algorithm state machine of at least one function module corresponding to the intelligent driving function.
[0087] In another possible implementation, after the algorithm state machine of each of the above function modules switches states, a state transition response including the identifier of the function module is sent to the intelligent driving DCU. The intelligent driving DCU obtains the states of the algorithm state machines of at least one function module corresponding to the intelligent driving function by adopting the foregoing method for obtaining the state of the algorithm state machine of the function module according to the received state transition response.
[0088] S103. Determine the task flow to be run by the function module according to the state of the algorithm state machine of the function module.
[0089] The task flow to be run above refers to the task flow that the function module needs to run to implement the corresponding function in this state under the state of the algorithm state machine.
[0090] In a possible implementation, the above function module is preset with an event library of the function module, and the mapping relationship between the state and events of the function module is stored in the event library. The event is used to represent a function of the function module. The intelligent driving DCU can obtain the event corresponding to the state of the algorithm state machine from the event library of the function module according to the state of the algorithm state machine of the function module, and use the event as the task flow to be run by the function module.
[0091] In another possible implementation, a total event library is preset, and the mapping relationship between the states of the algorithm state machines of each function module and events is stored in the total event library. The intelligent driving DCU can obtain the event corresponding to the state of the algorithm state machine from the total event library according to the state of the algorithm state machine of the function module, and use the event as the task flow to be run by the function module.
[0092] In still another possible implementation, the above function module is preset with a task flow library of the function module, and the mapping relationship between multiple task flows of the function module and the states of the algorithm state machine is stored in the task flow library. Each task flow is used to implement a function of the function module. The intelligent driving DCU can determine the task flow to be run by the function module from the task flow library according to the state of the algorithm state machine of the function module.
[0093] S104. Run the task flows to be run by at least one function module corresponding to the target intelligent driving function to obtain the running results of each task flow.
[0094] In a possible implementation, the task flow to be run above includes multiple operators, and the combination of the multiple operators is used to implement a function of the function module. Directly run the operators of the task flow to obtain the running result of the task flow.
[0095] Another possible implementation is that the operator identifiers of multiple operators are included in the task flow to be run above. Run the operator corresponding to the operator identifier to obtain the running result of the task flow.
[0096] S105. Perform intelligent driving based on the running result of the task flow of at least one functional module corresponding to the target intelligent driving function.
[0097] Optionally, as described above, at least one functional module corresponding to the target intelligent driving function includes a control module. The control module can generate a control signal according to the running result of other functional modules corresponding to the target intelligent driving function, and send it to the execution layer of the intelligent driving control system through the communication method set by the system middleware of the aforementioned autonomous driving computing platform and the application software interface, so that the vehicle can perform intelligent driving.
[0098] The vehicle control method provided in this application determines the task flow to be run by each functional module based on the state of the algorithm state machine of at least one functional module corresponding to the intelligent driving function, and then obtains the running result of the task flow of each functional module, and performs intelligent driving based on this running result. This method simplifies the combination of algorithms corresponding to multiple intelligent driving functions in different application scenarios into a combination of task flows of multiple functional modules based on the algorithm of the intelligent driving function divided into multiple functional modules, decouples the algorithms for the implementation of each functional module in different application scenarios, divides them into multiple task flows, and when developing and updating the algorithms corresponding to the intelligent driving functions in different application scenarios, only need to develop and update the task flows of each functional module, without the need to update and develop the algorithms corresponding to the intelligent driving functions in different application scenarios, reducing the coupling degree of the algorithms of the intelligent driving functions and improving the development and update efficiency of the algorithms of the intelligent driving functions.
[0099] Taking the event library of the functional module as preset below as an example, how to determine the task flow to be run by the target functional module according to the state of the algorithm state machine, run the task flow, and obtain the running result of the task flow will be described.
[0100] Figure 4 It is a schematic flowchart of another vehicle control method provided in this application. As Figure 4 shown, this method includes:
[0101] S201. Determine the event to be run from the event library of the functional module according to the state of the algorithm state machine of the functional module.
[0102] Optionally, according to the function of the functional module, decouple the algorithm of the functional module into multiple operators, and use the combination of multiple operators to implement the function of the functional module. When developing and updating the algorithm of the functional module, only need to develop and update the operators, and further decouple the algorithm of the functional module to improve the development and update efficiency of the algorithm of the intelligent driving function.
[0103] The events in the above event library include at least one operator directed graph; the operator directed graph is used to describe the operators required to execute the event and the execution order between the operators. The above operator directed graph includes the identifiers of the operators required to execute the event and the execution order between the operator identifiers.
[0104] A possible implementation is to preset the operator library of the functional module, and the operator library stores the operators and operator identifiers of the functional module. Another possible implementation is to preset an overall operator library, and the operator library stores the operators and operator identifiers of each functional module.
[0105] As mentioned above, the above event library presets the mapping relationship between the event and the state of the algorithm state machine, and the event to be run can be determined according to the mapping relationship between the state of the algorithm state machine and time.
[0106] S202. According to the operator directed graph included in the event to be run, concatenate the identifiers of the operators to obtain the task flow to be run.
[0107] For example, according to the execution order between the operator identifiers of the operator directed graph included in the event to be run, concatenate each operator identifier to obtain the task flow to be run.
[0108] Through the above method, the event to be run can be determined according to the event library of the functional module, and then the task flow to be run can be determined according to the operator directed graph included in the event. This method can operatorize the algorithm of the functional module, use the concatenation between the operators to determine the task flow to be run, and realize the further decoupling of the algorithm of the functional module.
[0109] S203. According to the operator identifier in the task flow to be run of the functional module, call the operator corresponding to the operator identifier from the operator library.
[0110] The above operator library can be the operator library of the functional module mentioned above or the overall operator library.
[0111] S204. Run the operators corresponding to the operator identifiers of the task flow to be run of the functional module to obtain the running result of the task flow.
[0112] Run the task flows to be run of at least one functional module corresponding to the target intelligent driving function using the above steps S201-204, and obtain the running results of each task flow.
[0113] The vehicle control method provided by this application operatorizes the algorithms of the functional modules, stores the operators in the operator library, and uses the concatenation of the operators to form the task flows to be run of the functional modules. When developing and updating the algorithms of the functional modules, only the operators in the operator library need to be developed and updated, further decoupling the algorithms of the functional modules and reducing the coupling degree of the algorithms of the intelligent driving functions.
[0114] In the prior art, due to the coupling of the intelligent driving function algorithms in different application scenarios at the application software layer, the thread scheduling of the intelligent driving DCU for the application software layer is complex. For example, the algorithm for braking is coupled under the ACC function mentioned above. It is necessary to configure in advance the information of at least the thread for executing the ACC function and the two threads for executing the braking function based on this application scenario, that is, the thread configuration strategy needs to be set based on the application scenario. Moreover, it is necessary for the intelligent driving DCU to set a unified process carrier to schedule the threads of the intelligent driving function algorithms in various application scenarios, and the complexity of thread configuration and scheduling is high.
[0115] Figure 5 It is a schematic structural diagram of a functional module provided by this application. As Figure 5 shown, the functional module includes an algorithm state machine, an event library, a task flow pool, and an operator library. It should be noted that Figure 5 only 3 events are included in the event library and 3 operators are included in the operator library for illustration.
[0116] The above algorithm state machine is used to switch the state of the functional module according to the state of the target state machine and the chassis data.
[0117] The above event library is used to store various events of the functional module.
[0118] The above operator library is used to store various operators of the functional module.
[0119] The above task flow pool is used to store the task flows to be run of the functional module.
[0120] Set each functional module at the above application software layer as a process carrier, configure multiple task flows of each functional module as threads of the process carrier, and run the corresponding threads through the task flows of each functional module, converting the thread scheduling of the unified process carrier corresponding to the intelligent driving function algorithm into the thread scheduling of each functional module as a process carrier, reducing the complexity of thread configuration and scheduling.
[0121] Exemplarily, the application framework of the above-mentioned autonomous driving computing platform includes a thread configuration policy, which is used to configure the attributes of threads. For example, it may include the thread name, memory occupancy ratio, operating system kernel running, etc. In the foregoing embodiments, the algorithms of each functional module are divided into multiple task flows. On this basis, the thread configuration policies of the task flows of each functional module can be pre-configured. When running the task flows to be run of at least one functional module corresponding to the target intelligent driving function, threads corresponding to the task flows are created according to the thread configuration policy, and the threads corresponding to the task flows are run.
[0122] Optionally, the configuration policy may further include the receiving and publishing relationships of data between task flows. When running the threads corresponding to the above task flows, according to the receiving and publishing relationships of data between task flows, the callback interface and the publishing interface for obtaining data are obtained using the registration callback mechanism; the input data of the threads corresponding to the task flows is obtained using the data callback interface, and the threads corresponding to the task flows are run to obtain the output data corresponding to the task flows; the output data corresponding to the task flows is published using the publishing interface.
[0123] The registration callback mechanism refers to a callback function and a registration function. A callback function, that is, a publishing interface, is set in the task flow that needs to publish data, which is used to publish the output data of the task flow; a registration function, that is, a callback interface, is set in the task flow that needs to obtain data, which is used to call the callback function to obtain the data corresponding to the callback function.
[0124] Optionally, the application framework of the above-mentioned autonomous driving computing platform includes a running policy and / or a monitoring policy for threads. The running policy is used to configure the running mode of threads. For example, it may include running priority, longest running time, the identifier of the next thread after this thread, etc.; the monitoring policy is used to monitor the running of threads. For example, it may include the actual memory occupancy ratio of the thread, actual running time, etc. When running the task flows to be run of at least one functional module corresponding to the target intelligent driving function, the threads corresponding to each created task flow are managed through the running policy and / or the monitoring policy of the threads.
[0125] The vehicle control method provided in this application can pre-configure the thread information corresponding to the task flows of each functional module based on the application framework of the autonomous driving computing platform and each functional module, and configure the thread information without considering the application scenario, reducing the complexity of thread configuration. At the same time, based on each functional module as a process carrier for thread scheduling, the complex thread scheduling of a unified process carrier is converted into the simple thread scheduling of each functional module as a process carrier, reducing the complexity of thread scheduling.
[0126] Figure 6 This is a schematic structural diagram of a vehicle control device provided in this application. AsFigure 6 As shown in the figure, the device includes:
[0127] A first acquisition module 11, configured to acquire the state of a target state machine corresponding to the target intelligent driving function and chassis data; the target state machine is a driving state machine or a parking state machine;
[0128] A second acquisition module 12, configured to acquire the state of an algorithm state machine of at least one functional module corresponding to the target intelligent driving function according to the state of the target state machine and the chassis data; the state of the algorithm state machine is used to characterize the state of the functional module;
[0129] A determination module 13, configured to determine a task flow to be run by the functional module according to the state of the algorithm state machine;
[0130] A running module 14, configured to run the task flow to obtain a running result of the task flow;
[0131] A processing module 15, configured to perform intelligent driving according to the running result of the task flow.
[0132] A possible implementation manner, the above determination module 13 is specifically configured to determine an event to be run from an event library of the functional module according to the state of the algorithm state machine; the events in the event library include at least one operator directed graph; the operator directed graph is used to describe the operators required to execute the event and the execution order between the operators; according to the operator directed graph included in the event to be run, the identifiers of the operators are concatenated to obtain the task flow to be run.
[0133] A possible implementation manner, the above running module 14 is specifically configured to call an operator corresponding to the operator identifier from an operator library according to the operator identifier in the task flow; run the operators corresponding to the operator identifiers in the task flow to obtain a running result of the task flow.
[0134] A possible implementation manner, the above second acquisition module 12 is specifically configured to acquire the state of an algorithm state machine of at least one functional module corresponding to the target intelligent driving function from a state library according to the state of the target state machine and the chassis data; the state library pre-stores a mapping relationship between the state of the target state machine, the chassis data, and the states of the algorithm state machines of multiple functional modules.
[0135] A possible implementation manner, the above running module 14 is specifically configured to create a thread corresponding to the task flow through a thread configuration policy in an application framework of an autonomous driving computing platform; run the thread corresponding to the task flow.
[0136] A possible implementation, the management module 16 is used to manage the threads corresponding to the created task flows through the running policy and / or monitoring policy of the threads in the application framework of the autonomous driving computing platform.
[0137] A possible implementation, the configuration policy of the threads includes: the receiving and publishing relationships of data between task flows; the above-mentioned running module 14 is specifically used to obtain the callback interface and publishing interface of the data according to the receiving and publishing relationships of data between task flows by using the registered callback mechanism; use the data callback interface to obtain the input data of the threads corresponding to the task flows, and run the threads corresponding to the task flows to obtain the output data corresponding to the task flows; use the publishing interface to publish the output data corresponding to the task flows.
[0138] The vehicle control device provided by this application can execute the vehicle control method in the above method embodiments, and its implementation principle and technical effects are similar, which will not be elaborated here.
[0139] Figure 7 It is a schematic structural diagram of an electronic device provided by this application. As Figure 7 shown, the electronic device 300 may include: at least one processor 301 and a memory 302. The electronic device may be the aforementioned intelligent driving DCU.
[0140] The memory 302 is used to store programs. Specifically, the program may include program codes, and the program codes include computer operation instructions.
[0141] The memory 302 may include a high-speed RAM memory, and may also include non-volatile memory, such as at least one disk memory.
[0142] The processor 301 is used to execute the computer execution instructions stored in the memory 302 to implement the vehicle control method described in the above method embodiments. Among them, the processor 301 may be a central processing unit (abbreviated as CPU), or a specific integrated circuit (abbreviated as ASIC), or one or more integrated circuits configured to implement the embodiments of this application.
[0143] The electronic device 300 may further include a communication interface 303, and through the communication interface 303, it can communicate and interact with external devices. External devices may be, for example, computers, tablets, etc.
[0144] In terms of specific implementation, if the communication interface 303, the memory 302, and the processor 301 are implemented independently, the communication interface 303, the memory 302, and the processor 301 can be interconnected through a bus and communicate with each other. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc., but it does not mean that there is only one bus or one type of bus.
[0145] Optionally, in terms of specific implementation, if the communication interface 303, the memory 302, and the processor 301 are integrated on a single chip, the communication interface 303, the memory 302, and the processor 301 can communicate through an internal interface.
[0146] This application also provides a computer-readable storage medium, which may include: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disc. Specifically, the computer-readable storage medium stores computer-executable instructions for the vehicle control method in the above embodiments.
[0147] This application also provides a computer program product, which includes executable instructions stored in a readable storage medium. At least one processor of the electronic device 300 can read the executable instructions from the readable storage medium, and the execution of the executable instructions by at least one processor enables the electronic device 300 to implement the methods provided by the above various embodiments.
[0148] This application also provides a vehicle, which is provided with an intelligent driving DCU for implementing the vehicle control method in the above embodiments.
[0149] This application also provides a chip, on which a computer program is stored. When the computer program is executed by the chip, the methods provided by various embodiments are implemented.
[0150] Other embodiments of the present application will be readily apparent to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. The present application is intended to cover any variations, uses, or adaptations of the present application, which follow the general principles of the present application and include known common general knowledge or conventional technical means in the technical field not disclosed in the present application. The specification and examples are only illustrative, and the true scope and spirit of the present application are pointed out by the following claims.
[0151] It should be understood that the present application is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present application is only limited by the appended claims.
Claims
1. A vehicle control method, characterized in that, The vehicle is currently driving intelligently using a target intelligent driving function, and the method includes: Obtaining the state of the target state machine corresponding to the target intelligent driving function and chassis data; the target state machine is a driving state machine or a parking state machine; According to the state of the target state machine and the chassis data, obtaining the state of the algorithm state machine of at least one functional module corresponding to the target intelligent driving function; the state of the algorithm state machine is used to characterize the state of the functional module; Determining the task flow to be run by the functional module according to the state of the algorithm state machine; Running the task flow to obtain the running result of the task flow; Performing intelligent driving according to the running result of the task flow.
2. The method according to claim 1, characterized in that, The determining the task flow to be run by the functional module according to the state of the algorithm state machine includes: Determining the event to be run from the event library of the functional module according to the state of the algorithm state machine; the events in the event library include at least one operator directed graph; the operator directed graph is used to describe the operators required to execute the event and the execution order between the operators; According to the operator directed graph included in the event to be run, concatenating the identifiers of the operators to obtain the task flow to be run.
3. The method according to claim 2, wherein The running the task flow to obtain the running result of the task flow includes: Calling the operator corresponding to the operator identifier from the operator library according to the operator identifier in the task flow; Running the operators corresponding to the operator identifiers of the task flow to obtain the running result of the task flow.
4. The method according to claim 1, characterized in that, The obtaining the state of the algorithm state machine of at least one functional module corresponding to the target intelligent driving function according to the state of the target state machine and the chassis data includes: Obtaining the state of the algorithm state machine of at least one functional module corresponding to the target intelligent driving function from the state library according to the state of the target state machine and the chassis data; the state library pre-stores the mapping relationship between the state of the target state machine, the chassis data and the states of the algorithm state machines of multiple functional modules.
5. The method according to any one of claims 1 to 4, characterized in that, The running the task flow includes: Creating a thread corresponding to the task flow through the configuration strategy of the thread in the application framework of the autonomous driving computing platform; Running the thread corresponding to the task flow.
6. The method according to claim 5, characterized in that, The method further includes: Managing the thread corresponding to the created task flow through the running strategy and / or monitoring strategy of the thread in the application framework of the autonomous driving computing platform.
7. The method according to claim 5, characterized in that The configuration strategy of the thread includes: the receiving and publishing relationship of data between task flows; The running the thread corresponding to the task flow includes: Obtaining the callback interface and publishing interface of the data using the registered callback mechanism according to the receiving and publishing relationship of data between task flows; Using the data callback interface to obtain the input data of the thread corresponding to the task flow and running the thread corresponding to the task flow to obtain the output data corresponding to the task flow; Using the publishing interface to publish the output data corresponding to the task flow.
8. A vehicle control device, characterized in that, The vehicle is currently driving intelligently using a target intelligent driving function, and the device includes: A first acquisition module, configured to acquire the state of a target state machine corresponding to the target intelligent driving function and chassis data; the target state machine is a driving state machine or a parking state machine; A second acquisition module, configured to acquire the state of an algorithm state machine of at least one functional module corresponding to the target intelligent driving function according to the state of the target state machine and the chassis data; the state of the algorithm state machine is used to characterize the state of the functional module; A determination module, configured to determine a task flow to be run by the functional module according to the state of the algorithm state machine; A running module, configured to run the task flow to obtain a running result of the task flow; A processing module, configured to perform intelligent driving according to the running result of the task flow.
9. An electronic device, characterized in that, The electronic device includes: a processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the vehicle control method according to any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, Computer-executable instructions are stored in the computer-readable storage medium, and when the computer-executable instructions are executed by a processor, they are used to implement the vehicle control method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Automatic driving method, device and equipment based on universal data flow architecture
CN112249035A
Driving control instruction generation method, heterogeneous calculation method, related device and system
CN115220787A
Cited By
Vehicle control method and apparatus, device and readable storage medium
EP4707109A1
Vehicle control method and apparatus, device and readable storage medium
WO2025056028A1