WO2024069079A1 - Procédé de commande d'un système mécatronique - Google Patents

Procédé de commande d'un système mécatronique Download PDF

Info

Publication number
WO2024069079A1
WO2024069079A1 PCT/FR2023/051439 FR2023051439W WO2024069079A1 WO 2024069079 A1 WO2024069079 A1 WO 2024069079A1 FR 2023051439 W FR2023051439 W FR 2023051439W WO 2024069079 A1 WO2024069079 A1 WO 2024069079A1
Authority
WO
WIPO (PCT)
Prior art keywords
mechatronic system
measurement
mechatronic
sequence
polynomial
Prior art date
Application number
PCT/FR2023/051439
Other languages
English (en)
Inventor
Maxime POUILLY-CATHELAIN
Philippe FEYEL
Yannick Ghislain Sébastien Xavier ATTRAZIC
Gilles DUC
Guillaume Sandou
Original Assignee
Centre National De La Recherche Scientifique
Centralesupelec
Safran Electronics & Defense
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centre National De La Recherche Scientifique, Centralesupelec, Safran Electronics & Defense filed Critical Centre National De La Recherche Scientifique
Publication of WO2024069079A1 publication Critical patent/WO2024069079A1/fr

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive 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
    • G05B13/027Adaptive 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 using neural networks only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor

