CN115933504A - Travel control system, travel control method, and travel control device - Google Patents

Travel control system, travel control method, and travel control device Download PDF

Info

Publication number
CN115933504A
CN115933504A CN202310243525.7A CN202310243525A CN115933504A CN 115933504 A CN115933504 A CN 115933504A CN 202310243525 A CN202310243525 A CN 202310243525A CN 115933504 A CN115933504 A CN 115933504A
Authority
CN
China
Prior art keywords
processor
target
algorithm
processors
running
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.)
Granted
Application number
CN202310243525.7A
Other languages
Chinese (zh)
Other versions
CN115933504B (en
Inventor
张清
张俊发
张晶威
丁志富
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310243525.7A priority Critical patent/CN115933504B/en
Publication of CN115933504A publication Critical patent/CN115933504A/en
Application granted granted Critical
Publication of CN115933504B publication Critical patent/CN115933504B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Safety Devices In Control Systems (AREA)

Abstract

The embodiment of the application provides a driving control system, a driving control method and a driving control device, wherein the driving control system comprises: a first processor and a plurality of second processors, the first processor being connected to each of the second processors, respectively, wherein: the system comprises a first processor, a second processor and a third processor, wherein the first processor is used for determining a target algorithm corresponding to a target driving control scene under the condition that driving equipment needs to be controlled to drive according to the target driving control scene, and screening a main processor and a secondary processor which are used for operating the target algorithm from a plurality of second processors, and the main processor is used for operating the target algorithm and outputting a target operation result; and the first processor is also used for acquiring a target operation result and generating a running control instruction for the running equipment according to the target operation result. Through the method and the device, the problem that the control efficiency of the driving control system to the driving equipment is low is solved, and the effect of improving the control efficiency of the driving control system to the driving equipment is achieved.

Description

Travel control system, travel control method, and travel control device
Technical Field
The embodiment of the application relates to the field of data processing, in particular to a driving control system, a driving control method and a driving control device.
Background
Autonomous driving, i.e., intelligent driving in which a vehicle uses sensors and a computer system to perform unmanned operation, has been in the 20 th century for decades, and has been in a trend close to practical use in the beginning of the 21 st century. With the continuous development of technologies such as computers, pattern recognition, artificial intelligence and the like, more and more computer control technologies are applied to automobiles, and an automatic driving technology is formed, and becomes a hot spot concerned by the public in the current society. According to SAE J3016 standard established by the american society of international automotive engineers in 2014, an automotive automation system can be classified into six levels, L0 (no automation), L1 (driving assistance), L2 (partial automation), L3 (conditional automation), L4 (highly automation), and L5 (fully automation). This standard has not only been adopted by the U.S. department of transportation as a federal standard, but has also become a common standard for the global automotive industry to assess autopilot ratings. The automatic driving system in the industry at present is mainly an L4-level automobile automatic system, the driving decision of the automatic driving system is mainly controlled by an automobile and not controlled by people, the automatic driving system needs to run on a vehicle-mounted computing system with higher precision, better and reliable perception, decision planning and control algorithm, and the automatic driving system needs to be supported by a 100-1000TOPS (processor arithmetic capability unit) high-computation platform. At present, the automatic driving algorithm of more car factories continues the ecological development of the NVIDIA technology, but a high-computing-power chip of the NVIDIA conforming to the car specifications is not produced in quantity, a vehicle-mounted computing system mainly adopts a mode of a Central Processing Unit (CPU) + a GPU (Graphics Processing Unit ) industrial computer and an NVIDIA Jetson Xavier embedded computing module, the CPU + GPU industrial computer computing system can provide high computing power but cannot meet the requirement of vehicle-mounted reliability, in order to improve the safety and reliability of the system, a common method is to adopt a multiplex control computer to carry out fault-tolerant computing, namely, a plurality of industrial computers are redundant, when one industrial computer fails, other industrial computers arranged in the redundant control computer can work by replacing the failed industrial computer, the mode meets the requirement of reliability, but high power consumption is brought along, and the method of the multiplex control computer is not beneficial to vehicle-mounted computing.
Disclosure of Invention
The embodiment of the application provides a running control system, a running control method and a running control device, and aims to at least solve the problem that the running control system in the related art is low in control efficiency of running equipment.
According to an embodiment of the present application, there is provided a running control system including: a first processor and a plurality of second processors, wherein the first processor is connected to each of the second processors, respectively, wherein: the system comprises a first processor, a second processor and a third processor, wherein the first processor is used for determining a target algorithm corresponding to a target running control scene under the condition that the running equipment needs to be controlled to run according to the target running control scene, and screening a main processor and a secondary processor which are used for running the target algorithm from a plurality of second processors, wherein the target algorithm is used for determining the running environment of the running equipment; the main processor is used for operating a target algorithm and outputting a target operation result, wherein the target operation result is used for representing the driving environment of the driving equipment; the slave processor is used for replacing the master processor to run the target algorithm under the condition that the master processor is in a fault state, and outputting a target operation result corresponding to the target algorithm; and the first processor is also used for acquiring a target calculation result and generating a running control instruction for the running equipment according to the target calculation result, wherein the running control instruction is used for indicating the running state of the running equipment in the running environment.
In one exemplary embodiment, the driving control system further comprises a third processor, wherein the third processor is connected to the first processor and each second processor, respectively, and the third processor is configured to monitor a first operating state of the first processor and a second operating state of the second processor, and to determine a driving automation level of the driving device based on the first operating state and the second operating state.
In an exemplary embodiment, the first processor is connected with each second processor through a plurality of data transmission links, and the first processor is configured to monitor a link status of a first data transmission link of the plurality of data transmission links, determine a second data transmission link other than the first data transmission link from the plurality of data transmission links in case that the first data transmission link is in a failure status, and transmit data with the second processor through the second data transmission link, wherein the first data transmission link is a link between the first processor and the second processor.
In an exemplary embodiment, the driving control system further includes an environment sensing device, wherein the sensing device is connected to each of the second processors, and the sensing device is configured to collect environment information of the driving environment and synchronously transmit the environment information to the master processor and the slave processors.
According to an embodiment of the present application, there is provided a running control method applied to a first processor in a running control system, including: under the condition that the running equipment needs to be controlled to run according to the target running control scene, determining a target algorithm corresponding to the target running control scene, wherein the target algorithm is used for determining the running environment of the running equipment; screening a master processor and a slave processor from a plurality of second processors deployed in a driving control system, wherein the first processor is respectively connected with each second processor, the master processor is used for operating a target algorithm and outputting a target operation result, the target operation result is used for representing the driving environment of driving equipment, and the slave processor is used for replacing the master processor to operate the target algorithm and output a target operation result corresponding to the target algorithm under the condition that the master processor is in a fault state; obtaining a target operation result; and generating a running control instruction for the running device according to the target operation result, wherein the running control instruction is used for indicating the running state of the running device in the running environment.
In one exemplary embodiment, screening out a master processor and a slave processor for executing a target algorithm from a plurality of second processors includes: determining a target algorithm force value required by running a target algorithm; and screening out the main processor and the auxiliary processors from the plurality of second processors according to the target calculation value.
In one exemplary embodiment, screening the master processor and the slave processors from the plurality of second processors according to the target force value includes: screening out a target processor from the plurality of second processors as a main processor under the condition that the target calculation force value is smaller than or equal to a preset calculation force value, wherein the target processor is a processor of which the calculation force value is larger than or equal to the target calculation force value in the plurality of second processors, and the preset calculation force value is half of the sum of the calculation force values of the plurality of second processors; and determining the processors except the main processor in the plurality of second processors as the auxiliary processors.
In one exemplary embodiment, the screening of the master processor and the slave processors from the plurality of second processors based on the target computing force value includes: determining the algorithm importance degree of each target algorithm in the plurality of target algorithms under the condition that the target calculation force value is greater than the preset calculation force value, wherein the algorithm importance degree is used for indicating the influence condition of the target calculation result corresponding to the target algorithm on the accuracy of the driving control instruction; determining candidate algorithms from a plurality of target algorithms according to the algorithm importance degree of each target algorithm; and screening out the master processor and the slave processors from the second processors according to the calculation force values of the plurality of second processors and the candidate algorithms, wherein the calculation force values of the master processor and the slave processors are both larger than or equal to the calculation force value required for running the candidate algorithms.
In an exemplary embodiment, determining candidate algorithms from a plurality of target algorithms based on the algorithm importance of each target algorithm comprises: and screening out algorithms with the algorithm importance degrees larger than the target importance degrees from the target algorithms as candidate algorithms, wherein the target importance degrees are determined according to the algorithm importance degrees of the target algorithms.
In one exemplary embodiment, the screening of the master processor and the slave processors from the plurality of second processors based on the computing power values of the second processors and the candidate algorithms comprises: and screening out a processor, as a master processor, of which the computation force value is greater than or equal to that of the candidate algorithm from the plurality of second processors, and screening out a processor, of which the computation force value is greater than or equal to that of the candidate algorithm from processors other than the master processor included in the plurality of second processors, as a slave processor.
In one exemplary embodiment, before obtaining the target operation result, the method further comprises: adding first algorithm starting information and second algorithm starting information into a starting file, wherein the first algorithm starting information is information of an algorithm needing to be operated on a main processor, the second algorithm starting information is information of the algorithm needing to be operated on a secondary processor, and the starting file is used for operating the algorithm indicated by the algorithm starting information to the processor indicated by the algorithm starting information.
In an exemplary embodiment, before obtaining the target operation result, the method further comprises: determining a reference data subscription relation between any two target algorithms, wherein the reference data subscription relation is used for indicating that a plurality of target algorithms are in the operation process, and the target algorithm in the later operation is used for performing data operation according to the operation result output by the target algorithm in the earlier operation; and according to the reference data subscription relation, modifying a target data subscription relation between target algorithms respectively running on the master processor and the slave processor.
In one exemplary embodiment, after modifying the data subscription relationship between the master processor and the slave processors for executing the respective target algorithms according to the data subscription relationship, the method further comprises: in the case that the target data subscription relationship indicates that the first algorithm subscribes to the operation result of the second algorithm and the second algorithm is configured to run on the master processor and the slave processor, invoking a communication monitoring algorithm to monitor a target communication state of the second algorithm running on the master processor, wherein the target algorithm comprises the first algorithm and the second algorithm, and the target communication state comprises a communication frequency state and a communication time state of the second algorithm; and according to the target communication state, screening an operation result for transmitting to the first algorithm from the first operation result and the second operation result, wherein the first operation result is the result of the main processor running the second algorithm and the second operation result is the result of the slave processor running the second algorithm.
In an exemplary embodiment, the screening out the operation result for transmission to the first algorithm from the first operation result and the second operation result according to the target communication state includes: under the condition that the target communication state indicates that a second algorithm running on the main processor is in an abnormal communication state, determining a second operation result as an operation result for transmitting to the first algorithm; calling an error monitoring algorithm to monitor an error value of a first operation result under the condition that the target communication state indicates that a second algorithm running on the main processor is in a normal communication state; determining the first operation result as an operation result for transmission to the first algorithm when the error value of the first operation result is less than or equal to the target error value; and determining the second operation result as the operation result for transmission to the first algorithm when the error value of the first operation result is greater than the target error value.
According to another embodiment of the present application, there is provided a running control method applied to a third processor in a running control system, including: monitoring a first operating state of a first processor and a second operating state of a plurality of second processors, wherein the first processor is respectively connected with each second processor, a third processor is connected with the first processor and each second processor, the first processor is used for determining a target algorithm corresponding to a target running control scene under the condition that running equipment needs to be controlled to run according to the target running control scene, a main processor and a secondary processor for running the target algorithm are screened out from the plurality of second processors, and the target algorithm is used for determining a running environment of the running equipment; the main processor is used for operating a target algorithm and outputting a target operation result, and the target operation result is used for representing the driving environment of the driving equipment; the slave processor is used for replacing the master processor to run a target algorithm under the condition that the master processor is in a fault state, and outputting a target operation result corresponding to the target algorithm; the first processor is further used for obtaining a target operation result and generating a running control instruction for the running equipment according to the target operation result, wherein the running control instruction is used for indicating the running state of the running equipment in the running environment; the driving automation level of the driving device is determined according to the first operating state and the second operating state.
In one exemplary embodiment, determining a level of driving automation of a driving device based on a first operating state and a second operating state includes: determining the driving automation level of the driving device as an auxiliary driving level when the master processor and the slave processor are determined in a first mode and under the condition that a first preset condition is met, wherein the first preset condition comprises one of the following conditions: the first operating state indicates that the first processor is in a failure state, and the second operating state indicates that the number of processors in the failure state in the plurality of second processors is greater than or equal to half of the total number of the plurality of second processors, wherein the first mode comprises: under the condition that a target computing force value required by running a target algorithm is smaller than or equal to a preset computing force value, screening a target processor from the plurality of second processors to serve as a main processor, determining the processors except the main processor from the plurality of second processors as slave processors, wherein the target processor is the processor of which the computing force value is larger than or equal to the target computing force value from the plurality of second processors, and the preset computing force value is half of the sum of the computing forces of the plurality of second processors; determining the driving automation level of the driving device to be a highly automated driving level under the condition that the master processor and the slave processor are determined in a first mode and second preset conditions are met, wherein the second preset conditions comprise one of the following conditions: the first running state indicates that the first processor is in a normal state; the second operating state indicates that a number of processors in the failure state among the plurality of second processors is less than half of a total number of the plurality of second processors.
In one exemplary embodiment, after determining the driving automation level of the driving device according to the first operating state and the second operating state, the method further comprises: determining the driving automation level of the driving device as an auxiliary driving level when the master processor and the slave processor are determined in a second mode and under the condition that a third preset condition is met, wherein the third preset condition comprises one of the following conditions: the method comprises the steps that a first operation state is used for indicating that a first processor is in an abnormal state, a second operation state is used for indicating that a master processor and a slave processor simultaneously have faults, wherein the second mode is that under the condition that a target calculation force value required by target algorithm operation is larger than a preset calculation force value, the algorithm importance degree of each target algorithm in a plurality of target algorithms is determined, the algorithm importance degree is used for indicating the influence condition of a target calculation result corresponding to the target algorithm on the accuracy of a driving control instruction, a candidate algorithm is determined from the plurality of target algorithms according to the algorithm importance degree of each target algorithm, the master processor and the slave processor are screened out from the second processors according to the calculation force values and the candidate algorithms of the plurality of second processors, and the calculation forces of the master processor and the slave processor are larger than or equal to the calculation force values of the candidate algorithm; and determining the driving automation level of the driving device as a partial automation driving level under the condition that the master processor and the slave processor are determined in a second mode and a fourth preset condition is met, wherein the fourth preset condition comprises the following steps: the first operation state is used for indicating that the first processor is in a normal state, the second operation state is used for indicating that the master processor and the slave processor are not in a fault state at the same time, and the third processor is in a fault state and is a processor except the master processor and the slave processor in the plurality of second processors; and determining the driving automation level of the running equipment to be a highly automated driving level under the condition that the master processor and the slave processor are determined in a second mode and a fifth preset condition is met, wherein the fifth preset condition comprises the following steps: the first operation state is used for indicating that the first processor is in a normal state, the second operation state is used for indicating that the master processor and the slave processor are not in a fault state at the same time, and the third processor is in a normal state.
In one exemplary embodiment, after determining the driving automation level of the driving device according to the first operating state and the second operating state, the method further comprises: and sending a control instruction to the running equipment when the driving automation level is lower than the target level, wherein the control instruction is used for indicating the running equipment to stop at the side.
According to another embodiment of the present application, there is provided a running control apparatus applied to a first processor in a running control system, including: the system comprises a first determination module, a second determination module and a control module, wherein the first determination module is used for determining a target algorithm corresponding to a target running control scene under the condition that the running equipment needs to be controlled to run according to the target running control scene, and the target algorithm is used for determining the running environment of the running equipment; the system comprises a first screening module, a second screening module and a third screening module, wherein the first screening module is used for screening a master processor and a slave processor from a plurality of second processors deployed in a driving control system, the first processor is respectively connected with each second processor, the master processor is used for operating a target algorithm and outputting a target operation result, the target operation result is used for representing the driving environment of driving equipment, and the slave processor is used for replacing the master processor to operate the target algorithm and outputting a target operation result corresponding to the target algorithm under the condition that the master processor is in a fault state; the acquisition module is used for acquiring a target operation result; and the generating module is used for generating a running control instruction for the running equipment according to the target operation result, wherein the running control instruction is used for indicating the running state of the running equipment in the running environment.
According to another embodiment of the present application, there is provided a running control apparatus applied to a third processor in a running control system, including: the monitoring module is used for monitoring a first operating state of a first processor and a second operating state of a plurality of second processors, wherein the first processor is respectively connected with each second processor, a third processor is connected with the first processor and each second processor, the first processor is used for determining a target algorithm corresponding to a target running control scene under the condition that the running equipment needs to be controlled to run according to the target running control scene, and a main processor and the slave processors which are used for running the target algorithm are screened out from the plurality of second processors, and the target algorithm is used for determining a running environment of the running equipment; the main processor is used for operating a target algorithm and outputting a target operation result, and the target operation result is used for representing the driving environment of the driving equipment; the slave processor is used for replacing the master processor to run a target algorithm under the condition that the master processor is in a fault state, and outputting a target operation result corresponding to the target algorithm; the first processor is further used for obtaining a target operation result and generating a running control instruction for the running equipment according to the target operation result, wherein the running control instruction is used for indicating the running state of the running equipment in the running environment; and the third determination module is used for determining the driving automation level of the running equipment according to the first running state and the second running state.
According to a further embodiment of the application, there is also provided a computer-readable storage medium having a computer program stored thereon, wherein the computer program is arranged to perform the steps of any of the above-mentioned method embodiments when executed.
According to yet another embodiment of the present application, there is also provided an electronic device, comprising a memory in which a computer program is stored and a processor configured to execute the computer program to perform the steps in any of the method embodiments described above.
According to the application, the driving control system comprises a plurality of first processors and a plurality of second processors, the first processors are respectively connected with each second processor, under the condition that the driving equipment needs to be controlled to drive according to a target driving control scene, the first processors screen out a main processor and a secondary processor which are used for operating a target algorithm from the plurality of second processors, the target operation result is output through the main processor operating the target algorithm, the secondary processor is used for replacing the main processor to operate the target algorithm when the main processor fails, the calculation force self-redundancy of the target algorithm in the driving control system is realized, in the driving control system, the target algorithm is operated by the second processors, the first processors are used for generating corresponding control instructions according to the operation result of the target algorithm output by the second processors, therefore, the problem that the driving control system in the related technology has low control efficiency on the driving equipment is solved, and the driving control effect of the driving control system on the driving equipment is improved is achieved.
Drawings
FIG. 1 is a block diagram of an alternative ride control system according to an embodiment of the present application;
FIG. 2 is an alternative ride control system architecture according to an embodiment of the present application;
FIG. 3 is a fault tolerant schematic of an alternative ride control system according to an embodiment of the present disclosure;
fig. 4 is a block diagram of a hardware configuration of a mobile terminal of a driving control method according to an embodiment of the present application;
FIG. 5 is a first flowchart of a driving control method according to an embodiment of the present application;
FIG. 6 is an alternative travel control flow diagram according to an embodiment of the present application;
fig. 7 is a second flowchart of a running control method according to an embodiment of the present application;
fig. 8 is a block diagram of the first configuration of the travel control apparatus according to the embodiment of the present application;
fig. 9 is a block diagram showing a configuration of a second travel control device according to the embodiment of the present application.
Detailed Description
Embodiments of the present application will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
It should be noted that the terms "first," "second," and the like in the description and claims of this application and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order.
Fig. 1 is a block diagram of an alternative driving control system according to an embodiment of the present application, and as shown in fig. 1, the driving control system includes: a first processor 12 and a plurality of second processors 14, wherein the first processor 12 is connected to each of the second processors 14, respectively, wherein:
the system comprises a first processor 12, a second processor 14 and a third processor, wherein the first processor 12 is used for determining a target algorithm corresponding to a target driving control scene and screening a master processor and a slave processor for running the target algorithm from the plurality of second processors 14 under the condition that the driving device needs to be controlled to drive according to the target driving control scene, and the target algorithm is used for determining the driving environment of the driving device;
the main processor is used for operating a target algorithm and outputting a target operation result, wherein the target operation result is used for representing the driving environment of the driving equipment;
the slave processor is used for replacing the master processor to run the target algorithm under the condition that the master processor is in a fault state, and outputting a target operation result corresponding to the target algorithm;
the first processor 12 is further configured to obtain a target calculation result, and generate a driving control instruction for the driving device according to the target calculation result, wherein the driving control instruction is used for indicating a driving state of the driving device in a driving environment.
Through the above, the driving control system comprises a plurality of first processors and a plurality of second processors, wherein the first processors are respectively connected with each second processor, when the driving equipment needs to be controlled to drive according to a target driving control scene, the first processors screen out a main processor and a slave processor for operating a target algorithm from the plurality of second processors, the target algorithm is output through the main processor operating the target algorithm, and the slave processor replaces the main processor to operate the target algorithm when the main processor fails, so that the calculation self-redundancy of the target algorithm in the driving control system is realized, the target algorithm is operated by the second processors in the driving control system, and the first processors are used for generating corresponding control instructions according to the operation results of the target algorithm output by the second processors, thereby ensuring that the target algorithm can be accurately operated through the self-redundancy mode of the processors for operating the target algorithm in the driving control system, ensuring the driving control function of the driving control system on the driving equipment, and solving the problem that the driving control system has low control efficiency on the driving equipment in the related technology, and improving the driving control effect of the driving control system on the driving equipment.
Alternatively, in this embodiment, the master processor and the slave processors are selected from the second processors by screening the second processors according to the target computation force value required for running the target algorithm, for example, 4 second processors with the same computation force are deployed in the driving control system, the computation force value of each second processor is 225TOPS, when the target computation force value required for running the target algorithm is lower than 550 TOPS (i.e., the sum of the computation forces of 2 orins (second processors)), the entire automatic driving algorithm stack can meet the computation force requirement by running over 2 orins, 2 Orin computing units in4 orins and another 2 Orin computing units can form one-to-one computational redundancy, i.e., 2 orins are used as the master processor and the other two orins are used as the slave processors, and when any one Orin computing device fails, the redundant Orin can take over in real time, thereby achieving fault tolerance of Orin computation.
Optionally, in this embodiment, when a plurality of target algorithms are used, the screening of the master processor and the slave processor from the second processor may also be obtained by screening the second processor according to a target algorithm value required by running the target algorithm and an algorithm importance degree corresponding to the target algorithm, for example: the driving control system is provided with 4 second processors with the same calculation power, the calculation power value of each second processor is 225TOPS, when the sum value of the target calculation power value of a target algorithm is larger than 550 TOPS (namely the sum of the calculation powers of 2 orins), the whole algorithm stack needs to be operated on 3 orins to meet the calculation power requirement, the 4 orins can be divided into 2 parts, wherein 3 orins are used as a main calculation unit, 1 Orin is used as a fault-tolerant calculation unit, the fault-tolerant calculation unit and one Orin in the main calculation unit form one-to-one redundancy, the main processing algorithm has higher importance, for example, for the perception algorithm of a front camera, the fault-tolerant mode only realizes fault-tolerant processing aiming at key algorithms, all the key algorithms are operated on one Orin, and when the Orin calculation equipment fails, the redundant Orin can take over in real time, so that the fault-tolerant calculation of the Orin can be realized.
Alternatively, in the present embodiment, the number of the second processors may be set according to the running control operation performed by the running control system on the running device, the running control operation performed by the running control system is different, the number of the second processors configured in the running control system is different, for example, when the running control operation performed by the running control system is lane keeping, the number of the second processors is 4, when the running control operation performed by the running control system is auxiliary braking, the number of the second processors may be 6, or the number of the second processors may be configured to be a fixed number, for example, the same number of the second processors are configured for running control systems of different functions, which is not limited by the present solution.
Optionally, in this embodiment, the first processor is responsible for logic operations in the driving control process, and may include, but is not limited to, decision planning (generating a driving control instruction according to a target operation result corresponding to a target algorithm), algorithm control on the second processor, algorithm running state monitoring, second processor running state monitoring, and the like, which is not limited in this scheme.
Optionally, in this embodiment, the target algorithm may be, but is not limited to, an image processing algorithm, a perception fusion algorithm, an image recognition algorithm, and the like, and for each second processor, the target algorithm may be configured to run a fixed-function algorithm or may also be configured to run an arbitrary-function algorithm, for example, an algorithm of one function is pre-stored on each second processor in the plurality of second processors, so that each second processor can only implement the corresponding function, or each second processor may also be capable of running an arbitrary algorithm, and when the second processor is required to run the algorithm, the first processor sends the algorithm that needs to be run to the second processor, which is not limited in this embodiment.
As an alternative embodiment, the driving control system further comprises a third processor, wherein the third processor is respectively connected with the first processor and each second processor,
a third processor for monitoring the first operating state of the first processor and the second operating state of the second processor and determining a driving automation level of the driving device based on the first operating state and the second operating state.
Optionally, in this embodiment, the operation status may be, but is not limited to, used to indicate whether there is a fault in the processor, a data load of the processor, a traffic congestion status of the processor, and the like, which is not limited by this embodiment.
Optionally, in this embodiment, the driving automation level includes: level L0 (purely manual driving), level L1 (assisted driving), level L2 (partially automated driving), level L3 (conditional automated driving), level L4 (highly automated driving), level L5 (fully automated driving).
Optionally, in this embodiment, after determining the driving automation level of the running device, the third processor may further implement that when the driving automation level is lower than the target automation level, the third processor sends a control instruction in response to the chassis control system of the vehicle, so as to ensure the running safety of the vehicle, for example, when the target automation level is L2 level, and when the driving automation level of the vehicle is lower than L2 level, the third processor sends a lift control instruction to the chassis control system, so as to stop the vehicle at the side.
As an alternative embodiment, the first processor and each of the second processors are connected by a plurality of data transmission links,
the first processor is used for monitoring the link state of a first data transmission link in the plurality of data transmission links, determining a second data transmission link except the first data transmission link from the plurality of data transmission links under the condition that the first data transmission link is in a fault state, and transmitting data between the second data transmission link and the second processor, wherein the first data transmission link is a link for transmitting data between the first processor and the second processor currently.
Optionally, in this embodiment, fault tolerance of a communication link is set between the first processor and each second processor, a fixed link is used as a default between the first processor and each second processor for data interaction, when one of the links fails, the first processor and the second processor may be automatically switched to another alternative link, for example, the driving control system includes 2 sets of communication networks, the first processor and the second processor may be interconnected through PCIE switch, and may use PCIE (a common bus specification) communication, or may use ethernet communication through an ethernet switch, and when a failure occurs in PCIE communication physical hardware or the communication link, the first processor and the second processor may be switched to the ethernet communication link, thereby implementing fault tolerance of communication between the CPU and Orin.
As an alternative embodiment, the driving control system further comprises an environment sensing device, wherein the sensing device is respectively connected with each second processor,
and the sensing equipment is used for acquiring the environmental information of the driving environment and synchronously transmitting the environmental information to the master processor and the slave processor.
Optionally, in this embodiment, the sensing device may include, but is not limited to, an image capturing device, a radar device (such as a millimeter wave radar, a laser radar, and the like).
Optionally, in this embodiment, the fault tolerance of the sensing data set between the sensing device and the main processor and the processor is that the same sensing data collected by the same sensing device is transmitted to the main processor and also transmitted to the slave processor set correspondingly, for example, fault tolerance is performed on three types of main sensing data, the first type is camera data, which is directly output to Orin (second processor); the second type is lidar data, which may also be output directly to Orin (second processor); the third type is millimeter wave radar data, which is read by an MCU (third processor) through a chassis CAN (Controller Area Network bus), then sent to a CPU (first processor), and then output to Orin (second processor) through PCIE, so that in order to ensure real-time performance of system fault tolerance, the data of the laser radar and the millimeter wave radar of the same camera need to be synchronously accessed to two orins, thereby realizing fault tolerance. If the system is connected with N paths of camera data together, the front N/2 paths of camera data are sent to Orin1 (a main processor) and Orin3 (a slave processor) at the same time, the Orin1 and the Orin3 can realize real-time synchronization of the camera data, and when the Orin1 fails, the Orin3 can take over immediately; then N/2 paths of camera data are simultaneously accessed into Orin2 (a master processor) and Orin4 (a slave processor), the Orin2 and the Orin4 can realize real-time synchronization of the camera data, and when the Orin2 fails, the Orin4 can immediately take over; by analogy, orin1 and Orin3 read the same lidar and millimeter-wave radar data simultaneously, orin2 and Orin4 read the same lidar and millimeter-wave radar data simultaneously, so that the data input of the three types of main sensing equipment can be synchronized, the delay overhead caused by switching data reading due to system failure is avoided, and the high real-time fault tolerance of the system is ensured.
Fig. 2 is an architecture diagram of an alternative driving control system according to an embodiment of the present application, as shown in fig. 2, the driving control system at least includes sensing devices (camera, lidar and millimeter-wave radar), a first processor (CPU), a second processor (Orin) and a third processor (MCU), the CPU and Orin1, orin2, orin3, orin4 are all connected to PCIE switch, PCIE3.0 communication is adopted between the CPU and Orin1, orin2, orin3, orin4, the CPU and Orin1, orin2, orin3, orin4 are also connected to gigabit ethernet switch, gigabit ethernet communication is adopted between the CPU and Orin1, orin2, orin3, orin4, the CPU computing Unit and MCU (Microcontroller Unit) safety control Unit are interconnected through gigabit ethernet, and the MCU is also connected to the gigabit ethernet switch; camera data, which is directly output to Orin without passing through the CPU; the second type is lidar data, which can also be output directly to Orin; the third type is millimeter wave radar data, which is read by the MCU through the chassis CAN port, then sent to the CPU, and then output to Orin through PCIE3.0, in order to ensure the real-time performance of system fault tolerance, the same camera, the laser radar and the millimeter wave radar data need to be synchronously accessed to two orins, so as to realize fault tolerance.
In the above embodiment, a heterogeneous distributed vehicle-mounted computing system and an autopilot framework autonomous.universal can be designed for fault tolerance by a first processor (CPU), a second processor (Orin), and a third processor (MCU) in cooperation with software and hardware, fig. 3 is a fault-tolerant schematic diagram of an optional driving control system according to an embodiment of the present application, and as shown in fig. 3, the driving control system completes fault tolerance at four levels, namely a computing layer, a communication layer, a data IO layer, and an algorithm layer, so as to implement the overall fault tolerance of the system, where the computing layer, the communication layer, and the data IO layer implement fault tolerance by a hardware system, and the algorithm layer implements fault tolerance by a software system, and at least includes the following contents:
the system comprises three types of computing chip units, wherein the first type is X86 CPU computing units, and the number of the computing chip units is 1; the second type is an Orin calculating unit (64 GB module, calculation force size 275TOPS, hereinafter called Orin for short), the number is 4, and the units are respectively marked as Orin1, orin2, orin3 and Orin4; the third type is an MCU unit (hereinafter referred to as MCU), and the number is 1. The CPU computing unit mainly processes logical operations, such as automatic driving decision planning, control algorithms, algorithm running state monitoring algorithms and the like; orin1, orin2, orin3, orin4 mainly process computations such as GPU, AI (Artificial Intelligence), etc., algorithms such as image preprocessing, perception fusion, etc.; the MCU unit mainly performs safety control, such as a hardware fault monitoring algorithm, a chassis communication module and the like. The CPU computing unit is used as a master computing node and is configured as a HOST end, the 4 Orin computing units are used as slave computing nodes and are configured as an Endpoint (hereinafter referred to as an EP end), the CPU, orin1, orin2, orin3 and Orin4 form a master-four-slave computing architecture, and Orin adopts the following steps: 2, fault-tolerant mode, namely that Orin1 and Orin3 are redundant with each other, orin2 and Orin4 are redundant with each other, and when Orin1 computing equipment fails, orin3 takes over in real time; when the Orin2 computing equipment fails, orin4 takes over in real time; thus, orin computing fault tolerance can be achieved. If the CPU computing unit has hardware faults, the decision planning and control algorithm cannot be operated, the communication between Orin and the CPU is also interrupted, serious errors occur in the system, the MCU monitors whether the CPU hardware has faults or not in real time, and once the CPU has faults, the MCU executes control instructions, for example, the MCU outputs a side parking control instruction to the chassis, so that safety accidents caused by the CPU faults can be avoided, and the fault tolerance of the CPU computing unit is realized.
The communication layer fault-tolerant design comprises 2 sets of communication networks, wherein a CPU and an Orin1, orin2, orin3 and Orin4 are connected to a PCIE switch, PCIE3.0 communication is adopted between the CPU and the Orin1, orin2, orin3 and Orin4, the CPU and the Orin1, orin2, orin3 and Orin4 are also connected to a gigabit Ethernet switch simultaneously, gigabit Ethernet communication is adopted between the CPU and the Orin1, orin2, orin3 and Orin4, when a failure occurs in the PCIE switch or the PCIE3.0 communication link, the communication link can be switched to a gigabit Ethernet communication link, so that communication fault tolerance between the CPU and the Orin is realized, because the PCIE3.0 communication bandwidth is higher than the gigabit Ethernet bandwidth, the gigabit Ethernet is mainly used as a backup network, a CPU computing unit and an MCU safety control unit are interconnected through the gigabit Ethernet, and the MCU is also accessed to the gigabit switch.
The data IO layer fault-tolerant design is adopted, the whole system is accessed to various sensing devices, wherein three types of main sensing data are subjected to fault tolerance, the first type is GMSL2 vehicle-mounted camera data which is directly output to Orin without being transferred through a CPU; the second type is lidar data, which can also be output directly to Orin; the third type is millimeter wave radar data, which is read by the MCU through the chassis CAN port, then sent to the CPU, and then output to Orin through PCIE3.0, in order to ensure the real-time performance of system fault tolerance, the same camera, the laser radar and the millimeter wave radar data need to be synchronously accessed to two orins, so as to realize fault tolerance. The system can be accessed to 16 paths of camera data at most, the first 8 paths of camera data are sent to Orin1 and Orin3 at the same time, real-time synchronization of the camera data can be realized by the Orin1 and the Orin3, and when the Orin1 fails, the Orin3 can be immediately taken over; the back 8 paths of camera data are simultaneously accessed into Orin2 and Orin4, real-time synchronization of the camera data can be realized by the Orin2 and the Orin4, and when the Orin2 breaks down, the Orin4 can immediately take over; so analogize, if the system inserts 4 way lidar, 4 way millimeter wave radar, 2 way lidar and 2 way millimeter wave radar data before 2 way lidar and before 2 way millimeter wave radar data before Orin1 and Orin3 read simultaneously, 2 way lidar and 2 way millimeter wave radar data after 2 way lidar and after read simultaneously with Orin4 read simultaneously, the data input of three kinds of main perception equipment can realize the synchronization like this, need not wait for a certain Orin to break down, then read perception data again, avoid because of switching over the time delay spending that data reading brought, thereby the data IO fault-tolerant of system has been guaranteed.
The algorithm layer fault-tolerant design is adopted, a high fault-tolerant vehicle-mounted software system is constructed, fault tolerance is realized on an application algorithm, and the system is transformed based on an automatic driving framework.
The software and hardware cooperative fault-tolerant design realizes the integral fault tolerance of the system, and the design process is as follows:
the MCU monitors the hardware states of 5 computing chips Orin1, orin2, orin3 and Orin4 and the CPU in real time;
if 2 is selected: 2, in a fault-tolerant mode, the MCU monitors that the CPU or more than 2 orins have faults, and the MCU executes an edge parking control instruction to the chassis; the MCU executes an edge parking control instruction to the chassis, the automatic driving grade is reduced from L4 to L1, and hardware-grade fault tolerance is realized. When the number of the CPUs is not more than 2 or the number of the Orin faults is not more than 2, the high fault-tolerant automatic driving software system based on the Autoware. Universal is deployed on a CPU +4 Orin platform to operate, realizes cooperative fault tolerance with a hardware system, realizes upper algorithm level fault tolerance by the software system, provides fault tolerance of calculation, communication and data IO by bottom hardware, does not degrade the automatic driving level, and still realizes L4.
If 3 is selected: 1, only Orin1 and Orin3 are mutually redundant, important perception algorithms such as forward camera detection, main laser radar detection and the like are operated, when the MCU monitors that a CPU or the Orin1 and the Orin3 simultaneously have faults, the MCU executes a side parking control instruction to the chassis, the automatic driving level is reduced from L4 to L1, hardware level fault tolerance is realized, when the CPU has no faults and the Orin1 and the Orin3 do not simultaneously have faults, but one of Orin2 and Orin4 has faults or simultaneously have faults, and the automatic driving level is reduced from L4 to L2; when the CPU has no fault and the Orin1 and the Orin3 do not have faults at the same time, and the Orin2 and the Orin4 also have no faults, the high fault-tolerant automatic driving software system based on Autoware. Universal is deployed to the CPU +4 × Orin platform to operate, the software system realizes the fault tolerance of the upper algorithm level, the bottom hardware provides the fault tolerance of calculation, communication and data IO, the automatic driving level is not degraded, and the L4 is still realized;
the method embodiments provided in the embodiments of the present application may be executed in a mobile terminal, a computer terminal, or a similar computing device. Taking the mobile terminal as an example, fig. 4 is a hardware structure block diagram of the mobile terminal of a driving control method according to an embodiment of the present application. As shown in fig. 4, the mobile terminal may comprise one or more (only one shown in fig. 4) processors 402 (the processor 402 may comprise, but is not limited to, a processing means such as a microprocessor MCU or a programmable logic device FPGA), and a memory 404 for storing data, wherein the mobile terminal may further comprise a transmission device 406 for communication functions and an input-output device 408. It will be understood by those skilled in the art that the structure shown in fig. 4 is only an illustration and is not intended to limit the structure of the mobile terminal. For example, the mobile terminal may also include more or fewer components than shown in FIG. 4, or have a different configuration than shown in FIG. 4.
The memory 404 may be used to store computer programs, for example, software programs and modules of application software, such as a computer program corresponding to the driving control method in the embodiment of the present application, and the processor 402 executes various functional applications and data processing by running the computer programs stored in the memory 404, so as to implement the method described above. The memory 404 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 404 can further include memory located remotely from the processor 402, which can be connected to the mobile terminal through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device 406 is used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 406 includes a Network adapter (NIC) that can be connected to other Network devices through a base station to communicate with the internet. In one example, the transmitting device 406 may be a Radio Frequency (RF) module, which is used to communicate with the internet in a wireless manner.
In the present embodiment, a driving control method is provided, fig. 5 is a first flowchart of the driving control method according to the embodiment of the present application, and is applied to a first processor in a driving control system, as shown in fig. 5, the flowchart includes the following steps:
step S502, under the condition that the running equipment needs to be controlled to run according to the target running control scene, determining a target algorithm corresponding to the target running control scene, wherein the target algorithm is used for determining the running environment of the running equipment;
step S504, a master processor and a slave processor are screened out from a plurality of second processors deployed in the driving control system, wherein the first processor is respectively connected with each second processor, the master processor is used for operating a target algorithm and outputting a target operation result, the target operation result is used for representing the driving environment of the driving device, and the slave processor is used for replacing the master processor to operate the target algorithm and outputting a target operation result corresponding to the target algorithm under the condition that the master processor is in a fault state;
in step S506, a target operation result is acquired.
In step S508, a travel control command for the travel device is generated according to the target calculation result, wherein the travel control command is used for indicating a travel state of the travel device in the travel environment.
Through the steps, the driving control system comprises a plurality of first processors and a plurality of second processors, the first processors are respectively connected with each second processor, when the driving equipment needs to be controlled to drive according to a target driving control scene, the first processors screen out main processors and slave processors for operating a target algorithm from the plurality of second processors, the target algorithm is output through the main processor operating the target algorithm, and the slave processors realize the replacement of the main processor operating the target algorithm when the main processors fail, so that the calculation power self-redundancy of the target algorithm in the driving control system is realized, in the driving control system, the target algorithm is operated by the second processors, the first processors are used for generating corresponding control instructions according to the operation results of the target algorithm output by the second processors, the target algorithm can be ensured to be accurately operated through the self-redundancy mode of the processors for operating the target algorithm in the driving control system, the driving control function of the driving control system on the driving equipment is ensured, and therefore, the problem that the driving control efficiency of the driving control system on the driving equipment is low in the related technology can be solved, and the driving control effect of the driving control equipment is improved.
In the embodiment provided in step S502, the driving control scene and the target algorithm have a corresponding relationship, and the target algorithms required for different driving control scenes are also different, for example, when the driving control scene is to perform lane keeping control on the vehicle, the required target algorithm may be an image recognition algorithm, so as to recognize lane lines of the lane, and when the driving control scene assists in braking, the required target algorithm may be an image recognition algorithm and a perception algorithm, that is, the object information in the driving environment is recognized by the image recognition algorithm, and the relative position relationship between the object and the vehicle is perceived by the perception algorithm, which is not limited in this scheme.
In the embodiment provided in step S504, the master processor and the slave processors selected from the second processors may be obtained by selecting the second processors according to a target computation force value required for running the target algorithm, for example, 4 second processors with the same computation force are deployed in the driving control system, the computation force value of each second processor is 225TOPS, when the target computation force value required for running the target algorithm is lower than 550 TOPS (i.e., the sum of the computation forces of 2 orins), the entire automatic driving algorithm stack can meet the computation force requirement when running over 2 orins, 2 Orin computing units in the 4 orins and another 2 Orin computing units can form one-to-one computation redundancy, i.e., 2 orins serve as the master processor and the other two orins serve as the slave processors, and when any Orin computing device fails, the redundant Orin can take over in real time, so that Orin computation fault tolerance can be achieved.
Optionally, in this embodiment, when a plurality of target algorithms are used, the screening of the master processor and the slave processor from the second processor may also be obtained by screening the second processor according to a target algorithm value required by running the target algorithm and an algorithm importance degree corresponding to the target algorithm, for example: the driving control system is provided with 4 second processors with the same computing power, the computing power value of each second processor is 225TOPS, when the sum value of the target computing power value of a target algorithm is larger than 550 TOPS (namely the sum of the computing powers of 2 orins), the whole algorithm stack needs to be operated on 3 orins to meet the computing power requirement, the 4 orins can be divided into 2 parts, wherein 3 orins are used as a main computing unit, 1 Orin is used as a fault-tolerant computing unit, one-to-one redundancy is formed between the fault-tolerant computing unit and one Orin in the main computing unit, the main processing algorithm has higher importance degree, for example, the sensing algorithm aiming at a front camera, the fault-tolerant mode only aims at key algorithms to realize fault-tolerant processing, the key algorithms all operate on one Orin, and when the Orin computing equipment fails, the redundant Orin can take over in real time, so that the Orin computing fault tolerance can be realized.
In the embodiment provided in step S506, when the target algorithm corresponding to the target operation result is operated on the master processor and the slave processor, the communication states of the target algorithms on the master processor and the slave processor may be analyzed, so as to determine whether a first operation result output after the master processor operates the target algorithm needs to be obtained as the target operation result or a second operation result output after the slave processor operates the target algorithm needs to be obtained as the target operation result, for example, when the algorithm a and the algorithm B are the same target algorithm, the algorithm B operates on the master processor, and the algorithm a operates on the slave processor, the communication states of the algorithm B and the algorithm C may be determined respectively, such as determining the communication frequency state and the communication time state of the algorithm B, if the algorithm B is normal, and if the algorithm B is a positioning, planning or sensor algorithm, it is further determined whether the data output by the algorithm B is normal, if the communication state and the data of the algorithm B are normal, the output result of the algorithm B operated by the master processor is selected as the target operation result, otherwise, the output of the algorithm a operated on the slave processor is selected as the target operation result; if the algorithm B is not a positioning, planning or sensor algorithm, judging whether the data output by the algorithm B is abnormal or not is not needed; if algorithm B is a positioning, planning or sensor algorithm, the operation of determining whether the result output by algorithm B is abnormal is: and calling a positioning error monitoring algorithm, a planning error monitoring algorithm or a sensor error monitoring algorithm to respectively judge the positioning error, the planning error or the sensor data error of the data output by the algorithm B, wherein if the error is normal, the data output by the algorithm B is normal, and otherwise, the data output by the algorithm B is abnormal.
In the embodiment provided in step S508, the driving control instruction may be obtained by determining the driving control quality corresponding to the target operation result from the operation result and the driving control instruction having the corresponding relationship, or may also be obtained by operating the target operation result through a decision algorithm corresponding to the driving control scenario, which is not limited in this embodiment.
As an alternative embodiment, the method for screening out a master processor and a slave processor for running a target algorithm from a plurality of second processors comprises the following steps:
determining a target algorithm force value required by running a target algorithm;
and screening the master processor and the slave processors from the plurality of second processors according to the target calculation value.
Optionally, in this embodiment, the target force value is a force value of a processor for running the target algorithm when the target algorithm is running.
Alternatively, in this embodiment, the number of the target algorithms may be one or more, and when the target algorithm is one, a processor whose computation force value is greater than or equal to the target computation force value in the second processor may be used as a master processor, and a processor whose computation force value is greater than or equal to the target computation force value in a processor other than the master processor in the second processor may be used as a slave processor; when the number of the target algorithms is multiple, one or more processors in the second processor, of which the total force value is greater than or equal to the sum of the target force values of the multiple target algorithms, can be used as the master processors, and the other processors can be used as slave processors; or when the number of the target algorithms is multiple, selecting a candidate algorithm with the algorithm importance degree greater than the target importance degree from the multiple target algorithms, selecting two processors with the algorithm force value greater than or equal to the target algorithm force value of the candidate algorithm from the multiple second processors as a master processor and a slave processor respectively, wherein the two processors are used for realizing the operation fault tolerance of the candidate algorithms, and screening out the algorithms except the candidate algorithm from the multiple target algorithms from the processors except the master processor or the slave processor from the second processors.
As an alternative embodiment, the method for screening the master processor and the slave processors from the plurality of second processors according to the target computation value includes:
screening out a target processor from the plurality of second processors as a main processor under the condition that the target calculation force value is smaller than or equal to a preset calculation force value, wherein the target processor is a processor of which the calculation force value is larger than or equal to the target calculation force value in the plurality of second processors, and the preset calculation force value is half of the sum of the calculation force values of the plurality of second processors;
and determining the processors except the main processor in the plurality of second processors as the auxiliary processors.
Optionally, in this embodiment, the target processor may be one processor randomly selected from among the processors whose computational force values are greater than or equal to the target computational force values among the plurality of second processors, or the target processor may also be a plurality of processors selected from among the plurality of second processors, and the sum of the computational forces of the plurality of target processors is greater than or equal to the target computational force values.
As an alternative embodiment, the method for screening the master processor and the slave processors from the plurality of second processors according to the target computation value includes:
determining the algorithm importance degree of each target algorithm in the plurality of target algorithms under the condition that the target calculation force value is greater than the preset calculation force value, wherein the algorithm importance degree is used for indicating the influence condition of the target calculation result corresponding to the target algorithm on the accuracy of the driving control instruction;
determining candidate algorithms from the plurality of target algorithms according to the algorithm importance degree of each target algorithm;
and screening out the master processor and the slave processors from the second processors according to the calculation force values of the plurality of second processors and the candidate algorithms, wherein the calculation force values of the master processor and the slave processors are both larger than or equal to the calculation force value required for running the candidate algorithms.
Optionally, in this embodiment, different algorithms have different functions, so that target results output by different algorithms have different influences on accuracy of the driving control instruction, and further have different importance degrees of the algorithms, for example, in an assisted driving control operation, an image recognition algorithm, an image definition processing algorithm, and a sensing algorithm need to be used.
Alternatively, the candidate algorithm may be one or more algorithms with the algorithm importance degree greater than or equal to the target importance degree in the plurality of target algorithms, which is not limited by the present solution.
Optionally, in this embodiment, the master processor and the slave processor are processors for running candidate algorithms, and since the degree of influence of the candidate algorithms on the accuracy of outputting the travel control instruction is greater than that of other algorithms in the plurality of target algorithms, the candidate algorithms are redundantly set, so as to avoid abnormal output of the travel control instruction due to abnormal candidate algorithms.
As an alternative embodiment, determining candidate algorithms from a plurality of target algorithms according to the algorithm importance degree of each target algorithm includes:
and screening out algorithms with the algorithm importance degrees larger than the target importance degrees from the target algorithms as candidate algorithms, wherein the target importance degrees are determined according to the algorithm importance degrees of the target algorithms.
As an alternative embodiment, the method for screening out the master processors and the slave processors from the plurality of second processors according to the computation values and the candidate algorithms of the second processors comprises the following steps:
and screening, as the slave processors, processors whose power values are greater than or equal to the power values of the candidate algorithm from among the plurality of second processors, and screening, as the slave processors, processors whose power values are greater than or equal to the power values of the candidate algorithm from among the processors other than the master processor included in the plurality of second processors.
Optionally, in this embodiment, the computing power of the master processor and the computing power of the slave processor may be the same or different, and this is not limited in this embodiment.
As an optional embodiment, before obtaining the target operation result, the method further includes:
adding first algorithm starting information and second algorithm starting information into a starting file, wherein the first algorithm starting information is information of an algorithm needing to be operated on the main processor, the second algorithm starting information is information of an algorithm needing to be operated on the auxiliary processor, and the starting file is used for operating the algorithm indicated by the algorithm starting information on the processor indicated by the algorithm starting information.
Optionally, in this embodiment, the start file is used to start the corresponding algorithms according to the algorithm running sequence indicated by the driving control scenario, the start file may be, but is not limited to, a launch file, and the launch file combines the target algorithms to form an algorithm pipeline, so that the target algorithms run on the corresponding second processors.
Optionally, in this embodiment, the start information may be, but is not limited to, identification information for indicating a target algorithm, or may also be a second processor (in which a target algorithm is uniquely stored) for indicating to run the target algorithm, or may also be a target algorithm to be run, which is not limited in this embodiment.
As an alternative embodiment, before obtaining the target operation result, the method includes:
determining a reference data subscription relation between any two target algorithms, wherein the reference data subscription relation is used for indicating that a plurality of target algorithms are in the operation process, and the target algorithm in the later operation is used for performing data operation according to the operation result output by the target algorithm in the earlier operation;
and modifying the target data subscription relation between target algorithms respectively running on the master processor and the slave processor according to the reference data subscription relation.
Optionally, in this embodiment, in one driving control scene, in order to meet the functional requirement, a plurality of target algorithms with different functions are required to be used, and the algorithm pipline is formed by combining the plurality of target algorithms, in an algorithm running sequence specified by the algorithm pipline, a subscription relationship of operation results may exist among the plurality of algorithms, that is, a data subscription relationship exists between a target algorithm running before and a target algorithm running after in the algorithm running sequence specified by the algorithm pipline, that is, a target operation result output by the target algorithm running before needs to be transferred to the target algorithm running after, the target algorithm running after needs to be operated according to a result output by the target algorithm running before, so as to output an operation result, for example, an image sharpness adjustment algorithm, an image recognition algorithm, and a perception algorithm are required in an auxiliary driving scene, the three algorithms form the algorithm pipline, an image output by the image sharpness adjustment algorithm needs to be transferred to an image recognition algorithm, the image and the other algorithm recognize an object in the image, and the perception algorithm performs an operation on a position relationship of the object in the image, so as to obtain an operation relationship of the object.
Optionally, in this embodiment, for data subscription relationships between the main processors and the sub-processors corresponding to different target algorithms that need to be modified, for example, the target algorithm 1 and the target algorithm 2 are target algorithms of the same kind, the target algorithm 1 is run on the main processor a, the target algorithm 2 is run on the sub-processor a, the target algorithm 3 needs to subscribe to an operation result of the target algorithm 1 or the target algorithm 2, the target algorithm 3 is run on the main processor B, and the target algorithm 3 on the main processor B is subscribed and modified to subscribe to both the target algorithm 1 on the main processor a and the target algorithm 2 on the sub-processor a.
As an alternative embodiment, after modifying the data subscription relationship between the master processor and the slave processors for executing the respective target algorithms according to the data subscription relationship, the method further includes:
in the case that the target data subscription relationship indicates that the first algorithm subscribes to an operation result of the second algorithm and the second algorithm is configured to run on the master processor and the slave processor, invoking a communication monitoring algorithm to monitor a target communication state of the second algorithm running on the master processor, wherein the target algorithm comprises the first algorithm and the second algorithm, and the target communication state comprises a communication frequency state and a communication time state of the second algorithm;
and according to the target communication state, screening an operation result for transmitting to the first algorithm from the first operation result and the second operation result, wherein the first operation result is the result of the main processor running the second algorithm and the second operation result is the result of the slave processor running the second algorithm.
Optionally, in this embodiment, when the target communication state indicates that the second algorithm running on the main processor is in normal communication, the first operation result is transmitted to the first algorithm, and when the target communication state indicates that the communication state of the second algorithm running on the main processor is abnormal, the second operation result is transmitted to the first algorithm.
As an alternative embodiment, the step of screening out the operation result for transmission to the first algorithm from the first operation result and the second operation result according to the target communication state includes:
determining a second operation result as an operation result for transmitting to the first algorithm under the condition that the target communication state indicates that a second algorithm running on the main processor is in an abnormal communication state;
calling an error monitoring algorithm to monitor an error value of a first operation result under the condition that the target communication state indicates that a second algorithm running on the main processor is in a normal communication state; determining the first operation result as an operation result for transmission to a first algorithm when the error value of the first operation result is less than or equal to the target error value; and determining the second operation result as the operation result for transmission to the first algorithm when the error value of the first operation result is greater than the target error value.
Optionally, in this embodiment, the error monitoring algorithm may include, but is not limited to, a positioning error monitoring algorithm, a planning error monitoring algorithm, a sensor error monitoring algorithm, and the like, which is not limited in this embodiment.
Optionally, in this embodiment, whether the error monitoring algorithm needs to be invoked to monitor the operation result may be determined according to the algorithm type of the second algorithm, for example, when the second algorithm is a positioning algorithm, a planning algorithm, or a sensor algorithm, the error monitoring algorithm needs to be invoked to monitor the operation result.
The driving control method in the embodiment of the present application implements fault tolerance on an application algorithm, and the system is transformed based on an autopilot framework.
Step S601, selecting an open-source automatic driving framework Autoware. Universal as a base system of high fault-tolerant vehicle-mounted software, wherein the bottom layer is based on ROS2+ DDS middleware, the DDS is used as communication middleware, the ROS2 is used as an upper layer programming interface, the upper layer is provided with algorithms such as automatic driving perception, fusion, decision planning, control and the like based on the ROS2, and corresponding algorithm components can be selected from the framework to build an application algorithm Pipline according to the application scene requirements of the user;
step S602, according to an application scene required to be built by the user, algorithm clipping or adding is carried out on the largest launch file self-contained in an automatic. Universal framework based on a template, a new launch file is formed, and algorithm pipeline is formed;
step S603, algorithm tasks are divided, all algorithms contained in the launch are divided into 3 parts, and logic processing algorithms such as state monitoring and control are divided into a CPU to run; orin1 processing perception algorithm; orin3 processes the remaining algorithms which need GPU and AI operation, such as fusion, positioning and other algorithms, and modifies the logging _ simulator.launch.xml file to enable the correspondingly divided algorithms to run on a CPU, orin1 and Orin2 respectively;
step S604, the algorithms of Orin1 and Orin2 are copied to Orin3 and Orin4 to be operated respectively, the copied algorithm nodes are added into a logging _ simulator.launch.xml file, the Orin1 and the Orin3 form algorithm fault tolerance, and sensing algorithms are operated; the Orin2 and Orin4 form algorithm fault tolerance, and all the algorithms such as fusion, positioning and the like are operated;
step S605, modifying the input-output relationship of the algorithm, namely modifying the subscription-release relationship of the algorithm, wherein the output result of the positioning algorithm subscribed to Orin2 only is modified into the output result of the positioning algorithms subscribed to Orin2 and Orin4 by the sensing algorithm on Orin 1; the output result of the perception algorithm on Orin1 is changed from the fusion algorithm only distributed to Orin2 to the fusion algorithm distributed to Orin2 and Orin4, and other algorithms also similarly modify the input-output relationship;
step S606, determining the results subscribed to 2 same algorithms, and selecting one of the algorithms to execute. A2-level judgment mechanism is adopted, and the method specifically comprises the following steps: the communication layer judges whether the communication of the positioning algorithms of Orin2 and Orin4 is normal or not, a perception algorithm on Orin1 calls a state monitoring algorithm topic _ static _ monitor (self-contained algorithm package of an automatic. Universal framework) running on a CPU (central processing unit), judges the communication frequency and the time state of the positioning algorithm of Orin2, if the communication frequency and the time state are normal, and because the communication algorithm is the positioning algorithm, further judges whether data output by the positioning algorithm of Orin2 are normal or not, if the communication and the data of the positioning algorithm of Orin2 are normal, the output of the positioning algorithm running on Orin2 is selected, otherwise, the output of the positioning algorithm running on the fault-tolerant node Orin4 is selected; judging a data layer, calling a positioning error monitoring algorithm localization _ error _ monitor (an algorithm package carried by an Autoware. Universal framework) by a perception algorithm of Orin1 to judge a positioning error of data output by a positioning algorithm of Orin2, if the error is normal, indicating that the data output by the positioning algorithm of Orin2 is normal, otherwise, indicating that the data output by the positioning algorithm of Orin2 is abnormal;
step S607, the operation is completed, the whole algorithm pipeline is started based on a launch file, the operation on CPU +4 Orin is completed, the fault tolerance is realized by operating the perception algorithm on Orin1 and Orin3, the fault tolerance is realized by operating the fusion, positioning and other algorithms on Orin2 and Orin4, the fault tolerance function of the algorithm is realized by the whole automatic.
In the present embodiment, a driving control method is provided, and fig. 7 is a flowchart of a driving control method according to an embodiment of the present application, applied to a third processor in a driving control system, as shown in fig. 7, the flowchart includes the following steps:
step S702, monitoring a first operating state of a first processor and a second operating state of a plurality of second processors deployed in a driving control system, wherein the first processor is respectively connected with each second processor, a third processor is connected with the first processor and each second processor, the first processor is used for determining a target algorithm corresponding to a target driving control scene under the condition that driving equipment needs to be controlled to drive according to the target driving control scene, and screening out a main processor and the slave processors for operating the target algorithm from the plurality of second processors, and the target algorithm is used for determining a driving environment of the driving equipment; the main processor is used for operating a target algorithm and outputting a target operation result, and the target operation result is used for representing the driving environment of the driving equipment; the slave processor is used for replacing the master processor to run a target algorithm under the condition that the master processor is in a fault state, and outputting a target operation result corresponding to the target algorithm; the first processor is further used for obtaining a target operation result and generating a running control instruction for the running equipment according to the target operation result, wherein the running control instruction is used for indicating the running state of the running equipment under the running environment;
in step S704, the driving automation level of the running device is determined based on the first operating state and the second operating state.
Through the steps, the driving control system comprises a plurality of first processors and a plurality of second processors, the first processors are respectively connected with each second processor, when the driving equipment needs to be controlled to drive according to a target driving control scene, the first processors screen out main processors and slave processors for operating a target algorithm from the plurality of second processors, the target algorithm is output through the main processor operating the target algorithm, and the slave processors realize the replacement of the main processor operating the target algorithm when the main processors fail, so that the calculation power self-redundancy of the target algorithm in the driving control system is realized, in the driving control system, the target algorithm is operated by the second processors, the first processors are used for generating corresponding control instructions according to the operation results of the target algorithm output by the second processors, the target algorithm can be ensured to be accurately operated through the self-redundancy mode of the processors for operating the target algorithm in the driving control system, the driving control function of the driving control system on the driving equipment is ensured, and therefore, the problem that the driving control efficiency of the driving control system on the driving equipment is low in the related technology can be solved, and the driving control effect of the driving control equipment is improved.
Optionally, in this embodiment, the driving automation level includes: level L0 (purely manual driving), level L1 (assisted driving), level L2 (partially automated driving), level L3 (conditional automated driving), level L4 (highly automated driving), level L5 (fully automated driving).
As an alternative embodiment, determining the driving automation level of the driving device based on the first operating state and the second operating state includes:
determining the driving automation level of the driving device as an auxiliary driving level when the master processor and the slave processor are determined in a first mode and under the condition that a first preset condition is met, wherein the first preset condition comprises one of the following conditions: the first operating state indicates that the first processor is in a failure state, and the second operating state indicates that the number of processors in the failure state in the plurality of second processors is greater than or equal to half of the total number of the plurality of second processors, wherein the first mode comprises: under the condition that a target computing force value required by running a target algorithm is smaller than or equal to a preset computing force value, screening a target processor from the plurality of second processors to serve as a main processor, determining the processors except the main processor from the plurality of second processors as slave processors, wherein the target processor is the processor of which the computing force value is larger than or equal to the target computing force value from the plurality of second processors, and the preset computing force value is half of the sum of the computing forces of the plurality of second processors;
determining the driving automation level of the driving device to be a high automation level under the condition that the master processor and the slave processor are determined in a first mode and second preset conditions are met, wherein the second preset conditions comprise one of the following conditions: the first running state indicates that the first processor is in a normal state; the second operating state indicates that a number of processors in the failed state among the plurality of second processors is less than half of a total number of the plurality of second processors.
As an alternative embodiment, after determining the driving automation level of the driving device as a function of the first operating state and the second operating state, the method further comprises:
determining the driving automation level of the driving device as an auxiliary driving level when the master processor and the slave processor are determined in a second mode and under the condition that a third preset condition is met, wherein the third preset condition comprises one of the following conditions: the method comprises the steps that a first operation state is used for indicating that a first processor is in an abnormal state, a second operation state is used for indicating that a master processor and a slave processor simultaneously have faults, wherein the second mode is that under the condition that a target calculation force value required by target algorithm operation is larger than a preset calculation force value, the algorithm importance degree of each target algorithm in a plurality of target algorithms is determined, the algorithm importance degree is used for indicating the influence condition of a target calculation result corresponding to the target algorithm on the accuracy of a driving control instruction, a candidate algorithm is determined from the plurality of target algorithms according to the algorithm importance degree of each target algorithm, the master processor and the slave processor are screened out from the second processors according to the calculation force values and the candidate algorithms of the plurality of second processors, and the calculation forces of the master processor and the slave processor are larger than or equal to the calculation force values of the candidate algorithm;
and determining the driving automation level of the driving device as a partial automation driving level under the condition that the master processor and the slave processor are determined in a second mode and a fourth preset condition is met, wherein the fourth preset condition comprises the following steps: the first operation state is used for indicating that the first processor is in a normal state, the second operation state is used for indicating that the master processor and the slave processor are not in a fault state at the same time, and the third processor is in a fault state and is a processor except the master processor and the slave processor in the plurality of second processors;
and under the condition that the master processor and the slave processor are determined in a second mode and a fifth preset condition is met, determining the driving automation level of the running equipment as a highly automated driving level, wherein the fifth preset condition comprises the following steps: the first operation state is used for indicating that the first processor is in a normal state, the second operation state is used for indicating that the master processor and the slave processor are not in a fault state at the same time, and the third processor is in a normal state.
As an alternative embodiment, after determining the driving automation level of the driving device as a function of the first operating state and the second operating state, the method further comprises:
and sending a control instruction to the running equipment under the condition that the driving automation level is lower than the target level, wherein the control instruction is used for indicating the running equipment to stop at the side.
Alternatively, in this embodiment, after determining the driving automation level, a control command corresponding to the current driving automation level may be further determined from the driving automation level and the control command having the corresponding relationship, and sent to the chassis control system, instructing the chassis control system to perform a safety control operation (which may include, but is not limited to, deceleration, parking, warning, etc.) on the driving state of the vehicle.
Through the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but the former is a better implementation mode in many cases. Based on such understanding, the technical solutions of the present application may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, or a network device) to execute the method of the embodiments of the present application.
In this embodiment, a driving control device is further provided, which is used to implement the above embodiments and preferred embodiments, and the description of the driving control device is omitted. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. Although the means described in the embodiments below are preferably implemented in software, an implementation in hardware, or a combination of software and hardware is also possible and contemplated.
Fig. 8 is a block diagram showing the configuration of a travel control device according to an embodiment of the present application, and as shown in fig. 8, the device includes: a first determining module 82, configured to determine a target algorithm corresponding to a target driving control scenario when the driving device needs to be controlled to drive according to the target driving control scenario, where the target algorithm is used to determine a driving environment of the driving device; the first screening module 84 is configured to screen a master processor and a slave processor from a plurality of second processors deployed in the driving control system, where the first processor is connected to each second processor, the master processor is configured to run a target algorithm and output a target operation result, the target operation result is used to represent a driving environment of the driving device, and the slave processor is configured to, when the master processor is in a fault state, take over the master processor to run the target algorithm and output a target operation result corresponding to the target algorithm; an obtaining module 86, configured to obtain a target operation result; and the generating module 88 is configured to generate a driving control command for the driving device according to the target operation result, wherein the driving control command is used for indicating a driving state of the driving device in the driving environment.
Through the above, the driving control system comprises a plurality of first processors and a plurality of second processors, wherein the first processors are respectively connected with each second processor, when the driving equipment needs to be controlled to drive according to a target driving control scene, the first processors screen out a main processor and a slave processor for operating a target algorithm from the plurality of second processors, the target algorithm is output through the main processor operating the target algorithm, and the slave processor replaces the main processor to operate the target algorithm when the main processor fails, so that the calculation self-redundancy of the target algorithm in the driving control system is realized, the target algorithm is operated by the second processors in the driving control system, and the first processors are used for generating corresponding control instructions according to the operation results of the target algorithm output by the second processors, thereby ensuring that the target algorithm can be accurately operated through the self-redundancy mode of the processors for operating the target algorithm in the driving control system, ensuring the driving control function of the driving control system on the driving equipment, and solving the problem that the driving control system has low control efficiency on the driving equipment in the related technology, and improving the driving control effect of the driving control system on the driving equipment.
Optionally, the first screening module includes: the determining unit is used for determining a target calculation force value required by running a target algorithm; and the screening unit is used for screening the master processor and the slave processors from the plurality of second processors according to the target calculation value.
Optionally, the screening unit is configured to: screening out a target processor from the plurality of second processors as a main processor under the condition that the target calculation force value is smaller than or equal to a preset calculation force value, wherein the target processor is the processor with the calculation force value larger than or equal to the target calculation force value in the plurality of second processors, and the preset calculation force value is half of the sum of the calculation force values of the plurality of second processors; and determining the processors except the main processor in the plurality of second processors as the auxiliary processors.
Optionally, the screening unit is configured to: determining the algorithm importance degree of each target algorithm in the plurality of target algorithms under the condition that the target calculation force value is larger than the preset calculation force value, wherein the algorithm importance degree is used for indicating the influence condition of the target calculation result corresponding to the target algorithm on the accuracy of the driving control instruction; determining candidate algorithms from the plurality of target algorithms according to the algorithm importance degree of each target algorithm; and screening out a master processor and a slave processor from the second processors according to the computing power values of the plurality of second processors and the candidate algorithm, wherein the computing power values of the master processor and the slave processor are both greater than or equal to the computing power value required for running the candidate algorithm.
Optionally, the screening unit is configured to: and screening out algorithms with the algorithm importance degrees larger than the target importance degrees from the target algorithms as candidate algorithms, wherein the target importance degrees are determined according to the algorithm importance degrees of the target algorithms.
Optionally, the screening unit is configured to: and screening, as the slave processors, processors whose power values are greater than or equal to the power values of the candidate algorithm from among the plurality of second processors, and screening, as the slave processors, processors whose power values are greater than or equal to the power values of the candidate algorithm from among the processors other than the master processor included in the plurality of second processors.
Optionally, the apparatus further comprises: the adding module is used for adding first algorithm starting information and second algorithm starting information into a starting file before a target operation result is obtained, wherein the first algorithm starting information is information of an algorithm needing to be operated on the main processor, the second algorithm starting information is information of an algorithm needing to be operated on the auxiliary processor, and the starting file is used for operating the algorithm indicated by the algorithm starting information to the processor indicated by the algorithm starting information.
Optionally, the apparatus further comprises: the second determination module is used for determining a reference data subscription relationship between any two target algorithms before obtaining a target operation result, wherein the reference data subscription relationship is used for indicating that a plurality of target algorithms are in the operation process, and the target algorithm in the later operation is used for performing data operation according to the operation result output by the target algorithm in the earlier operation; and the modification module is used for modifying the target data subscription relation between the target algorithms respectively operated on the master processor and the slave processor according to the reference data subscription relation.
Optionally, the apparatus further comprises: the calling module is used for calling the communication monitoring algorithm to monitor a target communication state of a second algorithm running on the master processor under the condition that the target data subscription relation indicates that the first algorithm is subscribed by the second algorithm and the second algorithm is configured to run on the master processor and the slave processor after the data subscription relation between the master processor and the slave processor for running each target algorithm is modified according to the data subscription relation, wherein the target algorithm comprises the first algorithm and the second algorithm, and the target communication state comprises a communication frequency state and a communication time state of the second algorithm; and the second screening module is used for screening the operation result for transmitting to the first algorithm from the first operation result and the second operation result according to the target communication state, wherein the first operation result is the result output by the main processor when the second algorithm is operated, and the second operation result is the result output by the auxiliary processor when the second algorithm is operated.
Optionally, the second screening module includes: the third determining unit is used for determining the second operation result as the operation result for transmitting to the first algorithm under the condition that the target communication state indicates that the second algorithm running on the main processor is in the abnormal communication state; the first processing unit is used for calling an error monitoring algorithm to monitor the error value of the first operation result under the condition that the target communication state indicates that the second algorithm running on the main processor is in a normal communication state; determining the first operation result as an operation result for transmission to the first algorithm when the error value of the first operation result is less than or equal to the target error value; and determining the second operation result as the operation result for transmission to the first algorithm when the error value of the first operation result is greater than the target error value.
Fig. 9 is a block diagram showing a configuration of a second travel control device according to the embodiment of the present application, and as shown in fig. 9, the device includes: a monitoring module 92, configured to monitor a first operating state of a first processor and a second operating state of a plurality of second processors disposed in the driving control system, where the first processor is connected to each second processor, and a third processor is connected to the first processor and each second processor, the first processor is configured to determine a target algorithm corresponding to a target driving control scenario when the driving device needs to be controlled to drive according to the target driving control scenario, and screen out a master processor and the slave processors for operating the target algorithm from the plurality of second processors, and the target algorithm is used to determine a driving environment of the driving device; the main processor is used for operating a target algorithm and outputting a target operation result, and the target operation result is used for representing the driving environment of the driving equipment; the slave processor is used for replacing the master processor to run a target algorithm under the condition that the master processor is in a fault state, and outputting a target operation result corresponding to the target algorithm; the first processor is further used for obtaining a target operation result and generating a running control instruction for the running equipment according to the target operation result, wherein the running control instruction is used for indicating the running state of the running equipment under the running environment; a third determination module 94 is provided for determining a driving automation level of the driving device as a function of the first operating state and the second operating state.
Through the above, the driving control system comprises a plurality of first processors and a plurality of second processors, wherein the first processors are respectively connected with each second processor, when the driving equipment needs to be controlled to drive according to a target driving control scene, the first processors screen out a main processor and a slave processor for operating a target algorithm from the plurality of second processors, the target algorithm is output through the main processor operating the target algorithm, and the slave processor replaces the main processor to operate the target algorithm when the main processor fails, so that the calculation self-redundancy of the target algorithm in the driving control system is realized, the target algorithm is operated by the second processors in the driving control system, and the first processors are used for generating corresponding control instructions according to the operation results of the target algorithm output by the second processors, thereby ensuring that the target algorithm can be accurately operated through the self-redundancy mode of the processors for operating the target algorithm in the driving control system, ensuring the driving control function of the driving control system on the driving equipment, and solving the problem that the driving control system has low control efficiency on the driving equipment in the related technology, and improving the driving control effect of the driving control system on the driving equipment.
Optionally, the third determining module includes: a second processing unit for determining the driving automation level of the running device as an auxiliary driving level in a case where the master processor and the slave processor are determined in a first manner and a first preset condition is satisfied, wherein the first preset condition includes one of: the first operating state indicates that the first processor is in a failure state, and the second operating state indicates that the number of processors in the failure state in the plurality of second processors is greater than or equal to half of the total number of the plurality of second processors, wherein the first mode comprises: under the condition that a target computing force value required by running a target algorithm is smaller than or equal to a preset computing force value, screening a target processor from the plurality of second processors to serve as a main processor, determining the processors except the main processor from the plurality of second processors as slave processors, wherein the target processor is the processor of which the computing force value is larger than or equal to the target computing force value from the plurality of second processors, and the preset computing force value is half of the sum of the computing forces of the plurality of second processors; a third processing unit, configured to determine the driving automation level of the driving device as a highly automated driving level if the master processor and the slave processor are determined in the first manner and if a second preset condition is satisfied, where the second preset condition includes one of: the first running state indicates that the first processor is in a normal state; the second operating state indicates that a number of processors in the failed state among the plurality of second processors is less than half of a total number of the plurality of second processors.
Optionally, the apparatus further comprises: a fourth determination module, configured to determine, after determining the driving automation level of the driving device according to the first operation state and the second operation state, that the driving automation level of the driving device is the auxiliary driving level when the master processor and the slave processor are determined in the second manner and a third preset condition is satisfied, where the third preset condition includes one of: the method comprises the steps that a first operation state is used for indicating that a first processor is in an abnormal state, a second operation state is used for indicating that a master processor and a slave processor simultaneously have faults, wherein the second mode is that under the condition that a target calculation force value required by target algorithm operation is larger than a preset calculation force value, the algorithm importance degree of each target algorithm in a plurality of target algorithms is determined, the algorithm importance degree is used for indicating the influence condition of a target calculation result corresponding to the target algorithm on the accuracy of a driving control instruction, a candidate algorithm is determined from the plurality of target algorithms according to the algorithm importance degree of each target algorithm, the master processor and the slave processor are screened out from the second processors according to the calculation force values and the candidate algorithms of the plurality of second processors, and the calculation forces of the master processor and the slave processor are larger than or equal to the calculation force values of the candidate algorithm; a second determination module, configured to determine that the driving automation level of the driving device is a partially automated driving level when the master processor and the slave processor are determined in a second manner and a fourth preset condition is satisfied, where the fourth preset condition includes: the first operation state is used for indicating that the first processor is in a normal state, the second operation state is used for indicating that the master processor and the slave processor are not in a fault state at the same time, and the third processor is in a fault state and is a processor except the master processor and the slave processor in the plurality of second processors; a sixth determining module, configured to determine that the driving automation level of the driving device is a highly automated driving level when the master processor and the slave processor are determined in the second manner and a fifth preset condition is satisfied, where the fifth preset condition includes: the first operation state is used for indicating that the first processor is in a normal state, the second operation state is used for indicating that the master processor and the slave processor are not in a fault state at the same time, and the third processor is in a normal state.
Optionally, the apparatus further comprises: and the sending module is used for sending a control instruction to the running equipment under the condition that the driving automation level is lower than the target level after the driving automation level of the running equipment is determined according to the first operation state and the second operation state, wherein the control instruction is used for indicating the running equipment to stop at the side.
It should be noted that the above modules may be implemented by software or hardware, and for the latter, the following may be implemented, but not limited to: the modules are all positioned in the same processor; alternatively, the modules are respectively located in different processors in any combination.
Embodiments of the present application further provide a computer-readable storage medium having a computer program stored therein, wherein the computer program is configured to perform the steps in any of the above method embodiments when executed.
In an exemplary embodiment, the computer readable storage medium may include, but is not limited to: various media capable of storing computer programs, such as a usb disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk.
Embodiments of the present application further provide an electronic device comprising a memory having a computer program stored therein and a processor configured to execute the computer program to perform the steps in any of the above method embodiments.
In an exemplary embodiment, the electronic device may further include a transmission device and an input/output device, wherein the transmission device is connected to the processor, and the input/output device is connected to the processor.
For specific examples in this embodiment, reference may be made to the examples described in the foregoing embodiments and exemplary implementations, and details of this embodiment are not repeated herein.
It will be apparent to those skilled in the art that the various modules or steps of the present application described above may be implemented using a general purpose computing device, they may be centralized on a single computing device or distributed across a network of multiple computing devices, and they may be implemented using program code executable by the computing devices, such that they may be stored in a memory device and executed by the computing devices, and in some cases, the steps shown or described may be performed in an order different than that described herein, or they may be separately fabricated into separate integrated circuit modules, or multiple ones of them may be fabricated into a single integrated circuit module. Thus, the present application is not limited to any specific combination of hardware and software.
The above description is only a preferred embodiment of the present application and is not intended to limit the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the principle of the present application shall be included in the protection scope of the present application.

