EP4639291A1 - Procédé de contrôle d'un actionneur par un système de contrôle et système de contrôle d'un actionneur - Google Patents
Procédé de contrôle d'un actionneur par un système de contrôle et système de contrôle d'un actionneurInfo
- Publication number
- EP4639291A1 EP4639291A1 EP23837649.5A EP23837649A EP4639291A1 EP 4639291 A1 EP4639291 A1 EP 4639291A1 EP 23837649 A EP23837649 A EP 23837649A EP 4639291 A1 EP4639291 A1 EP 4639291A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- control
- fuzzy
- fuzzy sets
- actuator
- width
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
Definitions
- the present invention relates to a method of controlling an actuator by a control system. It also relates to a system for controlling an actuator.
- a control system In the field of control systems, it is common to seek to control a process, often based on physical quantities, with the objective of regulating the behavior of a system.
- the development of transparent and interpretable artificial intelligence models has become essential in recent years as AI becomes an essential tool in more and more fields. These models make it possible to obtain superior performance than models requiring complete knowledge of a system. Trusted AI models are increasingly critical in critical or sensitive areas.
- the description describes a method of controlling an actuator by a control system, the control method comprising: - a phase of generating a control law of the actuator, the control law controlling the actuator with a view to a performance objective from values taken by measurement sensors, the generation phase comprising the steps of: - collection of signals coming from the measurement sensors, - creation of fuzzy sets corresponding to the collected signals, - when a truth value associated with a fuzzy set exceeds a threshold value, generation of the associated rule and otherwise, creation of new fuzzy sets, - implementation of reinforcement learning for fuzzy sets comprising several iterations of a application of an action and updates of the state action values, to determine the actions to be carried out to obtain the performance objective according to the fuzzy sets, the implementation comprising at each iteration a modification operation of 'at least one among the position of the center and the width of the fuzzy sets to obtain modified fuzzy sets on which reinforcement learning is applied in the next iteration, - conversion of the result of reinforcement learning into a set of control rules forming the control law, and -
- a truth value associated with a fuzzy set represents the probability that the fuzzy set is true.
- the truth value would be 0 or 1 whereas in fuzzy logic, as in the case of the present invention, the truth value is a real value between 0 and 1.
- the control method has one or more of the following characteristics, taken in isolation or in all technically possible combinations: - during the modification operation, both the position of the center and the width of each fuzzy set is modified . - during the modification operation, the temporal difference errors of each of the different state-action associations are calculated and the modified position of the center depends on the calculated temporal difference errors. - the modified position of the center is the sum of the current position of the center plus the arithmetic mean of the temporal difference errors.
- the expectation of the temporal differences of each of the different state-action associations is calculated and the modified width is a function of the expectations of the temporal differences.
- the modified width is the sum of the current width plus the arithmetic mean of the temporal difference expectations.
- the implementation also includes an operation of testing the usefulness of the deletion of each fuzzy set, the fuzzy set being deleted if the test is validated.
- the description also relates to a control system adapted to implement: - a phase of generation of a control law of the actuator, the control law controlling the actuator with a view to a performance objective from of values taken by measurement sensors, the generation phase comprising the steps of: - collection of signals coming from the measurement sensors, - creation of fuzzy sets corresponding to the collected signals, - when a truth value associated with a set fuzzy exceeds a threshold value, generation of the associated rule and otherwise, creation of new fuzzy sets, - implementation of reinforcement learning to the fuzzy sets comprising several iterations of an application of an action and updates of the state action values, to determine the actions to be performed to obtain the performance objective as a function of the fuzzy sets, the implementation comprising at each iteration an operation of modifying at least one of the position of the center and the width of the fuzzy sets to obtain modified fuzzy sets on which reinforcement learning is applied to the next iteration, - conversion of the result of reinforcement learning into a set of control rules forming the control law, and - a control phase during which the control system
- - Figure 1 is a schematic representation of an automated system
- - Figure 2 is a schematic representation of the different positions of a pendulum
- - Figure 3 graphically illustrates the creation of a new fuzzy set in the context of the pendulum of Figure 2
- - Figure 4 is an schematic representation of an operation for modifying the position of the center and the width of fuzzy sets in the implementation of a DFQL algorithm
- - Figure 5 is a schematic representation of an operation for modifying the position of the center and width of fuzzy sets in the implementation of part of a method for controlling part of the system of Figure 1
- - Figure 6 is a schematic representation of a system and d 'a computer program product.
- the control method is a method of controlling an actuator 10 by a control system 12.
- the actuator 10 is, in the sense of automated systems, an element capable of carrying out an action.
- an actuator 10 is a cylinder, a rotor or an effector.
- the control system 12 is a system capable of controlling the actuator 10, in particular a controller. Control is obtained by sending a control signal.
- the actuator 10 and the control system 12 are part of an automated system 14 as shown schematically in Figure 1.
- the automated system 14 also includes measurement sensors 16 (a variant with a single sensor is possible) and a comparison unit 18.
- the measurement sensors 16 are capable of measuring elements relating to the environment of the actuator 10 or to its operation.
- the output of the measurement sensors 16 is compared to a setpoint C which is sent to the comparison unit 18.
- the comparison unit 18 is a subtractor capable of obtaining the difference between the setpoint C and the outputs of measurement sensors 16. It is assumed here that the setpoint C and the outputs of the measurement sensors 16 have been made comparable by processing ensuring that these elements are expressed in the same space. For example, if the setpoint C is a voltage setpoint and the measurement sensor 16 is a temperature, either the setpoint C is converted into a temperature or the temperature signal is converted into a voltage.
- control of an automated system 14 are given in the following: - in the case of anti-lock brakes, control of the brakes in dangerous situations depending on the speed and acceleration of the car and wheel speed and acceleration, - in the case of automatic transmission, control of fuel injection and ignition based on throttle setting, cooling water temperature or of the speed, - in the case of automatic vehicles, the control of the speed according to the engine load, the driving style and the road conditions, - in the case of a photocopier, the control of the tension of the drum in function of image density, humidity and temperature, - in the case of cruise control, throttle control to adjust the speed and acceleration of the car, or - in the case of a dishwasher, control of the cleaning cycle, rinsing and washing strategies depending on the number of dishes and the amount of food present on the dishes.
- each action – state pair is associated with a real number which is called the q-value (or sometimes the q-value).
- the q value measures the quality of an action executed in a given state of the system. It can be noted that for cases with a restricted number of pairs, it is possible to establish tables of q values. This is no longer possible when the number of states becomes too large.
- a fuzzy inference system makes it possible to operate in the case of continuous spaces for actions and/or states.
- a fuzzy inference system is often called by the abbreviation FIS in reference to the corresponding English name “Fuzzy Inference System”. Also, in the following, such a system will be called the FIS system.
- fuzzy logic allows the transition from numerical data to semantic data. This means that fuzzy logic makes it possible to convert a numerical value into a degree of truth of belonging to a semantic value.
- a numerical data ⁇ ⁇ is translated into the truth value ⁇ ⁇ , ⁇ ( ⁇ ⁇ ) of the semantic variable ⁇ ⁇ , ⁇ . ⁇ ⁇ , ⁇ denotes the j-th semantic variable of the i-th rule.
- the indices i and j are here two non-zero natural integers. More precisely, with regard to the index i, this index varies from 1 to n, n being the number of rules.
- a FIS system is a set of fuzzy rules, the fuzzy rules being conjunctions of semantic variables. Genericly, a fuzzy rule subscripted i is written in the following form: IF premise THEN conclusion Where IF/THEN designates the IF/THEN operation in English terminology.
- the premises are the conjunction of fuzzy sets characterizing a property of each coordinate of the input vector.
- the premise of a rule i is written generally as: s 1 is ⁇ ⁇ ,1 AND ... AND s n is ⁇ ⁇ , ⁇
- AND designates the AND operation in the English terminology.
- s corresponds to the state vector of the environment.
- Each coordinate of the vector s is denoted s i , so that s 1 is the first coordinate of the state vector s and s n the nth coordinate of the state vector s.
- the state vector s is received by collecting data from the measurement sensors 16.
- the strength of a premise ⁇ ⁇ is defined as the degree of membership of s in the fuzzy set which results from the conjunction of the sets vagueness of the premise. This is written mathematically as The conclusions vary depending on the actions chosen for each of these premises. The conclusion is generally written as: a is ⁇ ⁇ ⁇ ⁇ ⁇ here denotes the value of the action. For example, if the action is to increase the temperature, ⁇ ⁇ takes a value corresponding to the increase in temperature to be applied to the environment. In summary, the notation used here reflects the fact that a is the value corresponding to the conclusion of rule i. It is possible that the FIS system uses a reinforcement algorithm, and more precisely a Q-learning algorithm better known by the corresponding English name “Q-Learning”.
- Q-Learning allows you to learn a strategy, which indicates what action to take in each state of the system.
- Q-Learning works by learning an action-state value function denoted Q which makes it possible to determine the potential gain, that is to say the long-term reward brought by the choice of a certain action in a certain state following an optimal policy.
- the optimal strategy can be constructed by selecting the action with maximum value for each state, that is, by selecting the action a which maximizes the value Q(s,a) when the agent is in state s. Because this algorithm is used for fuzzy sets, it is customary to indicate that the FIS system uses an FQL algorithm.
- the abbreviation FQL refers to the English name “Fuzzy Q-Learning” which could be literally translated as Q-learning for fuzzy sets.
- the abbreviation DFQL refers to the English name “Dynamic Fuzzy Q-Learning” which could literally be translated as dynamic Q-learning for fuzzy sets.
- the DFQL algorithm is thus an extension of the FQL algorithm making it possible to create the set of rules for the FIS system during training.
- actions will be associated with premises with regard to the values of q-values (or q). These values are calculated throughout the learning phase in a look-up table (more often referred to by the corresponding English name "look-up table”) which has the actions in column and the premises in line. This table constitutes Q.
- the activation function calculates the degree of truth of the premise.
- the DFQL algorithm does not involve the intervention of a business expert either initially or during training and only creates the rules that seem useful. For this, instead of relying on a set S fixed at the start, this is a set St which is variable and continuously adapted during additional stages compared to Q-Learning.
- This DFQL algorithm has six successive steps. These six successive steps are as follows: - first step: observation of the data, - second step: generation of rules if necessary, - third step: selection and application of an action, - fourth step: updating of the q values, - fifth step: refinement of the fuzzy sets used by the premises, and - sixth step: removal of fuzzy sets deemed useless if there are any.
- This example is that of controlling a pendulum.
- the goal of this example is to bring the pendulum to equilibrium (dotted in Figure 2) from a random position and to keep it in equilibrium by applying a force to the pendulum.
- Such an example corresponds to an environment in which both inputs and actions are continuous.
- the first step aims to observe data to know the state of the environment. In this example, there are three input data points.
- the first input data is the cosine of the angle between the pendulum and the equilibrium position. This first input data is written as ⁇ ⁇ ⁇ ( ⁇ ).
- the second input data is the sine of the angle between the pendulum and the equilibrium position.
- This second input data is written as ⁇ ⁇ ⁇ ( ⁇ ).
- the third input data is the angular velocity of the pendulum.
- This third input data is written as ⁇ .
- the learning agent represents the FIS.
- the learning agent takes the inputs and decides on an action and based on the reward it updates the Q function.
- the second step corresponds to a generation of rules if necessary. This second step is effectively implemented only if the input data does not activate any rules. More precisely, the condition for implementing the second step is that the values of the input data do not allow a certain truth value threshold to be exceeded for a dimension of the state. In such a hypothesis, fuzzy sets corresponding to the input data are created. The new fuzzy set created is centered on the input value corresponding to the dimension.
- the fourth step consists of an update. More precisely, the q values are updated to adapt the choice of action made in the third step according to the reward received.
- the reward is, for example, defined by experts in the field according to the desired objective.
- the fifth refinement step consists of modifying the centers and widths of the fuzzy sets to better match the environment to be controlled. With reference to Figure 4 (upper part), the centers of the fuzzy set updates are averaged for each rule in which the fuzzy set intervenes.
- ⁇ ⁇ , ⁇ the position of the center corresponding to the set ⁇ ⁇ ,1 at time t and ⁇ ⁇ , ⁇ the position of the center corresponding to the set ⁇ ⁇ ⁇ ,1 at the same time t.
- ⁇ ⁇ , ⁇ ⁇ ⁇ , ⁇ .
- the fifth step makes it possible to obtain respectively the position of the center ⁇ ⁇ , ⁇ +1 corresponding to the set ⁇ ⁇ ,1 at time t+1 and that of the center ⁇ ⁇ , ⁇ +1 corresponding to the set ⁇ ⁇ ,1 at this same instant t+1.
- ⁇ ⁇ , ⁇ the width corresponding to the set ⁇ ⁇ ,1 at time t and ⁇ ⁇ , ⁇ the width corresponding to the set ⁇ ⁇ ,1 at same instant t.
- ⁇ ⁇ , ⁇ ⁇ ⁇ , ⁇ .
- the fifth step makes it possible to obtain respectively the width ⁇ ⁇ , ⁇ +1 corresponding to the set ⁇ ⁇ ,1 at time t+1 and the width ⁇ ⁇ , ⁇ +1 corresponding to the set ⁇ ⁇ ,1 at this same instant t+1.
- ⁇ ⁇ ⁇ , ⁇ +1 ⁇ ⁇ , ⁇ + ( ⁇ ⁇ ) ⁇ , ⁇ ⁇ Due to the fact that the corrections ( ⁇ ) ⁇ , ⁇ and ( ⁇ ⁇ ) ⁇ , ⁇ are not the same, at time t+1, the width ⁇ ⁇ , ⁇ +1 corresponding to the set ⁇ ⁇ ,1 is different from the width ⁇ ⁇ , ⁇ +1 corresponding to the set ⁇ ⁇ ,1 .
- the sixth step consists of removing fuzzy sets deemed unnecessary after the fifth refinement step.
- Deletion uses, for example, a criterion based on the half size ⁇ ⁇ of the set of possible values of the variable j when it is an interval [ ⁇ ⁇ ; ⁇ ⁇ ].
- the deletion criterion is that > ⁇ ⁇ where ⁇ ⁇ is a deletion threshold. This corresponds to the fact that a fuzzy set is modeled by a Gaussian. If this Gaussian is too wide, that is to say it is greater than a threshold, the fuzzy set is deleted because this set will disturb the system. This criterion amounts to increasing the width of the fuzzy set.
- the method comprises a phase for generating a control law for the actuator 10 and a control phase.
- the generation phase aims to obtain a control law controlling the actuator 10 with a view to a performance objective from values taken by measurement sensors 16.
- the generation phase includes a collection stage, a creation stage, a generation stage, an implementation stage and a conversion stage.
- signals from the sensors are collected.
- fuzzy sets corresponding to the collected signals are created.
- the center is the value received from the collected signal (that coming from the measurement sensors 16) and the width is fixed at a predetermined value.
- This predetermined value is, for example, chosen according to the number of linguistic variables desired for each rule. Similar to what was described previously for the DFQL algorithm, when a truth value associated with a fuzzy set exceeds a threshold value, a step is implemented to generate the associated rule and otherwise, create new sets blurry. Still with reference to the DFQL algorithm, during the implementation stage, reinforcement learning with fuzzy sets is then implemented including several iterations of an application of an action and updates of the values of states to determine the actions to be performed to obtain the objective based on the fuzzy sets. The reader is invited to refer to the initial concepts to find more information on the operations of this stage.
- the first consists of harmonizing the updates of all the modifications made on the ⁇ ⁇ , ⁇ and ⁇ ⁇ , ⁇ by averaging them, as shown in Figure 5. More precisely, for the case from the center (top part of Figure 5), the temporal difference errors of each of the different action-state associations are calculated and the modified position of the center depends on the calculated temporal difference errors. The modified position of the center is then the sum of the current position of the center plus the arithmetic mean of the temporal difference errors.
- the width corresponding to the set ⁇ ⁇ ,1 Even if the corrections are not the same, at time t+1, the width ⁇ ⁇ , ⁇ +1 corresponding to the set ⁇ ⁇ ,1 is identical to the width ⁇ ⁇ , ⁇ +1 corresponding to the set ⁇ ⁇ ,1 . According to an alternative embodiment, it is also proposed to take into account the distinguishability during the update by modulating the effects on the centers and the widths by a coefficient.
- the average of the updates, according to the rules makes it possible to have only one update common to all the rules using the fuzzy set.
- the method ensures that for a given semantic variable, a single fuzzy set is used to define it. This allows the rules to be verifiable and helps increase the robustness of the control law. Controlling the evolution of the width of the widths ⁇ ⁇ , ⁇ also makes it possible to ensure the distinguishability of the fuzzy sets and therefore of the associated semantic variables.
- the control system 12 applies the control law thus obtained to benefit from its greater robustness in operation of the automated system.
- the implementation further includes an operation of testing the usefulness of the deletion of each fuzzy set, the fuzzy set being deleted if the test is validated.
- the calculation unit 114 is an electronic circuit designed to manipulate and/or transform data represented by electronic or physical quantities in registers of device 110 and/or memories of other similar data corresponding to physical data in register memories or other types of display devices, transmission devices or devices memorization.
- the computing unit 114 includes a single-core or multi-core processor (such as a central processing unit (CPU), a graphics processing unit (GPU), a microcontroller, and a digital signal processor ( DSP)), a programmable logic circuit (such as an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a programmable logic device (PLD), and programmable logic arrays (PLA)), a state machine, a logic gate and discrete hardware components.
- CPU central processing unit
- GPU graphics processing unit
- DSP digital signal processor
- ASIC application-specific integrated circuit
- FPGA field programmable gate array
- PLD programmable logic device
- PLA programmable logic arrays
- the calculation unit 114 comprises a data processing unit 120 adapted to process data, in particular by carrying out calculations, memories 122 adapted to store data and a reader 124 adapted to read a computer readable medium.
- the user interface 116 includes an input device 126 and an output device 128.
- the input device 126 is a device allowing the user of the system to enter information or commands on the device 110.
- the input device 126 is a keyboard.
- the input device 126 is a pointing device (such as a mouse, touchpad, and graphics tablet), a voice recognition device, an eye tracker, or a haptic (motion analysis) device.
- the output device 128 is a graphical user interface, that is, a display unit designed to provide information to the user of the device 110.
- the output device 128 is a display of display allowing a visual presentation of the output.
- the output device is a printer, an augmented and/or virtual display unit, a speaker or other sound generating device for presenting the output in sound form, a unit producing vibrations and/or odors or a unit adapted to produce an electrical signal.
- the input device 126 and the output device 128 are the same component forming human-machine interfaces, such as an interactive screen.
- the communication device 118 allows one-way or two-way communication between the components of the device 110.
- the communication device 118 is a bus communication system or an input/output interface.
- the presence of the communication device 118 allows that, in certain embodiments, the components of the device 110 are distant from each other.
- the computer program product 112 includes a computer-readable medium 132.
- the computer-readable medium 132 is a tangible device readable by the reader 124 of the computing unit 114.
- the computer-readable medium 132 is not a signal transient in itself, such as radio waves or other freely propagating electromagnetic waves, such as light pulses or electronic signals.
- Such a computer-readable storage medium 132 is, for example, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device or any combination of these.
- computer readable storage media 132 is a mechanically encoded device, such as punch cards or raised structures in a groove, a floppy disk, a hard disk, a read only memory (ROM), a random access memory (RAM), a read-only programmable erasable memory (EROM), an electrically erasable and readable memory (EEPROM), a magneto-optical disk, a static random access memory (SRAM), a compact disk ( CD-ROM), digital versatile disc (DVD), USB flash drive, floppy disk, flash memory, solid state disk (SSD), or PC card such as PCMCIA memory card.
- a computer program is stored on the computer readable storage medium 132.
- the computer program includes one or more stored program instruction sequences.
- Such program instructions when executed by the data processing unit 120, cause steps of the method to be executed.
- the form of program instructions is a source code form, a computer executable form, or any intermediate form between a source code and a computer-executable form, such as the form resulting from conversion of source code via an interpreter, assembler, compiler, linker, or locator.
- the program instructions are microcode, firmware instructions, state definition data, integrated circuit configuration data (e.g. VHDL), or object code.
- Program instructions are written in any combination of one or more languages, for example an object-oriented programming language (FORTRAN, C++, JAVA, HTML), a procedural programming language (C language for example).
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Feedback Control In General (AREA)
Abstract
La présente invention concerne un procédé de contrôle d'un actionneur comprenant : - une phase de génération d'une loi de commande de l'actionneur en vue d'un objectif de performance, la phase de génération comprenant les étapes de : - collection de signaux provenant des capteurs de mesure, - création d'ensembles flous correspondant aux signaux collectés, - génération de la règle associée ou création de nouveaux ensembles flous, - mise en œuvre d'un apprentissage par renforcement aux ensembles flous comportant une opération de modification de la position du centre et de la largeur des ensembles flous, - conversion du résultat de l'apprentissage par renforcement en un ensemble de règles de commande formant la loi de commande, et - une phase de contrôle durant laquelle le système de contrôle applique la loi de commande.
Description
Procédé de contrôle d’un actionneur par un système de contrôle et système de contrôle d’un actionneur La présente invention concerne un procédé de contrôle d’un actionneur par un système de contrôle. Elle se rapporte également à un système de contrôle d’un actionneur. Dans le domaine des systèmes de contrôle, il est commun de chercher à maitriser un processus, souvent basé sur des grandeurs physiques, avec l’objectif de réguler le comportement d’un système. L’élaboration de modèles d’intelligence artificielle transparents et interprétables est devenue indispensable durant les dernières années puisque l’IA devient un outil incontournable dans de plus en plus de domaines. Ces modèles permettent d’obtenir des performances supérieures à des modèles requérant la connaissance complète d’un système. Les modèles d’intelligence artificielle de confiance sont de plus en plus critiques dans les domaines critiques ou sensibles. Pour inspirer confiance à l’opérateur ou à l’utilisateur du système, deux propriétés sont requises : la capacité de l’utilisateur à anticiper les décisions du système et la facilité de comprendre un résultat ou une décision prise par le système non conforme à ce qui était attendu. Cela implique que le modèle d’intelligence artificielle créé soit interprétable. Pour cela, il est connu de réaliser l’apprentissage automatique d’un modèle interprétable pour les systèmes de contrôle. Il existe plusieurs algorithmes d’apprentissage automatique applicables à ces systèmes parmi lesquels les algorithmes évolutionnaires, les algorithmes d’apprentissage par renforcement. En particulier, il est utilisé des algorithmes hybrides entre des modèles à base de règles et des algorithmes évolutionnaires ou d’apprentissage par renforcement. Toutefois, en pratique, il est observé que des règles similaires obtenues par ces algorithmes ne sont pas cohérentes entre elles. Ainsi, pour les deux règles suivantes : - règle 1 : SI température basse ET humidité élevée ALORS vitesse de l’élément lente, - règle 2 : SI température élevée ET humidité élevée ALORS vitesse de l’élément rapide, il est observé que la définition de l’humidité élevée n’est pas la même entre les deux règles. En outre, du fait du recoupement des règles, il n’est pas possible de déterminer aisément les causes du mauvais fonctionnement du système de contrôle.
Il existe donc un besoin pour un procédé de contrôle d’un actionneur par un système de contrôle présentant une meilleure fiabilité. A cet effet, la description décrit un procédé de contrôle d’un actionneur par un système de contrôle, le procédé de contrôle comprenant : - une phase de génération d’une loi de commande de l’actionneur, la loi de commande commandant l’actionneur en vue d’un objectif de performance à partir de valeurs prises par des capteurs de mesure, la phase de génération comprenant les étapes de : - collection de signaux provenant des capteurs de mesure, - création d’ensembles flous correspondant aux signaux collectés, - lorsqu’une valeur de vérité associée à un ensemble flou dépasse une valeur seuil, génération de la règle associée et sinon, création de nouveaux ensembles flous, - mise en œuvre d’un apprentissage par renforcement aux ensembles flous comprenant plusieurs itérations d’une application d’une action et de mises à jour des valeurs d’actions-état, pour déterminer les actions à effectuer pour obtenir l’objectif de performance en fonction des ensembles flous, la mise en œuvre comportant à chaque itération une opération de modification d’au moins un parmi la position du centre et la largeur des ensembles flous pour obtenir des ensembles flous modifiés sur lesquels l’apprentissage par renforcement est appliqué à l’itération suivante, - conversion du résultat de l’apprentissage par renforcement en un ensemble de règles de commande formant la loi de commande, et - une phase de contrôle durant laquelle le système de contrôle applique la loi de commande sur l’actionneur. Une valeur de vérité associée à un ensemble flou représente la probabilité que l’ensemble flou soit vrai. Dans une logique binaire, la valeur de vérité vaudrait 0 ou 1 alors que dans une logique floue, comme dans le cas de la présente invention, la valeur de vérité est une valeur réelle comprise entre 0 et 1. Selon des modes de réalisation particuliers, le procédé de contrôle présente une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou selon toutes les combinaisons techniquement possibles : - lors de l’opération de modification, à la fois la position du centre et la largeur de chaque ensemble flou est modifié.
- lors de l’opération de modification, il est calculé les erreurs de différences temporelles de chacune des différentes associations état-actions et la position modifiée du centre dépend des erreurs de différences temporelles calculées. - la position modifiée du centre est la somme de la position actuelle du centre additionnée de la moyenne arithmétique des erreurs de différences temporelles. - lors de l’opération de modification, il est calculé l’espérance des différences temporelles de chacune des différentes associations état-actions et la largeur modifiée est fonction des espérances de différences temporelles. - la largeur modifiée est la somme de la largeur actuelle additionnée de la moyenne arithmétique des espérances de différences temporelles. - la mise en œuvre comporte, en outre, une opération de test de l’utilité de la suppression de chaque ensemble flou, l’ensemble flou étant supprimé si le test est validé. La description se rapporte également à un système de contrôle adapté pour mettre en œuvre : - une phase de génération d’une loi de commande de l’actionneur, la loi de commande commandant l’actionneur en vue d’un objectif de performance à partir de valeurs prises par des capteurs de mesure, la phase de génération comprenant les étapes de : - collection de signaux provenant des capteurs de mesure, - création d’ensembles flous correspondant aux signaux collectés, - lorsqu’une valeur de vérité associée à un ensemble flou dépasse une valeur seuil, génération de la règle associée et sinon, création de nouveaux ensembles flous, - mise en œuvre d’un apprentissage par renforcement aux ensembles flous comprenant plusieurs itérations d’une application d’une action et de mises à jour des valeurs d’actions-état, pour déterminer les actions à effectuer pour obtenir l’objectif de performance en fonction des ensembles flous, la mise en œuvre comportant à chaque itération une opération de modification d’au moins un parmi la position du centre et la largeur des ensembles flous pour obtenir des ensembles flous modifiés sur lesquels l’apprentissage par renforcement est appliqué à l’itération suivante, - conversion du résultat de l’apprentissage par renforcement en un ensemble de règles de commande formant la loi de commande, et - une phase de contrôle durant laquelle le système de contrôle (12) applique la loi de commande sur l’actionneur.
Dans la présente description, l’expression « propre à » signifie indifféremment « adapté pour », « adapté à » ou « configuré pour ». Des caractéristiques et avantages de l’invention apparaîtront à 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 : - la figure 1 est une représentation schématique d’un système automatisé, - la figure 2 est une représentation schématique des différentes positions d’un pendule, - la figure 3 illustre graphiquement la création d’un nouvel ensemble flou dans le contexte du pendule de la figure 2, - la figure 4 est une représentation schématique d’une opération de modification de la position du centre et de la largeur d’ensembles flous dans la mise en œuvre d’un algorithme DFQL, - la figure 5 est une représentation schématique d’une opération de modification de la position du centre et de la largeur d’ensembles flous dans la mise en œuvre d’une partie d’un procédé de contrôle d’une partie du système de la figure 1, et - la figure 6 est une représentation schématique d’un système et d’un produit programme d’ordinateur. Un procédé de contrôle est maintenant décrit. Le procédé de contrôle est un procédé de contrôle d’un actionneur 10 par un système de contrôle 12. L’actionneur 10 est au sens des systèmes automatisés un élément propre à effectuer une action. Par exemple, un actionneur 10 est un vérin, un rotor ou un effecteur. Le système de contrôle 12 est un système propre à contrôler l’actionneur 10, notamment un contrôleur. Le contrôle est obtenu par envoi d’un signal de commande. L’actionneur 10 et le système de contrôle 12 font partie d’un système automatisé 14 tel que représenté schématiquement sur la figure 1. Le système automatisé 14 comporte également des capteurs de mesure 16 (une variante à un seul capteur est possible) et une unité de comparaison 18. Les capteurs de mesure 16 sont propres à mesurer des éléments relatifs à l’environnement de l’actionneur 10 ou à son fonctionnement. La sortie des capteurs de mesures 16 est comparée à une consigne C qui est envoyée dans l’unité de comparaison 18. Dans l’exemple proposé, l’unité de comparaison 18 est un soustracteur propre à obtenir la différence entre la consigne C et les sorties des capteurs de mesure 16.
Il est supposé ici que la consigne C et les sorties des capteurs de mesure 16 ont été rendues comparables par un traitement assurant que ces éléments soient exprimés dans le même espace. Par exemple, si la consigne C est une consigne en tension et que le capteur de mesure 16 est une température, soit la consigne C est convertie en température soit le signal de température est converti en tension. Quelques exemples spécifiques de contrôle d’un système automatisé 14 sont donnés dans ce qui suit : - dans le cas de l’antiblocage des freins, le contrôle des freins dans les situations dangereuses en fonction de la vitesse et de l’accélération de la voiture et de la vitesse et de l’accélération des roues, - dans le cas de la transmission automatique, le contrôle de l'injection de carburant et l'allumage en fonction du réglage du papillon, de la température de l'eau de refroidissement ou du régime, - dans le cas des véhicules automatiques, le contrôle de la vitesse en fonction de la charge du moteur, du style de conduite et des conditions routières, - dans le cas d’une photocopieuse, le contrôle de la tension du tambour en fonction de la densité de l'image, de l'humidité et de la température, - dans le cas du régulateur de vitesse, le contrôle de l'accélérateur pour régler la vitesse et l'accélération de la voiture, ou - dans le cas d’un lave-vaisselle, le contrôle du cycle de nettoyage, des stratégies de rinçage et de lavage en fonction du nombre de plats et de la quantité de nourriture présente sur la vaisselle. On pourrait aussi dériver des exemples dans d’autres contextes très différents comme les fours à micro-ondes, les ordinateurs, la gravure, les trains ou les robots autonomes pour ne citer que ces exemples. Avant de décrire plus avant le procédé de contrôle, il convient d’introduire des notions sur lesquelles le présent procédé est basé. Il est possible de décrire un système automatisé en fonction de l’état de celui-ci d’un côté et les actions que le système peut réaliser. Dans un tel formalisme, chaque paire action – état est associée à un nombre réel qui est appelé la valeur q (ou parfois la q-valeur). La valeur q mesure la qualité d'une action exécutée dans un état donné du système. Il peut être noté que pour des cas avec un nombre restreint de paires, il est possible d’établir des tables de valeurs q.
Ce n’est plus possible lorsque le nombre des états devient trop grand. C’est notamment le cas lorsque les actions et/ou les états sont continus et non discrets. De ce fait, il est utilisé une fonction d’approximation pour limiter l’espace mémoire occupé et le temps de traitement. Cette fonction d’approximation donne alors une valeur q même pour des paires action – état qui ne sont pas observées en pratique. Un système d’inférence floue permet d’opérer dans le cas d’espaces continus pour les actions et/ou les états. Un système d’inférence floue est souvent dénommé selon l’abréviation FIS en référence à la dénomination anglaise correspondante de « Fuzzy Inference System ». Aussi, dans la suite, un tel système sera dénommé système FIS. Plus précisément, la logique floue permet le passage d’une donnée numérique à une donnée sémantique. Cela signifie que la logique floue permet de convertir une valeur numérique en un degré de vérité d'appartenance à une valeur sémantique. Ainsi, une donnée numérique ^^ ^^ est traduite en valeur de vérité ^^ ^^, ^^( ^^ ^^) de la variable sémantique ^^ ^^, ^^. ^^ ^^, ^^ désigne la j-ième variable sémantique de la i-ième règle. Les indices i et j sont ici deux entiers naturels non nuls. Plus précisément, pour ce qui concerne l’indice i, cet indice varie de 1 à n, n étant le nombre de règles. Un système FIS est un ensemble de règles floues, les règles floues étant des conjonctions de variables sémantiques. De manière générique, une règle floue indicée i s’écrit sous la forme suivante : SI prémisse ALORS conclusion Où SI/ALORS désigne l’opération IF/THEN dans la terminologie anglaise. Les prémisses sont la conjonction d’ensembles flous caractérisant une propriété de chaque coordonnée du vecteur d’entrée. La prémisse d’une règle i s’écrit de manière générale comme : s1 est ^^ ^^,1 ET … ET sn est ^^ ^^, ^^ Dans cette expression « ET » désigne l’opération AND dans la terminologie anglaise. Par ailleurs, s correspond au vecteur d’état de l’environnement. Chaque coordonnée du vecteur s est notée si, de sorte que s1 est la première coordonnée du vecteur d’état s et sn la n-ième coordonnée du vecteur d’état s. Le vecteur d’état s est reçu en collectant les données des capteurs de mesure 16. La force d’une prémisse ^^ ^^ est définie comme le degré d’appartenance de s dans l’ensemble flou qui résulte de la conjonction des ensembles flous de la prémisse. Cela s’écrit mathématiquement comme
Les conclusions sont variables en fonction des actions choisies pour chacune de ces prémisses. La conclusion s’écrit de manière générale comme : a est ^^ ^^ ^^ ^^ désigne ici la valeur de l’action. Par exemple, si l’action est d’augmenter la température, ^^ ^^ prend une valeur correspondant à l’augmentation de la température à appliquer à l’environnement. En résumé, la notation utilisée ici reflète le fait que a est la valeur correspondant à la conclusion de la règle i. Il est envisageable que le système FIS utilise un algorithme de renforcement, et plus précisément un algorithme de Q-apprentissage plus connu sous la dénomination anglaise correspondante de « Q-Learning ». Le Q-Learning permet d'apprendre une stratégie, qui indique quelle action effectuer dans chaque état du système. Le Q-Learning fonctionne par l'apprentissage d'une fonction de valeur d’actions-état notée Q qui permet de déterminer le gain potentiel, c'est-à-dire la récompense sur le long terme apportée par le choix d'une certaine action dans un certain état en suivant une politique optimale. Lorsque cette fonction de valeur d'action-état est connue ou apprise par l'agent, la stratégie optimale peut être construite en sélectionnant l'action à valeur maximale pour chaque état, c'est-à-dire en sélectionnant l'action a qui maximise la valeur Q(s,a) quand l'agent se trouve dans l'état s. Du fait que cet algorithme est utilisé pour des ensembles flous, il est d’usage d’indiquer que le système FIS utilise un algorithme FQL. L’abréviation FQL renvoie à la dénomination anglaise « Fuzzy Q-Learning » qui pourrait se traduire littéralement par Q- apprentissage pour ensembles flous. L’algorithme de FQL est ainsi une approche d’apprentissage d’un ensemble de règles floues par renforcement. Dans cette approche, les agents représentent différentes règles qui sont évaluées par différentes valeurs q. De plus, le FQL utilise les FIS de Takagi-Sugeno d’ordre 0. L’ordre fait référence au degré des conclusions qui sont des polynômes en les coefficients du vecteur d’entrée. Ainsi comme les conclusions sont des constantes, on les associe directement à un échantillon d’actions A = {A , · · · ,A} prises dans l’ensemble des actions possibles de l’environnement. Cet échantillon est indépendant de la règle pour que les q-valeurs de la lookup table soient associées aux prémisses sur les lignes et à chaque action de l’échantillon sur les colonnes. Enfin la fonction d’activation est de la forme :
^^ ^^ est la force de la prémisse évoquée plus haut. Elle s’exprime en fonction de l’opérateur dédié à la conjonction, par exemple le ×. Dans ce cas, ^^ ^^ = ∏ ^^ ^^=1 ^^ ^^, ^^ ( ^^ ^^) où les ^^ ^^ sont les coordonnées du vecteur d’entrée. Ces éléments mathématiques correspondent au fait que les actions (les conclusions des règles) sont des constantes. L’algorithme DFQL constitue une amélioration de cet algorithme utilisant un système FIS auto-réglable sur la base de signaux de renforcement. L’abréviation DFQL renvoie à la dénomination anglaise « Dynamic Fuzzy Q-Learning » qui pourrait se traduire littéralement par Q-apprentissage dynamique pour ensembles flous. L’algorithme DFQL est ainsi une extension de l’algorithme FQL permettant de créer l’ensemble de règles du système FIS au cours de l’entraînement. Dans le cadre de l’algorithme DFQL les actions seront associées à des prémisses au regard des valeurs de q-values (ou q). Ces valeurs sont calculées tout au long de la phase d’apprentissage dans une table de correspondance (plus souvent désignée par la dénomination anglaise correspondante de « look-up table ») qui a les actions en colonne et les prémisses en ligne. Ce tableau constitue Q. La fonction d’activation calcule le degré de vérité de la prémisse. Ainsi, à la différence de l’algorithme FQL, l’algorithme DFQL n’implique pas l’intervention d’un expert métier ni au départ ni pendant l’entraînement et crée uniquement les règles qui semblent utiles. Pour cela, au lieu de reposer sur un ensemble S fixé au départ, celui-ci est un ensemble St variable et adapté en continu lors d’étapes supplémentaires par rapport au Q- Learning. Cet algorithme DFQL comporte six étapes successives. Ces six étapes successives sont les suivantes : - première étape : observation des données, - deuxième étape : génération des règles le cas échéant, - troisième étape : sélection et application d’une action, - quatrième étape : mise à jour des valeurs q, - cinquième étape : raffinement des ensembles flous utilisés par les prémisses, et - sixième étape : suppression des ensembles flous jugés inutiles s’il y en a. Pour bien comprendre cette succession de six étapes, elle va maintenant être détaillée au travers d’un exemple particulier.
Cet exemple est celui du contrôle d’un pendule. Le but de cet exemple est d’amener à l’équilibre (en pointillé sur la Figure 2) le pendule à partir d’une position aléatoire et de le maintenir en équilibre en appliquant une force sur le pendule. Un tel exemple correspond à un environnement dans lequel à la fois les entrées et les actions sont continues. La première étape vise à observer des données pour connaître l’état de l’environnement. Dans cet exemple, les données d’entrée sont au nombre de trois. La première donnée d’entrée est le cosinus de l’angle entre le pendule et la position d’équilibre. Cette première donnée d’entrée s’écrit ainsi ^^ ^^ ^^( ^^). La deuxième donnée d’entrée est le sinus de l’angle entre le pendule et la position d’équilibre. Cette deuxième donnée d’entrée s’écrit ainsi ^^ ^^ ^^( ^^). La troisième donnée d’entrée est la vitesse angulaire du pendule. Cette troisième donnée d’entrée s’écrit ainsi ^^̇. Celles-ci sont transmises à l’agent apprenant. L’agent apprenant représente le FIS. L’agent apprenant prend les entrées et décide d’une action et en fonction de la récompense il met à jour la fonction Q. La deuxième étape correspond à une génération des règles le cas échéant. Cette deuxième étape est effectivement mise en œuvre uniquement si les données d’entrée n’activent pas de règles. Plus précisément, la condition de mise en œuvre de la deuxième étape est que les valeurs des données d’entrée ne permettent pas de dépasser un certain seuil de valeur de vérité pour une dimension de l’état. Dans une telle hypothèse, il est créé des ensembles flous correspondant aux données d’entrées. Le nouvel ensemble flou créé est centré sur la valeur d’entrée correspondant à la dimension. Un exemple est montré sur la figure 3 où les deux ensembles flous présents pour la dimension ^^ ^^ ^^(θ) ne permettent pas d’atteindre le seuil minimal de valeur de vérité (graphique de gauche sur la figure 3). Ceci mène à la création d’un nouvel ensemble flou centré sur la valeur ^^ ^^ ^^( ^^) reçue en entrée (graphique de droite sur la figure 3). Lors de la troisième étape, un apprentissage par renforcement via la valeur q permet d’obtenir quelle action est à mettre en œuvre tandis que les règles floues indiquent la pondération associée. En l’espèce, la valeur Γ de -2 est pondérée par 0,5, la valeur Γ de 0 est pondérée par 0,1 et la valeur Γ de 2 est pondérée par 0,5. Avec les notations précédentes, les valeurs de -2, 0 ou 2 correspondent à un ^^ ^^ tandis que les valeurs de 0,1 ou 0,5 correspondent à un ^^ ^^ .
La quatrième étape consiste en une mise en jour. Plus précisément, les valeurs q sont mises à jour pour adapter le choix de l’action fait à la troisième étape en fonction de la récompense reçue. La récompense est, par exemple, définie par les experts du domaine selon l’objectif recherché. La cinquième étape de raffinement consiste à modifier les centres et les largeurs des ensembles flous afin de mieux correspondre à l’environnement à contrôler. En référence à la figure 4 (partie haute), les centres des mises à jour des ensembles flous sont moyennés pour chaque règle dans laquelle l’ensemble flou intervient. On peut noter ^^ ^^, ^^ la position du centre correspondant à l’ensemble ^^ ^^,1 à l’instant t et ^^ ^^, ^^ la position du centre correspondant à l’ensemble ^^ ^^,1 au même instant t. Dans le cas d’espèce, à des fins illustratives, il est supposé que ^^ ^^, ^^ = ^^ ^^, ^^ . La cinquième étape permet d’obtenir respectivement la position du centre ^^ ^^, ^^+1 correspondant à l’ensemble ^^ ^^,1 à l’instant t+1 et celle du centre ^^ ^^, ^^+1 correspondant à l’ensemble ^^ ^^,1 à ce même instant t+1. Comme visible sur la figure 4 (partie haute), il est appliqué une correction propre à chaque centre, ce qui s’écrit mathématiquement pour la position du centre correspondant à l’ensemble ^^ ^^,1 :
Dans cette équation, (Δ ^^) ^^, ^^ correspond à la valeur de la mise à jour de la position du centre de la gaussienne correspondant à l’ensemble ^^ ^^,1 à l’instant t. Avec une notation similaire, il vient également pour la position du centre correspondant à l’ensemble ^^ ^^,1 :
Du fait que les corrections (Δ ^^) ^^, ^^ et (Δ ^^) ^^, ^^ ne sont pas les mêmes, à l’instant t+1, la position du centre ^^ ^^, ^^+1 correspondant à l’ensemble ^^ ^^,1 est différente de la position du centre ^^ ^^, ^^+1 correspondant à l’ensemble ^^ ^^,1. En référence à la figure 4 (partie basse), de manière identique aux centres, les largeurs sont mises à jour mais avec en plus une contrainte sur la mise à jour pour contrôler la distinguabilité. On peut noter ^^ ^^, ^^ la largeur correspondant à l’ensemble ^^ ^^,1 à l’instant t et ^^ ^^, ^^ la largeur correspondant à l’ensemble ^^ ^^,1 au même instant t. Dans le cas d’espèce, à des fins illustratives, il est supposé que ^^ ^^, ^^ = ^^ ^^, ^^ .
La cinquième étape permet d’obtenir respectivement la largeur ^^ ^^, ^^+1 correspondant à l’ensemble ^^ ^^,1 à l’instant t+1 et la largeur ^^ ^^, ^^+1 correspondant à l’ensemble ^^ ^^,1 à ce même instant t+1. Comme visible sur la figure 4 (partie basse), il est appliqué une correction propre à chaque largeur, ce qui s’écrit mathématiquement pour la largeur correspondant à l’ensemble ^^ ^^,1 :
Dans cette équation, (Δσ) ^^, ^^ correspond à la valeur de la mise à jour de la largeur de la gaussienne correspondant à l’ensemble ^^ ^^,1 à l’instant t. Avec une notation similaire, il vient également pour la largeur correspondant à l’ensemble ^^ ^^,1 : ^^ ^^, ^^+1 = ^^ ^^, ^^ + (Δ ^^) ^^, ^^ Du fait que les corrections (Δσ) ^^, ^^ et (Δ ^^) ^^, ^^ ne sont pas les mêmes, à l’instant t+1, la largeur ^^ ^^, ^^+1 correspondant à l’ensemble ^^ ^^,1 est différente de la largeur ^^ ^^, ^^+1 correspondant à l’ensemble ^^ ^^,1. La sixième étape consiste à supprimer les ensembles flous jugés inutiles après la cinquième étape de raffinement. La suppression utilise, par exemple, un critère s’appuyant sur la demi taille ^^ ^^ de l’ensemble des valeurs possibles de la variable j lorsqu’il s’agit d’un intervalle [ ^^ ^^; ^^ ^^]. Cette demi taille ^^ ^^ s’écrit : ^^ ^^ = ( ^^ ^^ − ^^ ^^)/2 Le critère de suppression est que
> ^^ ^^ où ^^ ^^ est un seuil de suppression. Cela correspond au fait qu’un ensemble flou est modélisé par une gaussienne. Si cette gaussienne est trop large, c’est-à-dire qu’elle est supérieure à un seuil, l’ensemble flou est supprimé car cet ensemble va perturber le système. Ce critère revient à majorer la largeur de l’ensemble flou. Si l’ensemble flou est trop large, il perturbe les ensembles flous voisins et est donc à retirer. Le procédé qui va maintenant être décrit utilise les étapes précédentes en y apportant des raffinements. Le procédé comprend une phase de génération d’une loi de commande de l’actionneur 10 et une phase de contrôle. La phase de génération vise à obtenir une loi de commande commandant l’actionneur 10 en vue d’un objectif de performance à partir de valeurs prises par des capteurs de mesure 16.
La phase de génération comprend une étape de collection, une étape de création, une étape de génération, une étape de mise en œuvre et une étape de conversion. Lors de l’étape de collection, des signaux provenant des capteurs sont collectés. Lors de la première étape de création, des ensembles flous correspondant aux signaux collectés sont créés. Ainsi, lors de la première étape de création, le centre est la valeur reçue du signal collecté (celui issu des capteurs de mesure 16) et la largeur est fixée à une valeur prédéterminée. Cette valeur prédéterminée est, par exemple, choisie en fonction de nombre de variables linguistiques souhaitées pour chaque règle. Similairement à ce qui a été décrit précédemment pour l’algorithme DFQL, lorsqu’une valeur de vérité associée à un ensemble flou dépasse une valeur seuil, il est mis en œuvre une étape de génération de la règle associée et sinon, création de nouveaux ensembles flous. Toujours en référence à l’algorithme DFQL, lors de l’étape de mise en œuvre, il est ensuite mis en œuvre un apprentissage par renforcement aux ensembles flous comprenant plusieurs itérations d’une application d’une action et de mises à jour des valeurs d’états pour déterminer les actions à effectuer pour obtenir l’objectif en fonction des ensembles flous. Le lecteur est invité à se reporter aux notions initiales pour trouver plus d’informations sur les opérations de cette étape. Toutefois, dans l’exemple décrit, la cinquième étape précédente, c’est-à-dire l’opération de modification d’au moins un parmi la position du centre et la largeur des ensembles flous est mise en œuvre de manière différente. A titre d’illustration, il est supposé de manière non limitative dans ce qui suit, qu’à la fois la position du centre et la largeur sont modifiées. Contrairement au cas de l’algorithme DFQL où l’opération de modification est différente suivant les règles, l’opération de modification est commune à toutes les règles utilisant l’ensemble flou. Plus précisément, les centres ρ et les largeurs σ des ensembles flous sont modifiés en fonction de la récompense reçue en appliquant l’action a dans l’état ^^ ^^−1. La première consiste à harmoniser les mises à jour de l’ensemble des modifications apportées sur les ^^ ^^, ^^ et ^^ ^^, ^^ en les moyennant, comme le montre la figure 5. Plus précisément, pour le cas du centre (partie du haut de la figure 5), il est calculé les erreurs de différences temporelles de chacune des différentes associations actions-état et la position modifiée du centre dépend des erreurs de différences temporelles calculées.
La position modifiée du centre est alors la somme de la position actuelle du centre additionnée de la moyenne arithmétique des erreurs de différences temporelles. En utilisant les notations correspondant à celles utilisées pour la description de la figure 4, la position du centre correspondant à l’ensemble ^^ ^^,1 à l’instant t+1 s’écrit: (Δρ) ^ + (Δρ) ^^ = ^^ ^, ^^ ^^, ^^ ^^, ^^+1 ^^, ^^ + 2 Dans cette équation, (Δρ) ^^, ^^ correspond à la valeur de la mise à jour de la position du centre de la gaussienne correspondant à l’ensemble ^^ ^^,1 à l’instant t tandis que (Δρ) ^^, ^^ correspond à la valeur de la mise à jour de la position du centre de la gaussienne correspondant à l’ensemble ^^ ^^,1 à l’instant t. Avec une notation similaire, il vient également pour la position du centre correspondant à l’ensemble ^^ ^^,1 : (Δρ) ( ^^ 1 = ^^ ^^, ^^ + Δρ) ^^, ^^ ^^, ^^+ ^^, ^^ + 2 Même si les corrections (Δ ^^) ^^, ^^ et (Δ ^^) ^^, ^^ ne sont pas les mêmes, à l’instant t+1, la position du centre ^^ ^^, ^^+1 correspondant à l’ensemble ^^ ^^,1 est identique à la position du centre ^^ ^^, ^^+1 correspondant à l’ensemble ^^ ^^,1. Similairement, pour le cas de la largeur (partie du bas de la figure 5), la largeur est également modifiée est fonction des espérances de différences temporelles. Plus précisément, ici, la largeur modifiée est la somme de la largeur actuelle additionnée de la moyenne arithmétique des espérances de différences temporelles. En utilisant les notations correspondant à celles utilisées pour la description de la figure 4, la largeur correspondant à l’ensemble ^^ ^^,1 à l’instant t+1 s’écrit:
Dans cette équation, (Δ ^^) ^^, ^^ correspond à la valeur de la mise à jour de la largeur de la gaussienne correspondant à l’ensemble ^^ ^^,1 à l’instant t tandis que (Δ
correspond à la valeur de la mise à jour de la largeur de la gaussienne correspondant à l’ensemble ^^ ^^,1 à l’instant t. Avec une notation similaire, il vient également pour la largeur correspondant à l’ensemble ^^ ^^,1 :
Même si les corrections
ne sont pas les mêmes, à l’instant t+1, la largeur ^^ ^^, ^^+1 correspondant à l’ensemble ^^ ^^,1 est identique à la largeur ^^ ^^, ^^+1 correspondant à l’ensemble ^^ ^^,1.
Selon un mode de réalisation alternatif, il est également proposé de prendre en compte la distinguabilité lors de la mise à jour en modulant les effets sur les centres et les largeurs par un coefficient. Par exemple, la formule suivante peut être utilisée :
Avec,
et ^^∗ = ^^ ^^ ^^ ^^, ^^ ^^∗ ^^, ^^ ( ^^ ^^, ^^) Dans ce cas, il est imposé que la distinguabilité des ensembles flous est au minimum de ^^ ^^. Il est ainsi obtenu l’ensemble des actions à effectuer pour obtenir l’objectif en fonction des ensembles flous. Lors de l’étape de conversion, ce résultat de l’apprentissage par renforcement est converti en un ensemble de règles de commande formant la loi de commande. Il s’agit ici d’une simple réécriture. La phase de génération qui vient d’être décrite est relativement simple à mettre en œuvre dans la mesure où elle ne requiert pas une modélisation du système physique. Elle n’implique pas non plus d’utiliser des connaissances a priori, et a fortiori pas le savoir d’un expert. Cette phase de génération permet d’obtenir une loi de commande présentant une meilleure fiabilité. Pour bien comprendre cela, il est intéressant de revenir au cas de l’algorithme DFQL. Dans ce cas, les mises à jour sont différentes suivant les règles et participent à la différenciation des définitions d’ensembles flous ayant la même signification sémantique. Le raffinement de l’algorithme DFQL ne prend ainsi pas en compte le partage des ensembles flous en plusieurs règles. Dès la première mise à jour un ensemble flou initialement partagé en donne deux très proches ce qui augmente sensiblement le nombre de règles, ralentit les calculs et surtout appauvrit la performance de l’algorithme qui n’associe plus une coordonnée d’un état à une caractéristique donnée. Autrement formulé, cela signifie que Si ^^ ^^, ^^et ^^ ^^, ^^ sont partagés entre les prémisses i et j (c’est-à-dire que leur fonction d’appartenance est égale) et que leurs erreurs sont différentes ALORS ^^ ^^, ^^ et ^^ ^^, ^^ ne sont plus partagés à l’itération suivante.
Dans le procédé décrit, la moyenne des mises à jour, selon les règles, permet de n’avoir qu’une mise à jour commune à toutes les règles utilisant l’ensemble flou. Le procédé permet de garantir que pour une variable sémantique donnée, un seul ensemble flou est utilisé pour le définir. Cela permet que les règles soient vérifiables et cela contribue augmenter la robustesse de la loi de commande. Le contrôle de l’évolution de la largeur des largeurs ^^ ^^, ^^ permet également de s’assurer de la distinguabilité des ensembles flous et donc des variables sémantiques associées. On définit la distinguabilité au sein de la partition locale à partir de la fonction d’appartenance normalisée de l’ensemble flou
^^ ^^, ^^ est la à laquelle la conclusion associée à cet ensemble flou, à terme à la prémisse, est prise en compte par rapport aux autres. Si
n’est pas distinguable alors on ne peut pas retrouver la cause exacte d’une erreur, donc notre contribution doit contrôler la distinguabilité. Là encore, cela permet que les règles soient vérifiables et cela contribue augmenter la robustesse de la loi de commande. En outre, il y a un gain en mémoire du fait que les règles redondantes sont éliminées. Lors de la phase de contrôle, le système de contrôle 12 applique la loi de commande ainsi obtenue pour bénéficier de sa meilleure robustesse en fonctionnement du système automatisé. Pour améliorer cet effet, la mise en œuvre comporte, en outre, une opération de test de l’utilité de la suppression de chaque ensemble flou, l’ensemble flou étant supprimé si le test est validé. Le procédé qui vient d’être décrit peut-être mis en œuvre par un dispositif 100 tel que représenté sur la figure 6. L’interaction entre le dispositif 110 et le produit programme d’ordinateur 112 permet la mise en œuvre de la phase de génération du procédé de contrôle, qui est ainsi une phase mise en œuvre par ordinateur. Le dispositif 110 est un ordinateur de bureau. En variante, le dispositif 110 est un ordinateur monté sur un rack, un ordinateur portable, une tablette, un assistant numérique personnel (PDA) ou un smartphone. Dans des modes de réalisation spécifiques, l'ordinateur est adapté pour fonctionner en temps réel et/ou est dans un système embarqué, notamment dans un véhicule tel qu'un avion.
Dans le cas de la figure 6, le dispositif 110 comprend une unité de calcul 114, une interface utilisateur 116 et un dispositif de communication 118. L’unité de calcul 114 est un circuit électronique conçu pour manipuler et/ou transformer des données représentées par des quantités électroniques ou physiques dans des registres du dispositif 110 et/ou des mémoires en d'autres données similaires correspondant à des données physiques dans les mémoires de registres ou d'autres types de dispositifs d'affichage, de dispositifs de transmission ou de dispositifs de mémorisation. En tant qu’exemples spécifiques, l’unité de calcul 114 comprend un processeur monocœur ou multicœurs (tel qu’une unité de traitement centrale (CPU), une unité de traitement graphique (GPU), un microcontrôleur et un processeur de signal numérique (DSP)), un circuit logique programmable (comme un circuit intégré spécifique à une application (ASIC), un réseau de portes programmables in situ (FPGA), un dispositif logique programmable (PLD) et des réseaux logiques programmables (PLA)), une machine à états, une porte logique et des composants matériels discrets. L’unité de calcul 114 comprend une unité de traitement de données 120 adaptée pour traiter des données, notamment en effectuant des calculs, des mémoires 122 adaptées à stocker des données et un lecteur 124 adapté à lire un support lisible par ordinateur. L'interface utilisateur 116 comprend un dispositif d'entrée 126 et un dispositif de sortie 128. Le dispositif d’entrée 126 est un dispositif permettant à l'utilisateur du système de saisir sur le dispositif 110 des informations ou des commandes. Sur la figure 6, le dispositif d’entrée 126 est un clavier. En variante, le dispositif d’entrée 126 est un périphérique de pointage (tel qu'une souris, un pavé tactile et une tablette graphique), un dispositif de reconnaissance vocale, un oculomètre ou un dispositif haptique (analyse des mouvements). Le dispositif de sortie 128 est une interface utilisateur graphique, c’est-à-dire une unité d’affichage conçue pour fournir des informations à l’utilisateur du dispositif 110. Sur la figure 1, le dispositif de sortie 128 est un écran d’affichage permettant une présentation visuelle de la sortie. Dans d'autres modes de réalisation, le dispositif de sortie est une imprimante, une unité d'affichage augmenté et/ou virtuel, un haut-parleur ou un autre dispositif générateur de son pour présenter la sortie sous forme sonore, une unité produisant des vibrations et/ou des odeurs ou une unité adaptée à produire un signal électrique.
Dans un mode de réalisation spécifique, le dispositif d'entrée 126 et le dispositif de sortie 128 sont le même composant formant des interfaces homme-machine, tel qu'un écran interactif. Le dispositif de communication 118 permet une communication unidirectionnelle ou bidirectionnelle entre les composants du dispositif 110. Par exemple, le dispositif de communication 118 est un système de communication par bus ou une interface d'entrée / sortie. La présence du dispositif de communication 118 permet que, dans certains modes de réalisation, les composants du dispositif 110 soient distants les uns des autres. Le produit programme informatique 112 comprend un support lisible par ordinateur 132. Le support lisible par ordinateur 132 est un dispositif tangible lisible par le lecteur 124 de l’unité de calcul 114. Notamment, le support lisible par ordinateur 132 n'est pas un signal transitoire en soi, tels que des ondes radio ou d'autres ondes électromagnétiques à propagation libre, telles que des impulsions lumineuses ou des signaux électroniques. Un tel support de stockage lisible par ordinateur 132 est, par exemple, un dispositif de stockage électronique, un dispositif de stockage magnétique, un dispositif de stockage optique, un dispositif de stockage électromagnétique, un dispositif de stockage à semi- conducteur ou toute combinaison de ceux-ci. En tant que liste non exhaustive d'exemples plus spécifiques, le support de stockage lisible par ordinateur 132 est un dispositif codé mécaniquement, tel que des cartes perforées ou des structures en relief dans une gorge, une disquette, un disque dur, une mémoire morte (ROM), une mémoire vive (RAM), une mémoire effaçable programmable en lecture seule (EROM), une mémoire effaçable électriquement et lisible (EEPROM), un disque magnéto-optique, une mémoire vive statique (SRAM), un disque compact (CD- ROM), un disque numérique polyvalent (DVD), une clé USB, un disque souple, une mémoire flash, un disque à semi-conducteur (SSD) ou une carte PC telle qu'une carte mémoire PCMCIA. Un programme d'ordinateur est stocké sur le support de stockage lisible par ordinateur 132. Le programme d'ordinateur comprend une ou plusieurs séquences d'instructions de programme mémorisées. De telles instructions de programme, lorsqu'elles sont exécutées par l'unité de traitement de données 120, entraînent l'exécution d'étapes du procédé. Par exemple, la forme des instructions de programme est une forme de code source, une forme exécutable par ordinateur ou toute forme intermédiaire entre un code source et
une forme exécutable par ordinateur, telle que la forme résultant de la conversion du code source via un interpréteur, un assembleur, un compilateur, un éditeur de liens ou un localisateur. En variante, les instructions de programme sont un microcode, des instructions firmware, des données de définition d’état, des données de configuration pour circuit intégré (par exemple du VHDL) ou un code objet. Les instructions de programme sont écrites dans n’importe quelle combinaison d’un ou de plusieurs langages, par exemple un langage de programmation orienté objet (FORTRAN, C++, JAVA, HTML), un langage de programmation procédural (langage C par exemple). Alternativement, les instructions du programme sont téléchargées depuis une source externe via un réseau, comme c'est notamment le cas pour les applications. Dans ce cas, le produit programme d'ordinateur comprend un support de données lisible par ordinateur sur lequel sont stockées les instructions de programme ou un signal de support de données sur lequel sont codées les instructions de programme. Dans chaque cas, le produit programme d'ordinateur 112 comprend des instructions qui peuvent être chargées dans l'unité de traitement de données 120 et adaptées pour provoquer l'exécution du procédé lorsqu'elles sont exécutées par l'unité de traitement de données 120. Selon les modes de réalisation, l'exécution est entièrement ou partiellement réalisée soit sur le dispositif 110, c'est-à-dire un ordinateur unique, soit dans un système distribué entre plusieurs ordinateurs (notamment via l’utilisation de l’informatique en nuage).
Claims
REVENDICATIONS 1. Procédé de contrôle d’un actionneur (10) par un système de contrôle (12), le procédé de contrôle comprenant : - une phase de génération d’une loi de commande de l’actionneur (10), la loi de commande commandant l’actionneur (10) en vue d’un objectif de performance à partir de valeurs prises par des capteurs de mesure (16), la phase de génération comprenant les étapes de : - collection de signaux provenant des capteurs de mesure (16), - création d’ensembles flous correspondant aux signaux collectés, - lorsqu’une valeur de vérité associée à un ensemble flou dépasse une valeur seuil, génération de la règle associée et sinon, création de nouveaux ensembles flous, - mise en œuvre d’un apprentissage par renforcement aux ensembles flous comprenant plusieurs itérations d’une application d’une action et de mises à jour des valeurs d’actions-état, pour déterminer les actions à effectuer pour obtenir l’objectif de performance en fonction des ensembles flous, la mise en œuvre comportant à chaque itération une opération de modification d’au moins un parmi la position du centre et la largeur des ensembles flous pour obtenir des ensembles flous modifiés sur lesquels l’apprentissage par renforcement est appliqué à l’itération suivante, - conversion du résultat de l’apprentissage par renforcement en un ensemble de règles de commande formant la loi de commande, et - une phase de contrôle durant laquelle le système de contrôle (12) applique la loi de commande sur l’actionneur (10).
2. Procédé de contrôle selon la revendication 1, dans lequel, lors de l’opération de modification, à la fois la position du centre et la largeur de chaque ensemble flou est modifié.
3. Procédé de contrôle selon la revendication 1 ou 2, dans lequel, lors de l’opération de modification, il est calculé les erreurs de différences temporelles de chacune des différentes associations état-actions et la position modifiée du centre dépend des erreurs de différences temporelles calculées.
4. Procédé de contrôle selon la revendication 3, dans lequel la position modifiée du centre est la somme de la position actuelle du centre additionnée de la moyenne arithmétique des erreurs de différences temporelles.
5. Procédé de contrôle selon l’une quelconque des revendications 1 à 4, dans lequel, lors de l’opération de modification, il est calculé l’espérance des différences temporelles de chacune des différentes associations état-actions et la largeur modifiée est fonction des espérances de différences temporelles.
6. Procédé de contrôle selon la revendication 5, dans lequel la largeur modifiée est la somme de la largeur actuelle additionnée de la moyenne arithmétique des espérances de différences temporelles.
7. Procédé de contrôle selon l’une quelconque des revendications 1 à 6, dans lequel la mise en œuvre comporte, en outre, une opération de test de l’utilité de la suppression de chaque ensemble flou, l’ensemble flou étant supprimé si le test est validé.
8. Système de contrôle (12) adapté pour mettre en œuvre : - une phase de génération d’une loi de commande de l’actionneur (10), la loi de commande commandant l’actionneur (10) en vue d’un objectif de performance à partir de valeurs prises par des capteurs de mesure (16), la phase de génération comprenant les étapes de : - collection de signaux provenant des capteurs de mesure (16), - création d’ensembles flous correspondant aux signaux collectés, - lorsqu’une valeur de vérité associée à un ensemble flou dépasse une valeur seuil, génération de la règle associée et sinon, création de nouveaux ensembles flous, - mise en œuvre d’un apprentissage par renforcement aux ensembles flous comprenant plusieurs itérations d’une application d’une action et de mises à jour des valeurs d’actions-état, pour déterminer les actions à effectuer pour obtenir l’objectif de performance en fonction des ensembles flous, la mise en œuvre comportant à chaque itération une opération de modification d’au moins un parmi la position du centre et la largeur des ensembles flous pour obtenir des ensembles flous modifiés sur lesquels l’apprentissage par renforcement est appliqué à l’itération suivante, - conversion du résultat de l’apprentissage par renforcement en un ensemble de règles de commande formant la loi de commande, et
- une phase de contrôle durant laquelle le système de contrôle (12) applique la loi de commande sur l’actionneur (10).
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2214407A FR3144327B1 (fr) | 2022-12-23 | 2022-12-23 | Procédé de contrôle d'un actionneur par un système de contrôle et système de contrôle d'un actionneur |
| PCT/EP2023/087418 WO2024133778A1 (fr) | 2022-12-23 | 2023-12-21 | Procédé de contrôle d'un actionneur par un système de contrôle et système de contrôle d'un actionneur |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4639291A1 true EP4639291A1 (fr) | 2025-10-29 |
Family
ID=86272220
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23837649.5A Pending EP4639291A1 (fr) | 2022-12-23 | 2023-12-21 | Procédé de contrôle d'un actionneur par un système de contrôle et système de contrôle d'un actionneur |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4639291A1 (fr) |
| FR (1) | FR3144327B1 (fr) |
| WO (1) | WO2024133778A1 (fr) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119676705B (zh) * | 2024-11-28 | 2025-12-26 | 华能新能源股份有限公司云南分公司 | 一种光伏电站5g网络安全防护设备 |
-
2022
- 2022-12-23 FR FR2214407A patent/FR3144327B1/fr active Active
-
2023
- 2023-12-21 WO PCT/EP2023/087418 patent/WO2024133778A1/fr not_active Ceased
- 2023-12-21 EP EP23837649.5A patent/EP4639291A1/fr active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024133778A1 (fr) | 2024-06-27 |
| FR3144327B1 (fr) | 2025-12-05 |
| FR3144327A1 (fr) | 2024-06-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12585917B2 (en) | Reinforcement learning using advantage estimates | |
| US12346786B2 (en) | Data-efficient reinforcement learning for continuous control tasks | |
| US12614316B2 (en) | Text-to-image diffusion model with component locking and rank-one editing | |
| CN110546653B (zh) | 使用管理者和工作者神经网络的用于强化学习的动作选择 | |
| CN109155003B (zh) | 生成神经网络 | |
| JP7483751B2 (ja) | 教師なしデータ拡張を使用した機械学習モデルのトレーニング | |
| CN110383299B (zh) | 记忆增强的生成时间模型 | |
| US11645498B2 (en) | Semi-supervised reinforcement learning | |
| US20190370647A1 (en) | Artificial intelligence analysis and explanation utilizing hardware measures of attention | |
| CN111727441A (zh) | 实现用于高效学习的条件神经过程的神经网络系统 | |
| EP3888014A1 (fr) | Commande de robots à l'aide de contraintes d'entropie | |
| US20200265307A1 (en) | Apparatus and method with multi-task neural network | |
| CN113302605A (zh) | 鲁棒且数据效率的黑盒优化 | |
| WO2018215344A1 (fr) | Couches de réseau neuronal avec bruit | |
| EP3596662B1 (fr) | Réseaux neuronaux d'agents basés sur l'imagination | |
| US20190251419A1 (en) | Low-pass recurrent neural network systems with memory | |
| WO2022112583A1 (fr) | Procédé d'évaluation de la performance d'un algorithme de prédiction et dispositifs associés | |
| US20220237488A1 (en) | Hierarchical policies for multitask transfer | |
| WO2021245227A1 (fr) | Procédé de génération d'un système d'aide à la décision et systèmes associés | |
| WO2024133778A1 (fr) | Procédé de contrôle d'un actionneur par un système de contrôle et système de contrôle d'un actionneur | |
| Zhang et al. | Nonparametric dynamics modeling for underwater vehicles using local adaptive moment estimation Gaussian processes learning | |
| US20250068888A1 (en) | Learning relations in multi-relational graphs in graph neural networks | |
| US20240303471A1 (en) | Activation function for homomorphically-encrypted neural networks | |
| US11675582B2 (en) | Neural networks to identify source code | |
| WO2024039769A1 (fr) | Découverte de compétences pour apprentissage d'imitation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250623 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) |