Definitions

  • TITLE Method for controlling a mechatronic system
  • the technical field of the invention is that of automation and in particular mechatronic systems.
  • the present invention relates to a method for controlling a mechatronic system and in particular a method for controlling a mechatronic system based on a model for predicting the behavior of the mechatronic system.
  • a mechatronic system comprises at least two subsystems: an operational part and a control part.
  • a mechatronic system includes an electric motor carrying a mechanical load, which corresponds to the operative part of the system, whose position and/or speed is measured with a position and/or speed sensor.
  • the operational part will be the electric motor, the mechanical load as well as the sensors.
  • a control voltage expressed for example in volts, is applied to the motor.
  • Actuation of the motor causes a change in position of the mechanical load.
  • the control part can for example include a corrector, which, based on a measurement, will determine the command(s) sent to the operational part.
  • the so-called adaptive corrector will also adapt the parameters of the corrector to have an operation which depends on the environmental conditions in order to follow a setpoint. In addition, this corrector will reject external disturbances determined from one or more measurements in order to allow the mechatronic system to follow an instruction by generating one or more commands sent to the operating part.
  • the term “mechatronic system” can be used to designate the operative part of the mechatronic system when the control is applied to the operative part.
  • An example of a mechatronic system is the gyro-stabilized viewfinder.
  • a gyro-stabilized viewfinder is an optronic system that allows observation at very large distances in a precise direction.
  • the gyrostabilized sight can for example be mounted on a vehicle.
  • the purpose of the viewfinder being, in this case, to keep the orientation of a mechanical load (for example, an optronic device such as a camera) carried by motors, fixed despite the movements of the vehicle.
  • a mechanical load for example, an optronic device such as a camera
  • viewfinder architectures are possible [Masten M., 2008, Inertially stabilized platforms for optical imaging systems: Tracking dynamic targets with mobile sensors. Control Systems, IEEE. 28. 47 - 64. 10.1109/MCS.2007.910201], which is incorporated by reference into the application.
  • One of the most common viewfinder architectures consists of using inertial sensors, of the gyrometer type, carried by the mechanical load in order to control the absolute speed of the mechanical load;
  • the load becomes inertial with the exception of imperfections and disturbances linked to environmental conditions.
  • Viewfinders and in particular viewfinders with a single stabilization stage, are a typical application of adaptive control in particular because of:
  • An active mini-stick, a flap actuation system, a horizontal plane actuation system, a spoiler rotary actuator, a reverse actuator such as the eTRAS model (for "Electrical Thrust Reverser Actuation System") manufactured by the Safran group, a camera autofocus and an inertial viewfinder are other examples of mechatronic systems.
  • a trajectory instruction is a series of states that the mechatronic system must follow.
  • a trajectory instruction can be defined for example by a position and/or a target speed that the mechanical load of the system mechatronics must follow.
  • a trajectory instruction is the precession speed profile that the sight must follow.
  • a high-level requirement is a constraint, formulated by the user, on the behavior of the mechatronic system during the use phase.
  • a high-level requirement can arise directly from the product specifications.
  • a high-level requirement may correspond to the required stability of the mechatronic system or to the power consumption of the mechatronic system during tracking of the trajectory instruction. In the case of a gyro-stabilized sight, examples of high-level requirements may include:
  • a high-level requirement can aim for different objectives.
  • the high-level requirement "bound the standard deviation of the position error obtained by integrating the velocity tracking error” ensures that the sight is sufficiently precise so that the target seen by the optical or optronic device is clear, while “limiting the peak value of the motor voltage” ensures the integrity of the motor.
  • the current state of the system can be evaluated from at least one measurement.
  • the current state of a mechatronic system can be evaluated from measurements including a measurement of its absolute position and/or speed.
  • a measurement used may be, among other measurements such as motor current, the absolute speed of the viewfinder, measured by a gyrometer.
  • an observer In order to evaluate the current state of a system, it is known to use an observer.
  • the role of an observer is, for example, to allow the current state of a system to be reconstructed or estimated in real time from available measurements.
  • the measurements obtained cannot be processed directly by the control part of the mechatronic system and that it is necessary to add an observer to estimate the state of the system.
  • an observer also makes it possible to estimate the unmeasured states of a system, and also to replace sensors that are expensive or difficult to maintain.
  • the current state of the system can be evaluated based on position and/or speed measurements alone.
  • the sampling frequency of the control loops and the bandwidth of the mechatronic system must be sufficiently high.
  • the minimum sampling frequency needed could be at least 50 hertz (Hz), 500 hertz (Hz), or any frequency between 50 and 500 hertz (Hz).
  • the calculation time of the corrector is often critical to obtain a sufficiently high sampling frequency. It is also known in the field of mechatronic systems that the sampling frequency of the control loops must be at least 10 times greater than the bandwidth of the mechatronic system and preferably at least 20 times greater than the bandwidth of the mechatronic system.
  • a static digital corrector is a corrector whose parameters are defined before its use and which do not change during its use. Thus, it is common for the parameters of these correctors to be defined during design and then no longer modified during its use phase.
  • Techniques have already been implemented to optimize the parameters of the correctors, based in particular on modeling of the mechatronic system. These parameterization techniques are used during the development and fine-tuning phases of the mechatronic system, but are not integrated into the control loops and used during the use phase. The correctors thus developed are defined to cover a range of ignorance of the system to be controlled and its evolution over time and this, for requirements fixed before the use phase, or even before the development phase of the mechanical system.
  • a mechatronic system must guarantee sufficient stability.
  • a system is stable if in response to a bounded input, the output of the system is bounded.
  • the correctors are designed to give the resulting servo loop significant stability margins, thus limiting the performance of the mechatronic system.
  • An initialization phase is a phase during which the parameters of the corrector are initialized so that its behavior is adapted during the following use phase.
  • a known example of an adaptive robust technique is the linear formalism with varying parameters, called in English “Linear Parameter Varying” (LPV).
  • LDV Linear Parameter Varying
  • a first drawback concerning the LPV formalism is the difficulty in proving the stability of this technique in the presence of observers.
  • the LPV formalism does not adapt to variations in high-level requirements: when the latter change, it is then necessary to restart a design and adjustment process for the corrector, as well as an entire validation and qualification phase, which which is very time consuming and expensive.
  • the LPV formalism does not make it possible to obtain a so-called self-adaptive corrector, having the capacity to adapt both to variations in the environment and to variations in constraints linked to high-performance requirements. level and/or specifications during the use phase of the mechatronic system. Concerning gyro-stabilized sights, it is not possible with current control methods to carry out self-adaptive control.
  • the mechatronic systems manufactured and/or assembled may present non-conformities in terms of their performance, in particular due to part tolerancing problems. This may require either expensive rework or even scrapping. Usual correctors do not, or very little, compensate for manufacturing defects causing non-compliance with performance requirements.
  • a known control method for controlling a mechatronic system is predictive control described in the document [Rawlings, JB, Mayne, DQ, and Diehl, M. (2017). Model Predictive Control: Theory, Computation, and Design. Nob Hill Publishing. Reble, M. and Allg], which is incorporated by reference into the this request.
  • a predictive control is a process which, for each sampling period, determines a sequence of future commands making it possible to obtain an optimal predicted future behavior, with respect to a specification, of the mechatronic system.
  • predictive control aims to solve online a constrained, potentially non-linear optimization problem, making it possible to define the best command to apply to achieve system control.
  • the behavior is predicted using a prediction model of the mechatronic system.
  • the behavior considered optimal is evaluated thanks to the minimization of a cost function by an optimization algorithm.
  • the cost function makes it possible to determine what is considered optimal for the behavior of the system: following the trajectory instruction by following a reference trajectory while best satisfying the constraints reflecting the high-level requirements. Thanks to the minimization of the cost function, the optimization algorithm used in predictive control therefore makes it possible to determine the optimal future control sequence in view of compliance with the constraints.
  • a prediction horizon is a duration in the future for which the trajectory instruction to follow is known. It can for example be a multiple of the sampling period. In practice, the prediction horizon is generally at least 20 times longer than the length of the sampling period.
  • the order sequence to be determined consists of n orders, one per sampling period.
  • Figure 6 is a graph showing an example of command values (C) versus time (T). The present time is represented by the hatched line 600 and the prediction horizon is the duration between the hatched line 600 and the hatched line 690.
  • the commands 610 have already been applied to the system.
  • Commands 620, 630, 640, 650, 660 and 670 are the commands predicted at the present time so that the mechatronic system follows the trajectory instruction for the prediction horizon.
  • the prediction horizon is made up of 6 sampling periods.
  • the invention offers a solution to the problems mentioned above, by making it possible to control, in a stable manner and at a high sampling frequency, a mechatronic system.
  • One aspect of the invention relates to a method for controlling a mechatronic system, based on a model for predicting the behavior of the mechatronic system and a cost function ensuring compliance with constraints by the mechatronic system for monitoring a trajectory instruction during a prediction horizon, the method comprising:
  • o obtain the trajectory instruction and at least one measurement of the mechatronic system in a current state; o determine coefficients of a polynomial of order m by a Nelder-Mead method optimizing the cost function based on the prediction model, the determination taking as input the trajectory instruction and at least one measurement of the system mechatronics obtained; o calculate an order by evaluating the polynomial; and o apply the command to the mechatronic system.
  • the calculation time of the command depends on the order m of the polynomial which can be determined by a user according to the sampling frequency necessary for the proper functioning of the control.
  • the use of the Nelder-Mead method [Nelder and Mead, 1965: “a simplex method for function minimization”, Computer Journal, vol. 7, no 4, p308-313] to determine the coefficients of the polynomial makes it possible to obtain a sufficiently high sampling frequency, due to the reduction in calculation time that the Nelder-Mead method allows, for the control of a mechatronic system for an order m less than or equal to 3 with an Intel® CoreTM i7 processor.
  • the implementation of this control method in an embedded system is facilitated.
  • the use of the Nelder-Mead method makes it possible to obtain a stable control process.
  • the cost function integrating barrier functions as described in this application allows the constraints to be respected by the mechatronic system when following a trajectory instruction.
  • the use of a Nelder-Mead method, possibly under constraints, is an essential characteristic of the invention in particular in order to obtain a sufficiently high sampling frequency.
  • control method according to one aspect of the invention may present one or more complementary characteristics among the following, considered individually or in all technically possible combinations:
  • control method further comprises a prior step of initializing the prediction model comprising a determination of the values of a set of parameters of the prediction model using an identification algorithm taking as input a sequence of orders in steps of random amplitude and duration and a set of measurements of the mechatronic system, each measurement of the set of measurements of the mechatronic system being carried out after the application of each command of the sequence of commands to the mechatronic system,
  • the Nelder-Mead method optimizing the cost function is based on a polytope of m + 1 vertices, with m the order of the polynomial, whose m + 1 vertices are constrained in a predetermined interval of values [xmin, xmax] for any evolution of the polytope during optimization,
  • the order m of the polynomial is between 2 and 20, preferably 3,
  • the coupling between the Nelder-Mead method with the polynomial for interpolation of the control sequence makes it possible to improve the performance of the method according to the invention, in particular by reducing calculation times.
  • - obtaining the trajectory instruction and at least one measurement of the mechatronic system in a current state further comprises a real-time estimation of a current state of the mechatronic system from the at least one measurement of the mechatronic system obtained, the estimation being carried out by an observer included in the mechatronic system,
  • control method further comprises, for at least one sampling period of the sequence of sampling periods different from a first sampling period of the sequence of sampling periods, the steps of: o before the determination of the coefficients of the polynomial, the replacement of the barrier functions by new barrier functions, the new barrier functions being a reformulation of new constraints; o after obtaining the trajectory instruction and at least one measurement of the mechatronic system and before determining the coefficients of the polynomial, a step comprising:
  • Another aspect of the invention relates to a mechatronic system comprising:
  • Another aspect of the invention relates to a gyro-stabilized viewfinder comprising
  • the mechatronic system and/or the gyro-stabilized viewfinder can also include a memory allowing the saving of data, this memory being coupled to the processor.
  • This memory is for example adapted to store the first and the second variable of the steps of saving the at least one measurement of the mechatronic system obtained in a first variable and the command calculated in a second variable.
  • Another aspect of the invention relates to a computer program product comprising instructions which, when the program is executed by a computer, lead it to implement the method according to the invention.
  • Another aspect of the invention relates to a computer-readable recording medium comprising instructions which, when executed by a computer, lead it to implement the method according to the invention.
  • FIG. 1 shows a schematic representation of the method of controlling a mechatronic system according to the invention.
  • FIG. 6 is a graph showing an example of order values (C) as a function of time (T).
  • FIG. 7 is a graph showing an example of order values (C), calculated by evaluating a polynomial, as a function of time (T).
  • Figure 1 shows a schematic representation of the method 100 for controlling a mechatronic system according to the invention.
  • the control method 100 can be implemented by computer or by a processor.
  • computer-implemented it is meant that the steps, or substantially all of the steps, are executed by at least one computer or processor or other similar system.
  • steps are carried out by the calculator, possibly fully automatic, or semi-automatic.
  • triggering at least some of the method steps may be accomplished by user-computer interaction.
  • the level of user-computer interaction required may depend on the level of automation intended and balanced against the need to implement the user's wishes. In examples, this level may be user defined and/or predefined.
  • a typical example of computer implementation of a method consists of executing the method with a system adapted for this purpose.
  • the system may include a processor coupled to a memory and a graphical user interface (GUI), the memory having stored thereon a computer program including instructions for implementing the method.
  • GUI graphical user interface
  • Memory can also store a database.
  • Memory is any hardware suitable for such storage, possibly comprising several distinct physical parts.
  • the control method 100 is based on a model for predicting the behavior of the mechatronic system.
  • the prediction model is a mathematical model of the mechatronic system to be controlled.
  • the mechatronic system behavior prediction model allows the simulation of the real behavior of the mechatronic system.
  • the prediction model makes it possible, from one or more input values, to obtain a prediction of an output corresponding to the state in which the mechatronic system would find itself if the input values were actually there. applied.
  • the input and output types of the prediction model are identical to those of the viewfinder:
  • the input is the voltage applied to the motor terminals
  • the output used is the absolute speed of the viewfinder measured by a gyrometer.
  • the control method 100 is also based on a cost function ensuring compliance with constraints by the mechatronic system for monitoring a trajectory instruction during a prediction horizon.
  • the cost function used in the present invention ensures compliance with constraints by the mechatronic system for monitoring a trajectory instruction because it integrates barrier functions as described in [Wills, AG and Heath, WP (2004 ). Barrier function based model predictive control. Automatica, 40(8), 1415-1422], which is incorporated by reference into the application.
  • the cost function reflects the constraints that the mechatronic system must respect.
  • the cost function also reflects optimization of monitoring.
  • the cost function makes it possible to determine what is considered optimal for the behavior of the system: follow the trajectory instruction by approaching as closely as possible a reference trajectory while guaranteeing compliance with the constraints.
  • the method 100 comprises the reformulation 10 of the constraints into barrier functions and the integration of the barrier functions into the cost function.
  • the constraints provided by the user, are reformulated into barrier functions in order to be taken into account in the cost function.
  • each constraint is reformulated into a barrier function.
  • Wills and Heath, 2004 presents a control process including weighted barrier functions in the cost function.
  • Barrier functions, as presented in Wills and Heath, 2004, ensure that constraints are strictly satisfied.
  • the reformulation method presented in Wills and Heath, 2004 is compatible with the invention.
  • Steps 20, 30, 40 and 50 of method 100 are carried out for each sampling period of a sequence of sampling periods.
  • the sequence of sampling periods corresponds to the use phase of the mechatronic system or at least part of this use phase.
  • Each sampling period must therefore be reduced, for example less than 0.01 second or 0.001 second or even 0.0002 second.
  • the method 100 comprises obtaining the trajectory instruction and at least one measurement of the mechatronic system for the current sampling period.
  • the trajectory instruction can be provided by the user or determined semi-automatically or even automatically. It can be constant or different for several consecutive sampling periods or even for the entire sequence of sampling periods.
  • the trajectory instruction is the precession speed imposed on the viewfinder, that is to say the speed profile that the viewfinder must follow.
  • At least one measurement of the mechatronic system can be obtained using one or more sensors.
  • the measurement used for a gyro-stabilized sight is the absolute speed of the sight measured by a gyrometer.
  • the at least one measurement of the mechatronic system used by the corrector can also be calculated, that is to say reconstructed or estimated, using an observer.
  • the method 100 comprises the determination of the coefficients of a polynomial of order m by a Nelder-Mead method optimizing the cost function based on the prediction model, the determination taking as input the trajectory instruction and the at least one measurement of the mechatronic system for the current sampling period.
  • the m coefficients of the polynomial are determined.
  • the determination is carried out by optimizing the cost function described previously.
  • the optimization is carried out by the Nelder-Mead method, described in the document Nelder and Mead (1965)], which is incorporated by reference in the application.
  • the Nelder-Mead method allows you to optimize complex cost functions.
  • the principle of the Nelder-Mead method is as follows: in order to minimize a function (x), with x constrained in the interval [x min , x max ], a simplex is a polytope of s + 1 vertices in an s-dimensional space, s is therefore the dimension of the optimization problem, that is to say the size of the vector x.
  • the simplex deforms, for example by undergoing expansions and/or contractions and/or reflections, it moves and reduces gradually until its vertices approach a point where the function (x) is locally minimal.
  • the optimization algorithm determines the parameters of the polynomial which make it possible to obtain the predicted behavior of the system as close as possible to the reference trajectory.
  • the optimization algorithm contains three steps.
  • the first step consists of determining the coefficients of the polynomial, these coefficients are the search parameters of the optimization algorithm and evolve with each iteration.
  • the second step consists of evaluating the orders from the polynomial. The number of orders that can correspond to the number of sampling periods included in the prediction horizon.
  • the third step of the optimization algorithm is to apply these commands to the prediction model.
  • the fourth step consists of evaluating the cost function, that is to say comparing the predicted trajectory with the reference trajectory and taking into account the constraints in the form of barrier functions.
  • the determination 30 of the m coefficients of the polynomial takes as input the trajectory instruction, the prediction model and at least one measurement of the mechatronic system for the current sampling period. It is thus possible to evaluate the difference between the prediction of the state of the system and the trajectory instruction.
  • the determination 30 of the m coefficients of the polynomial makes it possible to obtain a polynomial whose evaluation ensures obtaining the sequence of n commands to be applied to the mechatronic system so that the system reaches the trajectory setpoint for the horizon of prediction.
  • the command sequence is made up of as many commands as the prediction horizon includes sampling periods. For example, if the prediction horizon consists of n sampling periods, then the order sequence consists of n orders.
  • the evaluation of the polynomial can therefore make it possible to obtain the value of the n orders for the n sampling periods.
  • the method 100 comprises the calculation 40 of a sequence of commands by evaluating the polynomial.
  • the value of the command to be applied at the present time is determined.
  • Figure 7 is a graph showing an example of command values C as a function of time T.
  • the present instant is represented by the hatched line 600.
  • the prediction horizon is the duration between the hatched line 600 and the hatched line 690. Commands 610 have already been applied to the system.
  • the evaluation of the polynomial 680 makes it possible to determine the commands 620, 630, 640, 650, 660 and 670 predicted at the present time so that the mechatronic system follows the trajectory instruction over the entire prediction horizon.
  • the method 100 comprises the application 50 of the command to the mechatronic system.
  • Applied command 50 is the command to apply at the present time.
  • the command applied is the first command in the sequence of commands to be applied so that the mechatronic system follows the trajectory instruction for the prediction horizon 690.
  • the command is optimized to minimize the energy necessary when following the trajectory instructions.
  • the command applied in step 50 is command 620.
  • the method 100 for controlling a gyro-stabilized viewfinder is based on a model for predicting the behavior of the gyro-stabilized viewfinder and a cost function ensuring compliance with constraints by the gyro-stabilized viewfinder for the followed by a trajectory instruction for a prediction horizon.
  • the process includes:
  • o obtain the trajectory instruction and at least one measurement of the gyrostabilized viewfinder in a current state; o determine 30 coefficients of a polynomial of order m by a Nelder-Mead method optimizing the cost function based on the prediction model, the determination taking as input the trajectory instruction and at least one measurement of the gyrostabilized viewfinder obtained 20; o calculate 40 an order by evaluating the polynomial; And o apply 50 the command to the gyrostabilized viewfinder.
  • the invention therefore aims to determine the coefficients of a polynomial, the evaluation of which makes it possible to obtain the control sequence to be applied so that the mechatronic system follows the trajectory instruction during the prediction horizon.
  • This makes it possible to obtain a mechatronic system control method whose calculation time depends on the number of polynomial coefficients to be determined, which influences the calculation time necessary for the process.
  • the user can therefore, depending on the calculation time he wishes to allocate to the control process, determine the order m of the appropriate polynomial. This determination of the order m of the polynomial could also be carried out semi-automatically or even automatically.
  • the invention makes it possible to obtain a sequence of commands to be applied which minimizes the energy necessary when following the trajectory instruction.
  • FIG. 2 shows a schematic representation of a first variant.
  • the control method 100 further comprises a prior initialization step 60 of the prediction model.
  • the initialization 60 includes a determination of the values of a set of parameters of the prediction model using an identification or learning algorithm taking as input a sequence of step commands of random amplitude and duration and a set of mechatronic system measurements. Each measurement in the mechatronic system measurement set is performed after each command in the command sequence is applied to the mechatronic system. The correspondence between each measurement carried out and each command applied is known. Thus, there is a corresponding measurement for each order, which can, for example, be grouped in pairs. These “command – measurement” pairs can be provided to the identification or learning algorithm for determining the values.
  • the terms “learning” and “identification” designate any process aimed at obtaining a prediction model which “behaves like” the mechatronic system.
  • Initialization 60 can be carried out in different stages.
  • Figure 3 shows a schematic representation of the different stages of initialization 60.
  • Initialization 60 of the prediction model is carried out at least in part during an initialization phase of the mechatronic system, different from the use phase of the system. mechatronics.
  • the first two steps 61 and 62 can be carried out before starting the mechatronic system, that is to say before the initialization phase.
  • the following three steps 63, 64 and 65 are carried out during the initialization phase, which requires starting the mechatronic system.
  • Step 61 includes a definition by the user of the high-level requirements based on the product specification and the order m of the polynomial.
  • the definition of high-level requirements and/or the order m of the polynomial could also be carried out semi-automatically or even automatically.
  • Step 62 includes for example the definition of the type of prediction model to use.
  • Different types of prediction models can be used such as neural networks or linear models. For example, if the chosen model is a neural network, the type of neural network used and the number of neurons are determined at this step 62. If a linear model is chosen, the order of the linear model is determined at this step 62. The choice of the type of prediction model to use may be algorithmically determined or user-defined.
  • Step 63 includes the definition of a sequence of step commands of random amplitude and duration. It should be noted that the maximum amplitude and maximum duration of each command in the command sequence must be consistent with the maximum amplitude allowable by the system and its response time. In other words, the maximum amplitude of each command in the sequence of commands must be less than a ratio of the maximum amplitude admissible by the system, the ratio being between ]0; 1], The maximum duration of each command in the command suite must be greater than or equal to 5 times the system time constant. If a linear model was chosen in step 62, the sequence of step commands of random amplitude and duration may consist of a pseudo-random binary signal.
  • a pseudo-random binary signal can be defined as being a signal made up of a series of elements, each of the elements having a binary value having a pseudo-random character: the binary value of each of its elements is independent of the others, but it is a periodic sequence, which makes it deterministic.
  • step 64 the sequence of commands determined in step 63 is applied to the mechatronic system and at least one measurement of the state of the system is performed after each command in this command sequence is applied.
  • the at least one measurement of the state of the system corresponds to the same at least one measurement which will be carried out during step 20.
  • the at least one measurement during step 20 consists of measuring the absolute speed of the viewfinder measured by a gyrometer
  • a measurement of the absolute speed of the viewfinder measured by a gyrometer will be carried out after the application of each command of this sequence of commands during this step 64.
  • step 65 the sequence of commands determined in step 63 and the sequence of at least one corresponding measurement are used as input data to determine the parameters of the prediction model.
  • the initialization of the model is carried out on the basis of a recurrent neural network which makes it possible to represent dynamic systems. It is trained using an optimization algorithm based on a Levenberg-Marquardt type gradient. It is also possible to use a recurrent neural network with a linear activation function and in this case, the initialization of the model consists of identifying a linear model by a recursive least squares algorithm.
  • the Nelder-Mead method as described in Nelder and Mead (1965) is unconstrained.
  • the decision variables are constrained to remain in a well-defined search space in order to promote convergence. The Nelder-Mead method is then said to be constrained.
  • the order m of the polynomial is between 2 and 5 and preferably equal to 3.
  • the order m of the polynomial influences the calculation time necessary for the control process for each sampling period.
  • the greater the order m of the polynomial the more the calculation time increases.
  • the prediction horizon for a mechatronic system is for example at least equal to 20 sampling periods.
  • the optimization algorithm searches for all future commands to be applied to the system, i.e. 20 parameters.
  • the prediction horizon of the same duration with a polynomial of order 3
  • only 3 parameters are sought by the Nelder-Mead method or the constrained Nelder-Mead method.
  • the calculation time for determining the parameters is reduced compared to the traditional control method.
  • An implementation on an Intel® CoreTM i7 processor of the control method for a gyro-stabilized viewfinder using a Nelder-Mead method constrained with an order m of polynomial equal to 3 is compatible with a sampling frequency at least equal to 400 Hertz.
  • obtaining the control method 100 further comprises a real-time estimation of a current state of the mechatronic system from the at least one measurement of the mechatronic system for the current sampling period carried out by an observer included in the mechatronic system.
  • the observer will make it possible to interpret at least one measurement of the mechatronic system which is not necessarily interpretable directly by the corrector.
  • the observer will make it possible to determine the state initiating the prediction of the system in the optimization process.
  • a variant implementation of the method 100 comprises several additional steps, for at least one sampling period of the sequence of sampling periods different from the first period of the sequence.
  • all sampling periods, except the first sampling period, of the sequence of sampling periods contain steps 20, 30, 40, 50, 70, 80 and 90 or contain at least minus steps 20, 30, 40 and 50, 81 and 90.
  • an alternation between one or more sampling periods containing steps 20, 30, 40 and 50 and one or more sampling periods containing steps 20, 30, 40, 50, 70, 80 and 90 can be predetermined automatically . The alternation can also be triggered automatically or by user-computer interaction.
  • Another example implementation could consist of alternating between one or more sampling periods containing steps 20, 30, 40 and 50, 81 and 90 and one or more sampling periods containing steps 20, 30, 40, 50 , 70, 80 and 90.
  • Figure 4 shows a schematic representation of this implementation variant.
  • a first replacement step 70 is added before determining 30 the coefficients of the polynomial.
  • This replacement step 70 consists of replacing the barrier functions of step 10 with new barrier functions, the new barrier functions being a reformulation of new constraints. These new constraints replace the constraints initially provided.
  • constraints different from those initially defined are integrated into the cost function during the use phase of the mechatronic system. The integration into the cost function in step 70 can be carried out in the same way as during reformulation 10.
  • a second step 80 is added after obtaining the trajectory instruction and at least one measurement of the mechatronic system and before determining 30 the coefficients of the polynomial.
  • Step 80 can include 3 steps 81, 82 and 83. This step 80 can be carried out before or after step 70.
  • Figure 5 shows a schematic representation of the different steps of step 80.
  • Step 81 consists of saving at least one measurement of the mechatronic system for the current sampling period in a first variable.
  • Step 82 consists of determining a value of the parameters of the prediction model.
  • each parameter of the prediction model is defined by assigning a value to it. This determination requires as input at least part of the at least one measurement of the mechatronic system obtained during previous sampling periods saved in the first variable and at least part of the first commands applied to the mechatronic system during previous sampling periods saved in a second variable.
  • the at least one measurement of the mechatronic system obtained during previous sampling periods are saved in step 90. In order to use this data as input, the correspondence between each measurement of the mechatronic system and an applied command must be known.
  • a "command - measurement" pair with the measurement which corresponds to the at least one measurement of the mechatronic system carried out after the command of the pair has been applied to the mechatronic system can for example be constructed and used by the identification algorithm.
  • the determination 82 can be carried out in a similar manner to the initialization 60, in particular the same identification algorithm can be used.
  • step 82 In a first example of implementation of step 82, all the measurements saved in step 81 and all the commands saved in step 90 are used as input data. In a second example of implementation of step 82, only the measurements saved in step 81 for the last sampling periods and the commands saved in step 90 for the last sampling periods are used as data. 'entrance. For example, only the measurements saved in step 81 and the commands saved in step 90 of the last 10,000 sampling periods are used for determination 82.
  • Step 83 consists of replacing a current value of the parameters of the prediction model with the determined value of the parameters of the prediction model in step 82.
  • a new value, which was determined at step 82, for each parameter of the prediction model is assigned to the different parameters of the prediction model.
  • the current values of the different parameters of the prediction model are replaced.
  • Step 90 is added after calculation 40 of the sequence of commands.
  • Step 90 consists of saving the first command of the sequence of commands calculated for the current sampling period in a second variable.
  • This implementation variant comprising steps 70, 80 and 90 makes it possible to obtain a self-adaptive control method.
  • this variant implementation has the capacity to adapt both to variations in the environment and to variations in constraints linked to variations in high-level requirements and/or specifications during the use phase of the mechatronic system. Indeed, the calculation time remains sufficiently low even when a sampling period includes steps 20, 30, 40, 50, 70, 80 and 90.

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Feedback Control In General (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

Un aspect de l'invention concerne un procédé 100 de commande d'un système mécatronique, basé sur un modèle de prédiction du comportement du système mécatronique et une fonction de coût assurant le respect de contraintes par le système mécatronique pour le suivi d'une consigne de trajectoire durant un horizon de prédiction, le procédé comprenant : reformuler 10 les contraintes en des fonctions barrières et intégrer les fonctions barrières dans la fonction de coût; et pour chaque période d 'échantillonnage d'une séquence de périodes d'échantillonnage: obtenir 20 la consigne de trajectoire et au moins une mesure du système mécatronique à un état courant; déterminer 30 des coefficients d'un polynôme d'ordre m par une méthode de Nelder-Mead optimisant la fonction de coût en se basant sur le modèle de prédiction, la détermination prenant en entrée la consigne de trajectoire et la au moins une mesure du système mécatronique obtenues 20; calculer 40 une commande en évaluant le polynôme; et appliquer 50 la commande au système mécatronique.

Description

DESCRIPTION
TITRE : Procédé de commande d’un système mécatronique
DOMAINE TECHNIQUE DE L’INVENTION
[0001] Le domaine technique de l’invention est celui de l’automatique et en particulier des systèmes mécatroniques.
[0002] La présente invention concerne un procédé de commande d’un système mécatronique et en particulier un procédé de commande d’un système mécatronique basé sur un modèle de prédiction du comportement du système mécatronique.
ARRIERE-PLAN TECHNOLOGIQUE DE L’INVENTION
[0003] Le domaine de la mécatronique combine la mécanique, l'électronique, l'automatique et l'informatique en temps réel. L'intérêt de ce domaine d'ingénierie interdisciplinaire est de concevoir des systèmes automatiques et de permettre le contrôle automatique de systèmes complexes.
[0004] Un système mécatronique comprend au moins deux sous-systèmes : une partie opérative et une partie commande. Par exemple, un système mécatronique comprend un moteur électrique portant une charge mécanique, qui correspond à la partie opérative du système, dont la position et/ou la vitesse est mesurée avec un capteur de position et/ou de vitesse. Dans cet exemple, la partie opérative sera le moteur électrique, la charge mécanique ainsi que les capteurs. Afin d’actionner le moteur, on applique une tension de commande, s’exprimant par exemple en volts, au moteur. L’actionnement du moteur entraîne un changement de position de la charge mécanique. La partie commande peut par exemple comprendre un correcteur, qui à partir d’une mesure, va déterminer la ou les commandes envoyées à la partie opérative. Le correcteur dit adaptatif, va également adapter des paramètres du correcteur pour avoir un fonctionnement qui dépend des conditions environnementales dans le but de suivre une consigne. De plus, ce correcteur va rejeter les perturbations externes déterminées à partir d’une ou plusieurs mesures afin de permettre au système mécatronique de suivre une consigne en générant une ou des commandes envoyées à la partie opérative. Par souci de simplicité, le terme « système mécatronique » pourra être utilisé pour désigner la partie opérative du système mécatronique lorsque la commande est appliquée à la partie opérative. [0005] Un exemple de système mécatronique est le viseur gyrostabilisé. Un viseur gyrostabilisé est un système optronique qui permet d’observer à de très grandes distances dans une direction précise. Le viseur gyrostabilisé peut par exemple être monté sur un véhicule. Le but du viseur étant, dans ce cas, de garder l’orientation d’une charge mécanique (par exemple, un dispositif optronique tel qu’une caméra) portée par des moteurs, fixe malgré les mouvements du véhicule. Plusieurs architectures de viseurs sont possibles [Masten M., 2008, Inertially stabilized platforms for optical imaging systems: Tracking dynamic targets with mobile sensors. Control Systems, IEEE. 28. 47 - 64. 10.1109/MCS.2007.910201], qui est intégré par référence dans la demande. Une des architectures de viseurs les plus courantes consiste à employer des capteurs inertiels, de type gyromètre, portés par la charge mécanique afin d’asservir la vitesse absolue de la charge mécanique ; Ainsi, la charge devient inertielle à l’exception des imperfections et perturbations liées aux conditions environnementales.
[0006] Les viseurs, et en particulier les viseurs à un seul étage de stabilisation, sont une application typique du contrôle adaptatif notamment en raison de :
- la variété de l’environnement d’emploi qui sont le siège de perturbations pouvant déstabiliser cette inertie visée,
- l’usure du système,
- la dispersion sur les lignes de montage,
- le coût du développement des asservissements de ces viseurs qui est conséquent en cas de changement de définition mécanique et de spécification haut niveau.
[0007] Un mini-manche actif, un système d’actionnement de volet, un système d’actionnement de plan horizontal, un actionneur rotatif spoiler, un actionneur de reverse comme le modèle eTRAS (pour « Electrical Thrust Reverser Actuation System >>) fabriqué par le groupe Safran, un autofocus de caméra et un viseur inertiel sont d’autres exemples de systèmes mécatroniques.
[0008] Afin de contrôler le système mécatronique, une consigne de trajectoire est fournie au système. Une consigne de trajectoire est une suite d’états que le système mécatronique doit suivre. Une consigne de trajectoire peut se définir par exemple par une position et/ou une vitesse cible que la charge mécanique du système mécatronique doit suivre. Dans le cas du viseur gyrostabilisé, une consigne de trajectoire est le profil de vitesse de précession que le viseur doit suivre.
[0009] Le suivi de cette consigne de trajectoire par le système mécatronique nécessite la mise en place d’une boucle d’asservissement. Le principe général d’une boucle d’asservissement est de comparer la consigne de trajectoire et l'état du système de manière à le corriger efficacement. Ainsi, à partir de l’écart entre la consigne de trajectoire et l’état courant du système, un correcteur calcule la prochaine commande à appliquer au moteur afin que le système mécatronique suive la consigne de trajectoire. Pour un viseur gyrostabilisé, un exemple de commande est la tension, en volts, appliquée aux bornes du moteur.
[0010] La manière dont le système mécatronique doit suivre cette consigne peut être contrainte. Cette contrainte est par exemple définie par des exigences de haut niveau et/ou plus généralement des spécifications du produit. Une exigence de haut niveau est une contrainte, formulée par l’utilisateur, sur le comportement du système mécatronique lors de la phase d’utilisation. Une exigence de haut niveau peut découler directement des spécifications du produit. Une exigence de haut niveau peut correspondre à la stabilité requise du système mécatronique ou encore à la consommation électrique du système mécatronique pendant le suivi de la consigne de trajectoire. Dans le cas d’un viseur gyrostabilisé, des exemples d’exigences de haut niveau peuvent consister en :
- borner l’écart-type de l’erreur de position obtenue en intégrant l’erreur de suivi de vitesse absolue,
- borner la valeur crête de l’erreur de position obtenue en intégrant l’erreur de suivi de vitesse absolue,
- borner l’écart-type de la tension du moteur, et
- borner la valeur crête de la tension du moteur.
[0011] Une exigence de haut niveau peut viser différents objectifs. Par exemple, pour le viseur gyrostabilisé, l’exigence de haut niveau « borner l’écart-type de l’erreur de position obtenue en intégrant l’erreur de suivi de vitesse » permet d’assurer que le viseur est suffisamment précis pour que la cible vue par le dispositif optique ou optronique soit nette, alors que « borner la valeur crête de la tension du moteur » permet d’assurer l’intégrité du moteur. [0012] L’état courant du système peut être évalué à partir d’au moins une mesure. Par exemple, l’état courant d’un système mécatronique peut être évalué à partir de mesures comprenant une mesure de sa position et/ou de sa vitesse absolues. Concernant un viseur gyrostabilisé, une mesure utilisée peut être, parmi d’autres mesures telles que le courant moteur, la vitesse absolue du viseur, mesurée par un gyromètre.
[0013] Afin d’évaluer l’état courant d’un système, il est connu d’utiliser un observateur. Le rôle d'un observateur est par exemple de permettre de reconstituer ou d'estimer en temps réel l'état courant d'un système à partir des mesures disponibles. Ainsi, il est possible que les mesures obtenues ne puissent pas être traitées directement par la partie commande du système mécatronique et qu’il faille ajouter un observateur pour estimer l’état du système. Il faut noter qu’un observateur permet aussi d'estimer les états non mesurés d'un système, et également de remplacer des capteurs coûteux ou difficiles à maintenir. A l’aide d’un observateur, l’état courant du système peut être évalué à partir des seules mesures de position et/ou de vitesse.
[0014] Afin d’asservir un système mécatronique, et en particulier un viseur gyrostabilisé, en respectant les exigences de haut niveau, la fréquence d’échantillonnage des boucles d’asservissement et la bande passante du système mécatronique doivent être suffisamment élevées. Par exemple, la fréquence d’échantillonnage minimale nécessaire peut être au moins égale à 50 hertz (Hz), à 500 hertz (Hz) ou à n’importe quelle fréquence comprise entre 50 et 500 hertz (Hz). Le temps de calcul du correcteur est souvent critique pour obtenir une fréquence d’échantillonnage suffisamment élevée. Il est aussi connu dans le domaine des systèmes mécatroniques que la fréquence d’échantillonnage des boucles d’asservissement doit être au moins 10 fois supérieure à la bande passante du système mécatronique et préférentiellement au moins 20 fois supérieure à la bande passante du système mécatronique.
[0015] Pour atteindre une fréquence d’échantillonnage suffisamment élevée, l’asservissement d’un système mécatronique est habituellement réalisé via un correcteur numérique statique. Un correcteur numérique statique est un correcteur dont les paramètres sont définis avant son utilisation et qui n’évoluent pas durant son utilisation. Ainsi, il est commun que les paramètres de ces correcteurs soient définis durant la conception puis ne soient plus modifiés lors de sa phase d’utilisation. [0016] Des techniques ont déjà été mises en œuvre pour optimiser les paramètres des correcteurs, se basant notamment sur une modélisation du système mécatronique. Ces techniques de paramétrage sont utilisées lors des phases de développement et de mise au point du système mécatronique, mais ne sont pas intégrées dans les boucles d’asservissement et utilisées durant la phase d’utilisation. Les correcteurs ainsi développés sont définis pour couvrir une plage de méconnaissance du système à asservir et de son évolution dans le temps et ce, pour des exigences figées avant la phase d’utilisation, voire même avant la phase de développement du système mécanique.
[0017] De plus, un système mécatronique doit garantir une stabilité suffisante. Pour une définition simple, un système est stable si en réponse à une entrée bornée, la sortie du système est bornée. Afin de garantir la stabilité du système asservi, les correcteurs sont conçus de manière à conférer à la boucle d’asservissement résultante des marges de stabilité importantes, limitant ainsi les performances du système mécatronique.
[0018] Afin d’avoir un asservissement fonctionnel sur toute la vie du système, il est nécessaire de développer un asservissement robuste, vis-à-vis de ses potentielles évolutions, supposées bornées. Cette robustesse s’obtient au détriment des performances du système. Les correcteurs communément utilisés sont ainsi développés spécifiquement pour un produit et sont sous-optimaux afin d’accroître la robustesse de l’asservissement. En d’autres termes, en implémentant des correcteurs sous-optimaux il est possible d’obtenir des correcteurs robustes qui pourront être utilisés malgré l’apparition de différents cas de figure durant leur utilisation tels que la dispersion des composants du système, les variations de l’environnement extérieur, le vieillissement du système à asservir, etc... C’est le principe de l’augmentation de la robustesse du correcteur en diminuant les performances du système.
[0019] Pour mieux tenir compte des variations de l’environnement, telles que les variations de température, de pression, de vibration, etc..., il est possible d’utiliser des capteurs supplémentaires et/ou des observateurs. Ces capteurs supplémentaires ou ces observateurs permettront de fournir des données additionnelles afin d’alimenter des techniques robustes adaptatives. Ainsi, ces méthodes permettent d’obtenir des correcteurs robustes s’adaptant aux variations de l’environnement. Toutefois, avec les correcteurs actuels, lorsqu’un système à asservir est changé de plateforme sur laquelle il repose ou lorsque les exigences de haut niveau sont modifiées, le correcteur doit à nouveau être réglé afin de l’adapter au nouvel environnement et/ou aux nouvelles exigences de haut niveau. Ainsi, le passage de l’utilisation d’un viseur gyrostabilisé sur un avion à l’utilisation sur un hélicoptère n’est pas immédiat car les spectres vibratoires sont différents, c’est-à-dire que du point de vue du système mécatronique comprenant le viseur, ses perturbations, en l’occurrence les vibrations, sont différentes et le système mécatronique nécessite une nouvelle phase d’initialisation. Une phase d’initialisation est une phase durant laquelle les paramètres du correcteur sont initialisées afin que son comportement soit adapté durant la phase d’utilisation suivante.
[0020] Un exemple connu de technique robuste adaptative est le formalisme linéaire à paramètres variant, appelé en anglais « Linear Parameter Varying » (LPV). Un premier inconvénient concernant le formalisme LPV est la difficulté à prouver la stabilité de cette technique en présence d’observateurs. De plus, le formalisme LPV ne s’adapte pas aux variations des exigences de haut niveau : quand ces dernières changent, il faut alors relancer un processus de conception et de réglage du correcteur, ainsi que toute une phase de validation et de qualification, ce qui est très chronophage et coûteux. En d’autres termes, le formalisme LPV ne permet pas d’obtenir un correcteur, dit auto-adaptatif, ayant la capacité de s’adapter à la fois aux variations de l’environnement et aux variations des contraintes liées aux exigences de haut-niveau et/ou des spécifications durant la phase d’utilisation du système mécatronique. Concernant les viseurs gyrostabilisés, il n’est pas possible avec les procédés de commande actuels d’effectuer un contrôle auto-adaptatif.
[0021] En outre, les systèmes mécatroniques fabriqués et/ou assemblés peuvent présenter des non-conformités au niveau de ses performances, notamment dues à des problèmes de tolérancement de pièces. Cela peut nécessiter soit des reprises onéreuses voire même des rebus. Les correcteurs habituels ne permettent pas, ou très peu, de compenser des défauts de fabrication occasionnant des non-conformités aux exigences de performances.
[0022] Une méthode de commande connue pour l’asservissement d’un système mécatronique est la commande prédictive décrite dans le document [Rawlings, J. B., Mayne, D.Q., et Diehl, M. (2017). Model Predictive Control: Theory, Computation, and Design. Nob Hill Publishing. Reble, M. and Allg], qui est intégré par référence dans la présente demande. Une commande prédictive est un processus qui, pour chaque période d’échantillonnage, détermine une séquence de commandes futures permettant d’obtenir un comportement futur prédit optimal, vis-à-vis d’un cahier des charges, du système mécatronique. Ainsi, une commande prédictive vise à résoudre en ligne un problème d’optimisation sous contrainte, potentiellement non-linéaire, permettant de définir la meilleure commande à appliquer pour réaliser le contrôle du système. Le comportement est prédit grâce à un modèle de prédiction du système mécatronique. Le comportement considéré comme optimal est évalué grâce à la minimisation d’une fonction de coût par un algorithme d’optimisation. La fonction de coût permet de déterminer ce qui est considéré comme étant optimal pour le comportement du système : suivre la consigne de trajectoire en suivant une trajectoire de référence tout en satisfaisant au mieux les contraintes traduisant les exigences de haut-niveau. Grâce à la minimisation de la fonction de coût, l’algorithme d’optimisation utilisé dans la commande prédictive permet donc de déterminer la séquence de commande future optimale au vu du respect des contraintes.
[0023] Un horizon de prédiction est une durée dans le futur pour lequel la consigne de trajectoire à suivre est connue. Il peut par exemple être un multiple de la période d’échantillonnage. Dans la pratique, l’horizon de prédiction est en général au moins 20 fois supérieur à la durée de la période d’échantillonnage. Pour un horizon de prédiction de n périodes d’échantillonnage, la séquence de commandes à déterminer est constituée de n commandes, une par période d’échantillonnage. La figure 6 est un graphique montrant un exemple de valeurs de commandes (C) en fonction du temps (T). L’instant présent est représenté par la ligne hachurée 600 et l’horizon de prédiction est la durée entre la ligne hachurée 600 et la ligne hachurée 690. Les commandes 610 ont déjà été appliquées au système. Les commandes 620, 630, 640, 650, 660 et 670 sont les commandes prédites à l’instant présent afin que le système mécatronique suive la consigne de trajectoire pour l’horizon de prédiction. Ainsi sur la figure 6, l’horizon de prédiction est constitué de 6 périodes d’échantillonnage.
[0024] Pour chaque période d’échantillonnage, le principe de l’horizon glissant est appliqué : seule la première commande de la séquence de commandes déterminée est appliquée au système mécatronique. Ce principe de l’horizon glissant permet d’assurer que la commande est finalement optimale à l’instant courant. [0025] Il faut noter que la commande prédictive telle que présentée dans Rawlings et al., 2017, ne peut répondre au problème de variations des contraintes liées aux exigences de haut-niveau et/ou des spécifications durant la phase d’utilisation du système mécatronique. En effet, la commande prédictive telle que présentée dans Rawlings et al., 2017 ne prend pas en compte tout type de exigences de haut-niveau et/ou spécifications complexes et potentiellement non dérivables. Ainsi, afin d’ajouter de nouvelles fonctionnalités intégrant un viseur au sein d’un système plus complexe et intelligent, il n’est pas possible de recalibrer le viseur durant sa phase d’utilisation en cas de changement de spécifications.
[0026] D’autres techniques issues de l’intelligence artificielle, comme par exemple des techniques d’apprentissage par renforcement, existent pour commander un système mécatronique. Toutefois, la prise en compte des exigences de haut niveau est très complexe et la stabilité n’est absolument pas garantie par ces techniques.
[0027] Il existe donc un besoin de fournir un procédé de commande de systèmes mécatronique répondant aux problèmes évoqués précédemment.
RESUME DE L’INVENTION
[0028] L’invention offre une solution aux problèmes évoqués précédemment, en permettant d’asservir, de manière stable et à une fréquence d’échantillonnage élevée, un système mécatronique.
[0029] Un aspect de l’invention concerne un procédé de commande d’un système mécatronique, basé sur un modèle de prédiction du comportement du système mécatronique et une fonction de coût assurant le respect de contraintes par le système mécatronique pour le suivi d’une consigne de trajectoire durant un horizon de prédiction, le procédé comprenant :
- reformuler les contraintes en des fonctions barrières et intégrer les fonctions barrières dans la fonction de coût ; et
- pour chaque période d’échantillonnage d’une séquence de périodes d’échantillonnage: o obtenir la consigne de trajectoire et au moins une mesure du système mécatronique à un état courant ; o déterminer des coefficients d’un polynôme d’ordre m par une méthode de Nelder-Mead optimisant la fonction de coût en se basant sur le modèle de prédiction, la détermination prenant en entrée la consigne de trajectoire et la au moins une mesure du système mécatronique obtenues ; o calculer une commande en évaluant le polynôme; et o appliquer la commande au système mécatronique.
[0030] Grâce à l’invention, le temps de calcul de la commande dépend de l’ordre m du polynôme qui peut être déterminé par un utilisateur en fonction de la fréquence d’échantillonnage nécessaire au bon fonctionnement de l’asservissement. L’utilisation de la méthode de Nelder-Mead [Nelder et Mead, 1965 : “a simplex method for function minimization”, Computer Journal, vol. 7, no 4, p308-313] pour déterminer les coefficients du polynôme permet d’obtenir une fréquence d’échantillonnage suffisamment élevée, de par la réduction du temps de calcul que la méthode de Nelder- Mead permet, pour l’asservissement d’un système mécatronique pour un ordre m inférieur ou égal à 3 avec un processeur Intel® Core™ i7. Ainsi, l’implémentation de ce procédé de commande dans un système embarqué est facilitée. De plus, l’utilisation de la méthode de Nelder-Mead permet d’obtenir un procédé de commande stable. Enfin, la fonction de coût intégrant des fonctions barrières telle que décrite dans la présente demande permet le respect des contraintes par le système mécatronique lors du suivi d’une consigne de trajectoire. Dit autrement, l’emploi d’une méthode de Nelder-Mead, possiblement sous contraintes, est une caractéristique essentielle de l’invention afin notamment d’obtenir une fréquence d’échantillonnage suffisamment élevée.
[0031] Outre les caractéristiques qui viennent d’être évoquées dans le paragraphe précédent, le procédé de commande selon un aspect de l’invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon toutes les combinaisons techniquement possibles :
- le procédé de commande comprend en outre une étape préalable d’initialisation du modèle de prédiction comprenant une détermination des valeurs d’un ensemble de paramètres du modèle de prédiction à l’aide d’un algorithme d’identification prenant en entrée une séquence de commandes en échelon d’amplitude et de durée aléatoires et un ensemble de mesures du système mécatronique, chaque mesure de l’ensemble de mesures du système mécatronique étant effectuée après l’application de chaque commande de la séquence de commandes au système mécatronique,
- la méthode de Nelder-Mead optimisant la fonction de coût est basée sur un polytope de m + 1 sommets, avec m l’ordre du polynôme, dont les m + 1 sommets sont contraints dans un intervalle prédéterminé de valeurs [xmin, xmax] pour toute évolution du polytope durant l’optimisation,
- l’ordre m du polynôme est compris entre 2 et 20, préférentiellement 3,
Lorsque l’ordre m du polynôme est compris entre 2 et 20, le couplage entre la méthode de Nelder-Mead avec le polynôme pour interpolation de la séquence de commande permet d’améliorer les performances du procédé selon l’invention, en particulier en réduisant les temps de calcul.
- l’obtention de la consigne de trajectoire et d’au moins une mesure du système mécatronique à un état courant comprend en outre une estimation en temps réel d’un état courant du système mécatronique à partir de la au moins une mesure du système mécatronique obtenue, l’estimation étant effectuée par un observateur compris dans le système mécatronique,
- le procédé de commande comprend en outre, pour au moins une période d’échantillonnage de la séquence de périodes d’échantillonnage différente d’une première période d’échantillonnage de la séquence de périodes d’échantillonnage, les étapes de : o avant la détermination des coefficients du polynôme, le remplacement des fonctions barrières par des nouvelles fonctions barrières, les nouvelles fonctions barrières étant une reformulation de nouvelles contraintes ; o après l’obtention de la consigne de trajectoire et de la au moins une mesure du système mécatronique et avant la détermination des coefficients du polynôme, une étape comprenant :
• sauvegarder la au moins une mesure du système mécatronique obtenue dans une première variable ; déterminer une valeur des paramètres du modèle de prédiction en se basant sur un algorithme d’identification prenant en entrée : au moins une partie de la au moins une mesure du système mécatronique obtenue lors de précédentes périodes d’échantillonnage sauvegardées dans la première variable ; et au moins une partie des premières commandes appliquées au système mécatronique lors de précédentes périodes d’échantillonnage sauvegardées dans une seconde variable ; et
• remplacer une valeur courante des paramètres du modèle de prédiction par la valeur déterminée ; et o après le calcul de la commande :
• sauvegarder la commande calculée dans une seconde variable.
[0032] Un autre aspect de l’invention concerne un système mécatronique comprenant :
- un processeur implémentant le procédé de commande selon l’invention ; et
- un système adapté pour obtenir au moins une mesure du système mécatronique.
[0033] Un autre aspect de l’invention concerne un viseur gyrostabilisé comprenant
- un processeur implémentant le procédé de commande selon l’invention ; et
- un système adapté pour obtenir au moins une mesure du viseur gyrostabilisé. [0034] Outre les caractéristiques qui viennent d’être évoquées dans les deux derniers paragraphes, le système mécatronique et/ou le viseur gyrostabilisé peuvent aussi comprendre une mémoire permettant la sauvegarde de données, cette mémoire étant couplée au processeur. Cette mémoire est par exemple adaptée pour stocker la première et la seconde variable des étapes de sauvegarde de la au moins une mesure du système mécatronique obtenue dans une première variable et la commande calculée dans une seconde variable.
[0035] Un autre aspect de l’invention concerne un produit programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’invention.
[0036] Un autre aspect de l’invention concerne un support d'enregistrement lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’invention.
[0037] L’invention et ses différentes applications seront mieux comprises à la lecture de la description qui suit et à l’examen des figures qui l’accompagnent.
BREVE DESCRIPTION DES FIGURES
[0038] Les figures sont présentées à titre indicatif et nullement limitatif de l’invention.
- La figure 1 montre une représentation schématique du procédé de commande d’un système mécatronique selon l’invention.
- Les figures 2 à 5 montrent une représentation schématique de variantes de l’invention.
- La figure 6 est un graphique montrant un exemple de valeurs de commandes (C) en fonction du temps (T).
- La figure 7 est un graphique montrant un exemple de valeurs de commandes (C), calculées par l’évaluation d’un polynôme, en fonction du temps (T).
DESCRIPTION DETAILLEE
[0039] Sauf précision contraire, un même élément apparaissant sur des figures différentes présente une référence unique.
[0040] La figure 1 montre une représentation schématique du procédé 100 de commande d’un système mécatronique selon l’invention.
[0041] Le procédé 100 de commande peut être mis en œuvre par ordinateur ou par un processeur. Par « mis en œuvre par ordinateur », on entend que les étapes, ou pratiquement toutes les étapes, sont exécutées par au moins un ordinateur ou processeur ou tout autre système similaire. Ainsi, des étapes sont réalisées par le calculateur, éventuellement de manière entièrement automatique, ou, semi- automatique. Dans des exemples, le déclenchement d'au moins certaines des étapes du procédé peut être effectué par interaction utilisateur-ordinateur. Le niveau d'interaction utilisateur-ordinateur requis peut dépendre du niveau d'automatisme prévu et mis en balance avec la nécessité de mettre en œuvre les souhaits de l'utilisateur. Dans des exemples, ce niveau peut être défini par l'utilisateur et/ou prédéfini.
[0042] Un exemple typique de mise en œuvre par ordinateur d'un procédé consiste à exécuter le procédé avec un système adapté à cet effet. Le système peut comprendre un processeur couplé à une mémoire et une interface utilisateur graphique (GUI), la mémoire ayant enregistré dessus un programme informatique comprenant des instructions pour mettre en œuvre le procédé. La mémoire peut également stocker une base de données. La mémoire est tout matériel adapté pour un tel stockage, comprenant éventuellement plusieurs parties physiques distinctes.
[0043] Le procédé 100 de commande est basé sur un modèle de prédiction du comportement du système mécatronique. Le modèle de prédiction est un modèle mathématique du système mécatronique à contrôler. Plusieurs modèles de prédiction existent, tels que ceux basés sur des réseaux de neurones ou les modèles linéaires. L’invention peut être utilisée avec ces modèles de prédiction existants. Le modèle de prédiction du comportement du système mécatronique permet la simulation du comportement réel du système mécatronique. Ainsi, le modèle de prédiction permet, à partir d’une ou plusieurs valeurs d’entrée, d’obtenir une prédiction d’une sortie correspondant à l’état dans lequel le système mécatronique se trouverait si les valeurs d’entrée lui étaient réellement appliquées. Par exemple, dans le cas d’un viseur gyrostabilisé, les types d’entrée et de sortie du modèle de prédiction sont identiques à celles du viseur :
- l’entrée est la tension appliquée aux bornes du moteur,
- la sortie utilisée est la vitesse absolue du viseur mesurée par un gyromètre.
[0044] Concernant la sortie utilisée pour un viseur gyrostabilisé, il est aussi possible de mesurer la position angulaire absolue du viseur gyrostabilisé
[0045] Le procédé 100 de commande est aussi basé sur une fonction de coût assurant le respect de contraintes par le système mécatronique pour le suivi d’une consigne de trajectoire durant un horizon de prédiction. La fonction de coût utilisée dans la présente invention permet d’assurer le respect de contraintes par le système mécatronique pour le suivi d’une consigne de trajectoire car elle intègre des fonctions barrières telles que décrites dans [Wills, A. G. and Heath, W.P. (2004). Barrier function based model predictive control. Automatica, 40(8), 1415-1422], qui est intégré par référence dans la demande.
[0046] Le terme « contraintes » traduit ici les exigences de haut niveau qui découlent des spécifications du système et/ou directement aux spécifications du système.
[0047] Le suivi de la consigne de trajectoire correspond ici à une réduction de la différence entre les n états prédits du système mécatronique et la séquence des n prochaines consignes de trajectoire. On minimise alors la différence entre ces deux éléments sur l’ensemble de l’horizon de prédiction.
[0048] La fonction de coût traduit les contraintes que le système mécatronique doit respecter. La fonction de coût traduit aussi une optimisation du suivi. Ainsi, la fonction de coût permet de déterminer ce qui est considéré comme étant optimal pour le comportement du système : suivre la consigne de trajectoire en s’approchant au mieux une trajectoire de référence tout en garantissant le respect des contraintes.
[0049] Le procédé 100 comprend la reformulation 10 des contraintes en des fonctions barrières et l’intégration des fonctions barrières dans la fonction de coût. Ainsi, les contraintes, fournies par l’utilisateur, sont reformulées en fonctions barrières afin d’être prises en compte dans la fonction de coût. Dans un exemple, chaque contrainte est reformulée en une fonction barrière. Wills and Heath, 2004 présente un procédé de contrôle incluant des fonctions barrières pondérées dans la fonction de coût. Les fonctions barrières, telle que présentées dans Wills and Heath, 2004, garantissent que les contraintes sont strictement satisfaites. La méthode de reformulation présentée dans Wills and Heath, 2004 est compatible avec l’invention.
[0050] Les étapes 20, 30, 40 et 50 du procédé 100 sont effectuées pour chaque période d’échantillonnage d’une séquence de périodes d’échantillonnage. La séquence de périodes d’échantillonnage correspond à la phase d’utilisation du système mécatronique ou au moins à une partie de cette phase d’utilisation. Chaque période d’échantillonnage doit donc être réduite, par exemple inférieure à 0.01 seconde ou à 0.001 seconde ou encore à 0.0002 seconde.
[0051] Le procédé 100 comprend l’obtention 20 de la consigne de trajectoire et au moins une mesure du système mécatronique pour la période d’échantillonnage courante. La consigne de trajectoire peut être fournie par l’utilisateur ou déterminée semi-automatiquement voire automatiquement. Elle peut être constante ou différente pour plusieurs périodes d’échantillonnages consécutives voire pour toute la séquence de périodes d’échantillonnage. Dans le cas d’un viseur gyrostabilisé, la consigne de trajectoire est la vitesse de précession imposée au viseur, c’est-à-dire le profil de vitesse que le viseur doit suivre.
[0052] La au moins une mesure du système mécatronique peut être obtenue à l’aide d’un ou plusieurs capteurs. Par exemple, la mesure utilisée pour un viseur gyrostabilisé est la vitesse absolue du viseur mesurée par un gyromètre. La au moins une mesure du système mécatronique employée par le correcteur peut aussi être calculée, c’est-à-dire reconstituée ou estimée, à l’aide d’un observateur.
[0053] Le procédé 100 comprend la détermination 30 des coefficients d’un polynôme d’ordre m par une méthode de Nelder-Mead optimisant la fonction de coût en se basant sur le modèle de prédiction, la détermination prenant en entrée la consigne de trajectoire et la au moins une mesure du système mécatronique pour la période d’échantillonnage courante.
[0054] Durant cette étape 30, les m coefficients du polynôme sont déterminés. La détermination est effectuée en optimisant la fonction de coût décrite précédemment. L’optimisation est effectuée par la méthode de Nelder-Mead, décrit dans le document Nelder et Mead (1965)], qui est intégré par référence dans la demande. La méthode de Nelder-Mead permet d’optimiser des fonctions de coût complexes. Le principe de la méthode de Nelder-Mead est le suivant : dans le but de minimiser une fonction (x), avec x contraint dans l’intervalle [xmin, xmax], un simplexe est un polytope de s + 1 sommets dans un espace à s dimensions, s est donc la dimension du problème d’optimisation c’est-à-dire la taille du vecteur x. Partant initialement d’un tel simplexe, celui-ci subit des transformations simples au cours des itérations en fonction de ce qu’il découvre de la fonction (x). Le simplexe se déforme, par exemple en subissant des expansions et/ou des contractions et/ou des réflexions, il se déplace et se réduit progressivement jusqu’à ce que ses sommets se rapprochent d’un point où la fonction (x) est localement minimale.
[0055] En d’autres termes, à chaque itération, l’algorithme d’optimisation détermine les paramètres du polynôme qui permettent d’obtenir le comportement prédit du système le plus proche possible de la trajectoire de référence. Ainsi, l’algorithme d’optimisation contient trois étapes. La première étape consiste à déterminer les coefficients du polynôme, ces coefficients sont les paramètres de recherche de l’algorithme d’optimisation et évoluent à chaque itération. La seconde étape consiste à évaluer les commandes à partir du polynôme. Le nombre de commandes pouvant correspondre au nombre de périodes d’échantillonnages comprises dans l’horizon de prédiction. La troisième étape de l’algorithme d’optimisation consiste à appliquer ces commandes au modèle de prédiction. La quatrième étape consiste à évaluer la fonction de coût, c’est-à-dire à comparer la trajectoire prédite avec la trajectoire de référence et à prendre en compte les contraintes sous la forme de fonction barrières.
[0056] La détermination 30 des m coefficients du polynôme prend en entrée la consigne de trajectoire, le modèle de prédiction et la au moins une mesure du système mécatronique pour la période d’échantillonnage courante. Il est ainsi possible d’évaluer la différence entre la prédiction de l’état du système et la consigne de trajectoire.
[0057] La détermination 30 des m coefficients du polynôme permet d’obtenir un polynôme dont l’évaluation assure l’obtention de la séquence de n commandes à appliquer au système mécatronique pour que le système atteigne la consigne de trajectoire pour l’horizon de prédiction. La séquence de commandes est constituée d’autant de commandes que l’horizon de prédiction comprend des périodes d’échantillonnage. Par exemple, si l’horizon de prédiction est constitué de n périodes d’échantillonage, alors la séquence de commandes est constituée de n commandes. L’évaluation du polynôme peut donc permettre d’obtenir la valeur des n commandes pour les n périodes d’échantillonnage.
[0058] Le procédé 100 comprend le calcul 40 d’une séquence de commandes en évaluant le polynôme. Ainsi, en évaluant le polynôme pour l’horizon de prédiction, la valeur de la commande à appliquer à l’instant présent est déterminée. [0059] La figure 7 est un graphique montrant un exemple de valeurs de commandes C en fonction du temps T. L’instant présent est représenté par la ligne hachurée 600. L’horizon de prédiction est la durée entre la ligne hachurée 600 et la ligne hachurée 690. Les commandes 610 ont déjà été appliquées au système. L’évaluation du polynôme 680 permet de déterminer les commandes 620, 630, 640, 650, 660 et 670 prédites à l’instant présent afin que le système mécatronique suive la consigne de trajectoire sur l’ensemble de l’horizon de prédiction.
[0060] Le procédé 100 comprend l’application 50 de la commande au système mécatronique. La commande appliquée 50 est la commande à appliquer à l’instant présent. En d’autres termes, la commande appliquée est la première commande de la séquence de commandes à appliquer afin que le système mécatronique suive la consigne de trajectoire pour l’horizon de prédiction 690. De plus, la commande est optimisée pour minimiser l’énergie nécessaire lors du suivi de la consigne de trajectoire. En référence à la figure 7, la commande appliquée à l’étape 50 est la commande 620.
[0061] Dans le cadre d’un viseur gyrostabilisé, le procédé 100 de commande d’un viseur gyrostabilisé est basé sur un modèle de prédiction du comportement du viseur gyrostabilisé et une fonction de coût assurant le respect de contraintes par le viseur gyrostabilisé pour le suivi d’une consigne de trajectoire pour un horizon de prédiction. Le procédé comprend :
- reformuler 10 les contraintes en des fonctions barrières et intégrer les fonctions barrières dans la fonction de coût ;
- pour chaque période d’échantillonnage d’une séquence de périodes d’échantillonnage : o obtenir 20 la consigne de trajectoire et au moins une mesure du viseur gyrostabilisé à un état courant ; o déterminer 30 des coefficients d’un polynôme d’ordre m par une méthode de Nelder-Mead optimisant la fonction de coût en se basant sur le modèle de prédiction, la détermination prenant en entrée la consigne de trajectoire et la au moins une mesure du viseur gyrostabilisé obtenues 20 ; o calculer 40 une commande en évaluant le polynôme ; et o appliquer 50 la commande au viseur gyrostabilisé.
[0062] L’invention vise donc à déterminer les coefficients d’un polynôme dont l’évaluation permet l’obtention de la séquence de commande à appliquer afin que le système mécatronique suive la consigne de trajectoire durant l’horizon de prédiction. Ainsi cela permet d’obtenir un procédé de commande de système mécatronique dont le temps de calcul dépend du nombre de coefficients de polynôme à déterminer influe sur le temps de calcul nécessaire au procédé. L’utilisateur peut donc, en fonction du temps de calcul qu’il souhaite allouer au procédé de commande, déterminer l’ordre m du polynôme adéquat. Cette détermination de l’ordre m du polynôme pourrait aussi être effectuée semi-automatiquement voire automatiquement. De plus, l’invention permet d’obtenir une séquence de commandes à appliquer qui minimise l’énergie nécessaire lors du suivi de la consigne de trajectoire
[0063] La figure 2 montre une représentation schématique d’une première variante. Dans cette variante, le procédé 100 de commande comprend en outre une étape préalable d’initialisation 60 du modèle de prédiction. L’initialisation 60 comprend une détermination des valeurs d’un ensemble de paramètres du modèle de prédiction à l’aide d’un algorithme d’identification ou d’apprentissage prenant en entrée une séquence de commandes en échelon d’amplitude et de durée aléatoires et un ensemble de mesures du système mécatronique. Chaque mesure de l’ensemble de mesures du système mécatronique est effectuée après l’application de chaque commande de la séquence de commandes au système mécatronique. La correspondance entre chaque mesure effectuée et chaque commande appliquée est connue. Ainsi, il existe pour chaque commande une mesure correspondante, qui peuvent par exemple être regroupées par paire. Ces paires « commande - mesure » peuvent être fournies à l’algorithme d’identification ou d’apprentissage pour la détermination des valeurs. Dans la présente demande, il est considéré que les termes d’« apprentissage » et d’ « identification » désignent tout procédé visant à obtenir un modèle de prédiction qui "se comporte comme" le système mécatronique.
[0064] L’initialisation 60 peut être effectuée en différentes étapes. La figure 3 montre une représentation schématique des différentes étapes de l’initialisation 60. L’initialisation 60 du modèle de prédiction s’effectue au moins en partie durant une phase d’initialisation du système mécatronique, différente de la phase d’utilisation du système mécatronique. Les deux premières étapes 61 et 62 peuvent être effectuées avant le démarrage du système mécatronique, c’est-à-dire avant la phase d’initialisation. Les trois étapes suivantes 63, 64 et 65 sont effectuées durant la phase d’initialisation, ce qui nécessite le démarrage du système mécatronique.
[0065] L’étape 61 comprend une définition par l’utilisateur des exigences de haut niveau à partir de la spécification produit et de l’ordre m du polynôme. La définition des exigences de haut niveau et/ou de l’ordre m du polynôme pourrait aussi être effectuée de manière semi-automatique voir automatique.
[0066] L’étape 62 comprend par exemple la définition du type de modèle de prédiction à utiliser. Différents types de modèles de prédiction peuvent être utilisés tels que des réseaux de neurones ou des modèles linéaires. Par exemple, si le modèle choisi est un réseau de neurone, le type de réseau de neurones utilisé et le nombre de neurones sont déterminés à cette étape 62. Si un modèle linéaire est choisi, l’ordre du modèle linéaire est déterminé à cette étape 62. Le choix du type de modèle de prédiction à utiliser peut être déterminé algorithmiquement ou être défini par l’utilisateur.
[0067] L’étape 63 comprend la définition d’une suite de commandes en échelon d’amplitude et de durée aléatoires. Il faut noter que l’amplitude maximale et la durée maximale de chaque commande de la suite de commandes doivent être cohérentes avec l’amplitude maximale admissible par le système et son temps de réponse. En d’autres termes, l’amplitude maximale de chaque commande de la suite de commandes doit être inférieure à un ratio de l’amplitude maximale admissible par le système, le ratio étant compris entre ]0; 1], La durée maximale de chaque commande de la suite de commandes doit être supérieure ou égale à 5 fois la constante de temps du système. Si un modèle linéaire a été choisi à l’étape 62, la suite de commandes en échelon d’amplitude et de durée aléatoires peut consister en un signal binaire pseudo aléatoire. Un signal binaire pseudo aléatoire peut se définir comme étant un signal constitué d’une suite d'éléments, chacun des éléments ayant une valeur binaire présentant un caractère pseudo-aléatoire : la valeur binaire de chacun de ses éléments est indépendante des autres, mais il s'agit d'une suite périodique, ce qui la rend déterministe.
[0068] A l’étape 64, la séquence de commandes déterminée à l’étape 63 est appliquée au système mécatronique et au moins une mesure de l’état du système est effectuée après l’application de chaque commande de cette séquence de commandes. Dans un exemple, la au moins une mesure de l’état du système correspond à la même au moins une mesure qui sera effectuée durant l’étape 20. Par exemple, si la au moins une mesure durant l’étape 20 consiste à mesurer la vitesse absolue du viseur mesurée par un gyromètre, une mesure de la vitesse absolue du viseur mesurée par un gyromètre sera effectuée après l’application de chaque commande de cette séquence de commandes durant cette étape 64.
[0069] Durant l’étape 65, la séquence de commandes déterminée à l’étape 63 et la séquence des au moins une mesure correspondantes sont utilisées comme données d’entrée pour déterminer les paramètres du modèle de prédiction.
[0070] Dans un exemple, l’initialisation du modèle est effectuée sur la base d’un réseau de neurones récurrent qui permet de représenter des systèmes dynamiques. Il est entrainé à l’aide d’un algorithme d’optimisation basé sur un gradient de type Levenberg-Marquardt. Il est aussi possible d’utiliser un réseau de neurones récurrent à fonction d’activation linéaire et dans ce cas, l’initialisation du modèle consiste en une identification d’un modèle linéaire par un algorithme des moindres carrés récursifs.
[0071] Dans une seconde variante, compatible avec la variante précédente, les m + 1 sommets du polytope sur lequel est basé la méthode de Nelder-Mead sont contraints dans un intervalle prédéterminé de valeurs [xmin, xmax] pour toute évolution du polytope durant l’optimisation avec par exemple xmin = -106 et xmax = 106. La méthode de Nelder-Mead tel que décrit dans Nelder et Mead (1965) est non contraint. Dans cette seconde variante, les variables de décisions sont contraintes à rester dans un espace de recherche bien défini afin de favoriser la convergence. La méthode de Nelder-Mead est alors dit contraint. Ainsi, pour toute évolution du polytope décrite dans Nelder et Mead (1965), les sommets de ce dernier sont contraints à rester dans l’intervalle [xmin, xmax] . Dit autrement, si xj est un des sommets alors : xj = min (max xj, xmin) , xmax), pour j = 1, ... , s + 1 pour toute évolution du polytope.
[0072] Avec cette seconde variante, le temps de convergence de la méthode de Nelder-Mead contrainte est réduit. Ainsi le temps de calcul du procédé de commande utilisant la méthode de Nelder-Mead contrainte peut encore être réduit.
[0073] Dans une autre variante d’implémentation, compatible avec les précédentes variantes, l’ordre m du polynôme est compris entre 2 et 5 et préférentiellement égal à 3. L’ordre m du polynôme influence le temps de calcul nécessaire au procédé de commande pour chaque période d’échantillonnage. Ainsi plus l’ordre m du polynôme est grand, plus le temps de calcul augmente.
[0074] L’horizon de prédiction pour un système mécatronique est par exemple au moins égal à 20 périodes d’échantillonnage. Ainsi, pour un procédé de commande classique dans lequel la séquence de commandes à déterminer comprend 20 commandes, l’algorithme d’optimisation recherche l’ensemble des commandes futures à appliquer au système, soit 20 paramètres. Dans la présente invention, pour un horizon de prédiction d’une même durée, avec un polynôme d’ordre 3, seuls 3 paramètres sont recherchés par la méthode de Nelder-Mead ou la méthode de Nelder- Mead contrainte. Ainsi le temps de calcul pour la détermination des paramètres est réduit par rapport au procédé de commande classique.
[0075] Une implémentation sur un processeur Intel® Core™ i7 du procédé de commande pour un viseur gyrostabilisé utilisant une méthode de Nelder-Mead contrainte avec un ordre m de polynôme égal à 3 est compatible avec une fréquence d’échantillonnage au moins égale à 400 Hertz.
[0076] Dans une variante, compatible avec les variantes précédentes, l’obtention 20 du procédé 100 de commande comprend en outre une estimation en temps réel d’un état courant du système mécatronique à partir de la au moins une mesure du système mécatronique pour la période d’échantillonnage courante effectuée par un observateur compris dans le système mécatronique. Par exemple, l’observateur va permettre d’interpréter la au moins une mesure du système mécatronique qui n’est pas forcément interprétable directement par le correcteur. Ainsi, l’observateur va permettre de déterminer l’état initiant la prédiction du système dans le processus d’optimisation.
[0077] Une variante d’implémentation du procédé 100, compatible avec les variantes précédentes, comprend plusieurs étapes additionnelles, pour au moins une période d’échantillonnage de la séquence de périodes d’échantillonnage différente de la première période de la séquence. Dans un premier exemple d’implémentation, toutes les périodes d’échantillonnage, sauf la première période d’échantillonnage, de la séquence de périodes d’échantillonnage contiennent les étapes 20, 30, 40, 50, 70, 80 et 90 ou contiennent au moins les étapes 20, 30, 40 et 50, 81 et 90. Dans un second exemple, une alternance entre une ou plusieurs périodes d’échantillonnage contenant les étapes 20, 30, 40 et 50 et une ou plusieurs périodes d’échantillonnage contenant les étapes 20, 30, 40, 50, 70, 80 et 90 peut être prédéterminée automatiquement. L’alternance peut aussi être déclenchée automatiquement ou par une interaction utilisateur-ordinateur. Un autre exemple d’implémentation pourrait consister à alterner entre une ou plusieurs périodes d’échantillonnage contenant les étapes 20, 30, 40 et 50, 81 et 90 et une ou plusieurs périodes d’échantillonnage contenant les étapes 20, 30, 40, 50, 70, 80 et 90. La figure 4 montre une représentation schématique de cette variante d’implémentation.
[0078] Dans cette variante, une première étape de remplacement 70 est ajoutée avant la détermination 30 des coefficients du polynôme. Cette étape de remplacement 70 consiste à remplacer les fonctions barrières de l’étape 10 par des nouvelles fonctions barrières, les nouvelles fonctions barrières étant une reformulation de nouvelles contraintes. Ces nouvelles contraintes remplacent les contraintes fournies initialement. En d’autres termes, dans cette variante d’implémentation, des contraintes différentes de celles définies initialement sont intégrées dans la fonction de coût durant la phase d’utilisation du système mécatronique. L’intégration dans la fonction de coût à l’étape 70 peut s’effectuer de la même manière que lors de la reformulation 10.
[0079] Dans cette variante, une seconde étape 80 est ajoutée après l’obtention 20 de la consigne de trajectoire et de la au moins une mesure du système mécatronique et avant la détermination 30 des coefficients du polynôme. L’étape 80 peut comprendre 3 étapes 81 , 82 et 83. Cette étape 80 peut être effectuée avant ou après l’étape 70. La figure 5 montre une représentation schématique des différentes étapes de l’étape 80.
[0080] L’étape 81 consiste à sauvegarder la au moins une mesure du système mécatronique pour la période d’échantillonnage courante dans une première variable.
[0081] L’étape 82 consiste à déterminer une valeur des paramètres du modèle de prédiction. En d’autres termes, à l’étape 82, chaque paramètre du modèle de prédiction est défini en lui attribuant une valeur. Cette détermination nécessite en entrée au moins une partie des au moins une mesure du système mécatronique obtenues lors de précédentes périodes d’échantillonnage sauvegardées dans la première variable et au moins une partie des premières commandes appliquées au système mécatronique lors de précédentes périodes d’échantillonnage sauvegardées dans une seconde variable. Les au moins une mesure du système mécatronique obtenues lors de précédentes périodes d’échantillonnage sont sauvegardées à l’étape 90. Afin d’utiliser ces données en entrée, la correspondance entre chaque mesure du système mécatronique et une commande appliquée doit être connue. En d’autres termes, une paire « commande - mesure » avec la mesure qui correspond à la au moins une mesure du système mécatronique effectuée après que la commande de la paire ait été appliquée au système mécatronique peut par exemple être construite et utilisée par l’algorithme d’identification. La détermination 82 peut s’effectuer d’une manière similaire que l’initialisation 60, notamment un même algorithme d’identification peut être utilisé.
[0082] Dans un premier exemple d’implémentation de l’étape 82, toutes les mesures sauvegardées à l’étape 81 et toutes les commandes sauvegardées à l’étape 90 sont utilisées comme données d’entrée. Dans un second exemple d’implémentation de l’étape 82, seules les mesures sauvegardées à l’étape 81 pour les dernières périodes d’échantillonnage et les commandes sauvegardées à l’étape 90 pour les dernières périodes d’échantillonnage sont utilisées comme données d’entrée. Par exemple, seules les mesures sauvegardées à l’étape 81 et les commandes sauvegardées à l’étape 90 des 10000 dernières périodes d’échantillonnage sont utilisées pour la détermination 82.
[0083] L’étape 83 consiste à remplacer une valeur courante des paramètres du modèle de prédiction par la valeur déterminée des paramètres du modèle de prédiction à l’étape 82. En d’autres termes, une nouvelle valeur, qui a été déterminée à l’étape 82, pour chaque paramètre du modèle de prédiction est assignée aux différents paramètres du modèle de prédiction. Ainsi les valeurs courantes des différents paramètres du modèle de prédiction sont remplacées.
[0084] Une troisième étape 90 est ajoutée après le calcul 40 de la séquence de commandes. L’étape 90 consiste à sauvegarder la première commande de la séquence de commandes calculée pour la période d’échantillonnage courante dans une seconde variable.
[0085] Cette variante d’implémentation comprenant les étapes 70, 80 et 90 permet d’obtenir un procédé de commande auto-adaptatif. Ainsi, cette variante d’implémentation a la capacité de s’adapter à la fois aux variations de l’environnement et aux variations des contraintes liées aux variations des exigences de haut-niveau et/ou des spécifications durant la phase d’utilisation du système mécatronique. En effet, le temps de calcul reste suffisamment faible même lorsqu’une période d’échantillonnage comprend les étapes 20, 30, 40, 50, 70, 80 et 90. Une implémentation de cette variante sur un processeur Intel® Core™ i7 du procédé de commande pour un viseur gyrostabilisé utilisant une méthode de Nelder-Mead contrainte avec un ordre m de polynôme égal à 3 a une fréquence d’échantillonnage au moins égale à 400 Hertz.

