Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR CONTROLLING A MECHATRONIC SYSTEM
Document Type and Number:
WIPO Patent Application WO/2024/069079
Kind Code:
A1
Abstract:
One aspect of the invention relates to a method (100) for controlling a mechatronic system, based on a model for predicting the behaviour of the mechatronic system and a cost function ensuring compliance with constraints by the mechatronic system, with a view to following path instructions to a prediction horizon, the method comprising: reformulating (10) the constraints into barrier functions and integrating the barrier functions into the cost function; and for each sampling period of a sequence of sampling periods: obtaining (20) the path instructions and at least one measurement of the mechatronic system in a current state; determining (30) coefficients of a polynomial of order m using a Nelder-Mead method optimizing the cost function based on the predicting model, this determining step receiving as input the path instructions and the at least one measurement of the mechatronic system obtained (20); computing (40) a command through evaluation of the polynomial; and applying (50) the command to the mechatronic system.

Inventors:
POUILLY-CATHELAIN MAXIME (FR)
FEYEL PHILIPPE (FR)
ATTRAZIC YANNICK GHISLAIN SÉBASTIEN XAVIER (FR)
DUC GILLES (FR)
SANDOU GUILLAUME (FR)
Application Number:
PCT/FR2023/051439
Publication Date:
April 04, 2024
Filing Date:
September 20, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CENTRE NAT RECH SCIENT (FR)
CENTRALESUPELEC (FR)
SAFRAN ELECTRONICS & DEFENSE (FR)
International Classes:
G05B13/02; G05B13/04
Domestic Patent References:
WO2009086220A12009-07-09
Foreign References:
US20110125293A12011-05-26
US20150142227A12015-05-21
EP3567530A22019-11-13
Other References:
RAWLINGS, J.B.MAYNE, D.Q.DIEHL, M: "Model Predictive Control: Theory, Computation, and Design", 2017, NOB HILL PUBLISHING
NELDERMEAD: "a simplex method for function minimization", COMPUTER JOURNAL, vol. 7, no. 4, 1965, pages 308 - 313
WILLS, A.GHEATH, W.P: "Barrier function based model prédictive control", AUTOMATICA, vol. 40, no. 8, 2004, pages 1415 - 1422
Attorney, Agent or Firm:
LEBKIRI, Alexandre (FR)
Download PDF:
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.

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 [x min , x max ], 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 = -10 6 et xmax = 10 6 . 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, x min ) , x max ), 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.