CN117826774A - Autopilot system, device and method for autopilot system and vehicle - Google Patents

Autopilot system, device and method for autopilot system and vehicle Download PDF

Info

Publication number
CN117826774A
CN117826774A CN202211161035.4A CN202211161035A CN117826774A CN 117826774 A CN117826774 A CN 117826774A CN 202211161035 A CN202211161035 A CN 202211161035A CN 117826774 A CN117826774 A CN 117826774A
Authority
CN
China
Prior art keywords
module
output
program
input
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211161035.4A
Other languages
Chinese (zh)
Inventor
胡凤根
C·鲁哈默
张远
何荣华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to CN202211161035.4A priority Critical patent/CN117826774A/en
Publication of CN117826774A publication Critical patent/CN117826774A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

An autopilot system, an apparatus for an autopilot system, an autopilot system method, a vehicle, a non-transitory computer readable storage medium and a computer program product. The autopilot system includes a processor and a memory configured to store N-level program modules for implementing at least one autopilot function of a vehicle, the N-level program modules, when executed by the processor, cause the processor to perform operations comprising: acquiring a corresponding output indicator output from at least one program sub-module in the nth level program module; and determining availability of at least one autopilot function based on the respective output indicators.

Description

Autopilot system, device and method for autopilot system and vehicle
Technical Field
The present disclosure relates to the field of autopilot, in particular to autopilot systems, devices for autopilot systems, methods for autopilot systems, vehicles, non-transitory computer readable storage media and computer program products.
Background
At present, with the continuous development of automobile intellectualization, the automatic driving technology is also gradually and widely applied. The automatic driving of the vehicle is to collect the related information around and inside the vehicle by using the sensors, so that the vehicle can sense the surrounding environment and the vehicle state, and analyze the collected information by using the corresponding algorithm so as to make decisions on various driving operations of the vehicle and control the mechanical system of the vehicle according to different road conditions.
In order to better distinguish between different levels of autopilot technologies, the international society of automotive engineers (SAE International) divides autopilot technologies into six levels, namely L0, L1, L2, L3, L4 and L5, wherein the different levels correspond to different degrees of intellectualization, and the higher the level is, the more autopilot functions can be realized, and the more intelligent capability is. In order to accurately identify the real states of the environment and the vehicle, and cope with various driving states and emergency situations, so as to quickly and accurately make reasonable coping strategies, the software and hardware of the automatic driving system are always required to be continuously optimized and improved, and the optimization and improvement are required to be at the cost of higher cost and higher energy consumption, so that the development of the automatic driving technology is restricted.
The approaches described in this section are not necessarily approaches that have been previously conceived or pursued. Unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section. Similarly, the problems mentioned in this section should not be considered as having been recognized in any prior art unless otherwise indicated.
Disclosure of Invention
It would be advantageous to provide a mechanism that alleviates, mitigates or even eliminates one or more of the above problems.
According to an aspect of the present disclosure, there is provided an automatic driving system including: at least one processor; and at least one memory configured to store N-level program modules for implementing at least one autopilot function of the vehicle, each of the N-level program modules comprising at least one program sub-module, each program sub-module configured to process input data input to the program sub-module to generate output data output from the program sub-module, and map input indicators input to the program sub-module to output indicators output from the program sub-module, the input indicators indicating availability of the input data, and the output indicators indicating availability of the output data, wherein each program sub-module of the N-level program module receives, as input data and input indicators for the program sub-module, respective output data and respective output indicators output from one or more of the N-1-level program sub-modules, wherein N is a positive integer greater than 1, N is an integer and 1 < n.ltoreq.n, wherein the N-level program module, when executed by at least one processor, causes the at least one processor to perform operations comprising: acquiring a corresponding output indicator output from at least one program sub-module in the nth level program module; and determining availability of at least one autopilot function based on the acquired respective output indicators output from at least one program sub-module in the nth level of program modules.
According to another aspect of the present disclosure, there is provided an apparatus for an automatic driving system including N-level program modules for implementing at least one automatic driving function of a vehicle, each of the N-level program modules including at least one program sub-module, each program sub-module configured to process input data input to the program sub-module to generate output data output from the program sub-module, and map input indicators input to the program sub-module to output indicators output from the program sub-module, the input indicators indicating availability of the input data, and the output indicators indicating availability of the output data, wherein each of the N-level program sub-modules receives, as the input data and the input indicators of the program sub-module, the respective output data and the respective output indicators output from one or more of the N-1-th level program sub-modules, wherein N is a positive integer greater than 1 and N < N, the apparatus comprising: a first module for acquiring a corresponding output indicator output from at least one program sub-module in the nth level program module; and a second module for determining availability of at least one autopilot function based on the acquired respective output indicators output from at least one program sub-module in the nth level of program modules.
According to yet another aspect of the present disclosure there is provided a vehicle comprising an autopilot system as described above or an apparatus for an autopilot system as described above.
According to yet another aspect of the present disclosure, there is provided a method for an automatic driving system including N-level program modules for implementing at least one automatic driving function of a vehicle, each of the N-level program modules including at least one program sub-module, each program sub-module configured to process input data input to the program sub-module to generate output data output from the program sub-module, and map input indicators input to the program sub-module to output indicators output from the program sub-module, the input indicators indicating availability of the input data, and the output indicators indicating availability of the output data, wherein each of the N-th level program modules receives, as input data and input indicators for the program sub-module, the respective output data and the respective output indicators output from one or more of the N-th level program modules, where N is a positive integer greater than 1 and N < N. Acquiring a corresponding output indicator output from at least one program sub-module in the nth level program module; and determining availability of at least one autopilot function based on the acquired respective output indicators output from at least one program sub-module in the nth level of program modules.
According to yet another aspect of the present disclosure, there is provided a non-transitory computer readable storage medium having stored thereon a computer program, wherein the computer program, when executed by at least one processor of an autopilot system as described above, causes the at least one processor to implement a method for an autopilot system as described above.
According to yet another aspect of the present disclosure, there is provided a computer program product comprising a computer program which, when executed by at least one processor of an autopilot system as described above, causes the at least one processor to implement a method for autopilot as described above.
According to one or more embodiments of the present disclosure, the decision algorithm of the autopilot function is simplified by having each program sub-module in the N-level program module map a respective input indicator to a respective output indicator to indicate the availability of the output data, thereby determining the availability of the corresponding autopilot function.
These and other aspects of the disclosure will be apparent from and elucidated with reference to the embodiments described hereinafter.
Drawings
The accompanying drawings illustrate exemplary embodiments and, together with the description, serve to explain exemplary implementations of the embodiments. The illustrated embodiments are for exemplary purposes only and do not limit the scope of the claims. Like reference numbers refer to similar, but not necessarily identical, elements throughout the figures.
Fig. 1 is a schematic diagram illustrating an application scenario according to an exemplary embodiment;
FIG. 2 is a schematic block diagram illustrating an autopilot system in accordance with an exemplary embodiment;
FIG. 3 is a schematic block diagram illustrating a workflow of an autopilot system in accordance with an exemplary embodiment;
FIG. 4 is a schematic block diagram illustrating a workflow in which input indicators map to output indicators in a program submodule according to an example embodiment;
FIG. 5 is a schematic block diagram illustrating an apparatus for an autopilot system in accordance with an exemplary embodiment;
FIG. 6 is a flowchart illustrating a method for an autopilot system in accordance with an exemplary embodiment;
fig. 7 is a block diagram illustrating an exemplary electronic device that can be applied to exemplary embodiments.
Detailed Description
In the present disclosure, the use of the terms "first," "second," and the like to describe various elements is not intended to limit the positional relationship, timing relationship, or importance relationship of the elements, unless otherwise indicated, and such terms are merely used to distinguish one element from another. In some examples, a first element and a second element may refer to the same instance of the element, and in some cases, they may also refer to different instances based on the description of the context.
The terminology used in the description of the various illustrated examples in this disclosure is for the purpose of describing particular examples only and is not intended to be limiting. Unless the context clearly indicates otherwise, the elements may be one or more if the number of the elements is not specifically limited. As used herein, the term "plurality" means two or more, and the term "based on" should be interpreted as "based at least in part on". Furthermore, the term "and/or" and "at least one of … …" encompasses any and all possible combinations of the listed items.
It should be understood that the term "vehicle" or other similar terms as used herein generally include motor vehicles, such as passenger vehicles including passenger cars, sport Utility Vehicles (SUVs), buses, vans, various commercial vehicles, watercraft including various boats, ships, aircraft, etc., and include hybrid vehicles, electric vehicles, plug-in hybrid electric vehicles, hydrogen powered vehicles, and other alternative fuel vehicles (e.g., fuels derived from sources other than petroleum). In addition, as used herein, the term "instance" may refer to a specific occurrence of an object, which may occur, for example, during execution of program code.
Different autopilot levels correspond to different autopilot function combinations, each autopilot function may need to make different degrees of adjustment, such as degradation (e.g., auto cruise speed decreases from 100km/h to 60 km/h), or even deactivation (e.g., auto cruise function is turned off), in different scenarios. This requires that the autopilot system be able to make a quick and accurate determination of the change in condition of the environment or vehicle, and that various automated driving functions be used to a maximum extent under conditions of limited safety.
The conventional automatic driving system generally makes complex logic judgment according to various different sensor data under various working conditions to determine whether a certain automatic driving function needs to be degraded, because one automatic driving function may involve different environment or state parameters, namely, a plurality of sensor data and even state parameters of other automatic driving functions need to be used, when the logic judgment is made, a plurality of data combinations need to be faced, so that very high requirements are provided for the calculation power of the automatic driving system, meanwhile, the complexity of the algorithm is greatly increased, the potential risk of the algorithm is greatly hidden, and greater challenges are brought to the problems of functional safety, code maintenance and debugging and the like of automatic driving.
Embodiments of the present disclosure provide systems and methods for determining availability of an autopilot function. According to an embodiment of the present disclosure, each program sub-module is configured to map an input indicator indicative of the quality of the input data to an output indicator indicative of the quality of the output data. With this decentralised calculation, the calculation algorithm for the availability of the autopilot function can be simplified, making code maintenance and debugging simpler.
Exemplary embodiments of the present disclosure are specifically described below with reference to the accompanying drawings.
Fig. 1 shows a schematic diagram of an application scenario 100 according to an exemplary embodiment. As shown in fig. 1, the application scenario 100 may include an autopilot 110 (e.g., the vehicle shown in fig. 1), a network 120, a server 130, and a database 140.
Autopilot 110 may be coupled to various sensors, autopilot 110 including one or more sensors that sense the surrounding environment, such as a vision camera, infrared camera, ultrasonic sensor, millimeter wave radar, and laser radar (LiDAR). Different sensors may provide different detection accuracy and range. The camera may be mounted in front of, behind or other locations on the vehicle. The vision cameras can capture the conditions inside and outside the vehicle in real time and present them to the driver and/or passengers. In addition, by analyzing the captured images of the visual camera, information such as traffic light indication, intersection situation, other vehicle running state, etc. can be acquired. The infrared camera can capture objects under night vision. The ultrasonic sensor can be arranged around the vehicle and is used for measuring the distance between an object outside the vehicle and the vehicle by utilizing the characteristics of strong ultrasonic directivity and the like. The millimeter wave radar may be installed in front of, behind, or other locations of the vehicle for measuring the distance of an object outside the vehicle from the vehicle using the characteristics of electromagnetic waves. Lidar may be mounted in front of, behind, or other locations on the vehicle for detecting object edges, shape information for object identification and tracking. The radar apparatus may also measure a change in the speed of the vehicle and the moving object due to the doppler effect.
Autopilot 110 also includes one or more sensors that sense its state, such as satellite positioning sensors (e.g., GPS receivers, beidou navigation system receivers, etc.), speed sensors, inertial sensors (e.g., acceleration sensors and/or gyroscopes), direction sensors, image sensors, radar (e.g., lidar and/or millimeter wave radar), etc.
Using the sensed data acquired by the sensors mounted on the automatic driving object 110, the surrounding environment and the self state of the automatic driving object 110 can be perceived.
In some embodiments, autopilot 110 may further include at least one processor and memory. Autopilot 110 may process raw sensed data acquired by the sensor with a processor to derive autopilot functionality for the autopilot.
In some embodiments, autopilot 110 further includes a communication interface to send received sensed data and/or autopilot information determined based on the sensed data to server 130 via network 120 and to perform some or all of the steps of the methods provided herein by server 130. In some examples, the process of processing the detection data to determine the autopilot function of autopilot 110 may be performed by server 130. In some implementations, the server 130 may execute the methods provided herein using an application built into the server. In other implementations, the server 130 may perform the methods provided herein by invoking an application program stored external to the server.
Network 120 may be a single network or a combination of at least two different networks. For example, network 120 may include, but is not limited to, one or a combination of several of a local area network, a wide area network, a public network, a private network, and the like.
The server 130 may be a single server or a group of servers, each server within the group being connected via a wired or wireless network. A server farm may be centralized, such as a data center, or distributed. The server 130 may be local or remote.
Database 140 may refer broadly to a device having a storage function. Database 140 is primarily used to store various data utilized, generated, and output from the operation of autopilot 110 and server 130. Database 140 may be local or remote. The database 140 may include various memories such as random access Memory (Random Access Memory (RAM)), read Only Memory (ROM), and the like.
Database 140 may be interconnected or in communication with server 130 or a portion thereof via network 120, or directly with server 130, or a combination thereof. In some embodiments, database 140 may be a stand-alone device. In other embodiments, database 140 may also be integrated in at least one of autopilot 110 and server 130. For example, database 140 may be provided on autopilot 110 or server 130. For another example, database 140 may be distributed, with one portion being located on autopilot 110 and another portion being located on server 130.
Fig. 2 illustrates an autopilot system 200 in accordance with an exemplary embodiment. The autopilot system 200 includes at least one processor 210 and at least one memory 220. The at least one memory 220 is configured to store N-level program modules for implementing at least one autopilot function of the vehicle, where N is a positive integer greater than 1.
Fig. 3 shows a schematic diagram of a workflow 300 of an autopilot system in accordance with an exemplary embodiment. In the example of FIG. 3, N-level program modules 302 include N-level program modules coupled in a cascaded manner. Each level of program modules includes one or more program sub-modules, each program sub-module being configured to process input data input to the program sub-module to generate output data output from the program sub-module, and map input indicators input to the program sub-module to output indicators output from the program sub-module. The input indicator indicates availability of input data and the output indicator indicates availability of output data. Any one of the nth program modules receives the corresponding output data and corresponding output indicators of the data output of one or more of the nth program modules as input data and input indicators for that program module, processes the input data to generate output data output from that program module, and maps the input indicators input to that program module to the output indicators output from that program module, where N is an integer and 1 < n.ltoreq.N.
As shown in fig. 3, the level 1 program module includes three program sub-modules P11, P12 and P13, the level 2 program module includes four program sub-modules P21, P22, P23 and P24, the level 3 program module includes three program sub-modules P31, P32 and P33, …, and the level N program module includes three program sub-modules PN1, PN2 and PN3. The program sub-module P11 in the level 1 program module generates output data D11 and an output indicator Q11 to the next level after processing the input data. Similarly, the program sub-module P12 generates output data D12 and output indicator Q12 to the next stage, and the program sub-module P13 generates output data D13 and output indicator Q13 to the next stage. The program sub-module P21 in the program module of level 2 receives the output data D11 and the output indicator Q11 of the program sub-module P11 as input data and input indicator, the program sub-module P22 receives the corresponding output data D11, D12 and the corresponding output indicators Q11, Q12 outputted by the program sub-module P11 and the program sub-module P12 of the previous level as input data and input indicator, the program sub-module P23 receives the output data D12 and the output indicator Q12 of the program sub-module P12 as input data and input indicator, and the program sub-module P24 receives the output data D13 and the output indicator Q13 of the program sub-module P13 as input data and input indicator. After the second-stage program module finishes data processing, corresponding output data and output indicators are generated, the corresponding output data and the corresponding output indicators are used as input data and input indicators of the next stage according to the coupling relation between the program sub-modules, and the corresponding output data and the corresponding output indicators are processed step by step until reaching the program sub-module in the Nth-stage program module in the cascading mode.
The N-level program module 302, when executed by the processor 303, causes the processor 303 to perform operations comprising:
acquiring a corresponding output indicator output from at least one program sub-module in the nth level program module; and
the availability of at least one autopilot function is determined based on the acquired respective output indicators output from at least one program sub-module in the nth level of program modules.
As shown in fig. 3, the processor 303 includes an indicator acquisition module 3031 and an automatic driving function determination module 3032. The indicator acquisition module 3031 is configured to acquire a corresponding output indicator output by at least one program sub-module in the nth program module of the N-level program modules 302. In one example, the indicator acquisition module 3031 acquires the output indicator QN1 of the program sub-module PN1, the output indicator QN2 of the program sub-module PN2, and the output indicator QN3 of the program sub-module PN 3. The autopilot function determining module 3031 is configured to determine availability of a corresponding autopilot function according to the respective output indicators acquired by the indicator acquiring module 3031.
In this context, the term "availability of data" refers to an evaluation index of whether data, when processed by a current program sub-module, enables the current program sub-module to perform a processing task or the degree of completion of the processing task. In an example, the input indicator and the output indicator may employ valid, partially valid, and invalid to indicate availability of input data or output data. In the following, an output indicator is taken as an example to illustrate that the output indicator indicates that the output data is valid, and that the current program submodule performs processing according to the input data to realize all processing tasks. The output indicator indicates that the output data portion is valid, indicating that the current program submodule is capable of performing a portion of the processing task by processing according to the input data. The output indicator indicates that the output data is invalid, indicating that the current program sub-module is capable of failing to implement the processing task by processing according to the input data.
Similarly, the term "availability of an autopilot function" refers to the degree to which the autopilot function is achievable. In an example, availability of the autopilot function is identified by availability, partial availability, and unavailability. The autopilot function availability indicates that the processor 303 determines that the current data satisfies implementation of the autopilot function based on the received output indicator of at least one program sub-module in the corresponding nth level program module. The autopilot functionality portion may be implemented with a portion indicating that the processor 303 determines that the current data is only satisfactory for autopilot functionality based on the received output indicator of at least one program sub-module in the corresponding nth level program module. The automatic driving function unavailable indication processor 303 determines that the current data cannot satisfy the implementation of the automatic driving function according to the received output indicator of at least one program sub-module in the corresponding nth stage program module.
It will be appreciated that the number of program sub-modules of each of the N-level program modules and the coupling relationship between program sub-modules of adjacent levels in fig. 3 are merely exemplary illustrations and are not limiting of the present disclosure. The autopilot function determination module may be a stand-alone module for determining a particular autopilot function or may be an integrated module for determining a plurality of autopilot functions. The present disclosure is not limited in this regard.
According to an embodiment of the present disclosure, each program sub-module in the N-level program module maps an input indicator to an output indicator according to a processing condition of input data and then transmits the output indicator to a program sub-module in a next level. In this way, the availability of the autopilot function may be determined by a decentralised mechanism, simplifying the algorithm for autopilot function availability, making code maintenance and debugging simpler.
According to some embodiments, each of the N-level program sub-modules is configured to map an input indicator input to the program sub-module to an output indicator output from the program sub-module according to a preset mapping rule.
Fig. 4 shows a schematic block diagram of a workflow 400 in which input indicators map to output indicators in program sub-modules according to an exemplary embodiment. As shown in fig. 4, the program sub-module maps the received input indicator 401 to the output indicator 403 according to the preset mapping rule 402 and outputs the output indicator.
It is understood that the preset mapping rule may be a mapping matrix set in advance in the program submodule. By presetting the mapping rule, different program sub-modules can use the same degradation processing program to execute the step of mapping the input indicator into the output indicator according to indicator mapping matrixes defined by different sub-modules, and each program sub-module mapping matrix and the degradation processing program for independently processing the mapping matrixes are beneficial to simplifying the identification and mapping of each program sub-module to the input indicator and the output indicator, avoiding error reporting caused by logic confusion of the program, further influencing the availability judgment of an automatic driving system and improving the reliability of the program.
According to some embodiments, as shown in fig. 4, for each program sub-module in the N-level program module, an input indicator 401 indicates availability status including one of: the input data to the program sub-module is valid 4011, the input data portion to the program sub-module is valid 4012, or the input data to the program sub-module is invalid 4013. The preset mapping rules 402 include:
first mapping rule 4021: in response to the input indicator 401 indicating that the input data input to the program sub-module is valid 4011, the input indicator 401 is mapped to the output indicator 403, and the output indicator 403 indicates that the output data output from the program sub-module is valid 4031.
Second mapping rule 4022: in response to the input indicator 401 indicating that the input data portion inputted to the program sub-module is valid 4012, the input indicator 401 is mapped to an output indicator 403 depending on a result of processing of the input data by the program sub-module, and the output indicator 403 indicates that the output data outputted from the program sub-module is valid 4031, the output data portion is valid 4032, or the output data is invalid 4033.
Third mapping rule 4023: in response to the input indicator 401 indicating that the input data input to the program sub-module is invalid 4013, the input indicator 401 is mapped to an output indicator 403, the output indicator 403 indicating that the output data output from the program sub-module is invalid 4033 or the output data portion is valid 4032.
It will be appreciated that when an input indicator indicates that input data to a program sub-module is valid, meaning that the current input data is able to meet the task processing requirements of the previous level program sub-module, such input indicator may be mapped to an output indicator indicating that output data is valid. When the input indicator indicates that the input data to the program sub-module is invalid, it means that the current input data cannot meet the task processing requirement of the upper level program sub-module, but may not meet the processing requirement of the current program sub-module, or may not meet the processing requirement as the upper level program sub-module, so such input indicator may be mapped as an output indicator indicating that the output data is invalid or that the output data is partially valid. When the input indicator indicates that the input data input to the program sub-module is partially valid, which means that the current input data can meet the partial requirement of the task processing of the upper-level program sub-module, the input data needs to be further judged according to the processing result of the current-level program sub-module, and the output indicators indicating that the output data is valid, partially valid or invalid are mapped respectively according to the different processing results. Therefore, the validity of the data can be further judged by combining the processing task of the current program sub-module, and the indication accuracy of the output indicator is improved.
According to some embodiments, as shown in fig. 4, the second mapping rule 4022 includes:
first sub-rule 4023: in response to the processing result being that the processing is completed, the input indicator 401 is mapped to an output indicator 403, the output indicator 403 indicating that the output data output from the program sub-module is valid 4031.
Second sub-rule 4024: in response to the processing result being the processing portion complete, the input indicator 401 is mapped to an output indicator 403, the output indicator 403 indicating that the output data portion output from the program sub-module is valid 4032.
Third sub-rule 4025: in response to the processing result being that the processing cannot be completed, the input indicator 401 is mapped to an output indicator 403, the output indicator 403 indicating that the output data output from the program sub-module is invalid 4033.
It can be understood that if the current program submodule processes the input data to complete the preset processing task, this means that the current input data meets the requirement of the current program submodule, and the output indicator mapped by the program submodule indicates that the output data is valid. If the current program sub-module processes the input data, only a preset processing task can be partially completed, which means that the current input data is only partially available, and the mapped output indicator indicates that the output data is partially valid. If the current program sub-module processes the input data, the preset processing task cannot be completed, which means that the current input data is not available, and the mapped output indicator indicates that the output data is invalid.
It will be appreciated that the above mapping rules are an illustrative example and are not intended to limit the scope of the present disclosure, and that the person skilled in the art may vary the above rules according to the actual situation.
According to some embodiments, the output indicator further comprises an extension indicator. The extension indicator is used for recording the reason that the output data is invalid or partially valid in response to the output indicator indicating that the output data output from the program sub-module is invalid or partially valid.
The reasons that the output data are invalid or partially valid are recorded through the expansion indicator, the reasons of the data abnormality can be recorded in time and transmitted to the lower stage step by step through the output indicator, analysis basis is provided for subsequent code maintenance or data debugging, the program maintenance cost is reduced, the reasons of the data abnormality can be displayed on the terminal through the interaction device, and the man-machine interaction experience of the automatic driving system is improved.
Each program sub-module of the N-level program modules comprises a mapping matrix as a preset mapping rule, and each program sub-module of the N-level program modules is configured to perform the mapping with a respective instance of the same autopilot function manager according to the respective mapping matrix.
It will be appreciated that, because the processing tasks are different for different program sub-modules, the requirements for the input data are different, so that the preset mapping matrix corresponding to each program sub-module can be set according to the requirements of the actual processing task of the program sub-module, and the mapping is executed by the same autopilot function management program, so as to obtain whether the current autopilot function needs to be adjusted, such as downgraded. The corresponding instance of the autopilot function management program may be the same program execution units distributed in each program sub-module, so as to implement mapping according to a mapping matrix preset by each program sub-module, and further reflect the influence of the current data on each program sub-module and the availability of the corresponding autopilot function according to the mapping result.
The mapping is executed through the corresponding instance of the same automatic driving function management program, so that the automatic driving function management program can be multiplexed in each program sub-module, the availability of the output data of the program sub-modules in each hierarchy is determined in a decentralization calculation mode, the availability of the corresponding automatic driving function is indicated, the mapping method is suitable for mapping execution of mapping matrixes set by the program sub-modules based on different processing tasks, and the judgment logic of the automatic driving function is simplified.
According to some embodiments, as shown in fig. 3, each of the program sub-modules P11, P12 and P13 in the level 1 program module in the level N program module 302 receives as input data and input indicators of the program sub-module, respective sensed data and respective data indicators output from one or more in-vehicle sensors S1, S2, …, sm in the vehicle-mounted sensor unit 301, the respective data indicators indicating the availability of the respective sensed data.
After the vehicle-mounted sensor collects the sensing data, the vehicle-mounted sensor can make an identification according to the availability of the sensing data, the identification is used as a data indicator output by the vehicle-mounted sensor, and the sensing data and the data indicator are output to a program sub-module in the 1 st-stage program module. In one example, the program sub-module P11 receives the sensing data D1, the data indicator Q1, and the sensing data D2, the data indicator Q2, and the data indicator Qm output by the in-vehicle sensor S1, the program sub-module P12 receives the sensing data D2, the data indicator Q2, and the data indicator Q2 output by the in-vehicle sensor S2, and the program sub-module P13 receives the sensing data D2, the data indicator Q2, and the sensing data Dm, the data indicator Qm output by the in-vehicle sensor Sm.
By way of example and not limitation, the vehicle-mounted sensor may be a sensor that senses the surrounding environment, such as a vision camera, an infrared camera, an ultrasonic sensor, a millimeter wave radar, and a laser radar (LiDAR), or may be a sensor that senses the state of a vehicle, such as a satellite positioning sensor (e.g., a GPS receiver, a beidou navigation system receiver, etc.), a speed sensor, an inertial sensor (e.g., an acceleration sensor and/or a gyroscope), a direction sensor, an image sensor, a radar (e.g., a laser radar and/or a millimeter wave radar), and so forth.
According to some embodiments, the operations performed by the at least one processor 303 further comprise: and causing an actuator of the vehicle to take a corresponding action based on the determined availability of the at least one autopilot function.
In the example of fig. 3, the processor 303 further includes an execution control unit 3033, and the execution control unit 3033 generates a corresponding control instruction according to the availability of the corresponding autopilot function determined by the autopilot function determining module 3032 and outputs the control instruction to an execution mechanism of the vehicle. The corresponding action is performed by the actuator.
According to some embodiments, in accordance with the determined availability of the at least one autopilot function, causing an actuator of the vehicle to take a corresponding action includes at least one of:
(i) Responsive to determining that at least one autopilot function is available, causing an actuator of the vehicle to maintain or enable the at least one autopilot function;
(ii) Responsive to determining that the at least one autopilot function portion is available, causing an actuator of the vehicle to perform the degraded at least one autopilot function;
(iii) In response to determining that at least one autopilot function is not available, an actuator of the vehicle is deactivated at least one autopilot function.
It may be appreciated that when the automatic driving function determining module in the processor in the automatic driving system determines that one or more automatic driving functions are partially available, it indicates that the current automatic driving system determines that the current data cannot fully support the vehicle to drive according to the one or more automatic driving functions, and then the automatic driving system performs degradation processing on the one or more automatic driving functions, so that the current data can meet the degraded implementation of the automatic driving functions.
Fig. 5 is a diagram illustrating an apparatus 500 for an autopilot system in accordance with an exemplary embodiment. The autopilot system includes N-level program modules for implementing at least one autopilot function of the vehicle, each of the N-level program modules including at least one program sub-module, each program sub-module configured to process input data input to the program sub-module to generate output data output from the program sub-module, and map input indicators input to the program sub-module to output indicators output from the program sub-module, the input indicators indicating availability of the input data, and the output indicators indicating availability of the output data, wherein each program sub-module of the N-th level program module receives the respective output data and the respective output indicators output from one or more of the N-1-th level program modules as the input data and the input indicators of the program sub-module, wherein N is a positive integer greater than 1, N is an integer and 1 < n.ltoreq.n.
The apparatus 500 includes a first module 510 and a second module 520. The first module 510 is configured to obtain a corresponding output indicator output from at least one program sub-module in the nth level of program modules. The second module 520 is configured to determine availability of at least one autopilot function based on the acquired respective output indicators from at least one program sub-module in the nth level of program modules.
Although specific functions are discussed above with reference to specific modules, it should be noted that the functions of the various modules discussed herein may be divided into multiple modules and/or at least some of the functions of the multiple modules may be combined into a single module. The particular module performing the actions discussed herein includes the particular module itself performing the actions, or alternatively the particular module invoking or otherwise accessing another component or module that performs the actions (or performs the actions in conjunction with the particular module). Thus, a particular module that performs an action may include that particular module itself that performs the action and/or another module that the particular module invokes or otherwise accesses that performs the action.
It should also be appreciated that various techniques may be described herein in the general context of software hardware elements or program modules. The various modules described above with respect to fig. 5 may be implemented in hardware or in hardware in combination with software and/or firmware. For example, the modules may be implemented as computer program code/instructions configured to be executed in one or more processors and stored in a computer-readable storage medium. Alternatively, these modules may be implemented as hardware logic/circuitry.
According to an aspect of the present disclosure, there is provided a vehicle comprising any one of the autopilot systems described above or any one of the devices for autopilot systems described above.
Fig. 6 is a flowchart illustrating a method 600 for an autopilot system including N-level program modules for implementing at least one autopilot function of a vehicle, each of the N-level program modules including at least one program sub-module, each program sub-module configured to process input data input to the program sub-module to generate output data output from the program sub-module and map input indicators input to the program sub-module to output indicators output from the program sub-module, the input indicators indicating availability of the input data and the output indicators indicating availability of the output data, wherein each of the N-th level program modules receives the respective output data and the respective output indicators output from one or more of the N-1-th level program modules as the input data and the input indicators of the program sub-module, wherein N is a positive integer greater than 1 and N < n.ltoreq.n.
The method 600 for an autopilot system includes:
step 610: a respective output indicator output from at least one program sub-module in the nth level of program modules is obtained.
Step 620: the availability of at least one autopilot function is determined based on the acquired respective output indicators output from at least one program sub-module in the nth level of program modules.
Although the operations are depicted in the drawings in a particular order, this should not be understood as requiring that the operations be performed in the particular order shown or in sequential order, nor should it be understood that all illustrated operations must be performed in order to achieve desirable results. It should be appreciated that the operations, details and advantages described above with respect to an autopilot system are equally applicable to the method for an autopilot system. For brevity, these operations, details and advantages are not described in detail herein.
According to an aspect of the present disclosure, there is provided a non-transitory computer readable storage medium having stored thereon a computer program for execution by an autopilot system having at least one processor, wherein the computer program, when executed by the at least one processor, causes the autopilot system to implement any one of the methods for autopilot systems described above.
According to an aspect of the present disclosure, there is provided a computer program product comprising a computer program for execution by an autopilot system having at least one processor, wherein the computer program, when executed by the at least one processor, causes the autopilot system to implement any one of the methods for an autopilot system described above.
Fig. 7 illustrates an example configuration of an electronic device 700 that may be used to implement various embodiments described herein. The apparatus 500 for an autopilot system or autopilot system 200 described above may be implemented, in whole or at least in part, by an electronic device 700 or similar device or system.
Electronic device 700 may include elements that are connected to bus 702 (possibly via one or more interfaces) or that communicate with bus 702. For example, electronic device 700 may include bus 702, one or more processors 704, one or more input devices 706, and one or more output devices 708. The one or more processors 704 may be any type of processor and may include, but is not limited to, one or more general purpose processors and/or one or more special purpose processors (e.g., special processing chips). The one or more processors 704 are examples of the processor 210 or the processor 303 described above. Input device 706 may be any type of device capable of inputting information to electronic device 700 and may include, but is not limited to, a mouse, a keyboard, a touch screen, a microphone and/or remote control, an in-vehicle sensor. Output device 708 may be any type of device capable of presenting information and may be packaged Including but not limited to a display, speakers, video/audio output terminals, and/or vibrators. Electronic device 700 may also include, or be connected to, a non-transitory storage device 710, which may be any storage device that is non-transitory and that may enable data storage, and may include, but is not limited to, magnetic disk drives, optical storage devices, solid-state memory, floppy diskettes, flexible disks, hard disks, magnetic tape, or any other magnetic medium, optical disks or any other optical medium, ROM (read-only memory), RAM (random access memory), cache memory, and/or any other memory chip or cartridge, and/or any other medium from which a computer may read data, instructions, and/or code. The non-transitory storage device 710 may be detachable from the interface. The non-transitory storage device 710 may have data/program (including instructions)/code for implementing the methods and steps described above. The electronic device 700 may also include a communication device 712. The communication device 712 may be any type of device or system that enables communication with external devices and/or with a network, and may include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication device, and/or a chipset, such as bluetooth TM Devices, 1302.11 devices, wiFi devices, wiMax devices, cellular communication devices, and/or the like.
When the electronic device 700 is used as an in-vehicle system, the electronic device 700 may also be connected to an external device, such as a GPS receiver, a sensor for sensing different environmental data (such as an acceleration sensor, a wheel speed sensor, a gyroscope), or the like. In this way, the electronic device 700 may, for example, receive position data and sensor data indicative of a driving situation of the vehicle. When the electronic apparatus 700 is used as an in-vehicle system, the electronic apparatus 700 may also be connected to other facilities (such as an engine system, a wiper, a brake antilock system, and the like) for controlling running and operation of the vehicle.
In addition, the non-transitory storage device 710 may have map information and software elements so that the processor 704 may perform route guidance processing. In addition, the output device 706 may include a display for displaying a map, a position marker of the vehicle, and an image indicating a driving situation of the vehicle. The output device 706 may also include a speaker or interface with headphones for audio guidance.
Bus 702 may include, but is not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus. In particular, for an in-vehicle system, bus 702 may include a Controller Area Network (CAN) bus or other architecture designed for use in automotive applications.
Electronic device 700 may also include a working memory 714, which may be any type of working memory that may store programs (including instructions) and/or data useful for the operation of processor 704, and may include, but is not limited to, random access memory and/or read-only memory devices.
Software elements (programs) may reside in the working memory 714 including, but not limited to, an operating system 716, one or more application programs 718, drivers, and/or other data and code. Instructions for performing the above-described methods and steps may be included in one or more application programs 718 and may be read and executed by the processor 704. Executable code or source code of instructions of software elements (programs) may be stored in a non-transitory computer readable storage medium (such as the storage device 710 described above) and may be stored in the working memory 714 (possibly compiled and/or installed) when executed. Executable code or source code for instructions of software elements (programs) may also be downloaded from a remote location.
It should also be understood that various modifications may be made according to specific requirements. For example, custom hardware may also be used, and/or processors described herein may be implemented in hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. For example, some or all of the disclosed methods and apparatus may be implemented by programming hardware (e.g., programmable logic circuits including Field Programmable Gate Arrays (FPGAs) and/or Programmable Logic Arrays (PLAs)) in an assembly language or hardware programming language such as VERILOG, VHDL, c++ using logic and algorithms according to the present disclosure. As used herein, the term processor may be a general purpose processor, a microprocessor, a controller, a microcontroller, a state machine, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. For example, a processor may be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
It should also be appreciated that the foregoing method may be implemented by a server-client mode. For example, a client may receive data entered by a user and send the data to a server. The client may also receive data input by the user, perform a part of the foregoing processes, and send the processed data to the server. The server may receive data from the client and perform the aforementioned method or another part of the aforementioned method and return the execution result to the client. The client may receive the result of the execution of the method from the server and may present it to the user, for example, via an output device.
It should also be appreciated that the components of the electronic device 700 may be distributed over a network. For example, some processes may be performed using one processor while other processes may be performed by another processor remote from the one processor. Other components of computing system 700 may be similarly distributed. As such, the electronic device 700 may be interpreted as a distributed computing system that performs processing in multiple locations.
Although embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it is to be understood that the foregoing methods, systems, and apparatus are merely illustrative embodiments or examples and that the scope of the present disclosure is not limited by these embodiments or examples but only by the claims following the grant and their equivalents. Various elements of the embodiments or examples may be omitted or replaced with equivalent elements thereof. Furthermore, the steps may be performed in a different order than described in the present disclosure. Further, various elements of the embodiments or examples may be combined in various ways. It is important that as technology evolves, many of the elements described herein may be replaced by equivalent elements that appear after the disclosure.