Claims

REVENDICATIONS
[Revendication 1] Procédé (100) de commande d’un système mécatronique, basé sur un modèle de prédiction du comportement du système mécatronique et une fonction de coût assurant le respect de contraintes par le système mécatronique, pour le suivi par le système mécatronique d’une consigne de trajectoire durant un horizon de prédiction, le procédé comprenant les étapes de :
- reformuler (10) les contraintes en des fonctions barrières et intégrer les fonctions barrières dans la fonction de coût ; et
- pour chaque période d’échantillonnage d’une séquence de périodes d’échantillonnage: o obtenir (20) la consigne de trajectoire et au moins une mesure du système mécatronique à un état courant ; o déterminer (30) des coefficients d’un polynôme d’ordre m par une méthode de Nelder-Mead optimisant la fonction de coût en se basant sur le modèle de prédiction, la détermination prenant en entrée la consigne de trajectoire et la au moins une mesure du système mécatronique obtenues (20) ; o calculer (40) une séquence de commandes en évaluant le polynôme; et o appliquer (50) la première commande de la séquence de commandes au système mécatronique.
[Revendication 2] Procédé (100) de commande selon la revendication 1 comprenant en outre une étape préalable d’initialisation (60) du modèle de prédiction comprenant une détermination des valeurs d’un ensemble de paramètres du modèle de prédiction à l’aide d’un algorithme d’identification prenant en entrée une séquence de commandes en échelon d’amplitude et de durée aléatoires et un ensemble de mesures du système mécatronique, chaque mesure de l’ensemble de mesures du système mécatronique étant effectuée après l’application de chaque commande de la séquence de commandes au système mécatronique.
[Revendication s] Procédé (100) de commande selon l’une quelconque des revendications précédentes dans lequel la méthode de Nelder-Mead optimisant la fonction de coût est basée sur un polytope de m + 1 sommets, avec m l’ordre du polynôme, dont les m + 1 sommets sont contraints dans un intervalle prédéterminé de valeurs [xmin, xmax] pour toute évolution du polytope durant l’optimisation.
[Revendication 4] Procédé (100) de commande selon l’une quelconque des revendications précédentes dans lequel l’ordre m du polynôme est compris entre 2 et 20, préférentiellement 3.
[Revendication s] Procédé (100) de commande selon l’une quelconque des revendications précédentes dans lequel l’obtention (20) de la consigne de trajectoire et d’au moins une mesure du système mécatronique à un état courant comprend en outre une estimation en temps réel d’un état courant du système mécatronique à partir de la au moins une mesure du système mécatronique obtenue (20), l’estimation étant effectuée par un observateur compris dans le système mécatronique.
[Revendication s] Procédé (100) de commande selon l’une quelconque des revendications précédentes dans lequel au moins une période d’échantillonnage de la séquence de périodes d’échantillonnage différente d’une première période d’échantillonnage de la séquence de périodes d’échantillonnage comprend en outre les étapes de :
- avant la détermination (30) des coefficients du polynôme, le remplacement (70) des fonctions barrières par des nouvelles fonctions barrières, les nouvelles fonctions barrières étant une reformulation de nouvelles contraintes ;
- après l’obtention (20) de la consigne de trajectoire et de la au moins une mesure du système mécatronique et avant la détermination (30) des coefficients du polynôme, une étape (80) comprenant : o sauvegarder (81 ) la au moins une mesure du système mécatronique obtenue (20) dans une première variable ; o déterminer (82) une valeur des paramètres du modèle de prédiction en se basant sur un algorithme d’identification prenant en entrée :
- au moins une partie des au moins une mesure du système mécatronique obtenues (20) lors de précédentes périodes d’échantillonnage sauvegardées (81 ) dans la première variable ; et
- au moins une partie des premières commandes des séquences de commandes calculées (40) au système mécatronique lors de précédentes périodes d’échantillonnage sauvegardées (90) dans une seconde variable ; o remplacer (83) une valeur courante des paramètres du modèle de prédiction par la valeur déterminée ; et
- après le calcul (40) de la commande : o sauvegarder (90) la première commande de la séquence de commandes calculée dans une seconde variable.
[Revendication 7] Système mécatronique comprenant :
- un processeur implémentant le procédé de commande selon les revendications 1 à 6 ; et
- un système adapté pour obtenir au moins une mesure du système mécatronique.
[Revendication 8] Viseur gyrostabilisé comprenant :
- un processeur implémentant le procédé de commande selon les revendications 1 à 6 ; et
- un système adapté pour obtenir au moins une mesure du viseur gyrostabilisé.
[Revendication 9] Produit programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’une quelconque des revendications 1 à 6. [Revendication 10] Support d'enregistrement lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’une quelconque des revendications 1 à 6.
PCT/FR2023/051439 2022-09-27 2023-09-20 Procédé de commande d'un système mécatronique WO2024069079A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2209757A FR3140181A1 (fr) 2022-09-27 2022-09-27 Procédé de commande d’un système mécatronique
FRFR2209757 2022-09-27