Claims (20)

1. A travel control system characterized by comprising: a first processor and a plurality of second processors, wherein the first processor is connected to each of the second processors, respectively, wherein:
the system comprises a first processor, a second processor and a third processor, wherein the first processor is used for determining a target algorithm corresponding to a target running control scene under the condition that the running equipment needs to be controlled to run according to the target running control scene, and screening a main processor and a secondary processor which are used for running the target algorithm from a plurality of second processors, wherein the target algorithm is used for determining the running environment of the running equipment;
the main processor is used for operating a target algorithm and outputting a target operation result, wherein the target operation result is used for representing the driving environment of the driving equipment;
the slave processor is used for replacing the master processor to run the target algorithm under the condition that the master processor is in a fault state, and outputting a target operation result corresponding to the target algorithm;
and the first processor is also used for acquiring a target operation result and generating a running control instruction for the running equipment according to the target operation result, wherein the running control instruction is used for indicating the running state of the running equipment in the running environment.
2. The travel control system of claim 1, further comprising a third processor, wherein the third processor is connected to the first processor and each of the second processors, respectively,
a third processor for monitoring the first operating state of the first processor and the second operating state of the second processor and determining a driving automation level of the driving device based on the first operating state and the second operating state.
3. The travel control system of claim 1, wherein the first processor and each of the second processors are coupled via a plurality of data transmission links,
the first processor is used for monitoring the link state of a first data transmission link in the plurality of data transmission links, determining a second data transmission link except the first data transmission link from the plurality of data transmission links under the condition that the first data transmission link is in a fault state, and transmitting data between the second data transmission link and the second processor, wherein the first data transmission link is a link for transmitting data between the first processor and the second processor currently.
4. The travel control system according to claim 1, further comprising an environment sensing device, wherein the sensing device is connected to each of the second processors, and the sensing device is configured to collect environment information of the travel environment and synchronously transmit the environment information to the master processor and the slave processors.
5. A running control method applied to a first processor in a running control system, comprising:
under the condition that the running equipment needs to be controlled to run according to the target running control scene, determining a target algorithm corresponding to the target running control scene, wherein the target algorithm is used for determining the running environment of the running equipment;
screening a master processor and a slave processor from a plurality of second processors deployed in a driving control system, wherein the first processor is respectively connected with each second processor, the master processor is used for operating a target algorithm and outputting a target operation result, the target operation result is used for representing the driving environment of driving equipment, and the slave processor is used for replacing the master processor to operate the target algorithm and output a target operation result corresponding to the target algorithm under the condition that the master processor is in a fault state;
obtaining a target operation result;
and generating a running control instruction for the running equipment according to the target calculation result, wherein the running control instruction is used for indicating the running state of the running equipment in the running environment.
6. The running control method according to claim 5, wherein the selecting of the master processor and the slave processors for operating the target algorithm from the plurality of second processors comprises:
determining a target algorithm force value required by running a target algorithm;
and screening out the main processor and the auxiliary processors from the plurality of second processors according to the target calculation value.
7. The running control method according to claim 6, wherein the sorting out the master processor and the slave processors from the plurality of second processors based on the target computation value comprises:
screening out a target processor from the plurality of second processors as a main processor under the condition that the target calculation force value is smaller than or equal to a preset calculation force value, wherein the target processor is a processor of which the calculation force value is larger than or equal to the target calculation force value in the plurality of second processors, and the preset calculation force value is half of the sum of the calculation force values of the plurality of second processors;
and determining the processors except the main processor in the plurality of second processors as the auxiliary processors.
8. The running control method according to claim 6, wherein the selecting of the master processor and the slave processors from the plurality of second processors based on the target calculation value comprises:
determining the algorithm importance degree of each target algorithm in the plurality of target algorithms under the condition that the target calculation force value is larger than the preset calculation force value, wherein the algorithm importance degree is used for indicating the influence condition of the target calculation result corresponding to the target algorithm on the accuracy of the driving control instruction;
determining candidate algorithms from the plurality of target algorithms according to the algorithm importance degree of each target algorithm;
and screening out the master processor and the slave processors from the second processors according to the calculation force values of the plurality of second processors and the candidate algorithms, wherein the calculation force values of the master processor and the slave processors are both larger than or equal to the calculation force value required for running the candidate algorithms.
9. The running control method according to claim 8, wherein determining candidate algorithms from a plurality of target algorithms according to the algorithm importance degree of each target algorithm comprises:
and screening out algorithms with the algorithm importance degrees larger than the target importance degrees from the target algorithms as candidate algorithms, wherein the target importance degrees are determined according to the algorithm importance degrees of the target algorithms.
10. The running control method according to claim 8, wherein the selecting of the master processor and the slave processors from the plurality of second processors based on the computation values of the second processors and the candidate algorithms comprises:
and screening out a processor, as a master processor, of which the computation force value is greater than or equal to that of the candidate algorithm from the plurality of second processors, and screening out a processor, of which the computation force value is greater than or equal to that of the candidate algorithm from processors other than the master processor included in the plurality of second processors, as a slave processor.
11. The running control method according to claim 5, characterized in that before the target arithmetic result is acquired, the method further comprises:
adding first algorithm starting information and second algorithm starting information into a starting file, wherein the first algorithm starting information is information of an algorithm needing to be operated on the main processor, the second algorithm starting information is information of an algorithm needing to be operated on the auxiliary processor, and the starting file is used for operating the algorithm indicated by the algorithm starting information on the processor indicated by the algorithm starting information.
12. The running control method according to claim 5, characterized in that before the target arithmetic result is acquired, the method further comprises:
determining a reference data subscription relation between any two target algorithms, wherein the reference data subscription relation is used for indicating that a plurality of target algorithms are in the operation process, and the target algorithm in the later operation is used for performing data operation according to the operation result output by the target algorithm in the earlier operation;
and according to the reference data subscription relation, modifying a target data subscription relation between target algorithms respectively running on the master processor and the slave processor.
13. The travel control method according to claim 12, wherein after modifying the data subscription relationship between the master processor and the slave processors for executing the respective target algorithms according to the data subscription relationship, the method further comprises:
in the case that the target data subscription relationship indicates that the first algorithm subscribes to the operation result of the second algorithm and the second algorithm is configured to run on the master processor and the slave processor, invoking a communication monitoring algorithm to monitor a target communication state of the second algorithm running on the master processor, wherein the target algorithm comprises the first algorithm and the second algorithm, and the target communication state comprises a communication frequency state and a communication time state of the second algorithm;
and according to the target communication state, screening an operation result for transmitting to the first algorithm from the first operation result and the second operation result, wherein the first operation result is the result of the main processor running the second algorithm and the second operation result is the result of the slave processor running the second algorithm.
14. The running control method according to claim 13, wherein the screening out the operation result for transmission to the first algorithm from the first operation result and the second operation result according to the target communication state includes:
under the condition that the target communication state indicates that a second algorithm running on the main processor is in an abnormal communication state, determining a second operation result as an operation result for transmitting to the first algorithm;
under the condition that the target communication state indicates that a second algorithm running on the main processor is in a normal communication state, an error monitoring algorithm is called to monitor an error value of a first operation result; determining the first operation result as an operation result for transmission to the first algorithm when the error value of the first operation result is less than or equal to the target error value; and determining the second operation result as the operation result for transmission to the first algorithm when the error value of the first operation result is greater than the target error value.
15. A travel control method applied to a third processor in a travel control system, comprising:
monitoring a first operating state of a first processor and a second operating state of a plurality of second processors, wherein the first processor is respectively connected with each second processor, a third processor is connected with the first processor and each second processor, the first processor is used for determining a target algorithm corresponding to a target driving control scene under the condition that the driving equipment needs to be controlled to drive according to the target driving control scene, and screening out a main processor and a secondary processor which are used for operating the target algorithm from the plurality of second processors, and the target algorithm is used for determining the driving environment of the driving equipment; the main processor is used for operating a target algorithm and outputting a target operation result, and the target operation result is used for representing the driving environment of the driving equipment; the slave processor is used for replacing the master processor to run a target algorithm under the condition that the master processor is in a fault state, and outputting a target operation result corresponding to the target algorithm; the first processor is further used for obtaining a target operation result and generating a running control instruction for the running equipment according to the target operation result, wherein the running control instruction is used for indicating the running state of the running equipment under the running environment;
the driving automation level of the driving device is determined according to the first operating state and the second operating state.
16. The running control method according to claim 15, wherein determining the level of driving automation of the running equipment based on the first running state and the second running state includes:
the driving automation grade of the driving device is determined to be an auxiliary driving grade under the condition that a first preset condition is met and the main processor and the auxiliary processor are determined in a first mode, wherein the first preset condition comprises one of the following conditions: the first operating state indicates that the first processor is in a failure state, and the second operating state indicates that the number of processors in the failure state in the plurality of second processors is greater than or equal to half of the total number of the plurality of second processors, wherein the first mode comprises: under the condition that a target computing power value required by running a target algorithm is smaller than or equal to a preset computing power value, screening a target processor from the plurality of second processors to serve as a main processor, determining processors except the main processor from the plurality of second processors to serve as slave processors, wherein the target processor is the processor with the computing power value larger than or equal to the target computing power value from the plurality of second processors, and the preset computing power value is half of the sum of the computing powers of the plurality of second processors;
determining the driving automation level of the driving device to be a highly automated driving level under the condition that the master processor and the slave processor are determined in a first mode and second preset conditions are met, wherein the second preset conditions comprise one of the following conditions: the first running state indicates that the first processor is in a normal state; the second operating state indicates that a number of processors in the failed state among the plurality of second processors is less than half of a total number of the plurality of second processors.
17. The running control method according to claim 15, characterized in that after determining the level of driving automation of the running device based on the first running state and the second running state, the method further comprises:
determining the driving automation level of the driving device as an auxiliary driving level when the master processor and the slave processor are determined in a second mode and under the condition that a third preset condition is met, wherein the third preset condition comprises one of the following conditions: the method comprises the steps that a first operation state is used for indicating that a first processor is in an abnormal state, a second operation state is used for indicating that a master processor and a slave processor simultaneously have faults, wherein the second mode is that under the condition that a target calculation force value required by target algorithm operation is larger than a preset calculation force value, the algorithm importance degree of each target algorithm in a plurality of target algorithms is determined, the algorithm importance degree is used for indicating the influence condition of a target calculation result corresponding to the target algorithm on the accuracy of a driving control instruction, a candidate algorithm is determined from the plurality of target algorithms according to the algorithm importance degree of each target algorithm, the master processor and the slave processor are screened out from the second processors according to the calculation force values and the candidate algorithms of the plurality of second processors, and the calculation forces of the master processor and the slave processor are larger than or equal to the calculation force values of the candidate algorithm;
and determining the driving automation level of the driving device as a partial automation driving level under the condition that the master processor and the slave processor are determined in a second mode and a fourth preset condition is met, wherein the fourth preset condition comprises the following steps: the first operation state is used for indicating that the first processor is in a normal state, the second operation state is used for indicating that the master processor and the slave processor are not in a fault state at the same time, and the third processor is in a fault state and is a processor except the master processor and the slave processor in the plurality of second processors;
and under the condition that the master processor and the slave processor are determined in a second mode and a fifth preset condition is met, determining the driving automation level of the running equipment as a highly automated driving level, wherein the fifth preset condition comprises the following steps: the first operation state is used for indicating that the first processor is in a normal state, the second operation state is used for indicating that the master processor and the slave processor are not in a fault state at the same time, and the third processor is in a normal state.
18. The running control method according to claim 15, characterized in that after determining the level of driving automation of the running device based on the first running state and the second running state, the method further comprises:
and sending a control instruction to the running equipment when the driving automation level is lower than the target level, wherein the control instruction is used for indicating the running equipment to stop at the side.
19. A computer-readable storage medium, characterized in that a computer program is stored in the computer-readable storage medium, wherein the computer program, when being executed by a processor, realizes the steps of the method of any one of claims 5to 18.
20. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the steps of the method of any of claims 5to 18 are implemented by the processor when executing the computer program.
CN202310243525.7A 2023-03-14 2023-03-14 Travel control system, travel control method and apparatus Active CN115933504B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310243525.7A CN115933504B (en) 2023-03-14 2023-03-14 Travel control system, travel control method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310243525.7A CN115933504B (en) 2023-03-14 2023-03-14 Travel control system, travel control method and apparatus