Claims (14)

1. An autopilot system comprising:
at least one processor; and
at least one memory configured to store N-level program modules for implementing at least one autopilot function of a vehicle, each of the N-level program modules including at least one program sub-module, each of the program sub-modules configured to process input data input thereto to generate output data output from the program sub-module and map input indicators input thereto to output indicators output from the program sub-module, the input indicators indicating availability of the input data, and the output indicators indicating availability of the output data, wherein each of the program sub-modules of an nth level program module receives, as input data and input indicators for the program sub-module, the respective output data and the respective output indicators output from one or more of the program sub-modules of an nth-1 level program module, wherein N is a positive integer greater than 1, N is an integer and 1 < n.ltoreq.N,
wherein the N-level program module, when executed by the at least one processor, causes the at least one processor to perform operations comprising:
Acquiring a corresponding output indicator output from at least one program sub-module in the nth level program module; and
the availability of the at least one autopilot function is determined based on the acquired respective output indicators output from the at least one program sub-module in the nth level program module.
2. The autopilot system of claim 1 wherein each program sub-module of the N-level program module is configured to map an input indicator input to the program sub-module to an output indicator output from the program sub-module according to a preset mapping rule.
3. The autopilot system of claim 2 wherein, for each program sub-module in the N-level program module, the input indicator indicates an availability status that includes one of: the input data input to the program sub-module is valid, the input data portion input to the program sub-module is valid, or the input data input to the program sub-module is invalid, and the preset mapping rule includes:
responsive to the input indicator indicating that input data input to the program sub-module is valid, mapping the input indicator to the output indicator, the output indicator indicating that output data output from the program sub-module is valid;
Mapping the input indicator to the output indicator in response to the input indicator indicating that input data to the program sub-module is invalid, the output indicator indicating that output data output from the program sub-module is invalid or that a portion of the output data is valid;
in response to the input indicator indicating that the portion of the input data input to the program sub-module is valid, the input indicator is mapped to the output indicator indicating that the output data output from the program sub-module is valid, partially valid or invalid, depending on the processing result of the input data by the program sub-module.
4. The autopilot system of claim 3 wherein said mapping the input indicator to the output indicator dependent upon the processing result of the input data by the program submodule includes:
mapping the input indicator to the output indicator in response to the processing result being processing completion, the output indicator indicating that output data output from the program sub-module is valid;
in response to the processing result being a processing portion complete, mapping the input indicator to the output indicator, the output indicator indicating that the portion of output data output from the program sub-module is valid,
And in response to the processing result being that the processing cannot be completed, mapping the input indicator to the output indicator, wherein the output indicator indicates that the output data output from the program sub-module is invalid.
5. The autopilot system of claim 3 wherein the output indicator further includes an extension indicator for recording a reason why output data output from the program sub-module is invalid or partially valid in response to the output indicator indicating that the output data is invalid or partially valid.
6. The autopilot system of claim 2 wherein each program sub-module of the N-level program modules includes a mapping matrix as the preset mapping rule, and each program sub-module of the N-level program modules is configured to perform the mapping with a corresponding instance of the same autopilot function manager according to the respective mapping matrix.
7. The autopilot system of any one of claims 1-6 wherein each of the level 1 program sub-modules of the level N program modules receives as input data and input indicators for that program sub-module respective sensed data and respective data indicators output from one or more onboard sensors mounted on the vehicle, the respective data indicators indicating availability of the respective sensed data.
8. The autopilot system of any one of claims 1-6 wherein the operations further comprise:
and causing an actuator of the vehicle to take a corresponding action based on the determined availability of the at least one autopilot function.
9. The autopilot system of claim 8 wherein the causing an actuator of the vehicle to take a corresponding action in accordance with the determined availability of the at least one autopilot function comprises:
responsive to determining that the at least one autopilot function is available, causing an actuator of the vehicle to maintain or enable the at least one autopilot function;
responsive to determining that the at least one autopilot function portion is available, causing an actuator of the vehicle to perform the degraded at least one autopilot function;
responsive to determining that the at least one autopilot function is not available, disabling the at least one autopilot function by an actuator of the vehicle.
10. An apparatus for an autopilot system comprising N-level program modules for implementing at least one autopilot function of a vehicle, each of the N-level program modules comprising at least one program sub-module, each of the program sub-modules being configured to process input data input to the program sub-module to generate output data output from the program sub-module and map input indicators input to the program sub-module to output indicators output from the program sub-module, the input indicators indicating availability of the input data and the output indicators indicating availability of the output data, wherein each of the program sub-modules of the N-level program modules receives as input data and input indicators for the program sub-module respective output data and respective output indicators output from one or more of the program sub-modules of the N-level program module, wherein N is a positive integer greater than 1 and N is an integer greater than 1 and N < N,
The device comprises:
a first module for acquiring a corresponding output indicator output from at least one program sub-module in the nth level program module; and
a second module for determining availability of the at least one autopilot function based on the acquired respective output indicators output from the at least one program sub-module in the nth level program module.
11. A vehicle comprising an autopilot system according to any one of claims 1 to 9 or a device for an autopilot system according to claim 10.
12. A method for an autopilot system, the autopilot system comprising N-level program modules for implementing at least one autopilot function of a vehicle, each of the N-level program modules comprising at least one program sub-module, each of the program sub-modules being configured to process input data input to the program sub-module to generate output data output from the program sub-module and map input indicators input to the program sub-module to output indicators output from the program sub-module, the input indicators indicating availability of the input data and the output indicators indicating availability of the output data, wherein each of the program sub-modules of the N-level program module receives as input data and input indicators for the program sub-module respective output data and respective output indicators output from one or more of the program sub-modules of the N-level program module, wherein N is a positive integer greater than 1 and N is an integer and 1 < N,
The method comprises the following steps:
acquiring a corresponding output indicator output from at least one program sub-module in the nth level program module; and
the availability of the at least one autopilot function is determined based on the acquired respective output indicators output from the at least one program sub-module in the nth level program module.
13. A non-transitory computer readable storage medium having stored thereon a computer program for execution by an autopilot system having at least one processor, wherein the computer program when executed by the at least one processor causes the autopilot system to implement the method of claim 12.
14. A computer program product comprising a computer program for execution by an autopilot system having at least one processor, wherein the computer program, when executed by the at least one processor, causes the autopilot system to implement the method of claim 12.
CN202211161035.4A 2022-09-22 2022-09-22 Autopilot system, device and method for autopilot system and vehicle Pending CN117826774A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211161035.4A CN117826774A (en) 2022-09-22 2022-09-22 Autopilot system, device and method for autopilot system and vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211161035.4A CN117826774A (en) 2022-09-22 2022-09-22 Autopilot system, device and method for autopilot system and vehicle