Publications (1)

Publication Number Publication Date
WO2024069079A1 true WO2024069079A1 (fr) 2024-04-04

Family

ID=85017796

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2023/051439 WO2024069079A1 (fr) 2022-09-27 2023-09-20 Procédé de commande d'un système mécatronique

Country Status (2)

Country Link
FR (1) FR3140181A1 (fr)
WO (1) WO2024069079A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009086220A1 (fr) * 2007-12-21 2009-07-09 University Of Florida Systèmes et procédés pour une commande prédictive de modèle sans décalage
US20110125293A1 (en) * 2009-11-25 2011-05-26 Honeywell International Inc. Fast algorithm for model predictive control
US20150142227A1 (en) * 2013-11-21 2015-05-21 Ge Energy Power Conversion Technology Ltd Dynamic positioning systems and methods
EP3567530A2 (fr) * 2018-05-09 2019-11-13 Palo Alto Research Center Incorporated Apprentissage d'équations constitutives de composants physiques comportant une découverte des contraintes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009086220A1 (fr) * 2007-12-21 2009-07-09 University Of Florida Systèmes et procédés pour une commande prédictive de modèle sans décalage
US20110125293A1 (en) * 2009-11-25 2011-05-26 Honeywell International Inc. Fast algorithm for model predictive control
US20150142227A1 (en) * 2013-11-21 2015-05-21 Ge Energy Power Conversion Technology Ltd Dynamic positioning systems and methods
EP3567530A2 (fr) * 2018-05-09 2019-11-13 Palo Alto Research Center Incorporated Apprentissage d'équations constitutives de composants physiques comportant une découverte des contraintes

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
NELDERMEAD: "a simplex method for function minimization", COMPUTER JOURNAL, vol. 7, no. 4, 1965, pages 308 - 313
RAWLINGS, J.B.MAYNE, D.Q.DIEHL, M: "Model Predictive Control: Theory, Computation, and Design", 2017, NOB HILL PUBLISHING
WILLS, A.GHEATH, W.P: "Barrier function based model prédictive control", AUTOMATICA, vol. 40, no. 8, 2004, pages 1415 - 1422