Publications (2)

Publication Number Publication Date
CN115933504A true CN115933504A (en) 2023-04-07
CN115933504B CN115933504B (en) 2023-07-14

Family

ID=86552759

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310243525.7A Active CN115933504B (en) 2023-03-14 2023-03-14 Travel control system, travel control method and apparatus

Country Status (1)

Country Link
CN (1) CN115933504B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112699458A (en) * 2020-12-28 2021-04-23 东风汽车集团有限公司 Calculation method and device for calculation power of vehicle-mounted domain controller
CN112925657A (en) * 2021-01-18 2021-06-08 国汽智控(北京)科技有限公司 Vehicle road cloud cooperative processing system and method
EP3882099A1 (en) * 2020-03-18 2021-09-22 Baidu USA LLC Scenario based control of autonomous driving vehicle
CN113525422A (en) * 2021-08-23 2021-10-22 驭势(上海)汽车科技有限公司 Automatic driving system and method
CN113626200A (en) * 2021-08-24 2021-11-09 Oppo广东移动通信有限公司 Task load calculation method, device, storage medium and terminal
CN114537422A (en) * 2021-12-30 2022-05-27 中智行(上海)交通科技有限公司 Hardware architecture for automatic driving and execution method thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3882099A1 (en) * 2020-03-18 2021-09-22 Baidu USA LLC Scenario based control of autonomous driving vehicle
CN112699458A (en) * 2020-12-28 2021-04-23 东风汽车集团有限公司 Calculation method and device for calculation power of vehicle-mounted domain controller
CN112925657A (en) * 2021-01-18 2021-06-08 国汽智控(北京)科技有限公司 Vehicle road cloud cooperative processing system and method
CN113525422A (en) * 2021-08-23 2021-10-22 驭势(上海)汽车科技有限公司 Automatic driving system and method
CN113626200A (en) * 2021-08-24 2021-11-09 Oppo广东移动通信有限公司 Task load calculation method, device, storage medium and terminal
CN114537422A (en) * 2021-12-30 2022-05-27 中智行(上海)交通科技有限公司 Hardware architecture for automatic driving and execution method thereof

Also Published As

Publication number Publication date
CN115933504B (en) 2023-07-14

Similar Documents

Publication Publication Date Title
CN109855646B (en) Distributed centralized autopilot system and method
CN112004730B (en) vehicle control device
CN109116777B (en) Automotive electronics system architecture
DE102017106087A1 (en) ERROR TOLERANCE PATTERN AND SWITCH PROTOCOL FOR SEVERAL HOT AND COLD STANDBY REDUNDANCIES
US20210334151A1 (en) Dynamic communications paths for sensors in an autonomous vehicle
CN111158900B (en) Lightweight distributed parallel computing system and method
WO2023077967A1 (en) Autonomous driving control system and vehicle
EP3220268B1 (en) Fault-tolerant high-performance computer system for autonomous vehicle maneuvering
US20200183391A1 (en) Configuration of a control system for an at least partially autonomous transportation vehicle
CN114355760A (en) Main control station and hot standby redundancy control method thereof
CN111897304B (en) Method, apparatus and system for real-time diagnostics and fault monitoring in a machine system
CN113474230B (en) Security system and method for operating a security system
US10120715B2 (en) Distributed network management system and method for a vehicle
CN115933504B (en) Travel control system, travel control method and apparatus
CN116384755A (en) Method and device for determining cooperative driving safety of vehicle Lu Yun, vehicle and storage medium
Armbruster et al. Ethernet-based and function-independent vehicle control-platform: motivation, idea and technical concept fulfilling quantitative safety-requirements from ISO 26262
JP3867047B2 (en) Fault tolerant computer array and method of operation thereof
CN115503626A (en) Control system, method, electronic device, and storage medium for vehicle
CN115384532A (en) Method and device for diagnosing fault of automatic driving area controller, electronic equipment and storage medium
US11659037B2 (en) Control communication system
CN117279818A (en) Control method and device and vehicle
CN112636881B (en) Signal switching method and device and vehicle
CN111737062B (en) Backup processing method, device and system
CN118387016A (en) Vehicle control system and method and vehicle
CN107783414A (en) System coordination multi-mode with dynamic fault-tolerant requirement is distributed and switched when running

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
GR01 Patent grant
GR01 Patent grant