Publications (1)

Publication Number Publication Date
CN117826774A true CN117826774A (en) 2024-04-05

Family

ID=90508267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211161035.4A Pending CN117826774A (en) 2022-09-22 2022-09-22 Autopilot system, device and method for autopilot system and vehicle

Country Status (1)

Country Link
CN (1) CN117826774A (en)

Similar Documents

Publication Publication Date Title
CN109421738B (en) Method and apparatus for monitoring autonomous vehicles
JP7003660B2 (en) Information processing equipment, information processing methods and programs
CN109416873B (en) Autonomous or partially autonomous motor vehicle with automated risk control system and corresponding method
CN110796007B (en) Scene recognition method and computing device
JP2017521745A (en) In-vehicle device that informs vehicle navigation module of presence of object
US20200108835A1 (en) Server, information processing method, and non-transitory storage medium storing program
US10967859B2 (en) Vehicle control apparatus and vehicle control method
US20220024483A1 (en) Autonomous vehicle and drone-based emergency response method thereof
CN116783462A (en) Performance test method of automatic driving system
CN114184218A (en) Method, device and storage medium for testing a sensor system of a motor vehicle
CN113829994B (en) Early warning method and device based on car external whistling, car and medium
US11511735B2 (en) Signal processing apparatus and signal processing method
CN117826774A (en) Autopilot system, device and method for autopilot system and vehicle
US11636692B2 (en) Information processing device, information processing system, and recording medium storing information processing program
CN115366900A (en) Vehicle fault detection method and device, vehicle and storage medium
CN114323693A (en) Test method, device, equipment and storage medium for vehicle road cloud perception system
CN114333414A (en) Parking yield detection device, parking yield detection system, and recording medium
US20220105958A1 (en) Autonomous driving apparatus and method for generating precise map
US11990038B2 (en) Control device, moving body, control method, and storage medium
US11657712B2 (en) Method and system for searching for route using road-shoulder parking state information
US20240161623A1 (en) Driving support device
US20220262134A1 (en) Recognition device, moving object, recognition method, and storage medium
US20230150493A1 (en) Preceding vehicle selection device, preceding vehicle selection method, and non-transitory recording medium
CN116913132B (en) Forward collision early warning system based on domain centralized architecture
US20230401979A1 (en) Driving diagnostic device, driving diagnostic system, machine learning device and generation method of learned model

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination