WO2022090280A1 - Système électronique pour la mise en œuvre d'une fonction critique, procédé et programme d'ordinateur associés - Google Patents
Système électronique pour la mise en œuvre d'une fonction critique, procédé et programme d'ordinateur associés Download PDFInfo
- Publication number
- WO2022090280A1 WO2022090280A1 PCT/EP2021/079761 EP2021079761W WO2022090280A1 WO 2022090280 A1 WO2022090280 A1 WO 2022090280A1 EP 2021079761 W EP2021079761 W EP 2021079761W WO 2022090280 A1 WO2022090280 A1 WO 2022090280A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- datum
- input
- reward
- data
- processing module
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 34
- 238000004590 computer program Methods 0.000 title claims description 7
- 230000006870 function Effects 0.000 claims abstract description 96
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 91
- 238000012545 processing Methods 0.000 claims abstract description 91
- 230000002787 reinforcement Effects 0.000 claims abstract description 51
- 238000012806 monitoring device Methods 0.000 claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims description 31
- 238000012795 verification Methods 0.000 claims description 3
- 238000011144 upstream manufacturing Methods 0.000 description 10
- 239000003795 chemical substances by application Substances 0.000 description 7
- 239000000446 fuel Substances 0.000 description 5
- 238000009434 installation Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005293 physical law Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000009257 reactivity Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0224—Process history based detection method, e.g. whereby history implies the availability of large amounts of data
- G05B23/0227—Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions
- G05B23/0235—Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions based on a comparison with predetermined threshold or range, e.g. "classical methods", carried out during normal operation; threshold adaptation or choice; when or how to compare with the threshold
Definitions
- TITLE Electronic system for the implementation of a critical function, method and associated computer program
- the present invention relates to an electronic system configured to implement a critical function.
- the invention also relates to a method for implementing a critical function by such an electronic system.
- the invention also relates to a computer program comprising software instructions which, when executed by a computer, implement such a method.
- the electronic system is in particular embedded in an installation or in a device.
- the apparatus is preferably a vehicle, such as an air vehicle, in particular an aircraft, a railway vehicle or a motor vehicle.
- the installation is for example a factory or a power station.
- the invention relates to the implementation of critical functions, that is to say which are critical for the safety of the device or installation.
- Vehicle piloting controls such as the flight controls of an aircraft, the braking system of the vehicle, the emergency shutdown of a chemical plant or a power plant are examples of such critical functions.
- a critical function we mean the performance of one or more calculations making it possible to generate at least one output datum associated with this critical function, from at least one input datum.
- this range of authorized value(s) is for example values comprised between a minimum limit and a maximum limit such as for example maximum and minimum altitude limits of the aircraft.
- the range of value(s) corresponds to a maximum limit or a minimum limit not to be exceeded, such as a limit of rate of climb of the aircraft or a maximum power of the engine of the aircraft.
- the range of value(s) corresponds to a single value, typically 0 or 1, associated with a Boolean indicator, such as a working state of an avionics system of the aircraft.
- Reinforcement learning algorithms are known which aim to gradually learn a function or a behavior model, by carrying out successive experiments and with feedback from a performance indicator of the function. Once the learning has been carried out, these reinforcement learning algorithms make it possible to improve the performance of the implementation of the critical function. In addition, reinforcement algorithms make it possible to model critical functions that cannot be modeled conventionally, for example via physical laws, due to the excessive complexity of the system.
- the subject of the invention is an electronic system configured to implement a critical function, the electronic system being able to receive first and second input data and to deliver output data associated with said critical function, the output datum being associated with a predetermined security domain, the security domain being in the form of a range of predefined values, the electronic system comprising:
- a first processing module configured to calculate a first intermediate datum from the first input datum and a reinforcement learning algorithm, for the implementation of the critical function for the first input datum
- a second processing module configured to calculate a second intermediate datum from the second input datum and from the reinforcement learning algorithm, for the implementation of the critical function for the second input datum, the second input data being different from the first input data
- a second processing module configured to calculate an intermediate reference datum from the first input datum and/or from the second input datum and from a reference algorithm different from the reinforcement learning algorithm , for the implementation of the critical function for the first input datum and/or the second input datum via the reference algorithm
- a monitoring device comprising:
- control module configured to check whether the first and second intermediate data belong to the security domain and to compare the first and second intermediate data with each other in order to detect any inconsistency
- a generation module configured to generate the output data as a function of the first and second intermediate data if the first and second intermediate data belong to the security domain and if no inconsistency is detected, the output data being equal to the data reference intermediary otherwise.
- the electronic system comprises one or more of the following characteristics, taken in isolation or in all technically possible combinations:
- the set of implementations of the critical function by the reference algorithm defines an arrival domain of the reference algorithm, the arrival domain being included in the security domain;
- the monitoring device comprises a reward module configured to calculate a first reward for the implementation of the critical function by the first processing module and a second reward for the implementation of the critical function by the second processing module , the first processing module being configured to implement the reinforcement learning algorithm according to a first plurality of algorithmic parameters, the first processing mold being configured, at each iteration, to receive the first reward and to modifying the first plurality of algorithmic parameters according to the first reward received in order to maximize the next first reward received, the second processing module being configured to implement the reinforcement learning algorithm according to a second plurality of algorithmic parameters, the second processing module being configured, at ch each iteration, to receive the second reward and to modify the second plurality of algorithmic parameters according to the second reward received in order to maximize the next second reward received;
- the reward module is configured to penalize each first reward and/or respectively each second reward when the first intermediate datum and/or respectively the second intermediate datum does not belong to the security domain;
- the generation module is configured to deliver, as output data, the intermediate data associated with the highest reward calculated by the reward module;
- control module is further configured to compare the first and second rewards with each other in order to detect a possible inconsistency
- electronic system further comprises an alert module configured to generate an alert signal as a function of each inconsistency between the intermediate data and/or between the rewards;
- control module is further configured to count the number of times respectively where the first and second intermediate data do not respect the security domain and to reset respectively the first plurality of algorithmic parameters and the second plurality of algorithmic parameters when said number is greater than a predetermined threshold;
- the system is an avionic system suitable for being onboard in an aircraft control station, in particular an aircraft navigation system.
- the invention also relates to a method for implementing a critical function by an electronic system, the electronic system being configured to implement a critical function, the electronic system being capable of receiving first and second input data and in delivering an output datum associated with said critical function, the output datum being associated with a predetermined security domain, the security domain being in the form of a range of predefined value(s), the method comprising the following steps :
- the invention also relates to a computer program comprising software instructions which, when executed by a computer, implement a method as defined above.
- FIG 1 is a schematic representation of an electronic system according to the invention
- Figure 2 is a schematic representation of the implementation of a learning reinforcement algorithm
- FIG 3 is a flowchart of a method, according to the invention, for implementing a critical function by the electronic system of Figure 1.
- FIG. 1 An electronic system 10 is represented in FIG. 1.
- the electronic system 10 is configured to implement at least one critical function.
- the electronic system 10 is on board an aircraft.
- the aircraft is typically an airplane, a helicopter, or even a drone.
- the aircraft is a flying machine that can be piloted by a pilot via a control station, the control station being placed inside the aircraft or else at a distance from the aircraft, in particular in the case of a drone.
- the electronic system 10 is then an avionics system configured to implement an avionics critical function.
- the avionics critical function is then typically chosen from the group consisting of: a calculation of the trajectory of the aircraft, a flight control of the aircraft, the strategy for avoiding an obstacle on the trajectory of the aircraft, a aircraft braking function, etc.
- the electronic system 10 is able to receive first and second input data, denoted A and B hereafter, and to deliver an output data C associated with said critical function.
- the second input data B is distinct and different from the first input data A.
- Each input data A, B is provided by a respective upstream electronic device 12A, 12B.
- the upstream electronic device 12A associated with input data A is different from the upstream electronic device 12B associated with input data B.
- Each upstream electronic device 12A, 12B is for example on board the aircraft.
- Each upstream electronic device 12A, 12B is in particular a sensor on board the aircraft, for example a camera, a position sensor or a temperature sensor.
- each upstream electronic device 12A, 12B is another system, in particular another avionic system.
- each upstream electronic device 12A, 12B is a system external to the aircraft, such as a control tower communicating the input data A, B associated with the aircraft.
- the first and second input data A, B are of the same type.
- the type of the values likely to be taken by the first and second data is identical for these first and second data.
- this type is chosen from the group consisting of: an image, a video stream, a measurement or a succession of measurements of one or more operating parameters of the electronic system 10, a measurement signal from a sensor, a command from a user of the electronic system 10, a text (that is to say a sequence of alphanumeric characters) from information or voice recognition notices.
- the first and second input data A, B are images of the environment of the aircraft originating from two different on-board cameras, aircraft location data originating from two different sensors, avionic parameters, such as the fuel level or the operating state of one or more avionic systems, or else are flight commands from two different redundant piloting systems.
- the first and second input data A, B are of different types.
- the first input data A is an image of the environment of the aircraft from a camera on board the aircraft
- the second input data B is a digital representation of the terrain overflown by the aircraft from a geographic database.
- the output data C is advantageously a numerical value or Boolean indicator, typically equal to 0 or 1.
- the output data C is for example a value of a flight command, a speed or altitude setpoint for the aircraft, an activation/deactivation setpoint for an avionics system, etc.
- the output data C is associated with a predetermined security domain, the security domain being in the form of a range of predefined value(s).
- the security domain is for example an interval of values between two predetermined limits or an open interval defined by a minimum or maximum threshold value or even a set of such intervals.
- the output data is a Boolean flag, typically equal to 0 or 1, then the security domain is a single value.
- the electronic system 10 comprises a first processing module 14, a second processing module 16, an auxiliary processing module 18 and a monitoring device 20.
- the electronic system further comprises an alert module 21 and a display module 23.
- the first processing module 14, the second processing module 16 and the auxiliary processing module 18 are for example each embedded in a respective separate electronic computer.
- Each electronic computer advantageously comprises its own power supply and its own calculation unit.
- the electronic computer is, for example, in the form of an electronic module independent of other electronic module(s) and capable of being installed in a rack, not shown, or even in the form of an electronic card, independent of another (s) electronic board(s), and capable of being installed in an electronic cabinet.
- the electronic computer has its own electronic box, and is then the only computer arranged inside a protective box associated with the box.
- the first processing module 14 is configured to calculate a first intermediate datum SA from the first input datum A and from a reinforcement learning algorithm for the implementation of the critical function.
- the first processing module 14 is configured to implement the critical function for the first input datum A, by applying the reinforcement learning algorithm to the first input datum A, this in order to obtain the first intermediate datum SA.
- reinforcement learning consists, for an autonomous agent X such as an algorithm, in a current state S, of learning actions F to perform, based on experiences, in order to optimize a quantitative reward R over time.
- Agent X is immersed in the environment E, and makes its decisions according to its current state S.
- the environment E provides agent X with a positive or negative reward R and the agent X evolves into a new current state S'.
- the agent X seeks, through iterated experiments, to optimize a decisional behavior called strategy or policy, and which is a function associating the current state S with the action F to be executed, in order to maximize the sum of the rewards R over time.
- agent X interacts with the environment E to find the optimal solution.
- Reinforcement learning differs fundamentally from supervised and unsupervised problems by this interactive and iterative side: agent X tries several solutions (we speak of "exploration"), observes the reaction of the environment E and adapts its behavior to find the best strategy.
- the main families of reinforcement learning algorithms are in particular the so-called “Q-learning” methods, the variants of Q-learning such as the so-called “Deep Q-learning” methods, the so-called “Actor-Critic” methods , bandit algorithms, Markovian decision algorithms and game trees.
- a reward is determined by the control device 20 in response to the first intermediate datum SA and is returned to the first processing module 14.
- the first processing module 14 is then capable of causing the reinforcement learning algorithm to evolve as a function of this reward for the calculation of the next first intermediate datum SA in order to maximize the next reward received.
- the first processing module 14 is configured to preferentially apply a so-called “Q-learning” method, a so-called “Actor-Critic” method or a variant of these methods known to those skilled in the art.
- the first processing module 14 is configured to implement the reinforcement learning algorithm according to a first plurality of algorithmic parameters.
- Each algorithmic parameter makes it possible in particular to control the importance of a variable or a function in the calculations performed by the reinforcement learning algorithm.
- the modification of one or more algorithmic parameters makes it possible to evolve and adjust the reinforcement learning algorithm during its exploitation.
- the so-called “Q-learning” method typically aims to build a table making it possible to link each possible input data to a cost, by adjusting the costs progressively, corresponding to the values of the table.
- the first processing module 14 is configured to implement the reinforcement learning algorithm with the so-called “Q-learning” method if the number of possible input data, or even considered or taken into account, for the first input data A is low, typically if this number of input data is less than a predefined threshold.
- the first processing module 14 is typically configured to implement the reinforcement learning algorithm with the so-called “Q-learning” method if a combination of input data for the first input data A is low, such as lower than a corresponding predefined threshold.
- the so-called "Deep Q-learning" method typically builds a neural network which calculates the cost from each possible input datum, with an adjustment of the parameters, such as weights, of the neural network, for example by a method of gradient descent.
- the first processing module 14 is configured to implement the reinforcement learning algorithm with the so-called “Deep Q-learning” method if the number of possible input data, or even considered or taken into account, for the first input data A is high, in particular too large to produce a table, typically if this number of input data is greater than the predefined threshold.
- the first processing module 14 is typically configured to implement the reinforcement learning algorithm with the so-called “Deep Q-learning” method if the combination of input data for the first input data A is high, such as greater than the corresponding predefined threshold.
- the principle is to estimate a function of cost and value. These functions are generally modeled by neural networks, by adjusting the weights of these neural networks.
- the first processing module 14 is typically configured to implement the reinforcement learning algorithm with the so-called “Actor-Critic” method if the number of possible input data, or even considered or taken into account, for the first input data A is high, in particular too large to produce a table, typically if this number of input data is greater than the predefined threshold.
- the algorithmic parameter is then typically the number of possible input data, considered or taken into account; or even the combination of input data for the first input data A.
- the first processing module 14 is further configured to send the first intermediate data item SA to the monitoring device 20.
- the second processing module 16 is configured to calculate a second intermediate datum SB from the second input datum B and the reinforcement learning algorithm for the implementation of the critical function.
- the second processing module 16 is configured to implement the critical function for the second input datum B, by applying the reinforcement learning algorithm to the second input datum B, this in order to obtain the second intermediate datum SB.
- the critical function is therefore implemented by the second processing module 16 with the same algorithm as that used by the first processing module 14, but with different input data.
- the second processing module 16 is configured to implement the reinforcement learning algorithm according to a second plurality of algorithmic parameters.
- first plurality of algorithmic parameters and the second plurality of algorithmic parameters are similar and make it possible to adjust the same variables or functions, but possibly have different numerical values for each algorithmic parameter depending respectively on the first and second awards received.
- the second processing module 16 is further configured to send the second intermediate datum SB to the monitoring device 20.
- the auxiliary processing module 18 is configured to calculate an intermediate reference datum SR from the first input datum A and/or from the second input datum B and from a reference algorithm for the implementation of the critical function.
- the auxiliary processing module 18 is configured to implement the critical function for the first input datum A and/or the second input datum B, by applying the reference algorithm to the first datum of input A and/or to the second input datum B, in order to obtain the intermediate reference datum SR.
- the auxiliary processing module 18 is for example configured to implement the critical function only from the first input data A or only from the second input data B.
- the auxiliary processing module 18 is configured to take as input the first input data A as a priority, and otherwise, in particular in the event of failure of the first upstream electronic device 12A, to take as input the second input data B.
- the auxiliary processing module 18 is configured to put the critical function from both the first input data A and the second input data B.
- the auxiliary processing module 18 is configured to implement the critical function only from the first input datum A; and separately implement the critical function solely from the second input datum B. According to this variant, the auxiliary processing module 18 is then configured to additionally supply the monitoring device 20 with a second intermediate reference datum SR' associated with the second implementation of the critical function.
- the benchmark algorithm is different from the reinforcement learning algorithm.
- the reference algorithm is not configured to implement reinforcement learning.
- the set of implementations of the critical function by the reference algorithm defines an arrival domain of the reference algorithm.
- the arrival domain is included in the security domain.
- the implementation of the critical function by the auxiliary processing module 18 outputs an intermediate reference datum SR always included in the safety domain of the critical function, thus guaranteeing the safety of the aircraft.
- the reference algorithm is in particular an algorithm that does not implement an automatic learning method.
- the reference algorithm is a deterministic algorithm consisting, for example, of a succession of conditional instructions ("if, then" type) and/or based on the implementation of a physical model consisting of a set of equations describing the operation of the system, the equations being in particular established by a person skilled in the art from physical laws, which may be simplified, or alternatively signal processing or filtering methods.
- the signal processing or filtering methods are for example methods implementing digital filters, Kalman filters, known per se.
- the reference algorithm is a deterministic algorithm, that is to say entirely justifiable, which is not the case with the reinforcement learning algorithm which is built as as the tests progress, in particular as it learns.
- the critical function is therefore implemented by the auxiliary processing module 18 with the same input data A, B as the first and second processing modules 14, 16 but with a different algorithm.
- the auxiliary processing module 18 is further configured to send the intermediate reference data(s) SR, SR' to the monitoring device 20.
- the monitoring device 20 comprises a control module 22 and a generation module 24.
- the monitoring device 20 further comprises a reward module 26.
- the reward module 26 is configured to calculate a first reward RA associated with the implementation of the critical function by the first processing module 14 and a second reward RB associated with the implementation of the critical function by the second processing module. treatment 16.
- the reward module 26 is configured to calculate the first and second rewards RA, RB according to a predetermined reward rule.
- the predetermined reward rule defines whether the calculation performed by the first or the second processing module 14, 16 is close to a predetermined objective.
- the objective is for example a trajectory of the aircraft to be followed and the reward rule is defined by the distance between the real trajectory followed by the aircraft and the target trajectory.
- the reward module 26 is further configured to penalize each first reward RA and/or respectively each second reward RB, if the first intermediate datum SA and/or respectively if the second intermediate datum SB does not belong to the security domain.
- the reward module 26 is for example configured to multiply each first reward RA and/or respectively each second reward RB by a multiplier coefficient strictly less than 1 if the first intermediate datum SA and/or respectively if the second intermediate datum SB does not belong not to the security domain. The greater the difference between the first and/or second intermediate data SA, SB with respect to the security domain, the smaller the multiplier coefficient in order to penalize the associated first or second reward RA, RB.
- the reward module 26 is configured to subtract from each first reward RA and/or respectively from each second reward RB, a value proportional to the difference between the first or second reward RA, RB with respect to the security domain.
- the first processing module 14 is configured to receive the first reward RA at each iteration, and to modify the first plurality of algorithmic parameters according to the first reward RA received at each iteration in order to maximize the next first reward RA received.
- the second processing module 16 is configured to receive the second reward RB at each iteration, and to modify the second plurality of algorithmic parameters according to the second reward RB received at each iteration in order to maximize the next second reward RB received.
- the control module 22 is configured to check whether the first and second intermediate data SA, SB belong to the security domain.
- control module 22 is configured to check whether the first and second intermediate data SA, SB belong to the range of values defining the security domain.
- the control module 22 is configured to check whether the first and second intermediate data SA, SB are equal to the value associated with the security domain, typically 0 or 1. The control module 22 is also configured to compare the first and second intermediate data SA, SB with each other in order to detect any inconsistency.
- the comparison between the two intermediate data SA, SB determines whether these two intermediate data are mutually consistent or not according to a predetermined consistency rule.
- the consistency rule defines a criterion on the result of the comparison making it possible to define whether the intermediate data is consistent with each other.
- the consistency rule defines a calculation of a metric, such as a distance between the data, for example the absolute value of the difference, and a consistency threshold.
- a metric such as a distance between the data, for example the absolute value of the difference
- the intermediate data SA, SB are then consistent with one another if the metric, such as the distance between the values, is less than the consistency threshold.
- two intermediate data representing aircraft speed instructions having a difference in value of more than 10% are considered to be inconsistent with each other.
- the control module 22 is further configured to count the number of times respectively where the first and second intermediate data SA, SB do not comply with the security domain.
- the control module 22 is configured to reset respectively the first plurality of algorithmic parameters and the second plurality of algorithmic parameters when said number is greater than a predetermined threshold.
- the reinforcement learning algorithms implemented in the first and second processing modules 14, 16 are trained in a controlled environment of the simulation type, before the operation in real conditions of the system 10.
- This training allows the establishment of a behavior of the algorithms ensuring operation of the algorithms ensuring performance and security deemed sufficient by a person skilled in the art before the operation of the system 10.
- the algorithmic parameters of the algorithm obtained after the training are saved in a database of data embedded in the system 10.
- the module control 22 is configured to compare the first intermediate datum SA with the intermediate reference datum SR associated with the first input datum A, and respectively to compare the second intermediate datum SB with the intermediate reference datum SR' associated with the second input data B.
- control module 22 is able to detect whether the failure is due to the input data A, B or else to the implementation of the critical function by the first and second processing modules 14, 16.
- first intermediate datum SA and the intermediate reference datum SR associated with the first input datum A are coherent and if the second intermediate datum SB is not coherent with the intermediate reference datum associated with the second datum input B, then the failure comes from the second processing module 16.
- first intermediate datum SA and the intermediate reference datum SR associated with the first input datum A are consistent and if the second intermediate datum SB is consistent with the intermediate reference datum associated with the second input datum B, then the failure comes from one of the two upstream electronic devices 12A, 12B.
- the control module 22 is, moreover, configured to compare the first and second rewards RA, RB with each other in order to detect any inconsistency.
- control module 22 calculates a metric, such as a distance between the rewards RA, RB, for example the absolute value of the difference, and a second consistency threshold.
- the rewards RA, RB are then consistent with one another if the metric, such as the distance between the values, is less than the second consistency threshold.
- the generation module 24 is configured to generate the output data C according to the first and second intermediate data SA, SB when the first and second intermediate data SA, SB belong to the security domain and in the absence of detected inconsistency.
- the output data C is for example equal to one of the two intermediate data SA, SB.
- the output datum C is equal to the first intermediate datum SA.
- the output data C is equal to the intermediate data SA, SB associated with the reward RA, RB la higher calculated by the reward module 26.
- the generation module 24 is configured to apply a mathematical formula to the first and second intermediate data SA, SB to obtain the output data C.
- the generation module 24 is configured to perform an average of the intermediate data SA, SB.
- the output data C is then equal to the reference data SR.
- the alert module 21 is configured to generate an alert signal according to each inconsistency detected by the control module 22 between the intermediate data SA, SB and/or between the rewards RA, RB.
- the alert signal advantageously includes an alert relating to the failure of the upstream electronic devices 12A, 12B or of one of the processing modules 14, 16.
- the display module 23 is configured to display the alert intended for a user of the electronic system 10.
- the display module 23 is configured to display the alert on a head-down display screen or a head-up display screen in front of the pilot who then takes into account the detected failure.
- the electronic system 10 comprises an information processing unit 50 formed for example of a memory 52 and a processor 54 associated with the memory 52.
- the first processing module 14, the second processing module 16, the auxiliary processing module 18 and the monitoring device 20, and as an optional addition the alert module 21 and the display module 23, are each implemented in the form of software, or a software brick, executable by the processor 54.
- the memory 52 is then able to store a first processing software, a second processing software, an auxiliary processing software and a monitoring software, and in addition optional alert software and display software.
- the processor 54 is then capable of executing each of these software programs.
- the first processing module 14, the second processing module 16, the auxiliary processing module 18 and the monitoring device 20, and as an optional addition the alert module 21 and the display module 23, are each made in the form of a programmable logic component, such as an FPGA (Field Programmable Gate Array), or even in the form of a dedicated integrated circuit, such as an ASIC (of the English Application Specific Integrated Circuit).
- the first processing module 14, the second processing module 16, the auxiliary processing module 18 and the monitoring device 20 are then preferably each embedded in a respective electronic computer.
- the electronic system 10 When the electronic system 10 is produced in the form of one or more software, that is to say in the form of a computer program, it is also capable of being recorded on a medium, not shown, readable by computer.
- the computer-readable medium is, for example, a medium capable of storing electronic instructions and of being coupled to a bus of a computer system.
- the readable medium is an optical disc, a magneto-optical disc, a ROM memory, a RAM memory, any type of non-volatile memory (for example EPROM, EEPROM, FLASH, NVRAM), a magnetic card or an optical card.
- On the readable medium is then stored a computer program comprising software instructions.
- FIG. 3 representing a flowchart of the method, according to the invention, for implementing a critical function by the system 10.
- the aircraft is, for example, flying towards an airport.
- the avionics system 10 then implements a critical avionics function, such as a calculation of a flight control of the aircraft, a calculation of an optimized flight trajectory according to a predetermined criterion, such as the fuel consumption of the aircraft, or else the calculation of a strategy for avoiding an obstacle by the aircraft.
- a critical avionics function such as a calculation of a flight control of the aircraft, a calculation of an optimized flight trajectory according to a predetermined criterion, such as the fuel consumption of the aircraft, or else the calculation of a strategy for avoiding an obstacle by the aircraft.
- the first processing module 14 calculates the first intermediate datum SA from the first input datum A and the reinforcement learning algorithm, for the implementation of the critical function for the first input data A.
- the first input datum A is in particular a first datum relating to the location of the aircraft, a first datum relating to the state of an avionic system or a first datum relating to the trajectory to be followed by the aircraft.
- the first processing module 14 calculates the first intermediate datum SA, such as a first flight command for the aircraft, in order to get as close as possible to a target trajectory, this from this first datum input A by applying the reinforcement learning algorithm to it.
- the first intermediate datum SA is thus representative of a first flight command for the aircraft in order to best follow the targeted trajectory.
- the first input datum A is in particular a first datum relating to the location of the aircraft, a first datum relating to the state of the aircraft, a first datum relating to the scheduled destination for the aircraft.
- the first intermediate datum SA is then representative of a first trajectory to be followed.
- the first input datum A is in particular a first location datum of the aircraft, a first datum of location of the obstacle or a first datum relative to the state of an avionics system.
- the first intermediate datum SA is then representative of a first avoidance strategy to be followed by the aircraft.
- the second processing module 16 calculates the second intermediate datum SB from the second input datum B and the reinforcement learning algorithm, for the implementation of the critical function for the second input data B.
- the second input datum B is in particular a second location datum of the aircraft, preferably coming from a sensor different from that which provided the first location datum, a second datum relating to the state of said avionic system or a second datum relating to the trajectory to be followed.
- the second processing module 16 calculates the second intermediate datum SB, such as a second flight command for the aircraft in order to get as close as possible to the target trajectory, this from this second input datum B in it applying reinforcement learning algorithm.
- the second intermediate datum SB is thus representative of a second flight command for the aircraft in order to best follow the targeted trajectory.
- the second input datum B is in particular a second datum relating to the location of the aircraft, a second datum relating to the state of the aircraft, a second datum relating to the scheduled destination for the aircraft.
- the second intermediate datum SB is then representative of a second trajectory to be followed.
- the second input datum B is in particular a second location datum of the aircraft, a second location datum of the obstacle or a second datum relative to the state of an avionics system.
- the second intermediate datum SB is then representative of a second avoidance strategy to be followed by the aircraft.
- the auxiliary processing module 18 calculates the intermediate reference datum SR from the first input datum A and/or from the second input datum B and from the algorithm of reference, for the implementation of the critical function via the reference algorithm for the first input data A and/or the second input data B.
- the auxiliary processing module 18 calculates the intermediate reference datum SR, such as a third flight command for the aircraft in order to approach as close as possible to the targeted trajectory, a third trajectory to be followed or a third strategy avoidance, this from the first input datum A and/or from the second input datum B by itself or by applying the reference algorithm to them.
- the intermediate reference datum SR such as a third flight command for the aircraft in order to approach as close as possible to the targeted trajectory, a third trajectory to be followed or a third strategy avoidance, this from the first input datum A and/or from the second input datum B by itself or by applying the reference algorithm to them.
- the reference algorithm is for example a simplified physical model providing a deterministic formula giving the flight command according to the difference between the trajectory of the aircraft and the trajectory aimed.
- the reference algorithm is for example a simplified physical model providing a deterministic formula giving a trajectory with low fuel consumption as a function of the position of the aircraft and of its destination.
- the reference algorithm is for example a simplified physical model providing a deterministic formula giving an avoidance strategy as a function of the position of the aircraft and the position of the obstacle.
- Calculation steps 100, 110 and 120 are carried out independently of one another, at the same time or else successively in any order.
- the monitoring device 20 receives the first and second intermediate data SA, SB then verifies, during a control step 130, whether the first and second intermediate data SA, SB belong to the security domain and compares the first and second intermediate data SA, SB between them in order to detect a possible inconsistency.
- the safety domain is then in particular an associated speed interval. If the flight command is an altitude instruction, the safety domain is then an altitude interval. If the flight command is an engine command, the safety domain is then in particular an interval of engine power. If the flight command is a command of direction, the safety domain is for example a limit of change of direction of the aircraft, etc.
- two flight commands are for example detected as being inconsistent with each other, if the trajectories associated with these two commands have a spatial difference greater than a predetermined threshold distance.
- the monitoring device 20 delivers the output data C according to the first and second intermediate data SA, SB during a generation stage 140.
- the output data C is equal to the first flight command or is equal to the average between the first and second flight commands.
- the monitoring device 20 then delivers the output datum C equal to the reference datum SR during the generation step 140.
- the alert module 21 generates an alert signal during of an alert step 150 and, optionally, during a display step 160, the display module 25 displays the alert intended for a user of the electronic system 10, in particular the pilot of the aircraft .
- the reward module 26 receives the first and second intermediate data SA, SB and calculates a first reward RA associated with the implementation of the critical function by the first processing module 14 and a second reward RB associated with the implementation of the critical function by the second processing module 16.
- the reward is calculated according to the actual measured fuel consumption. The lower the consumption, the higher the reward.
- the reward is calculated after the avoidance of the obstacle according to the minimum difference in distance between the aircraft and the obstacle. The higher this distance gap, the higher the reward is also.
- the reward module 26 sends the first reward RA and respectively the second reward RB to the first and respectively second processing module 14, 16.
- the first processing module 14 receives the first reward RA and modifies the first plurality of algorithmic parameters in order to maximize the next first reward RA received, and thus for example calculate a trajectory closer to the target trajectory.
- the second processing module 16 receives the second reward RB and modifies the second plurality of algorithmic parameters in order to maximize the next second reward RB received, and thus for example calculate a trajectory consuming less fuel or a more effective avoidance strategy.
- the implementation of the critical function by the first and second processing modules 14, 16 via the reinforcement learning algorithm makes it possible to improve the performance of the system 10 during its operation.
- such an algorithm makes it possible to adapt to new and unexpected events encountered by the electronic system 10 during its operation.
- the system 10 makes it possible to alert the user, if necessary, of a failure due to the input data or else to the implementation of reinforcement learning algorithms.
- the invention makes it possible to obtain a high-performance electronic system 10 while being sufficiently safe, in particular with regard to safety requirements in the avionics field.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Traffic Control Systems (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Feedback Control In General (AREA)
Abstract
Ce système électronique (10) de mise en œuvre une fonction critique comprend un premier module de traitement (14) pour calculer une première donnée intermédiaire (SA) à partir d'une première donnée d'entrée (A) et d'un algorithme d'apprentissage par renforcement; un deuxième module de traitement (16) pour calculer une deuxième donnée intermédiaire (SB) à partir dudit algorithme et d'une deuxième donnée d'entrée (B); un module de traitement auxiliaire (18) pour calculer une donnée intermédiaire de référence (SR) à partir de la première et/ou deuxième donnée d'entrée et d'un algorithme de référence; et un dispositif de surveillance (20) pour vérifier si les données intermédiaires appartiennent à un domaine de sécurité et pour les comparer afin de détecter une éventuelle incohérence; et pour générer une donnée de sortie (C) en fonction des données intermédiaires si elles appartiennent au domaine de sécurité et sans incohérence, la donnée de sortie étant la donnée intermédiaire de référence sinon.
Description
TITRE : Système électronique pour la mise en œuvre d’une fonction critique, procédé et programme d’ordinateur associés
La présente invention concerne un système électronique configuré pour mettre en œuvre une fonction critique.
L’invention concerne également un procédé de mise en œuvre d’une fonction critique par un tel système électronique.
L’invention concerne également un programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en œuvre un tel procédé.
Le système électronique est notamment embarqué dans une installation ou dans un appareil. L’appareil est de préférence un véhicule, tel qu’un véhicule aérien, en particulier un aéronef, un véhicule ferroviaire ou véhicule automobile. En variante, l’installation est par exemple une usine ou une centrale électrique.
En particulier, l’invention concerne la mise en œuvre de fonctions critiques, c’est-à- dire qui sont critiques pour la sécurité de l’appareil ou de l’installation. Les commandes de pilotage du véhicule, telles que les commandes de vol d’un aéronef, le système de freinage du véhicule, l’arrêt d’urgence d’une usine chimique ou d’une centrale électrique sont des exemples de telles fonctions critiques.
Dans le domaine avionique, une fonction critique est par exemple définie par la norme ARP-4754A Aerospace Recommended Practice en anglais).
Par mise en œuvre d’une fonction critique, on entend la réalisation d’un ou plusieurs calculs permettant de générer au moins une donnée de sortie associée à cette fonction critique, à partir d’au moins une donnée d’entrée.
Afin d’assurer la sécurité de l’appareil ou de l’installation, il est ainsi nécessaire de s’assurer que la mise en œuvre de la fonction critique s’effectue sans défaillance. En particulier, une telle fonction critique est de manière conventionnelle associée à un domaine d’usage de sécurité définissant une plage de valeur(s) autorisée(s) pour la donnée de sortie associée à cette fonction critique. Une donnée de sortie hors de la plage de valeur(s) autorisée(s) sera refusée, et une alerte sera alors émise. Dans le domaine avionique, cette plage de valeur(s) autorisée(s) est par exemple des valeurs comprises entre une limite minimum et une limite maximum telles que par exemple des limites maximale et minimale d’altitude de l’aéronef. La plage de valeur(s) correspond en variante une limite maximum ou une limite minimale à ne pas dépasser telle qu’une limite de vitesse ascensionnelle de l’aéronef ou une puissance maximale du moteur de l’aéronef.
En variante encore, la plage de valeur(s) correspond à une valeur unique, typiquement 0 ou 1 , associé à un indicateur booléen, tel qu’un état de marche d’un système avionique de l’aéronef.
On connait des algorithmes d’apprentissage par renforcement qui ont pour objectif d’apprendre progressivement une fonction ou un modèle de comportement, par la réalisation d’expériences successives et avec un retour d’un indicateur de performance de la fonction. Une fois l’apprentissage réalisé, ces algorithmes d’apprentissage par renforcement permettent d’améliorer les performances de mise en œuvre de la fonction critique. En outre, les algorithmes par renforcement permettent de modéliser des fonctions critiques qui ne sont pas modélisables de manière conventionnelle, via par exemple des lois physiques, du fait d’une complexité du système trop importante.
Toutefois, ces algorithmes présentent des vulnérabilités qui affectent la sécurité du système électronique. En effet, la mise en œuvre de la fonction critique par ces algorithmes d’apprentissage par renforcement donne, dans certains cas, un résultat n’appartenant pas au domaine de sécurité associé à la fonction critique, ce qui entraine éventuellement des conséquences importantes sur la sécurité de l’installation ou de l’appareil dans lequel le système est embarqué. Ces vulnérabilités limitent ainsi grandement l’utilisation de ces algorithmes pour la mise en œuvre de fonction(s) critique(s).
Il existe donc un besoin d’obtenir un système électronique plus performant de mise en œuvre d’une fonction critique tout en étant suffisamment sûr.
A cet effet, l’invention a pour objet un système électronique configuré pour mettre en œuvre une fonction critique, le système électronique étant propre à recevoir des première et deuxième données d’entrée et à délivrer une donnée de sortie associée à ladite fonction critique, la donnée de sortie étant associée à un domaine de sécurité prédéterminé, le domaine de sécurité étant en forme d’une plage de valeurs prédéfinies, le système électronique comprenant :
- un premier module de traitement configuré pour calculer une première donnée intermédiaire à partir de la première donnée d’entrée et d’un algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée,
- un deuxième module de traitement configuré pour calculer une deuxième donnée intermédiaire à partir de la deuxième donnée d’entrée et de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la deuxième donnée d’entrée, la deuxième donnée d’entrée étant différente de la première donnée d’entrée,
- un module de traitement auxiliaire configuré pour calculer une donnée intermédiaire de référence à partir de la première donnée d’entrée et/ou de la deuxième donnée d’entrée et d’un algorithme de référence différent de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée et/ou la deuxième donnée d’entrée via l’algorithme de référence,
- un dispositif de surveillance comportant :
+ un module de contrôle configuré pour vérifier si les première et deuxième données intermédiaires appartiennent au domaine de sécurité et pour comparer les première et deuxième données intermédiaires entre elles afin de détecter une éventuelle incohérence;
+ un module de génération configuré pour générer la donnée de sortie en fonction des première et deuxième données intermédiaires si les première et deuxième données intermédiaires appartiennent au domaine de sécurité et si aucune incohérence n’est détectée, la donnée de sortie étant égale à la donnée intermédiaire de référence sinon.
Suivant d’autres aspects avantageux de l’invention, le système électronique comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :
- l’ensemble des mises en œuvre de la fonction critique par l’algorithme de référence définit un domaine d’arrivée de l’algorithme de référence, le domaine d’arrivée étant inclus dans le domaine de sécurité ;
- le dispositif de surveillance comporte un module de récompense configuré pour calculer une première récompense pour la mise en œuvre de la fonction critique par le premier module de traitement et une deuxième récompense pour la mise en œuvre de la fonction critique par le deuxième module de traitement, le premier module de traitement étant configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement en fonction d’une première pluralité de paramètres algorithmiques, le premier moule de traitement étant configuré, à chaque itération, pour recevoir la première récompense et pour modifier la première pluralité de paramètres algorithmiques en fonction de la première récompense reçue afin de maximiser la prochaine première récompense reçue, le deuxième module de traitement étant configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement en fonction d’une deuxième pluralité de paramètres algorithmiques, le deuxième module de traitement étant configuré, à chaque itération, pour recevoir la deuxième récompense et pour modifier la deuxième pluralité de
paramètres algorithmiques en fonction de la deuxième récompense reçue afin de maximiser la prochaine deuxième récompense reçue ;
- le module de récompense est configuré pour pénaliser chaque première récompense et/ou respectivement chaque deuxième récompense lorsque la première donnée intermédiaire et/ou respectivement la deuxième donnée intermédiaire n’appartiennent pas au domaine de sécurité ;
- lorsque les première et deuxième données intermédiaires appartiennent au domaine de sécurité et en l’absence d’incohérence détectée, le module de génération est configuré pour délivrer, en donnée de sortie, la donnée intermédiaire associée à la récompense la plus élevée calculée par le module de récompense ;
- le module de contrôle est en outre configuré pour comparer les première et deuxième récompenses entre elles afin de détecter une éventuelle incohérence, et dans lequel le système électronique comprend en outre un module d’alerte configuré pour générer un signal d’alerte en fonction de chaque incohérence entre les données intermédiaires et/ou entre les récompenses ;
- le module de contrôle est configuré en outre pour comptabiliser le nombre de fois où respectivement les première et deuxième données intermédiaires ne respectent pas le domaine de sécurité et pour réinitialiser respectivement la première pluralité de paramètres algorithmiques et la deuxième pluralité de paramètres algorithmiques lorsque ledit nombre est supérieur à un seuil prédéterminé ; et
- le système est un système avionique propre à être embarqué dans un poste de commande d’un aéronef, notamment un système de navigation de l’aéronef.
L’invention concerne également un procédé de mise en œuvre d’une fonction critique par un système électronique, le système électronique étant configuré pour mettre en œuvre une fonction critique, le système électronique étant propre à recevoir des première et deuxième données d’entrée et à délivrer une donnée de sortie associée à ladite fonction critique, la donnée de sortie étant associée à un domaine de sécurité prédéterminé, le domaine de sécurité étant en forme d’une plage de valeur(s) prédéfinie(s), le procédé comprenant les étapes suivantes :
- calcul d’une première donnée intermédiaire à partir de la première donnée d’entrée et d’un algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée,
- calcul d’une deuxième donnée intermédiaire à partir de la deuxième donnée d’entrée et de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la
fonction critique pour la deuxième donnée d’entrée, la deuxième donnée d’entrée étant différente de la première donnée d’entrée,
- calcul d’une donnée intermédiaire de référence à partir de la première donnée d’entrée et/ou de la deuxième donnée d’entrée et d’un algorithme de référence différent de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée et/ou la deuxième donnée d’entrée via l’algorithme de référence,
- vérification si les première et deuxième données intermédiaires appartiennent au domaine de sécurité et comparaison des première et deuxième données intermédiaires entre elles afin de détecter une éventuelle incohérence;
- génération de la donnée de sortie en fonction des première et deuxième données intermédiaires si les première et deuxième données intermédiaires appartiennent au domaine de sécurité et si aucune incohérence n’est détectée, la donnée de sortie étant égale à la donnée de référence sinon.
L’invention a également pour objet un programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en œuvre un procédé tel que défini ci-dessus.
Ces caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description qui va suivre, donnée uniquement à titre d’exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels :
[Fig 1] la figure 1 est une représentation schématique d’un système électronique selon l’invention,
[Fig 2] la figure 2 est une représentation schématique de la mise en œuvre d’un algorithme de renforcement par apprentissage, et
[Fig 3] la figure 3 est un organigramme d’un procédé, selon l’invention, de mise en œuvre d’une fonction critique par le système électronique de la figure 1 .
Un système électronique 10 est représenté sur la figure 1. Le système électronique 10 est configuré pour mettre en œuvre au moins une fonction critique.
Dans l’exemple de la figure 1, le système électronique 10 est embarqué dans un aéronef. L’aéronef est typiquement un avion, un hélicoptère, ou encore un drone. Autrement dit, l’aéronef est un engin volant pilotable par un pilote via un poste de commande, le poste de commande étant disposé à l’intérieur de l’aéronef ou bien à distance de l’aéronef, notamment dans le cas d’un drone.
Dans cet exemple, le système électronique 10 est alors un système avionique configuré pour mettre en œuvre une fonction critique avionique.
La fonction critique avionique est alors typiquement choisie parmi le groupe consistant en : un calcul de trajectoire de l’aéronef, une commande de vol de l’aéronef, la stratégie d’évitement d’un obstacle sur la trajectoire de l’aéronef, une fonction de freinage de l’aéronef, etc.
L’homme du métier comprendra que l’invention s’applique également à d’autres fonctions critiques, telles qu’à un processus de contrôle de la réactivité dans un réacteur nucléaire, à un contrôle de la température dans un fourneau d’une usine, à une commande de navigation d’un véhicule automobile autonome, à une commande de vitesse d’un véhicule ferroviaire, etc.
Le système électronique 10 est propre à recevoir des première et deuxième données d’entrée, notées A et B par la suite, et à délivrer une donnée de sortie C associée à ladite fonction critique.
La deuxième donnée d’entrée B est distincte et différente de la première donnée d’entrée A.
Chaque donnée d’entrée A, B est fournie par un dispositif électronique amont 12A, 12B respectif.
Le dispositif électronique amont 12A associé à la donnée d’entrée A est différent du dispositif électronique amont 12B associé à la donnée d’entrée B.
Chaque dispositif électronique amont 12A, 12B est par exemple embarqué à bord de l’aéronef. Chaque dispositif électronique amont 12A, 12B est notamment un capteur embarqué dans l’aéronef, par exemple une caméra, un capteur de position ou un capteur de température. En variante, chaque dispositif électronique amont 12A, 12B est un autre système, notamment un autre système avionique.
En variante encore, chaque dispositif électronique amont 12A, 12B est un système externe à l’aéronef, tel qu’une tour de contrôle communiquant la donnée d’entrée A, B associée à l’aéronef.
Avantageusement, les première et deuxième données d’entrée A, B sont de même type. Autrement dit, le type des valeurs susceptibles d’être prises par les première et deuxièmes données est identique pour ces première et deuxième données.
En particulier, ce type est choisi parmi le groupe consistant en : une image, un flux vidéo, une mesure ou une succession de mesures d’un ou plusieurs paramètres de fonctionnement du système électronique 10, un signal de mesure issu d’un capteur, une commande d’un utilisateur du système électronique 10, un texte (c’est-à-dire une
succession de caractères alphanumériques) issu de notices d’informations ou de reconnaissance vocale.
A titre d’exemple, les première et deuxième données d’entrée A, B sont des images de l’environnement de l’aéronef provenant de deux caméras embarquées différentes, des données de localisation de l’aéronef issus de deux capteurs différents, des paramètres avioniques, tels que le niveau de carburant ou l’état de fonctionnement d’un ou plusieurs système avioniques, ou encore sont des commandes de vol issues de deux systèmes de pilotage différents redondés.
En variante, les première et deuxième données d’entrée A, B sont de types différents.
A titre d’exemple, la première donnée d’entrée A est une image de l’environnement de l’aéronef issue d’une caméra embarquée sur l’aéronef, et la deuxième donnée d’entrée B est une représentation numérique du terrain survolé par l’aéronef issue d’une base de données géographiques.
La donnée de sortie C est avantageusement une valeur numérique ou indicateur booléen, typiquement égal à 0 ou 1 .
La donnée de sortie C est par exemple une valeur d’une commande de vol, d’une consigne de vitesse ou d’altitude pour l’aéronef, d’une consigne d’activation/désactivation d’un système avionique, etc.
La donnée de sortie C est associée à un domaine de sécurité prédéterminé, le domaine de sécurité étant en forme d’une plage de valeur(s) prédéfinie(s).
Ainsi, lorsque la donnée de sortie C est une valeur numérique, le domaine de sécurité est par exemple un intervalle de valeurs entre deux bornes prédéterminées ou un intervalle ouvert défini par une valeur seuil minimale ou maximale ou encore un ensemble de tels intervalles. Lorsque la donnée de sortie est un indicateur booléen, typiquement égal à 0 ou 1 , le domaine de sécurité est alors une valeur unique.
Le système électronique 10 comprend un premier module de traitement 14, un deuxième module de traitement 16, un module de traitement auxiliaire 18 et un dispositif de surveillance 20.
En complément facultatif, le système électronique comprend en outre un module d’alerte 21 et un module d’affichage 23.
Le premier module de traitement 14, le deuxième module de traitement 16 et le module de traitement auxiliaire 18 sont par exemple embarqués chacun sur un calculateur électronique distinct respectif.
Chaque calculateur électronique comprend avantageusement sa propre alimentation électrique et sa propre unité de calcul. Le calculateur électronique est, par
exemple, en forme d’un module électronique indépendant d’autre(s) module(s) électronique(s) et apte à être installé dans un rack, non représenté, ou encore en forme d’une carte électronique, indépendante d’autre(s) carte(s) électronique (s), et apte à être installée dans un coffret électronique. En variante, le calculateur électronique a son propre coffret électronique, et est alors le seul calculateur disposé à l’intérieur d’un boitier de protection associé au coffret.
Le premier module de traitement 14 est configuré pour calculer une première donnée intermédiaire SA à partir de la première donnée d’entrée A et d’un algorithme d’apprentissage par renforcement pour la mise en œuvre de la fonction critique.
Autrement dit, le premier module de traitement 14 est configuré pour mettre en œuvre la fonction critique pour la première donnée d’entrée A, en appliquant l’algorithme d’apprentissage par renforcement à la première donnée d’entrée A, ceci afin d’obtenir la première donnée intermédiaire SA.
Le fonctionnement d’un algorithme d’apprentissage par renforcement est représenté schématiquement sur la figure 2. De manière connue, l'apprentissage par renforcement consiste, pour un agent X autonome tel qu’un algorithme, dans un état courant S, à apprendre des actions F à effectuer, à partir d'expériences, de façon à optimiser une récompense R quantitative au cours du temps. L'agent X est plongé au sein de l’environnement E, et prend ses décisions en fonction de son état courant S. En retour, l'environnement E procure à l'agent X une récompense R, positive ou négative et l’agent X évolue dans un nouvel état courant S’. L'agent X cherche, au travers d'expériences itérées, à optimiser un comportement décisionnel appelé stratégie ou politique, et qui est une fonction associant à l'état courant S l'action F à exécuter, afin de maximiser la somme des récompenses R au cours du temps.
Ainsi, dans un tel problème, on dit que l’agent X interagit avec l’environnement E pour trouver la solution optimale. L’apprentissage par renforcement diffère fondamentalement des problèmes supervisés et non-supervisés par ce côté interactif et itératif : l’agent X essaie plusieurs solutions (on parle « d’exploration »), observe la réaction de l’environnement E et adapte son comportement pour trouver la meilleure stratégie.
Les principales familles d’algorithmes d’apprentissage par renforcement sont notamment les méthodes dite de « Q-learning», les variantes du Q-learning telles que les méthodes dite de « Deep Q-learning », les méthodes dites « Actor-Critic », les algorithmes de bandits, les algorithmes de décisions markovien et les arbres de jeu.
Comme cela sera expliqué par la suite, une récompense est déterminée par le dispositif de contrôle 20 en réponse à la première donnée intermédiaire SA et est renvoyé
au premier module de traitement 14. Le premier module de traitement 14 est alors propre à faire évoluer l’algorithme d’apprentissage par renforcement en fonction de cette récompense pour le calcul de la prochaine première donnée intermédiaire SA afin de maximiser la prochaine récompense reçue.
En particulier, le premier module de traitement 14 est configuré pour appliquer préférentiellement une méthode dite de « Q-learning », une méthode dite « Actor-Critic » ou une variante de ces méthodes connues de l’homme du métier.
Avantageusement, le premier module de traitement 14 est configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement en fonction d’une première pluralité de paramètres algorithmiques.
Chaque paramètre algorithmique permet notamment de contrôler l’importance d’une variable ou d’une fonction dans les calculs effectués par l’algorithme d’apprentissage par renforcement. Ainsi, la modification d’un ou plusieurs paramètres algorithmiques permet de faire évoluer et d’ajuster l’algorithme d’apprentissage par renforcement au cours de son exploitation.
La méthode dite de « Q-learning » a typiquement pour objectif de construire une table permettant de lier chaque donnée d’entrée possible à un cout, en ajustant au fur et à mesure les coûts, correspondant aux valeurs de la table.
Le premier module de traitement 14 est configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement avec la méthode dite de « Q-learning » si le nombre de données d’entrée possibles, ou encore considérées ou prises en compte, pour la première donnée d’entrée A est faible, typiquement si ce nombre de données d’entrée est inférieur à un seuil prédéfini. Le premier module de traitement 14 est typiquement configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement avec la méthode dite de « Q-learning » si une combinatoire de données d’entrée pour la première donnée d’entrée A est faible, telle qu’inférieure à un seuil correspondant prédéfini.
La méthode dite de « Deep Q-learning » construit typiquement un réseau de neurones qui calcule le coût à partir de chaque donnée d’entrée possible, avec un ajustement des paramètres, tels que poids, du réseau de neurones, par exemple par une méthode de descente de gradient.
Le premier module de traitement 14 est configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement avec la méthode dite de « Deep Q-learning » si le nombre de données d’entrée possibles, ou encore considérées ou prises en compte, pour la première donnée d’entrée A est élevé, en particulier trop grand pour réaliser une table, typiquement si ce nombre de données d’entrée est supérieur au seuil prédéfini. Le premier module de traitement 14 est typiquement configuré pour mettre en œuvre
l’algorithme d’apprentissage par renforcement avec la méthode dite de « Deep Q- learning » si la combinatoire de données d’entrée pour la première donnée d’entrée A est élevée, telle que supérieure au seuil correspondant prédéfini.
Pour la méthode dite « Actor-Critic », le principe est d’estimer une fonction de coût et de valeur. Ces fonctions sont généralement modélisées par des réseaux de neurones, en ajustant les poids de ces réseaux de neurones.
Le premier module de traitement 14 est typiquement configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement avec la méthode dite « Actor-Critic » si le nombre de données d’entrée possibles, ou encore considérées ou prises en compte, pour la première donnée d’entrée A est élevé, en particulier trop grand pour réaliser une table, typiquement si ce nombre de données d’entrée est supérieur au seuil prédéfini.
Le paramètre algorithmique est alors typiquement le nombre de données d’entrée possibles, considérées ou prises en compte ; ou encore la combinatoire de données d’entrée pour la première donnée d’entrée A.
Le premier module de traitement 14 est en outre configuré pour envoyer la première donnée intermédiaire SA au dispositif de surveillance 20.
Le deuxième module de traitement 16 est configuré pour calculer une deuxième donnée intermédiaire SB à partir de la deuxième donnée d’entrée B et de l’algorithme d’apprentissage par renforcement pour la mise en œuvre de la fonction critique.
Autrement dit, le deuxième module de traitement 16 est configuré pour mettre en œuvre la fonction critique pour la deuxième donnée d’entrée B, en appliquant l’algorithme d’apprentissage par renforcement à la deuxième donnée d’entrée B, ceci afin d’obtenir la deuxième donnée intermédiaire SB.
La fonction critique est donc mise en œuvre par le deuxième module de traitement 16 avec le même algorithme que celui utilisé par le premier module de traitement 14, mais avec une donnée d’entrée différente.
Avantageusement, le deuxième module de traitement 16 est configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement en fonction d’une deuxième pluralité de paramètres algorithmiques.
L’homme du métier comprendra que la première pluralité de paramètres algorithmiques et la deuxième pluralité de paramètres algorithmiques sont semblables et permettent d’ajuster les mêmes variables ou fonctions, mais présentent éventuellement des valeurs numériques pour chaque paramètre algorithmique différentes en fonction respectivement des premières et deuxièmes récompenses reçues.
Le deuxième module de traitement 16 est en outre configuré pour envoyer la deuxième donnée intermédiaire SB au dispositif de surveillance 20.
Le module de traitement auxiliaire 18 est configuré pour calculer une donnée intermédiaire de référence SR à partir de de la première donnée d’entrée A et/ou de la deuxième donnée d’entrée B et d’un algorithme de référence pour la mise en œuvre de la fonction critique.
Autrement dit, le module de traitement auxiliaire 18 est configuré pour mettre en œuvre la fonction critique pour la première donnée d’entrée A et/ou la deuxième donnée d’entrée B, en appliquant l’algorithme de référence à la première donnée d’entrée A et/ou à la deuxième donnée d’entrée B, ceci afin d’obtenir la donnée intermédiaire de référence SR.
Le module de traitement auxiliaire 18 est par exemple configuré pour mettre en œuvre la fonction critique uniquement à partir de la première donnée d’entrée A ou uniquement à partir de la deuxième donnée d’entrée B. En particulier, le module de traitement auxiliaire 18 est configuré pour prendre en entrée prioritairement la première donnée d’entrée A, et sinon, notamment en cas de défaillance du premier dispositif électronique amont 12A, pour prendre en entrée la deuxième donnée d’entrée B.
En variante, le module de traitement auxiliaire 18 est configuré pour mettre la fonction critique à partir à la fois de la première donnée d’entrée A et de la deuxième donnée d’entrée B.
En variante encore, le module de traitement auxiliaire 18 est configuré pour mettre en œuvre la fonction critique uniquement à partir de la première donnée d’entrée A ; et séparément mettre en œuvre la fonction critique uniquement à partir de la deuxième donnée d’entrée B. Selon cette variante, le module de traitement auxiliaire 18 est alors configuré pour fournir en outre au dispositif de surveillance 20 une deuxième donnée intermédiaire de référence SR’ associée à la deuxième mise en œuvre de la fonction critique.
L’algorithme de référence est différent de l’algorithme d’apprentissage par renforcement. Ainsi, l’algorithme de référence n’est pas configuré pour mettre en œuvre un apprentissage par renforcement.
L’ensemble des mises en œuvre de la fonction critique par l’algorithme de référence définit un domaine d’arrivée de l’algorithme de référence. Avantageusement, le domaine d’arrivée est inclus dans le domaine de sécurité. Ainsi, la mise en œuvre de la fonction critique par le module de traitement auxiliaire 18 donne en sortie une donnée intermédiaire de référence SR toujours comprise dans le domaine de sécurité de la fonction critique, garantissant ainsi la sécurité de l’aéronef.
L’algorithme de référence est notamment un algorithme ne mettant pas en œuvre une méthode d’apprentissage automatique. En particulier, l’algorithme de référence est un
algorithme déterministe constitué, par exemple, d’une succession d’instructions conditionnelles (de type « if, then ») et/ou basé sur la mise en œuvre d’un modèle physique constitué d’un ensemble d’équations décrivant le fonctionnement du système, les équations étant notamment établies par un homme du métier à partir de lois physiques, éventuellement simplifiées., ou encore des méthodes de traitement du signal ou de filtrage. Les méthodes de traitement du signal ou de filtrage sont par exemple des méthodes mettant en œuvre des filtres numériques, des filtres de Kalman, connus en soi.
L’homme du métier comprendra alors que l’algorithme de référence est un algorithme déterministe, c’est-à-dire entièrement justifiable, ce qui n’est pas le cas l’algorithme d’apprentissage par renforcement qui est construit au fur et à mesure des essais, notamment de son apprentissage.
La fonction critique est donc mise en œuvre par le module de traitement auxiliaire 18 avec les même données d’entrée A, B que les premier et deuxième modules de traitement 14, 16 mais avec un algorithme diffèrent.
Le module de traitement auxiliaire 18 est en outre configuré pour envoyer la ou les donnée(s) intermédiaire(s) de référence SR, SR’ au dispositif de surveillance 20.
Le dispositif de surveillance 20 comporte un module de contrôle 22 et un module de génération 24.
En complément, le dispositif de surveillance 20 comporte en outre un module de récompense 26.
Le module de récompense 26 est configuré pour calculer une première récompense RA associée à la mise en œuvre de la fonction critique par le premier module de traitement 14 et une deuxième récompense RB associée à la mise en œuvre de la fonction critique par le deuxième module de traitement 16.
En particulier, le module de récompense 26 est configuré pour calculer les première et deuxième récompenses RA, RB en fonction d’une règle de récompense prédéterminée.
Comme expliqué ci-dessus, la règle de récompense prédéterminée définit si le calcul réalisé par le premier ou le deuxième module de traitement 14, 16 est proche d’un objectif prédéterminé.
A titre d’exemple, l’objectif est par exemple une trajectoire de l’aéronef à suivre et la règle de récompense est définie par la distance entre la trajectoire réelle suivie par l’aéronef et la trajectoire visée. Ainsi, plus la distance entre les deux trajectoires est proche, plus la récompense est élevée en réponse, de telle sorte que les premier et deuxième modules de traitement 14, 16 prennent en compte de manière privilégiée les actions conduisant à une trajectoire la plus proche possible de la trajectoire visée.
Le module de récompense 26 est en outre configuré pour pénaliser chaque première récompense RA et/ou respectivement chaque deuxième récompense RB, si la première donnée intermédiaire SA et/ou respectivement si la deuxième donnée intermédiaire SB n’appartiennent pas au domaine de sécurité.
Le module de récompense 26 est par exemple configuré pour multiplier chaque première récompense RA et/ou respectivement chaque deuxième récompense RB par un coefficient multiplicateur strictement inférieur à 1 si la première donnée intermédiaire SA et/ou respectivement si la deuxième donnée intermédiaire SB n’appartiennent pas au domaine de sécurité. Plus l’écart entre la première et/ou deuxième données intermédiaires SA, SB par rapport au domaine de sécurité est important, plus le coefficient multiplicateur est petit afin de pénaliser la première ou deuxième récompense RA, RB associée.
En variante, le module de récompense 26 est configuré pour soustraire à chaque première récompense RA et/ou respectivement à chaque deuxième récompense RB, une valeur proportionnelle à l’écart entre la première ou deuxième récompense RA, RB par rapport au domaine de sécurité.
Le premier module de traitement 14 est configuré pour recevoir la première récompense RA à chaque itération, et pour modifier la première pluralité de paramètres algorithmiques en fonction de la première récompense reçue RA à chaque itération afin de maximiser la prochaine première récompense RA reçue.
Le deuxième module de traitement 16 est configuré pour recevoir la deuxième récompense RB à chaque itération, et pour modifier la deuxième pluralité de paramètres algorithmiques en fonction de la deuxième récompense reçue RB à chaque itération afin de maximiser la prochaine deuxième récompense RB reçue.
Le module de contrôle 22 est configuré pour vérifier si les première et deuxième données intermédiaires SA, SB appartiennent au domaine de sécurité.
En particulier, si les première et deuxième données intermédiaires SA, SB sont des valeurs numériques, le module de contrôle 22 est configuré pour vérifier si les première et deuxième données intermédiaires SA, SB appartiennent à la plage de valeurs définissant le domaine de sécurité.
Si les première et deuxième données intermédiaires SA, SB sont des indicateurs booléens, le module de contrôle 22 est configuré pour vérifier si les première et deuxième données intermédiaires SA, SB sont égale à la valeur associée au domaine de sécurité, typiquement 0 ou 1.
Le module de contrôle 22 est en outre configuré pour comparer les première et deuxième données intermédiaires SA, SB entre elles afin de détecter une éventuelle incohérence.
La comparaison entre les deux données intermédiaires SA, SB détermine si ces deux données intermédiaires sont cohérentes entre elles ou non selon une règle de cohérence prédéterminée. La règle de cohérence définit un critère sur le résultat de la comparaison permettant de définir si les données intermédiaires sont cohérentes entre elles.
Typiquement, si les données intermédiaires sont des valeurs numériques, la règle de cohérence définit un calcul d’une métrique, telle qu’une distance entre les données, par exemple la valeur absolue de la différence, et un seuil de cohérence. Les données intermédiaires SA, SB sont alors cohérentes entre elles si la métrique, telle que la distance entre les valeurs est inférieure au seuil de cohérence.
A titre d’exemple, deux données intermédiaires représentant des consignes de vitesse de l’aéronef présentant une différence de valeur de plus de 10% sont considérées comme incohérentes entre elles.
Le module de contrôle 22 est configuré en outre pour comptabiliser le nombre de fois où respectivement les première et deuxième données intermédiaires SA, SB ne respectent pas le domaine de sécurité.
Le module de contrôle 22 est configuré pour réinitialiser respectivement la première pluralité de paramètres algorithmiques et la deuxième pluralité de paramètres algorithmiques lorsque ledit nombre est supérieur à un seuil prédéterminé.
En particulier, les algorithmes d’apprentissage par renforcement mis en œuvre dans les premier et deuxième modules de traitement 14, 16 sont entrainés dans un environnement contrôlé de type simulation, avant l’exploitation en conditions réelles du système 10. Cet entraînement permet l’établissement d’un comportement des algorithmes assurant un fonctionnement des algorithmes assurant des performances et une sécurité jugées suffisantes par un homme du métier avant l’exploitation du système 10. Les paramètres algorithmiques de l’algorithme obtenus après l’entraînement sont sauvegardés dans une base de données embarquée dans le système 10.
Ainsi, on entend par « réinitialiser la première pluralité de paramètres algorithmiques et la deuxième pluralité de paramètres algorithmiques, le fait de réinitialiser les algorithmes d’apprentissage par renforcement mis en œuvre dans les premier et deuxième modules de traitement 14, 16 selon les paramètres algorithmiques définis lors de l’entrainement avant l’exploitation du système 10.
Avantageusement, lorsque le module de traitement auxiliaire 18 est configuré pour fournir deux données intermédiaires de référence associées à partir de respectivement la première donnée d’entrée A et la deuxième donnée d’entrée B pour la mise en œuvre de la fonction critique, le module de contrôle 22 est configuré pour comparer la première donnée intermédiaire SA avec la donnée intermédiaire de référence SR associée à la première donnée d’entrée A, et respectivement pour comparer la deuxième donnée intermédiaire SB avec la donnée intermédiaire de référence SR’ associée à la deuxième donnée d’entrée B.
Ainsi, en cas d’incohérence détectée entre les première et deuxième données intermédiaires SA, SB, le module de contrôle 22 est propre à détecter si la défaillance est due aux données d’entrée A, B ou bien à la mise en œuvre de la fonction critique par les premier et deuxième modules de traitement 14, 16.
En effet, si la première donnée intermédiaire SA et la donnée intermédiaire de référence SR associée à la première donnée d’entrée A sont cohérentes et si la deuxième donnée intermédiaire SB n’est pas cohérente avec la donnée intermédiaire de référence associée à la deuxième donnée d’entrée B, alors la défaillance provient du deuxième module de traitement 16.
Si la première donnée intermédiaire SA et la donnée intermédiaire de référence SR associée à la première donnée d’entrée A sont cohérentes et si la deuxième donnée intermédiaire SB est cohérente avec la donnée intermédiaire de référence associée à la deuxième donnée d’entrée B, alors la défaillance provient de l’un des deux dispositifs électroniques amont 12A, 12B.
Le module de contrôle 22 est, en outre, configuré pour comparer les première et deuxième récompenses RA, RB entre elles afin de détecter une éventuelle incohérence.
En particulier, le module de contrôle 22 calcule une métrique, telle qu’une distance entre les récompenses RA, RB, par exemple la valeur absolue de la différence, et un deuxième seuil de cohérence. Les récompenses RA, RB sont alors cohérentes entre elles si la métrique, telle que la distance entre les valeurs est inférieure au deuxième seuil de cohérence.
Le module de génération 24 est configuré pour générer la donnée de sortie C en fonction des première et deuxième données intermédiaires SA, SB lorsque les première et deuxième données intermédiaires SA, SB appartiennent au domaine de sécurité et en l’absence d’incohérence détectée.
La donnée de sortie C est par exemple égale à l’une des deux données intermédiaires SA, SB. Typiquement, lorsque les première et deuxième données intermédiaires SA, SB appartiennent au domaine de sécurité et en l’absence
d’incohérence détectée, la donnée de sortie C est égale à la première donnée intermédiaire SA.
En variante, lorsque les première et deuxième données intermédiaires SA, SB appartiennent au domaine de sécurité et en l’absence d’incohérence détectée, la donnée de sortie C est égale à la donnée intermédiaire SA, SB associée à la récompense RA, RB la plus élevée calculée par le module de récompense 26.
En variante encore, le module de génération 24 est configuré pour appliquer une formule mathématique aux première et deuxième données intermédiaires SA, SB pour obtenir la donnée de sortie C. Par exemple, le module de génération 24 est configuré pour effectuer une moyenne des données intermédiaires SA, SB.
Si l’une des première et deuxième données intermédiaires SA, SB n’appartient pas au domaine de sécurité et/ou si une incohérence est détectée, la donnée de sortie C est alors égale à la donnée de référence SR.
Le module d’alerte 21 est configuré pour générer un signal d’alerte en fonction de chaque incohérence détectée par le module de contrôle 22 entre les données intermédiaires SA, SB et/ou entre les récompenses RA, RB.
Le signal d’alerte comporte avantageusement une alerte relative à la défaillance des dispositifs électroniques amont 12A, 12B ou de l’un des modules de traitement 14, 16.
Optionnellement, le module d’affichage 23 est configuré pour afficher l’alerte à destination d’un utilisateur du système électronique 10. En particulier, lorsque le système 10 est un système avionique, le module d’affichage 23 est configuré pour afficher l’alerte sur un écran d’affichage tête basse ou un écran d’affichage tête haute devant le pilote qui prend alors en compte la défaillance détectée.
Dans l’exemple de la figure 1, le système électronique 10 comprend une unité de traitement d’informations 50 formée par exemple d’une mémoire 52 et d’un processeur 54 associé à la mémoire 52. Le premier module de traitement 14, le deuxième module de traitement 16, le module de traitement auxiliaire 18 et le dispositif de surveillance 20, et en complément facultatif le module d’alerte 21 et le module d’affichage 23, sont réalisés chacun sous forme d’un logiciel, ou d’une brique logicielle, exécutables par le processeur 54. La mémoire 52 est alors apte à stocker un premier logiciel de traitement, un deuxième logiciel de traitement, un logiciel de traitement auxiliaire et un logiciel de surveillance, et en complément facultatif un logiciel d’alerte et un logiciel d’affichage. Le processeur 54 est alors apte à exécuter chacun de ces logiciels.
En variante non représentée, le premier module de traitement 14, le deuxième module de traitement 16, le module de traitement auxiliaire 18 et le dispositif de surveillance 20, et en complément facultatif le module d’alerte 21 et le module d’affichage
23, sont réalisés chacun sous forme d’un composant logique programmable, tel qu’un FPGA (de l’anglais Field Programmable Gate Array), ou encore sous forme d’un circuit intégré dédié, tel qu’un ASIC (de l’anglais Application Specific Integrated Circuit). Le premier module de traitement 14, le deuxième module de traitement 16, le module de traitement auxiliaire 18 et le dispositif de surveillance 20 sont alors de préférence embarqués chacun sur un calculateur électronique respectif.
Lorsque le système électronique 10 est réalisé sous forme d’un ou plusieurs logiciels, c’est-à-dire sous forme d’un programme d’ordinateur, il est en outre apte à être enregistré sur un support, non représenté, lisible par ordinateur. Le support lisible par ordinateur est par exemple, un médium apte à mémoriser les instructions électroniques et à être couplé à un bus d’un système informatique. A titre d’exemple, le support lisible est un disque optique, un disque magnéto-optique, une mémoire ROM, une mémoire RAM, tout type de mémoire non-volatile (par exemple EPROM, EEPROM, FLASH, NVRAM), une carte magnétique ou une carte optique. Sur le support lisible est alors mémorisé un programme d’ordinateur comportant des instructions logicielles.
Le fonctionnement du système électronique 10 selon l’invention va désormais être expliqué à l’aide de la figure 3 représentant un organigramme du procédé, selon l’invention, de mise en œuvre d’une fonction critique par le système 10.
Par la suite, un exemple de mise en œuvre du procédé va être décrite pour un système avionique, et l’homme du métier comprendra que ce procédé s’applique plus généralement à tout système électronique 10.
Initialement, l’aéronef est par exemple en train de voler en direction d’un aéroport.
Le système avionique 10 met alors en œuvre une fonction critique avionique, telle qu’un calcul d’une commande de vol de l’aéronef, un calcul d’une trajectoire de vol optimisée selon un critère prédéterminé, tel que la consommation de carburant de l’aéronef, ou encore le calcul d’une stratégie d’évitement d’un obstacle par l’aéronef. Lors d’une première étape de calcul 100, le premier module de traitement 14 calcule la première donnée intermédiaire SA à partir de la première donnée d’entrée A et de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée A.
Dans l’exemple du calcul d’une commande de vol, la première donnée d’entrée A est notamment une première donnée de localisation de l’aéronef, une première donnée relative à l’état d’un système avionique ou une première donnée relative à la trajectoire à suivre par l’aéronef. Le premier module de traitement 14 calcule alors la première donnée intermédiaire SA, telle qu’une première commande de vol pour l’aéronef, afin de se rapprocher au plus proche d’une trajectoire visée, ceci à partir de cette première donnée
d’entrée A en lui appliquant l’algorithme d’apprentissage par renforcement. La première donnée intermédiaire SA est ainsi représentative d’une première commande de vol pour l’aéronef afin de suivre au mieux la trajectoire visée.
Dans l’exemple du calcul d’une trajectoire optimisée, la première donnée d’entrée A est notamment une première donnée de localisation de l’aéronef, une première donnée relative à l’état de l’aéronef, une première donnée relative à la destination programmée pour l’aéronef. La première donnée intermédiaire SA est alors représentative d’une première trajectoire à suivre.
Dans l’exemple du calcul d’une stratégie d’évitement d’un obstacle, la première donnée d’entrée A est notamment une première donnée de localisation de l’aéronef, une première donnée de localisation de l’obstacle ou une première donnée relative à l’état d’un système avionique. La première donnée intermédiaire SA est alors représentative d’une première stratégie d’évitement à suivre par l’aéronef.
Lors d’une deuxième étape de calcul 110, le deuxième module de traitement 16 calcule la deuxième donnée intermédiaire SB à partir de la deuxième donnée d’entrée B et de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la deuxième donnée d’entrée B.
Dans l’exemple du calcul d’une commande de vol, la deuxième donnée d’entrée B est notamment une deuxième donnée de localisation de l’aéronef, de préférence issue d’un capteur différent de celui ayant fourni la première donnée de localisation, une deuxième donnée relative à l’état dudit système avionique ou une deuxième donnée relative à la trajectoire à suivre. Le deuxième module de traitement 16 calcule la deuxième donnée intermédiaire SB, telle qu’une deuxième commande de vol pour l’aéronef afin de se rapprocher au plus proche de la trajectoire visée, ceci à partir de cette deuxième donnée d’entrée B en lui appliquant l’algorithme d’apprentissage par renforcement. La deuxième donnée intermédiaire SB est ainsi représentative d’une deuxième commande de vol pour l’aéronef afin de suivre au mieux la trajectoire visée.
Dans l’exemple du calcul d’une trajectoire optimisée, la deuxième donnée d’entrée B est notamment une deuxième donnée de localisation de l’aéronef, une deuxième donnée relative à l’état de l’aéronef, une deuxième donnée relative à la destination programmée pour l’aéronef. La deuxième donnée intermédiaire SB est alors représentative d’une deuxième trajectoire à suivre.
Dans l’exemple du calcul d’une stratégie d’évitement d’un obstacle, la deuxième donnée d’entrée B est notamment une deuxième donnée de localisation de l’aéronef, une deuxième donnée de localisation de l’obstacle ou une deuxième donnée relative à l’état
d’un système avionique. La deuxième donnée intermédiaire SB est alors représentative d’une deuxième stratégie d’évitement à suivre par l’aéronef.
Lors d’une troisième étape de calcul 120, le module de traitement auxiliaire 18 calcule la donnée intermédiaire de référence SR à partir de la première donnée d’entrée A et/ou de la deuxième donnée d’entrée B et de l’algorithme de référence, pour la mise en œuvre de la fonction critique via l’algorithme de référence pour la première donnée d’entrée A et/ou la deuxième donnée d’entrée B.
Par exemple, le module de traitement auxiliaire 18 calcule la donnée intermédiaire de référence SR, telle qu’une troisième commande de vol pour l’aéronef afin de se rapprocher au plus proche de la trajectoire visée, une troisième trajectoire à suivre ou une troisième stratégie d’évitement, ceci à partir de la première donnée d’entrée A et/ou de la deuxième donnée d’entrée B en lui ou en leur appliquant l’algorithme de référence.
Dans l’exemple du calcul d’une commande de vol, l’algorithme de référence est par exemple un modèle physique simplifié fournissant une formule déterministe donnant la commande de vol en fonction de l’écart entre la trajectoire de l’aéronef et la trajectoire visée.
Dans l’exemple du calcul d’une trajectoire optimisée, l’algorithme de référence est par exemple un modèle physique simplifié fournissant une formule déterministe donnant une trajectoire à faible consommation de carburant en fonction de la position de l’aéronef et de sa destination.
Dans l’exemple du calcul d’une stratégie d’évitement d’un obstacle, l’algorithme de référence est par exemple un modèle physique simplifié fournissant une formule déterministe donnant une stratégie d’évitement en fonction de la position de l’aéronef et la position de l’obstacle.
Les étapes de calcul 100, 110 et 120 sont réalisées indépendamment l’une de l’autre, en même temps ou bien successivement dans un ordre quelconque.
Le dispositif de surveillance 20 reçoit les première et deuxième données intermédiaires SA, SB puis vérifie, lors d’une étape de contrôle 130, si les première et deuxième données intermédiaires SA, SB appartiennent au domaine de sécurité et compare les première et deuxième données intermédiaires SA, SB entre elles afin de détecter une éventuelle incohérence.
A titre d’exemple, si la commande de vol est une consigne de vitesse, le domaine de sécurité est alors notamment un intervalle de vitesse associé. Si la commande de vol est une consigne d’altitude, le domaine de sécurité est alors un intervalle d’altitude. Si la commande de vol est une commande moteur, le domaine de sécurité est alors notamment un intervalle de puissance moteur. Si la commande de vol est une commande
de direction, le domaine de sécurité est par exemple une limite de changement de direction de l’aéronef, etc.
En outre, deux commandes de vol sont par exemple détectées comme étant incohérentes entre elles, si les trajectoires associées à ces deux commandes présentent un écart spatial supérieur à une distance seuil prédéterminée.
Lorsque les première et deuxième données intermédiaires SA, SB appartiennent au domaine de sécurité et en l’absence d’incohérence détectée, le dispositif de surveillance 20 délivre la donnée de sortie C en fonction des première et deuxième données intermédiaires SA, SB lors d’une étape de génération 140.
Par exemple, la donnée de sortie C est égale à la première commande de vol ou est égale à la moyenne entre les première et deuxième commandes de vol.
Si une incohérence est détectée, le dispositif de surveillance 20 délivre alors la donnée de sortie C égale à la donnée de référence SR lors de l’étape de génération 140. En outre, le module d’alerte 21 génère un signal d’alerte lors d’une étape d’alerte 150 et, optionnellement, lors d’une étape d’affichage 160, le module d’affichage 25 affiche l’alerte à destination d’un utilisateur du système électronique 10, notamment du pilote de l’aéronef.
Lors d’une étape de récompense 170, le module de récompense 26 reçoit les première et deuxième données intermédiaires SA, SB et calcule une première récompense RA associée à la mise en œuvre de la fonction critique par le premier module de traitement 14 et une deuxième récompense RB associée à la mise en œuvre de la fonction critique par le deuxième module de traitement 16.
Dans l’exemple du calcul d’une commande de vol, plus la distance entre la trajectoire calculée et la trajectoire visée est proche, plus la récompense est élevée.
Dans l’exemple du calcul d’une trajectoire optimisée, la récompense est calculée en fonction de la consommation de carburant réel mesurée. Plus la consommation est faible, plus la récompense est alors élevée.
Dans l’exemple du calcul d’une stratégie d’évitement d’un obstacle, la récompense est calculée après l’évitement de l’obstacle en fonction de l'écart minimal en distance entre l’aéronef et l’obstacle. Plus cet écart de distance est élevé, plus la récompense est également élevée.
Le module de récompense 26 envoie la première récompense RA et respectivement la deuxième récompense RB au premier et respectivement deuxième module de traitement 14, 16.
A la prochaine itération de la première étape de calcul 100, le premier module de traitement 14 reçoit la première récompense RA et modifie la première pluralité de
paramètres algorithmiques afin de maximiser la prochaine première récompense RA reçue, et ainsi par exemple calculer une trajectoire plus proche de la trajectoire visée.
A la prochaine itération de la deuxième étape de calcul 110, le deuxième module de traitement 16 reçoit la deuxième récompense RB et modifie la deuxième pluralité de paramètres algorithmiques afin de maximiser la prochaine deuxième récompense RB reçue, et ainsi par exemple calculer une trajectoire consommant moins de carburant ou une stratégie d’évitement plus efficace.
On conçoit alors que la présente invention présente un certain nombre d’avantages.
En effet, la mise en œuvre de la fonction critique par les premier et deuxièmes modules de traitement 14, 16 via l’algorithme d’apprentissage par renforcement permettent d’améliorer la performance du système 10 durant son exploitation. En effet, un tel algorithme permet de s’adapter à des évènements nouveaux et inattendus rencontrés par le système électronique 10 lors de son exploitation.
En outre, la comparaison entre ces deux données intermédiaires SA, SB issues de deux données d’entrée différentes et la vérification de l’appartenance au domaine de sécurité permet de détecter une éventuelle incohérence et de fournir le cas échéant une donnée de sortie C égale à la donnée intermédiaire de référence SR appartenant au domaine de sécurité, et ainsi de garantir la sécurité du système 10 même en cas d’incohérence détectée.
Enfin, le système 10 selon l’invention permet d’alerter le cas échéant l’utilisateur d’une défaillance due aux données d’entrées ou bien à la mise en œuvre des algorithme d’apprentissage par renforcement.
Ainsi, l’invention permet d’obtenir un système électronique 10 performant tout en étant suffisamment sûr, notamment au regard des exigences de sécurité dans le domaine avionique.
Claims
1. Système électronique (10) configuré pour mettre en œuvre une fonction critique, le système électronique (10) étant propre à recevoir des première et deuxième données d’entrée (A, B) et à délivrer une donnée de sortie (C) associée à ladite fonction critique, la donnée de sortie (C) étant associée à un domaine de sécurité prédéterminé, le domaine de sécurité étant en forme d’une plage de valeurs prédéfinies, le système électronique (10) comprenant :
- un premier module de traitement (14) configuré pour calculer une première donnée intermédiaire (SA) à partir de la première donnée d’entrée (A) et d’un algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée (A),
- un deuxième module de traitement (16) configuré pour calculer une deuxième donnée intermédiaire (SB) à partir de la deuxième donnée d’entrée (B) et de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la deuxième donnée d’entrée (B), la deuxième donnée d’entrée (B) étant différente de la première donnée d’entrée (A),
- un module de traitement auxiliaire (18) configuré pour calculer une donnée intermédiaire de référence (SR) à partir de la première donnée d’entrée (A) et/ou de la deuxième donnée d’entrée (B) et d’un algorithme de référence différent de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée (A) et/ou la deuxième donnée d’entrée (B) via l’algorithme de référence,
- un dispositif de surveillance (20) comportant :
+ un module de contrôle (22) configuré pour vérifier si les première et deuxième données intermédiaires (SA, SB) appartiennent au domaine de sécurité et pour comparer les première et deuxième données intermédiaires (SA, SB) entre elles afin de détecter une éventuelle incohérence;
+ un module de génération (24) configuré pour générer la donnée de sortie (C) en fonction des première et deuxième données intermédiaires (SA, SB) si les première et deuxième données intermédiaires (SA, SB) appartiennent au domaine de sécurité et si aucune incohérence n’est détectée, la donnée de sortie (C) étant égale à la donnée intermédiaire de référence (SR) sinon.
2. Système (10) selon la revendication 1 , dans lequel l’ensemble des mises en œuvre de la fonction critique par l’algorithme de référence définit un domaine d’arrivée de l’algorithme de référence, le domaine d’arrivée étant inclus dans le domaine de sécurité.
3. Système (10) selon la revendication 1 ou 2, dans lequel le dispositif de surveillance (20) comporte un module de récompense (26) configuré pour calculer une première récompense (RA) pour la mise en œuvre de la fonction critique par le premier module de traitement (14) et une deuxième récompense (RB) pour la mise en œuvre de la fonction critique par le deuxième module de traitement (16), le premier module de traitement (14) étant configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement en fonction d’une première pluralité de paramètres algorithmiques, le premier moule de traitement (14) étant configuré, à chaque itération, pour recevoir la première récompense (RA) et pour modifier la première pluralité de paramètres algorithmiques en fonction de la première récompense reçue (RA) afin de maximiser la prochaine première récompense (RA) reçue, le deuxième module de traitement (14) étant configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement en fonction d’une deuxième pluralité de paramètres algorithmiques, le deuxième module de traitement (16) étant configuré, à chaque itération, pour recevoir la deuxième récompense (RB) et pour modifier la deuxième pluralité de paramètres algorithmiques en fonction de la deuxième récompense reçue (RB) afin de maximiser la prochaine deuxième récompense (RB) reçue.
4. Système (10) selon la revendication 3, dans lequel le module de récompense (26) est configuré pour pénaliser chaque première récompense (RA) et/ou respectivement chaque deuxième récompense (RB) lorsque la première donnée intermédiaire (SA) et/ou respectivement la deuxième donnée intermédiaire (SB) n’appartiennent pas au domaine de sécurité.
5. Système (10) selon les revendications 3 ou 4, dans lequel, lorsque les première et deuxième données intermédiaires (SA, SB) appartiennent au domaine de sécurité et en l’absence d’incohérence détectée, le module de génération (24) est configuré pour délivrer, en donnée de sortie, la donnée intermédiaire associée à la récompense (RA, RB) la plus élevée calculée par le module de récompense (26).
6. Système (10) selon l’une quelconque des revendications précédentes, dans lequel le module de contrôle (22) est en outre configuré pour comparer les première et deuxième récompenses (RA, RB) entre elles afin de détecter une éventuelle incohérence, et dans lequel le système électronique (10) comprend en outre un module d’alerte (21) configuré pour générer un signal d’alerte en fonction de chaque incohérence entre les données intermédiaires (SA, SB) et/ou entre les récompenses (RA, RB).
7. Système (10) selon l’une quelconque des revendications 3 à 5, dans lequel le module de contrôle (22) est configuré en outre pour comptabiliser le nombre de fois où respectivement les première et deuxième données intermédiaires (SA, SB) ne respectent pas le domaine de sécurité et pour réinitialiser respectivement la première pluralité de paramètres algorithmiques et la deuxième pluralité de paramètres algorithmiques lorsque ledit nombre est supérieur à un seuil prédéterminé.
8. Système (10) selon l’une quelconque des revendications précédentes, dans lequel le système (10) est un système avionique propre à être embarqué dans un poste de commande d’un aéronef, notamment un système de navigation de l’aéronef.
9. Procédé de mise en œuvre d’une fonction critique par un système électronique (10), le système électronique (10) étant configuré pour mettre en œuvre une fonction critique, le système électronique (10) étant propre à recevoir des première et deuxième données d’entrée (A, B) et à délivrer une donnée de sortie (C) associée à ladite fonction critique, la donnée de sortie (C) étant associée à un domaine de sécurité prédéterminé, le domaine de sécurité étant en forme d’une plage de valeur(s) prédéfinie(s), le procédé comprenant les étapes suivantes :
- calcul (100) d’une première donnée intermédiaire (SA) à partir de la première donnée d’entrée (A) et d’un algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée (A),
- calcul (110) d’une deuxième donnée intermédiaire (SB) à partir de la deuxième donnée d’entrée (B) et de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la deuxième donnée d’entrée (B), la deuxième donnée d’entrée (B) étant différente de la première donnée d’entrée (A),
- calcul (120) d’une donnée intermédiaire de référence (SR) à partir de la première donnée d’entrée (A) et/ou de la deuxième donnée d’entrée (B) et d’un algorithme de référence différent de l’algorithme d’apprentissage par renforcement, pour la mise en
25 œuvre de la fonction critique pour la première donnée d’entrée (A) et/ou la deuxième donnée d’entrée (B) via l’algorithme de référence,
- vérification (130) si les première et deuxième données intermédiaires (SA, SB) appartiennent au domaine de sécurité et comparaison des première et deuxième données intermédiaires (SA, SB) entre elles afin de détecter une éventuelle incohérence;
- génération (140) de la donnée de sortie (C) en fonction des première et deuxième données intermédiaires (SA, SB) si les première et deuxième données intermédiaires (SA, SB) appartiennent au domaine de sécurité et si aucune incohérence n’est détectée, la donnée de sortie (C) étant égale à la donnée de référence (SR) sinon.
10. Programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en œuvre un procédé selon la revendication précédente.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE112021005722.7T DE112021005722T5 (de) | 2020-10-27 | 2021-10-27 | Elektronisches System zur Implementierung einer kritischen Funktion, assoziiertes Verfahren und Computerprogramm |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2010986 | 2020-10-27 | ||
FR2010986A FR3115594B1 (fr) | 2020-10-27 | 2020-10-27 | Système électronique pour la mise en œuvre d’une fonction critique, procédé et programme d’ordinateur associés |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022090280A1 true WO2022090280A1 (fr) | 2022-05-05 |
Family
ID=75108379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2021/079761 WO2022090280A1 (fr) | 2020-10-27 | 2021-10-27 | Système électronique pour la mise en œuvre d'une fonction critique, procédé et programme d'ordinateur associés |
Country Status (3)
Country | Link |
---|---|
DE (1) | DE112021005722T5 (fr) |
FR (1) | FR3115594B1 (fr) |
WO (1) | WO2022090280A1 (fr) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3506096A1 (fr) * | 2017-12-26 | 2019-07-03 | Thales | Calculateur électronique de mise en oeuvre d'au moins une fonction critique, dispositif électronique, procédé et programme d'ordinateur associés |
FR3077666A1 (fr) * | 2018-02-05 | 2019-08-09 | Psa Automobiles Sa | Procede de configuration automatique d’un generateur de recompenses utilisees par des strategies de conduite d’un vehicule a conduite automatisee |
-
2020
- 2020-10-27 FR FR2010986A patent/FR3115594B1/fr active Active
-
2021
- 2021-10-27 WO PCT/EP2021/079761 patent/WO2022090280A1/fr active Application Filing
- 2021-10-27 DE DE112021005722.7T patent/DE112021005722T5/de active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3506096A1 (fr) * | 2017-12-26 | 2019-07-03 | Thales | Calculateur électronique de mise en oeuvre d'au moins une fonction critique, dispositif électronique, procédé et programme d'ordinateur associés |
FR3077666A1 (fr) * | 2018-02-05 | 2019-08-09 | Psa Automobiles Sa | Procede de configuration automatique d’un generateur de recompenses utilisees par des strategies de conduite d’un vehicule a conduite automatisee |
Also Published As
Publication number | Publication date |
---|---|
DE112021005722T5 (de) | 2023-08-10 |
FR3115594B1 (fr) | 2022-09-23 |
FR3115594A1 (fr) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2989154C (fr) | Systeme et procede d'inspection automatique de surface | |
EP2551836B1 (fr) | Procédé et dispositif de gestion optimisée de la trajectoire verticale d'un aéronef | |
EP2693285B1 (fr) | Procédé et dispositif d'aide à la gestion du vol d'un aéronef | |
EP2551191B1 (fr) | Procédé et dispositif de détection de l'embarquement d'une gouverne d'aéronef | |
FR2978588A1 (fr) | Procede et dispositif de gestion optimisee de l'utilisation des becs et des volets, ainsi que du train d'atterrissage d'un aeronef | |
FR2900385A1 (fr) | Procede et dispositif d'aide au pilotage d'un giravion au decollage. | |
FR3007131A1 (fr) | Procede et dispositif de diagnostic d'une perte de controle d'un aeronef | |
FR2963448A1 (fr) | Procede et systeme d'analyse de donnees de vol enregistrees au cours d'un vol d'un avion. | |
FR3018364A1 (fr) | Procede de determination d'une loi de guidage d'evitement d'obstacle par un aeronef, produit programme d'ordinateur, systeme electronique et aeronef associes | |
FR2949577A1 (fr) | Procede d'aide a la gestion d'un vol en vue de tenir une contrainte de temps | |
EP2957975B1 (fr) | Procédé et dispositif de commande d'au moins un système de contrôle d'actionneur d'un aéronef, produit programme d'ordinateur et aéronef associés | |
FR3032302A1 (fr) | Systeme de securite, aeronef equipe d'un tel systeme et procede de securite visant a eviter un evenement indesirable | |
FR3022340A1 (fr) | Procede et dispositif de determination d'une consigne de controle d'un aeronef, produit programme d'ordinateur et aeronef associes | |
EP3179328A2 (fr) | Procédé et dispositif de pilotage d'un aéronef | |
FR2991485A1 (fr) | Procede et dispositif d'estimation automatique d'une degradation en consommation et en trainee d'un aeronef. | |
EP2957871A1 (fr) | Procédé de prédiction d'une trajectoire court terme d'un aéronef, produit programme d'ordinateur, dispositif de prédiction, procédé de guidage, système de guidage et aéronef associés | |
EP2870040B1 (fr) | Dispositif et procédé de contrôle de trajectoire d'un véhicule | |
FR2905778A1 (fr) | Procede de verification de pertinence d'une valeur de masse d'un aeronef | |
WO2022180196A1 (fr) | Système électronique de détection et de gestion d'un dysfonctionnement dans le comportement en vol d'un drone, procédé et programme d'ordinateur associés | |
WO2017097595A1 (fr) | Ensemble de gestion de vol d'un aeronef et procede de surveillance de consignes de guidage d'un tel ensemble | |
EP3893173A1 (fr) | Procédé et dispositif de gestion de risques et d'alertes | |
WO2021105055A1 (fr) | Dispositif et procede d'aide a la decision pour la gestion de conflits aeriens | |
WO2022090280A1 (fr) | Système électronique pour la mise en œuvre d'une fonction critique, procédé et programme d'ordinateur associés | |
WO2022049135A1 (fr) | Système électronique pour la mise en œuvre d'une fonction critique et procédé associé | |
FR3069366A1 (fr) | Protection d'entree d'environnement specifique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21801489 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21801489 Country of ref document: EP Kind code of ref document: A1 |