Also Published As

Publication number Publication date
FR3140181A1 (fr) 2024-03-29

Similar Documents

Publication Publication Date Title
CA2944120C (fr) Procede et dispositif de surveillance d'un parametre d'un moteur de fusee
EP3152528B1 (fr) Procédé et système d'évaluation d'un débit d'un fluide
FR2927418A1 (fr) Procede et systeme de validation d'une centrale inertielle d'un mobile.
WO2017182593A1 (fr) Procédé d'estimation du jeu d'un actionneur électro-mécanique
WO2024069079A1 (fr) Procédé de commande d'un système mécatronique
CA2741584C (fr) Dispositif d'equilibrage d'une plateforme de simulation, et procede associe
EP3070505B1 (fr) Procede et systeme de mise au point automatique d'une camera
EP4042007A1 (fr) Dispositif, procédé et programme d'ordinateur de suivi de moteur d'aéronef
FR2947649A1 (fr) Procede de controle optimal d'un systeme modelisable par des equations de hamilton jacobi bellman
FR3010200A1 (fr) Procede et dispositif de normalisation de valeurs de parametres de fonctionnement d'un moteur d'aeronef
EP3721300B1 (fr) Procede d'optimisation des performances d'un asservissement d'un systeme mecatronique, dispositif adapte
WO2021229186A1 (fr) Utilisation de l'homogeneite generalisee pour ameliorer une commande pid
EP3853994A1 (fr) Procédé de détermination du flux magnétique d'une machine électrique
EP2534642A1 (fr) Dispositif pour mettre a jour un modele photometrique
FR3107367A1 (fr) Mesure de fonction de transferts dans un système mécatronique
EP3785000A1 (fr) Procédé et système de traitement d'un signal de mesure d'une température délivré par un capteur
CA3159341C (fr) Procede de commande d'un actionneur de systeme mecanique a frottements imbriques
FR3088965A1 (fr) Procede de correction de commande d’un moteur thermique
EP2522140A1 (fr) Estimation de mouvement global et dense
EP3559688B1 (fr) Caractérisation perfectionnée d'un dispositif électrochimique en opération pour un pronostic de fonctionnement futur du dispositif
EP4239575A1 (fr) Dispositif de suivi d'une évolution d´au moins un aéronef dans un espace aérien, système de surveillance et procédé de suivi associés
WO2020249477A1 (fr) Procédé de contrôle thermique d'un moteur
FR3036199A1 (fr) Procede de controle adaptatif d’un ensemble de commande
EP4357988A1 (fr) Procédés de gestion de l'énergie d'au moins un équipement, dispositifs électroniques et produits programmes d'ordinateur correspondants
FR3122504A1 (fr) Dispositif de contrôle automatisé et en temps réel d’un système mécatronique

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: 23790377

Country of ref document: EP

Kind code of ref document: A1