FR 3139655 A1 20240315 FR 2209263 A 20220914 Procédé de génération de commandes d'un système de simulation de conduite d’un véhicule automobile . Procédé de génération de commandes d'un système de simulation (100) d’un véhicule automobile, le système de simulation (100) comprenant une cabine (21) équipée d'un écran destiné à afficher des images simulant une perception visuelle d’un usager de la cabine (21), et des actionneurs (EA) aptes à déplacer la cabine (21) selon un ensemble de degrés de liberté (EDL), le procédé comprenant une étape de transformation d’un scénario (S1) de déplacement de la cabine (21) en une série de commandes des actionneurs (EA), caractérisé en ce que l’étape de transformation comprend une optimisation (OPT), selon au moins un degré de liberté donné parmi ledit ensemble de degrés de liberté (EDL), d’une fonction de coût (J) définie dans le domaine fréquentiel. Figure pour l’abrégé : 7 Procédé de génération de commandes d'un système de simulation de conduite d’un véhicule automobile. L’invention concerne un procédé génération de commandes d'un système de simulation d’un véhicule automobile. L’invention porte aussi sur un procédé d’utilisation d'un système de simulation d’un véhicule automobile. L’invention porte également sur un programme d’ordinateur mettant en œuvre un des procédés mentionnés. L’invention porte enfin sur un support d’enregistrement sur lequel est enregistré un tel programme. L'objectif d'un simulateur de conduite automobile est de reproduire à la fois un environnement virtuel représentant un milieu réel d'évolution du véhicule, le poste de commande du véhicule et la perception de mouvement du véhicule. Le simulateur comporte donc généralement un poste de conduite placé au centre d'un dispositif audiovisuel permettant d’immerger un conducteur dans un environnement artificiel très réaliste. On distingue deux types de simulateur : - un premier type de simulateur dit simulateur sans mouvement ou statique, qui ne reproduit pas les sensations inertielles de mouvements du véhicule, et - un deuxième type de simulateur qui utilise une plateforme mobile de simulation pour reproduire des mouvements et notamment des accélérations du véhicule simulé. Les simulateurs statiques présentent l’inconvénient de générer un mal des transports chez l’usager les utilisant, notamment des vertiges, nausées ou vomissements. Ces sensations sont liées à l’incohérence entre le mouvement de véhicule simulé attendu par le conducteur et une force inertielle de mouvement non reproduite dans un simulateur statique. La sensation de force inertielle est particulièrement préjudiciable lorsqu'il s'agit d'entraîner des conducteurs ou pilotes à réagir rapidement face à un type de situation, de vérifier des architectures de véhicules automobiles ou de faire les préréglages des paramètres des lois de contrôle AD/ADAS, (ADAS étant un acronyme pour l’expression anglaise « Advanced Driver-Assistance Systems »). Dans le deuxième type de simulateur, la plateforme est mobile et apte à reproduire de manière plus réaliste des sensations ressenties par un conducteur d'un véhicule en situation réelle. Un simulateur du deuxième type peut être utilisé notamment pour évaluer des lois de commande ou des systèmes de suspension du véhicule automobile dès une phase amont d’un projet. Lorsqu’un simulateur du deuxième type est utilisé pour des tests de simulation de conduite, notamment d’un véhicule autonome, le simulateur doit alors procurer à l’usager un ressenti le plus proche possible d’un ressenti qu’il aurait perçu si l’environnement de la simulation avait été réel. Or, dans le domaine des plateformes mobiles de simulation de conduite automobile, la durée et l’ampleur des mouvements de la cabine sont physiquement limitées par l’espace alloué à la plateforme. Pour pallier cette limitation, diverses techniques sont utilisées pour leurrer le cerveau. Par exemple, pour simuler une accélération qui dure, on peut associer des effets de pesanteur dus à une inclinaison de la cabine de simulation avec un déplacement plan de la cabine. Ainsi la simulation d’un scénario nécessite une transformation des déplacements du véhicule durant le scénario en commandes applicables à des actionneurs de la plateforme, de sorte qu’un usager placé dans la cabine du simulateur perçoive un déplacement identique à celui décrit par le scénario, les commandes applicables prenant en compte les limitations de l’espace alloué à la plateforme. Or pour qu’une telle transformation soit possible, différents algorithmes ont été développés, tels que des algorithmes de filtrage classique, ou des calculs de commande optimale ou de commande prédictive. Plus généralement, il existe deux grandes familles d’algorithmes : des algorithmes d’optimisation en temps réel et des algorithmes d’optimisation hors ligne. Un algorithme d’optimisation hors ligne présente un bien meilleur résultat de restitution de mouvement que l’optimisation en temps réel. L’optimisation hors ligne s’applique à des scénarios de tests répétitifs ou de test d’un véhicule autonome, c’est-à-dire en conduite passive. L’optimisation hors ligne d’une séquence de commande peut s’étendre à l’ensemble du signaux relatifs aux mouvements à restituer. Une telle optimisation nécessite une puissance de calcul importante, souvent incompatible avec la limitation des capacités de traitement du simulateur. Une méthode connue d’optimisation hors ligne se base sur le principe d’une méthode dite « directe à tirs multiples ». Cette méthode se caractérise par un découpage de l’horizon de temps en sous-intervalles d’intégration, comprenant un calcul par itération sur les intervalles. Le résultat obtenu et le temps de calcul sont très dépendants des valeurs initiales, comme cela est décrit dans l’article « Driving Simulators with Hexapod Motion System: Adding a Yaw Turntable », Olivari M., Frank M. Drop, Mikhail Katliar, Heinrich H. Bülthoff - 2018, DSC Europe 2018 proceedings, Antibes, France. Cette méthode pénalise donc l’optimisation de la transformation. Le but de l’invention est de fournir un dispositif et un procédé de génération de commandes d'un système de simulation d’un véhicule automobile remédiant aux inconvénients ci-dessus et améliorant les dispositifs et procédés génération de commandes d'un système de simulation connus de l’art antérieur. En particulier, l’invention permet de réaliser un procédé de génération de commandes d'un système de simulation d’un véhicule automobile qui soit rapide, qui aboutisse à une simulation réaliste, et qui permette une génération des commandes d’un scénario complet. A cet effet, l’invention porte sur un procédé de génération de commandes d'un système de simulation d’un véhicule automobile. Le système de simulation comprend une cabine équipée d'un écran destiné à afficher des images simulant une perception visuelle d’un usager de la cabine, et des actionneurs aptes à déplacer la cabine selon un ensemble de degrés de liberté. De plus, le procédé comprend une étape de transformation d’un scénario de déplacement de la cabine en une série de commandes des actionneurs. En outre, l’étape de transformation comprend une optimisation, selon au moins un degré de liberté donné parmi ledit ensemble de degrés de liberté, d’une fonction de coût définie dans le domaine fréquentiel, et définie en fonction d’un écart calculé, pour chaque au moins un degré de liberté donné, entre d'une part un premier déplacement défini par la projection d'images sur l'écran selon l’au moins un degré de liberté donné, et d'autre part un deuxième déplacement déterminé en fonction d'un ressenti par l'oreille interne d'un usager se trouvant dans la cabine selon l’au moins un degré de liberté donné. Dans un mode de réalisation, la cabine présente un centre de rotation et un premier axe perpendiculaire à un sol de la cabine et passant par le centre de rotation, et l’au moins un degré de liberté comprend une rotation de la cabine autour du premier axe. Dans un mode de réalisation, l’écart calculé est calculé sur une durée totale du scénario de déplacement de la cabine. Dans un mode de réalisation, le système de simulation présente des limites de déplacement de la cabine et le procédé de génération de commandes comprend : - une optimisation dite quasi-optimale de la fonction de coût comprenant une étape d'optimisation qui ne prend pas en compte les limites de déplacement de la cabine, l’étape d’optimisation étant suivie d’une étape d’ajustement, en fonction des limites de déplacement de la cabine, de la série de commandes des actionneurs obtenue à l’issue de l’étape d’optimisation, et/ou - une optimisation dite optimale de la fonction de coût comprenant une étape d’optimisation prenant en compte les limites de déplacement de la cabine. Dans un mode de réalisation, l’étape d’optimisation de l’optimisation optimale comprend une résolution en programmation quadratique de la fonction de coût définie dans le domaine fréquentiel avec intégration des contraintes spécifiées dans le domaine temporel et converties dans l’espace fréquentiel. Dans un mode de réalisation, les limites de déplacement de la cabine comprennent : - une amplitude maximale de déplacement en translation de la cabine, et/ou - un angle maximal d’un mouvement d’inclinaison de la cabine, et/ou - une vitesse maximale du mouvement d’inclinaison de la cabine, et/ou - une accélération maximale du mouvement d’inclinaison de la cabine, un angle d’inclinaison de la cabine étant déterminé pour reproduire un effet d’une accélération linéaire de la cabine. Dans un mode de réalisation, le deuxième déplacement est calculé par application d’un filtre modélisant une perception dudit deuxième déplacement par un système otolithique, et/ou par des canaux semi-circulaires d’un système auditif de l’usager de la cabine. L’invention porte en outre sur un procédé d'utilisation d'un système de simulation, caractérisé en ce qu'il comprend : - un procédé de génération de commandes selon l’invention, transformant un scénario de déplacement de la cabine en une série de commandes d’actionneurs aptes à déplacer la cabine, et - un procédé de simulation d'un déplacement d’un véhicule autonome, un utilisateur étant passif dans la cabine du système de simulation, le procédé déplaçant la cabine selon la série de commandes d’actionneurs. L’invention porte également sur un dispositif de génération de commandes d'un système de simulation d’un véhicule automobile, le simulateur étant équipé d’une plateforme de simulation comprenant une cabine, une table de lacet, un hexapode, des rails, un ensemble d’actionneurs, le dispositif comprenant des éléments matériels et/ou logiciels mettant en œuvre le procédé selon l’invention. L’invention porte de plus sur un produit programme d’ordinateur comprenant des instructions de code de programme enregistrées sur un support lisible par ordinateur pour mettre en œuvre les étapes du procédé selon l’invention. L’invention porte également sur un support d’enregistrement de données, lisible par un ordinateur, sur lequel est enregistré un programme d’ordinateur comprenant des instructions de code de programme de mise en œuvre du procédé selon l’invention. L’invention porte aussi sur un signal d'un support de données, portant le produit programme d'ordinateur selon l’invention. Les dessins annexés représentent, à titre d’exemple, un mode de réalisation d’un dispositif de génération selon l’invention et un mode d’exécution d’un procédé de génération selon l’invention. La représente un système de simulation équipé d’un dispositif de génération de commandes. La illustre un mode de réalisation d’une plateforme de simulation. La est un ordinogramme d’un procédé de génération de commandes selon l’invention. La est un ordinogramme d’un premier mode de réalisation d’un procédé d’optimisation d’une fonction de coût selon l’invention. La est un ordinogramme d’un deuxième mode de réalisation d’un procédé d’optimisation d’une fonction de coût selon l’invention. La est un ordinogramme d’un procédé d’utilisation d’un système de simulation comprenant un dispositif de génération de commandes selon l’invention. La est un deuxième ordinogramme d’un procédé d’utilisation d’un système de simulation comprenant un dispositif de génération de commandes selon l’invention. La est un troisième ordinogramme d’un procédé d’utilisation d’un système de simulation comprenant un dispositif de génération de commandes selon l’invention. Un exemple d’un système de simulation 100 équipé d’un dispositif 10 de génération de commandes est décrit ci-après en référence à la . Outre le dispositif de génération de commandes 10, le système de simulation 100 comprend principalement une plateforme de simulation 20. Un mode de réalisation d’une plateforme de simulation 20 est décrit en référence à la . La plateforme de simulation 20 comprend principalement - une cabine 21, - une table de lacet 22 supportant la cabine 21, - un hexapode 23 comprenant 6 vérins supportant la cabine 21 et la table de lacet 22, - un premier ensemble de rails 24 guidant un mouvement de translation de l’hexapode selon une première direction X1, - un deuxième ensemble de rails 25 guidant un mouvement de translation de l’hexapode selon une deuxième direction Y1, perpendiculaire à la première direction X1. On définit une troisième direction Z1 de sorte que le repère (X1, Y1, Z1) forme un repère orthonormé direct Rg, définissant à un repère terrestre. D’autres repères sont également utilisés dans la suite du document : - un repère Ry attaché à la table de lacet 22, - un repère Rh placé au niveau de la tête d’un usager, ou plus précisément au niveau des yeux d’un usager situé dans la cabine 21 ou dans un véhicule. Le système de simulation 100 comprend un écran destiné à afficher des images simulant une perception visuelle d’un usager de la cabine 21 lors du premier déplacement. Dans le mode de réalisation présenté, la cabine 21 est surmontée d’un dôme 26 comportant un écran de projection 27. Au fil du déroulement d’une simulation, la scène de conduite est projetée à 360° sur l’écran de projection 27, et des effets acoustiques sont avantageusement transmis par des haut-parleurs installés dans la cabine 21. Des caissons à basses fréquences et des pots vibrants peuvent être installés dans différentes emplacements de la cabine 21 pour simuler des vibrations émises par un véhicule réel. L’ensemble de degrés de liberté E DL de la plateforme peut comprendre jusqu'à neuf degrés de liberté, dont trois degrés de liberté en rotation et trois degrés de liberté en translation pour l’hexapode 23, un degré de liberté en rotation pour la table de lacet 22 et un degré de liberté en translation pour chacun des rails 24, 25. La cabine 21 présente un centre de rotation et un premier axe perpendiculaire à un sol de la cabine et passant par le centre de rotation, et l’ensemble de degrés de liberté E DL comprend une rotation de la cabine autour du premier axe. En remarque, la table de lacet 22 n’est pas représentée sur la . Elle se présente comme une surface plane interposée entre l’hexapode 23 et la cabine 21. L’ensemble de degrés de liberté E DL permet d’appliquer à la cabine 21 des mouvements de translation, de tangage, de roulis et de lacet d’un véhicule réel. Dans la suite du document, - désigne un angle de lacet, mesuré par rapport au repère R Y attaché à la table de lacet 22, le lacet étant un mouvement de rotation autour d’un axe perpendiculaire à la table de lacet 22, - est l’angle de tangage de l’hexapode, mesuré par rapport au repère conducteur Rh - est l’angle de roulis de l’hexapode, mesuré par rapport au repère conducteur Rh L’ensemble de degrés de liberté E DL permet en outre de s’affranchir des limites physiques de la plateforme en leurrant le système de perception d’un usager de la cabine 21. Par exemple, grâce à l’ensemble des degrés de liberté de la plateforme, on peut créer des perceptions d’accélérations soutenues ou de freinage continu avec une technique dite de « tilt-coordination » appelée dans la suite du document « technique de tilt ». Cette technique consiste à incliner la cabine 21 en dessous d’un seuil de perception de mouvements rotationnels par le système de perception humain, notamment autour d’un axe transversal à un axe de déplacement du véhicule simulé. On produit ainsi chez un usager de la cabine 21 une sensation similaire celle perçue lors d’une accélération ou d’une décélération. L’angle d’inclinaison appliqué à la cabine 21 pour produire la sensation d’accélération (ou de freinage pour une accélération négative) par la technique de tilt est nommé « angle de tilt ». Dans un mode de réalisation présenté plus loin dans le document, le procédé de génération de commande selon l’invention repose sur un découplage du mouvement de la cabine 21 en - une première composante correspondant un mouvement de lacet de la cabine 21, mesuré par rapport au repère R Y attaché à la table de lacet 22, - une deuxième composante correspondant à un mouvement selon les autres degrés de liberté de la cabine 21 mesuré par rapport au repère Rh. La deuxième composante est déterminée par les variables suivantes : - une position de rail p rail , , une vitesse de rail v rail et une accélération de rail u rail définies par rapport au repère terrestre Rg - et un angle d’hexapode et une vitesse angulaire d’hexapode pour la technique de tilt, mesurés par rapport au repère Rh attaché aux yeux d’un usager de la cabine 21 La plateforme 20 comprend en outre un ensemble d’actionneurs E A permettant de commander les déplacements de la cabine 21 via les déplacements de l’hexapode 23 et de la table de lacet 22. L’ensemble d’actionneurs E A peut notamment comprendre, - six actionneurs commandant respectivement chacun des six vérins de l’hexapode 23, - un actionneur commandant la rotation de la table de lacet 22, - un actionneur commandant une translation de l’hexapode 23 selon la première direction X1, et un actionneur commandant la translation de l’hexapode 23 selon la deuxième direction Y1. Le dispositif de génération de commandes 10 permet de transformer un scenario de conduite S1 contenu dans la mémoire 1 en une série de commande des actionneurs de la plateforme 20 pour mettre en œuvre un premier déplacement de la cabine 21 qui soit conforme au scénario de conduite S1. Dans le mode de réalisation de l’invention, la génération de la série de commandes d’actionneurs est réalisée en amont du déroulement de la simulation. A cet effet, le système de simulation 100 comprend une première mémoire 1 dans laquelle un scénario S1 de déplacement de la cabine 21 est enregistré. Dans un premier temps, le dispositif 10 récupère scénario S1 de déplacement de la cabine 21 dans la mémoire 1 et le transforme en une série de commandes des actionneurs E A . Le dispositif 10 enregistre ensuite la série de commandes des actionneurs dans une deuxième mémoire 2 du système de simulation 100. Alternativement, la série de commande des actionneurs pourrait être enregistrée dans la mémoire 1. Puis, dans un deuxième temps, la série de commande des actionneurs est récupérée dans la mémoire 2 et utilisée par un procédé de simulation A2 pour simuler le scénario S1 de déplacement de la cabine 21. A cet effet, la plateforme 20 comprend en outre comprend un microprocesseur 29, permettant de lire des données dans la mémoire 2 et d’exécuter le procédé de simulation A2 qui sera décrit plus loin dans ce document. Le dispositif 10 comprend un microprocesseur 11, une mémoire électronique locale 12 et des interfaces de communication 13 permettant au microprocesseur 11 de lire des données dans la mémoire 1 et d’écrire des données dans la mémoire 2. Dans un mode de réalisation, le microprocesseur 11 permet d’exécuter un logiciel comprenant les modules suivants, qui collaborent entre eux : - un module E0 d’initialisation qui collabore avec la mémoire 1, - un module E1 de première optimisation qui collabore avec la mémoire 2, - un module E2 de deuxième optimisation qui collabore avec la mémoire 2. Un mode d’exécution du procédé de génération de commandes est décrit ci-après en référence aux figures 3 à 5. L’étape E0 est une étape de prétraitement des données avant leur optimisation. L’étape E0 comprend une sous-étape de lecture dans la mémoire TBC d’un scenario S1 à simuler. L’étape E0 comprend en outre une sous-étape de découplage entre - d’une part les mouvements de la cabine 21 selon l’angle de lacet , et - d’autre part les mouvements de la cabine 21 selon les autres degrés de liberté, notamment des mouvements de translation selon les directions X1, Y1 et Z1, ainsi que des mouvements en rotation autour de l’axe X1 (nommé roulis) ou de l’axe Y1 (nommé tangage) afin de générer un mouvement résultant de l’angle de roulis et de tangage correspondant à aux mouvements dans le repère du conducteur Rh. Le découplage des mouvements de la cabine permet de simplifier l’optimisation de la fonction de coût. En effet, en considérant que la restitution de mouvement du lacet est prépondérante par rapport au reste des stimuli à reproduire, la stratégie de la restitution du mouvement de lacet est indépendante de la stratégie de restitution des autres mouvements. On obtient alors deux sous-ensembles de données de scénario, un premier sous-ensemble DS1 comprenant les données de mouvements de lacet relatives au scénario S1, et un deuxième sous-ensemble DS2 comprenant les données de mouvements selon les autres degrés de liberté de la cabine 21. Les premier et deuxième sous-ensembles de données DS1, DS2 sont ensuite optimisés indépendamment l’un de l’autre : - dans une étape E1, une première optimisation portant sur les données DS1 permet d’obtenir un premier jeu de commandes CMD1 de l’ensemble d’actionneurs E A , le premier jeu de commandes CMD1 permettant de simuler les mouvements de lacet de la cabine 21 reproduisant le scénario S1, ainsi que les sensations vestibulaires associées à ces mouvements de lacet, et - dans une étape E2, une deuxième optimisation portant sur les données DS2 permet d’obtenir un deuxième jeu de commandes CMD2 de l’ensemble d’actionneurs E A , le deuxième jeu de commandes CMD2 permettant de simuler les mouvements de la cabine 21 selon les autres degrés de liberté pour reproduire le scénario S1, ainsi que les sensations vestibulaires associées à ces mouvements autres que le lacet. Les étapes E1 et E2 comprennent un procédé d’optimisation commun OPT. De plus, l’invention porte sur deux modes de réalisation du procédé OPT, - un premier mode OPT100 déterminant une solution optimale sans contrainte, utilisant une technique dite de saturation de l’angle du tilt (décrite plus loin dans ce document, un facteur de proportionnalité pour gérer des contraintes de l’espace de travail et une optimisation itérative sur les coefficients de pondération pour gérer la vitesse du tilt., - et un deuxième mode OPT200 déterminant une solution optimale avec contraintes. En remarque, le premier mode de réalisation OPT100 est avantageux car il est particulièrement rapide. Les deux modes de réalisation OPT 100, OPT 200 peuvent être utilisés alternativement ou simultanément. En d’autres termes, - l’étape E1 peut comprendre les étapes du procédé OPT selon le mode de réalisation OPT100 et/ou les étapes du procédé OPT selon le mode de réalisation OPT200, et - l’étape E2 peut comprendre les étapes du procédé OPT selon le mode de réalisation OPT100 et/ou les étapes du procédé OPT selon le mode de réalisation OPT200. Dans le mode de réalisation OPT100, le procédé d’optimisation OPT comprend les étapes E101 à E112. Le procédé comprend notamment une itération sur les étapes E104 à E110. Les étapes du procédé d’optimisation OPT sont décrites en référence à la , et aux formules mathématiques rassemblées plus loin dans le document. Dans l’étape E101, on définit une fonction de coût J dans le domaine fréquentiel. La fonction de coût J est définie dans le domaine fréquentiel et en fonction d’un écart calculé DD, pour chaque au moins un degré de liberté donné de l’ensemble E DL , entre d'une part un premier déplacement défini par le scénario S1 selon l’au moins un degré de liberté donné, et d'autre part un deuxième déplacement ressenti selon l’au moins un degré de liberté donné par un usager se trouvant dans la cabine 21. Le deuxième déplacement est calculé par application d’un filtre modélisant une perception dudit deuxième déplacement par un système otolithique, et/ou par des canaux semi-circulaires d’un système auditif de l’usager de la cabine 21. La fonction de coût J caractérise l'écart entre : - d'une part un déplacement défini par la projection des images sur l'écran. En effet, le défilement des images à l'écran définit un ensemble d'accélérations (longitudinale, transversale, verticale, roulis, tangage, lacet) que l'utilisateur s'attend à ressentir. Il s'agit donc d'un ressenti "par la vue", et - d'autre part un déplacement défini par les accélérations ressenties par l'utilisateur via son oreille interne en raison des déplacements de la cabine. L’écart perçu peut être un signal intégrant un modèle vestibulaire. Le modèle vestibulaire a pour fonction de modéliser les perceptions d’un système vestibulaire humain, plus spécifiquement d’un système otolithe pour la perception du mouvement linéaire et d’un système de canaux semi-circulaire pour la perception de la rotation. Un mode de réalisation d’un modèle vestibulaire est fourni par les formules Math 4, pour le modèle otolithe, et Math 5, pour le modèle de canaux semi-circulaires. Alternativement, le premier terme de la fonction de coût peut ne pas intégrer de modèle vestibulaire. La fonction de coût J comprend en outre un deuxième terme mesurant un effort nécessaire pour minimiser le premier terme. Le deuxième terme exprimant un déplacement de l’hexapode, une vitesse et une accélération de la cabine 21. Des facteurs de pondération sont intégrés au premier et au deuxième terme afin d’établir un compromis entre la minimisation de l’écart de la perception du mouvement (correspondant au premier terme) et l’effort nécessaire pour y parvenir (correspondant au deuxième terme). Un mode de réalisation de la fonction de coût J est exprimé par la formule Math 2. Dans la formule Math2, les coefficients de pondération sont les variables . Le réglage de ces coefficients peut prendre du temps, d’où la nécessité de proposer un traitement d’optimisation rapide mis en œuvre dans les étapes E101 à E112. Dans l’étape E102 on exprime la fonction de coût J sous forme d’un problème d’optimisation quadratique, dans lequel toutes les variables d’état du système modélisé sont exprimées à partir des variables d’entrée du système, c’est-à-dire en fonction des commandes à optimiser. Dans l’étape E103 on augmente le pas de temps du calcul (autrement dit, on diminue la fréquence d’échantillonnage du signal) afin de réduire la taille du modèle, ce qui entraine une réduction du temps de calcul. Selon l’une des particularités de la méthode proposée dans l’invention, l’optimisation du résultat n’est pas influencée par le pas de temps du calcul à condition que la fréquence maximale du signal qui nous intéresse soit couverte par celle du pas de temps du calcul. Par exemple, l’optimisation avec un pas d’échantillonnage égal à 50 millisecondes peut déterminer des commandes similaires à celles obtenues avec un pas d’échantillonnage dix fois plus petit. La fréquence maximale du signal est bornée par la loi d’échantillonnage de Shannon, soit deux fois la fréquence maximale du signal. Dans la pratique, la fréquence d’échantillonnage peut être quatre à cinq fois supérieure à la fréquence maximale du signal qui nous intéresse. Les étapes E104 à E110 mettent en œuvre une méthode itérative d’optimisation des coefficients de pondération de la fonction de coût J, comprenant - une optimisation sans contrainte (étapes E104 à E107), - une mise à l’échelle des commandes de déplacement selon les rails afin de respecter les contraintes du système (étape E108), et - une saturation de l’angle de tilt généré par l’hexapode (étape E109). Dans l’étape E104, on spécifie des coefficients de pondération de la fonction de coût J. Puis dans l’étape E105, on génère un modèle du simulateur qui tient compte des coefficients de pondération, de la fréquence d’échantillonnage du calcul, ainsi que de l’intégration du modèle vestibulaire du conducteur et d’un modèle de double intégrateur pour les différents actionneurs de l’ensemble d’actionneurs E A . On utilise également un algorithme de transformée de Fourier rapide pour réduire le temps de calcul. Puis dans l’étape E106 on réduit éventuellement le spectre fréquentiel à optimiser. Si certaines fréquences à optimiser sont supérieures à celles qui nous intéressent, ces fréquences peuvent être ignorés pour le calcul de la solution optimale. Le nombre de variables de commande dans le domaine fréquentiel est ainsi réduit, ce qui entraine une diminution du le temps de calcul d’une solution optimale. Puis, l’étape E107 d’optimisation sans contraintes permet d’obtenir une solution minimale de la fonction de coût J correspondant à une dérivée nulle de la fonction de coût J. Dans l’étape E108 on ajuste la solution optimale sans contrainte obtenue suite à l’étape E107 afin qu’elle respecte les contraintes du système. Les contraintes du système portent sur des limites de déplacement de la cabine 21, parmi lesquelles : - une amplitude maximale de déplacement en translation de la cabine 21, et/ou - un angle maximal d’inclinaison de la cabine 21, et/ou - une vitesse maximale d’inclinaison de la cabine 21, et/ou - une accélération maximale d’inclinaison de la cabine 21 le déplacement en translation et/ou l’inclinaison pouvant simuler une accélération selon la technique de tilt. Par exemple, la solution optimale sans contrainte obtenue dans l’étape E107 peut entrainer un franchissement de la limite de course d’un rail selon la direction X et/ou Y. Un freinage est alors nécessaire pour maintenir la plateforme mobile dans les limites de son espace physique. Ce phénomène génère un mouvement ressenti comme anormal par le conducteur. Afin d’éviter cette situation, une solution consiste à multiplier la ou les commandes de position de rail par un facteur de proportionnalité inférieur ou égal à 1. Dans l’étape E108, on règle donc les différentes combinaisons des coefficients de pondération en déterminant un facteur de proportionnalité qui est - le plus proche possible de 1 afin de rester proche de la solution optimale sans contrainte, et - qui permet de respecter les contraintes physiques du simulateur tant pour la position du rail que pour la vitesse de l’hexapode. L’étape E109 est le pendant de l’étape E108, en ce qui concerne l’angle de tilt. Une sous-étape de saturation sur l’angle du tilt peut être mise en œuvre si la valeur optimale calculée dans l’étape E107 dépasse la limite de l’angle du tilt de l’hexapode. Dans ce cas, une solution quasi-optimale peut exister en limitant l’angle du tilt à un angle maximal autorisé par l’hexapode afin de générer une force de tilt maximale du simulateur pour la restitution d’un mouvement linéaire. En d’autres termes, dans l’étape 109, on s’assure que la vitesse de tilt ne dépasse pas une valeur maximale. En effet, la saturation de l’angle du tilt peut générer, à certains instants de la simulation, une vitesse de tilt élevée. Afin de pallier ce problème, l’étape E109 comprend un lissage de l’angle de tilt. Une méthode de lissage de l’angle de tilt est décrite notamment dans la formule Math 20. En remarque, la saturation de l’angle du tilt réduit progressivement la sensation de mouvement optimisé qui est un mouvement lent, donc moins perceptible par l’humain. Il est possible de compenser cette perte de sensation par une décomposant la course de rail en deux composantes, une première composante allouée à la technique de tilt et une autre composante allouée à une compensation de la perte de perception de mouvement due à la saturation de l’angle de tilt. Puis, dans une étape E110, on évalue les performances du simulateur. Divers critères de performance peuvent être utilisés. Par exemple, - on peut calculer des indices de corrélation entre la perception du mouvement généré par le simulateur et la perception de la référence du véhicule simulé à différentes fréquences ou, - on peut calculer des durées d’occurrences de signaux susceptibles de provoquer un mal du simulateur. En fin d’itération sur les étapes E104 à E110, la solution quasi-optimale retenue est celle dont les coefficients de pondération fournissent le meilleur niveau d’amplitude et de cohérence de phasage du mouvement à reproduire. Puis on enchaîne sur l’étape E111, dans laquelle on génère les commandes avec un pas de temps de calcul correspondant à celui du système temps-réel. Puis on enchaîne sur l’étape E112, dans laquelle on optimise à nouveau la fonction de coût sans contraintes, puis on détermine des commandes d’actionneurs dans le domaine temporel en appliquant un calcul inverse de la transformée de Fourier, puis une vérifie à nouveau que les commandes obtenues respectent les contraintes décrites dans les étapes E108 et E109. Les résultats ainsi obtenus dans le mode de réalisation OPT100 du procédé OPT sont très proches de résultats optimaux. Dans le mode de réalisation OPT200, le procédé d’optimisation OPT comprend les étapes E201 à E210. Le procédé comprend notamment une itération sur les étapes E204 à E210. Les étapes E201 à E203 sont respectivement identiques aux étapes E101 à E103. Dans les étapes E204 à E207 on utilise une méthode itérative pour déterminer des coefficients de pondération définissant une fonction de coût J optimale, la méthode d’optimisation tenant compte des contraintes du système de simulation. Pour cela, on applique un procédé de résolution en programmation quadratique, nommé QP Solver dans la suite du document, à chaque jeu de coefficients de pondération donné. Dans un mode de réalisation, le QP Solver respecte des conditions d’optimisation de de Karush-Kuhn-Tucker, qui sont des conditions nécessaires et suffisantes pour l’optimalité d’un problème convexe d’optimisation d’un système linéaire. Les conditions d’optimisation de de Karush-Kuhn-Tucker permettent une généralisation des multiplicateurs de Lagrange pour résoudre des problèmes d'optimisation sous contraintes non linéaires d'inégalités. Dans l’étape E204, on spécifie les coefficients de pondération 204. Puis, dans l’étape E205, on génère un modèle du simulateur qui tient compte des coefficients de pondération, de la fréquence d’échantillonnage du calcul, ainsi que de l’intégration du modèle vestibulaire du conducteur et d’un modèle de double intégrateur pour les différents actionneurs de l’ensemble d’actionneurs E A . On utilise également un algorithme de transformée de Fourier rapide pour réduire le temps de calcul. Puis dans l’étape E206 on réduit éventuellement le spectre fréquentiel à optimiser. Si certaines fréquences à optimiser sont supérieures à celles qui nous intéressent, ces fréquences peuvent être ignorées pour le calcul de la solution optimale. Le nombre de variables de commande dans le domaine fréquentiel est ainsi réduit, ce qui entraine une diminution du temps de calcul d’une solution optimale. Cette étape de réduction de spectres est particulièrement importante dans le mode de réalisation OPT200, car l’utilisation d’un QP solver génère un problème de calcul de complexité polynomiale. Puis dans l’étape E207, la solution minimale de la fonction de coût est obtenue dans le domaine fréquentiel par l’utilisation d’un QP solver basé sur un processus itératif. Puis dans l’étape E208 on applique une transformée inverse de Fourier pour convertir la solution optimale des commandes exprimée dans le domaine fréquentiel en une solution optimale des commandes exprimée dans le domaine temporel. Puis, dans l’étape E209 on spécifie un nouveau pas de temps de calcul qui correspond cette fois-ci à celui du système temps-réel. Si la dimension du modèle ainsi générée est trop importante, le temps de calcul devient impraticable pour trouver la solution optimale. Dans ce cas, un calcul d’interpolation de la solution optimale fournie à l’issue de l’étape E208 peut être envisagé. Puis, dans l’étape 210 on optimise la fonction de coût avec les contraintes, puis on reconstitue des commandes dans le domaine temporel en effectuant un calcul inverse de la transformée de Fourier. Dans la suite du document, on décrit une implémentation mathématique des étapes des procédés précédemment décrites. Dans la suite du document, les variables figurant dans les formules mathématiques sont définies lorsqu’elles apparaissent pour la première fois dans une formule. Par application d’une matrice de transformation d’Euler, les forces inertielles subies par un véhicule automobile respectivement selon des directions longitudinale, latérale et verticale sont projetées respectivement sur les axes X, Y et Z d’un repère terrestre G selon la formule Math 1 : où les indices « G », « B hed » et « T » signifient respectivement qu’une mesure est faite par rapport à un repère terrestre Rg, par rapport à un repère Rh placé au niveau des yeux d’un conducteur, et par rapport à un repère Ry attaché à la table du lacet, puis - est l’accélération longitudinale du véhicule mesurée par rapport au repère de la caisse du véhicule au niveau de la tête du conducteur - est l’accélération latérale du véhicule mesurée par rapport au repère de la caisse du véhicule au niveau de la tête du conducteur - est l’accélération verticale (prenant en compte la force de pesanteur du véhicule) mesurée par rapport au repère de la caisse du véhicule au niveau de la tête du conducteur, - est l’angle de lacet, - est l’angle de tangage de l’hexapode, - est l’angle de roulis de l’hexapode. Dans la formule Math 2, on définit une fonction de coût J que l’on cherche à minimiser. où - x est le vecteur d’état du système qui contient le modèle vestibulaire et la plateforme mobile du simulateur, - e représente l’erreur de la perception du mouvement entre le simulateur, c.x(t), et la référence de la perception du mouvement du véhicule simulé, r(t), - est un vecteur d’état du simulateur comprenant une position de rail, une vitesse de rail et un angle d’hexapode pour reproduire un axe de mouvement par la technique de tilt, - représente une commande du simulateur comprenant une accélération pour le rail et la vitesse de rotation pour l’hexapode. Dans la formule Math 2, - l’expression « » représente un écart à minimiser entre un mouvement du simulateur et le mouvement du véhicule simulé., et - l’expression « » représente l’effort nécessaire pour atteindre l’objectif de minimiser l’écart à minimiser. L’écart peut être un signal intégrant le modèle vestibulaire ; alternativement, le signal peut ne contenir que les forces inertielles du véhicule et du simulateur. La restitution de mouvement du simulateur pour reproduire la perception du mouvement d’un véhicule est un problème d’optimisation de la fonction de coût J définie dans la formule Math 2. L’optimisation s’effectue par optimisation des facteurs dits de pondération de la formule Math 2, c’est-à-dire l’optimisation des facteurs . Un mode de réalisation d’un modèle de la plateforme de simulation est fourni par la formule Math 3. , où - est le vecteur d’état du simulateur comprenant une position de rail, une vitesse de rail et un angle d’hexapode pour reproduire un axe de mouvement par la technique de tilt, et - représente une commande du simulateur comprenant une accélération pour le rail et la vitesse de rotation de l’hexapode. Un mode de réalisation de la modélisation d’un système vestibulaire est fourni par les formules Math 4 et Math 5. Le modèle vestibulaire se compose d’un système otolithe pour la perception d’un mouvement linéaire, modélisé par la formule Math 4, et d’un système canaux semi-circulaire pour la perception de la rotation, modélisé par la formule Math 5. , où - est la force spécifique qui tient compte à la fois la force inertielle d’accélération et celle de la contribution de la pesanteur perçue par le conducteur, - sont les paramètres du modèle otolithe, - est le vecteur d’état du système otolithe, - est la matrice de sortie permettant d’extraire la force spécifique dans le vecteur d’état du système otolithe. où - est le mouvement de rotation perçu par le système des canaux semi-circulaires, - T0, T1, T2 et T3 sont les paramètres du modèle des canaux semi-circulaires. - est le vecteur d’état du système des canaux semi-circulaires, - est la matrice de sortie permettant d’extraire la force spécifique dans le vecteur d’état du système des canaux semi-circulaires, - représente une commande du simulateur comprenant une accélération pour le rail et la vitesse de rotation pour l’hexapode. L’état de l’ensemble des systèmes est donné par la formule Math 6 où - x est le vecteur d’état du système qui contient le modèle vestibulaire et la plateforme mobile du simulateur, - est la force spécifique ressentie du simulateur. - est la vitesse de rotation ressentie du simulateur,. - est la matrice de sortie permettant d’extraire la force spécifique dans le vecteur d’état du système otolithe, - est la matrice d’observation ou de sortie permettant d’extraire la force spécifique dans le vecteur d’état du système des canaux semi-circulaires, - est le vecteur d’état du système des canaux semi-circulaires, - est le vecteur d’état du système otolithe, - est le vecteur d’état du simulateur comprenant une position de rail, une vitesse de rail et un angle d’hexapode pour reproduire un axe de mouvement par la technique de tilt, et - représente une commande du simulateur comprenant une accélération pour le rail et la vitesse de rotation pour l’hexapode. L’équation Math 7, obtenue par application de la transformée de Laplace à l’équation Math 6, permet d’obtenir la solution de x dans le domaine de Laplace. où - s est la variable de Laplace, - X 0 est la condition initiale du système. Pour un signal complet, on peut considérer que la condition initiale X 0 est égale à zéro, - U est la transformée de Laplace de la commande u(t) - F est une matrice d’application permettant de déduire la transformée de commande U en celle du système d’état. - G est une matrice d’action permettant de tenir compte des conditions initiales du système dans la transformée de Laplace du système d’état. - A est la matrice d’état. - B est la matrice de commande. - I est la matrice unitaire qui a la même dimension que A. En tenant compte de la performance du simulateur, les contraintes suivantes sont ajoutées lors de l’optimisation. L’expression Math 8 traduit les limites de l’espace de travail, l’expression Math 9 traduit la limite de la vitesse de rail l’expression Math 10 exprime la limite de la perception de rotation lors d’une mise en œuvre de la technique de tilt, et l’expression Math 11 exprime la limite de la commande en accélération ou jerk. où - est la position de rail utilisée, et est la longueur maximale du rail du simulateur - est l’angle du tilt utilisé, et est l’angle maximal du tilt de l’hexapode. où - est la vitesse de rail utilisée , et est la vitesse maximale du simulateur où - est la vitesse de rotation du tilt de l’hexapode pour la mise en œuvre de la technique de tilt, - est un seuil de perception moyen non détectable par le système vestibulaire, par exemple = 3°/s où, - est l’accélération de rail utilisée, - est l’accélération maximale du rail. Pour déterminer le minimum de la fonction du coût J(U), l’ensemble des équations sont discrétisées. On recherche une solution de minimisation de la fonction de coût portant sur un horizon complet du signal, c’est-à-dire sur toute la durée du scénario S1 de simulation. Pour cela, on peut diviser l’horizon temporel complet en N sous-segments temporels. Puis, dans chaque sous-segment temporel, les valeurs d’état peuvent être interpolées ou considérées comme constantes. Enfin, en augmentant des nombres de variables inconnues au début de chaque sous-segment, l’ensemble du système a été optimisé par un processus itératif pour trouver une solution minimale. C’est la méthode connue sous le nom de tir multiple. Toutefois cette solution ne permet pas d’obtenir les meilleurs résultats d’optimisation si l’on ne dispose pas à priori d’une solution approximative de la valeur minimale Elle est avantageusement remplacée par une technique de résolution dans le domaine fréquentiel, décrite par les formules Math 12 à Math 36. Afin de réduire le temps de traitement de l’optimisation, au lieu de minimiser la fonction de coût dans le domaine temporel, on minimise la fonction de coût dans le domaine fréquentiel. A cet effet, on applique une transformée de Fourier selon la formule Math 12 pour résoudre l’optimisation dans le domaine fréquentiel. où - ω est l’impulsion qui est égale à 2π fois la fréquence (=2πf). - F(ω) est la fonction de la transformée de Fourier du signal f(t). Par application du théorème de Parseval, selon lequel la somme des énergies dans le domaine temporel est égal à la somme des énergies dans le domaine fréquentiel à une constante près, on obtient l’expression Math 13. où est la fonction de la transformée de Fourier du signal f(t). En discrétisant les équations, on obtient les équations Math 14. où - N est le nombre des points discrétisés et n varie de 1 à N, - est la résolution fréquentielle définie par: - X est le spectre de x calculé par : où - N est le nombre des points de la transformé des Fourier discrétisés et n varie de 1 à N, - x(n) est la séquence temporelle discrétisée et X(k) la transformée de Fourier discrétisée correspondante et - T est le pas du temps d’échantillonnage ou discrétisé. La relation des énergies entre x(n) et X(k) s’écrit selon Math 15. Lorsque N est un nombre multiple de 2, l’algorithme dit de transformée de Fourier rapide, FFT (Fast Fourier Transform) peut être utilisé dans le calcul de la transformée Fourier et le calcul inverse de la transformée de Fourier. Ainsi la complexité du calcul de transformée de Fourier rapide est réduite à N(log(N)). En remarque, le signal complet peut aussi être découpé en plusieurs segments notamment quand il y a des zéros qui sont présents dans le signal afin de réduire la valeur de N. Ainsi, la fonction de coût J peut s’exprimer selon la nature des signaux par la formule Math 16 : où - le premier terme d’intégration est l’écart de l’objectif à minimiser, r la référence du signal à tracker et Qy étant une matrice de pondération. - le second terme de l’intégration est l’écart entre l’état du système et la référence du système p qui est généralement nulle avec une matrice de pondération de Qk. - le dernier terme d’intégration correspond à l’énergie de la commande du simulateur avec une matrice de pondération R. En tenant compte de la fonction temporelle de la formule Math 12 (f(t) = 0, pour t inférieur ou égal à 0), on obtient l’égalité Math 17 grâce au théorème de Parseval : Donc le minimum de est aussi celui de . La formule Math 18 exprime la recherche d’une fonction de coût J minimale dans le cas d’une solution sans contrainte, c’est-à-dire selon le mode de réalisation OPT100 du procédé d’optimisation. où - U est la transformée de Fourier de la commande et U T est la transposée de U. - est un vecteur qui agit directement sur la commande U et est une matrice de pondération sur le terme quadratique de U. La valeur minimale de la fonction de coût J est obtenue par la résolution de où - sont les commandes discrétisées du tilt-coordination u DS à chaque fréquence. soit avec où - R représente les spectres de la transformée de Fourier du signal de référence en accélération et vitesse de rotation. - est la matrice de passage de la commande à système d’état dans le domaine fréquentiel. - les indices i,j dans indiquent les termes correspondants dans la matrice F. - est la spectre des accélérations du véhicule, est la spectre de la vitesse de rotation du véhicule, - est le vecteur qui agit sur la commande de U, est une matrice de pondération sur la commande quadratique du simulateur dans le domaine fréquentiel. - est le coefficient de pondération de la commande du rail dans la fonction de coût, est le coefficient de pondération de la commande du tilt de l’hexapode. , - est le coefficient de pondération de l’écart de mouvement perçu en accélération dans la fonction de coût, - est le coefficient de pondération de l’écart entre la vitesse de ratation du tilt de l’hexapode et la référence du tilt. - est une matrice de passage permettant de cacluer Ku1 qui agit sur la référence - est une matrice de passage permettant de calculer Ku1 qui agit sur la condition initiale, - est la matrice de pondération sur l’état du système. En modifiant les coefficients de pondération dans la fonction de coût, une solution qui répond à l’exigence de la performance du simulateur peut être obtenue. Toutefois cette solution repose sur une optimisation sans prise en compte des limites de déplacement de la cabine. Ainsi, la solution optimale obtenue peut correspondre à un état dans lequel la course est saturée, ce qui peut générer pour le conducteur du simulateur des perceptions non cohérentes avec le scénario simulé S1. Ainsi, une solution de commande de déplacement du rail très proche de la limite de la course maximale du simulateur est déjà une solution optimale. Quant à limite de l’angle du tilt, la solution optimale doit être analysée plus judicieusement. Dans l’expression Math 19, on applique la méthode du multiplicateur de Lagrange. où - est le mouvement de l’angle du tilt dont la séquence discrète correspond à une combinaison linéaire de la transformée de Fourier discrète, - est la limite de l’angle du tilt, - s l1 est le terme de relaxation de l’écart entre , - s l2 est le terme de relaxation de l’écart entre - , - et sont respectivement les coefficients de Lagrange. La méthode de Lagrange conduit à examiner la solution avec un angle du tilt saturé. L’opération de la saturation de l’angle du tilt va générer des pics élevés pour la vitesse de rotation. Il faut donc lisser l’angle de tilt. Afin de lisser l’angle de tilt, nous proposons deux solutions dans ce brevet: La première solution consiste à appliquer une fonction de lissage, par exemple en introduisant un coefficient de lissage, , qui est défini par l’expression Math 20 : avec Une deuxième solution consiste à utiliser une commande prédictive (ou correction anticipatrice) simplifiée qui lisse l’angle du tilt avec une vitesse de tilt limitée. La précédente solution, qui repose sur les équations Math 18 à Math 20, fournit une solution quasi-optimale et rapide. D’autres mises en équation du système permettent d’obtenir une solution optimale de la fonction de coût qui tient compte des contraintes du système, comme cela est illustré par les expressions Math 21 à Math 36. Ce traitement est mis en œuvre dans le deuxième mode de réalisation OPT200 d’optimisation de la fonction de coût J. Dans ce mode de résolution dit optimal, on utilise un procédé de résolution en programmation quadratique, nommé QP Solver, qui tient compte des contraintes du système. Le QP Solver ne permet pas d’optimiser une fonction de coût avec des nombres complexes. De ce fait, Les variables de commande de la transformée de Fourier de dimension à 2 seront décomposées en un vecteur de dimension 4. Le problème d’optimisation traite à la fois les parties réelles et les parties imaginaires des nombres. où - U est la transformée de la commande du simulateur en tilt-coordination, est la partie réelle de la transformée de Fourier de la commande du rail, est la partie imaginaire de la transformée de Fourier de la commande du rail, est la partie réelle de la transformée de Fourier de la commande du tilt sur l’hexapode, est la partie imaginaire de la transformée de Fourier de la commande en tilt sur l’hexapode, où - est la commande de la transformée de Fourier formée par les variables réelles de la partie réelle et de la partie imaginaire Ainsi la fonction de coût dans le domaine fréquentiel peut être décrite dans les expressions Math 24 par la nouvelle variable de commande U: Ainsi, on obtient l’expression Math 25: où - est le terme quadratique de la nouvelle commande - est un vecteur agissant directement sur la commande de , - est une matrice de pondération sur les termes quadratiques. Sachant que représente une énergie, elle correspond donc à une valeur réelle. est aussi une variable exprimée par un nombre réel. Les parties imaginaires des matrices , peuvent donc être ignorées. Le problème de minimisation de s’exprime alors selon les expressions Math 26 : est équivalent à On intègre ensuite les contraintes dans le modèle. Les contraintes étant exprimées dans le domaine temporel, on doit les convertir dans le domaine fréquentiel. Pour cela, on peut utiliser la formule inverse de la transformée de Fourier. En exprimant la commande de la vitesse de rotation selon une combinaison linéaire de ses spectres, on obtient ainsi l’égalité Math 27 exprimant la contrainte du seuil de tilt en vitesse de rotation : où - est le spectre de la commande en tilt, est la commande temporelle en tilt En tenant compte de la propriété symétrique de la transformée de Fourier rapide pour un nombre de multiple de 2, le nombre de calculs peut être réduit en moitié selon l’expression Math 28 : où - real et imag représentent les opérateurs mathématiques pour extraire la partie réelle ou imaginaire d’un nombre complexe. - conj est l’opérateur mathématique conjugué d’un nombre complexe Puis, par application des propriétés Math 29, on obtient la formule Math 30 L’application de la condition de limite de seuil de tilt en vitesse de rotation est décrite par l’inégalité Math 31. Pour l’ensemble de avec n=1,2,…N, on peut exprimer cette contrainte selon l’expression Math 32 : où - est une matrice agisant sur la commande U pour traduire la formule Math 31, - est un vecteur qui représente la limite de la vitesse de rotation. En ce qui concerne la contrainte de l’angle de tilt, on part du fait que l’angle de tilt est une intégration de la vitesse de tilt. De ce fait, dans le domaine de Laplace, il peut être calculé à partir de la vitesse de tilt selon les équations Math 33. où - est l’angle du tilt, - est la dérivée de l’angle du tilt qui est égale à ω tilt . En appliquant une condition initiale portant sur l’angle de tilt égal à zéro, on obtient les égalités citées dans Math 34. où - est l’angle du tilt, est le spectre de l’angle du tilt calculée par FFT. Ainsi la condition de la limite d’angle du tilt a pour expression l’inéquation Math 35. où - est un vecteur contenant la limite de l’angle du tilt, - est une matrice agissant sur la commande U pour traduire la formule Math 34. Une autre contrainte à intégrer au modèle porte sur la position du rail. Cette contrainte est exprimée dans les formules Math 35. où - est la position de rail discrétisée, - une matrice agissant sur la commande U pour traduire la formule Math 35, - est un vecteur de la position maximale du rail autorisée. De la même manière, on peut aussi spécifier la limitation de la vitesse de rail dans l’optimisation de la fonction de coût. La violation de vitesse du rail est très peu probable. Généralement, il n’est pas nécessaire d’ajouter cette contrainte afin de réduire le temps de calcul. Ainsi, les contraintes globales peuvent être spécifiées par l’équation Math 36 : où où - A est une matrice permettant de traduire l’ensemble de condition aux limites du système, b est un vecteur de la limite du simulateur ou du mouvement en tilt. A l’aide d’un QP solver, on peut trouver la solution optimale de la commande dans le domaine fréquentiel. L’inverse de la transformée de Fourier permet alors de trouver les commandes optimales dans le domaine temporel. L’invention porte en outre sur un procédé d’utilisation d’un système de simulation décrit par les figures 6 à 8. Le procédé d’utilisation comprend : - une première étape A1 comprenant un procédé de génération de commandes selon l’invention, transformant un scénario S1 de déplacement de la cabine 21 en une série de commandes d’actionneurs aptes à déplacer la cabine 21, et - une deuxième étape A2 comprenant un procédé de simulation d'un déplacement d’un véhicule autonome, un utilisateur étant passif dans la cabine du système de simulation, le procédé déplaçant la cabine 21 selon la série de commandes d’actionneurs. La première étape A1 se déroule selon les étapes E0 à E2 du procédé de génération de commande. La deuxième étape A2 comprend une étape 301 de lecture, dans une mémoire 2, de données relatives au scénario S1. Les données relatives au scénario S1 comprennent notamment : - des informations relatives aux caractéristiques du terrain, par exemple la géométrie des routes, l’adhérence et la rugosité du sol, les matériaux de revêtement de la route, et également les signalisations - des informations relatives à l’environnement d’un véhicule se déplaçant selon le scénario S1, par exemple les arbres, les bâtiments, les barres de sécurités, les conditions météorologiques… - un modèle de trafic décrivant des événement relatifs à la circulation : présence de piétons, de vélos, arrêt brutal du véhicule etc… - une description du déplacement du véhicule simulé par la cabine 21 : vitesse de roulage, manœuvres de pilotage, enchainement des évènements… Dans une étape 302, on génère des commandes du véhicule simulé. L’étape 302 implémente des fonctions de commande autonome AD/ADAS du véhicule simulé. La génération des commandes du véhicule prend en compte les informations recueillies dans l’étape 301. Dans une étape 303, on simule le comportement dynamique du véhicule recevant les commandes issues de l’étape 302. L’étape 303 met en œuvre un modèle numérique du véhicule, et à l’issue de l’étape 303, on obtient les mouvements du véhicule simulé. A partir des mouvements du véhicule simulé issus de l’étape 303, dans l’étape 304 on crée une perception visuelle et acoustique du simulateur. L’étape 304 comprend une projection des scènes de conduite sur l’écran du dôme en 360°. L’étape 304 comprend également la mise en œuvre d’effets acoustiques générés par des haut-parleurs installés dans la cabine du simulateur, et éventuellement par des caissons à basses fréquences et des pots vibrants pour renforcer la sensation vibratoire du véhicule. En parallèle des étapes 301 à 304 ; on exécute les étapes 305 et 306. Dans une étape 305 on lit dans la mémoire 2 les commandes des actionneurs de déplacement de la plateforme 20 et on les transmet en temps réel à la plateforme de simulation. Dans une étape 306, la plateforme se déplace en fonction des commandes d’actionneurs issues de l’étape 305. Le déroulement synchronisé des étapes 304 à 306 construit ainsi une perception multi-sensorielle de la scène de conduite simulée. La représente un ordinogramme d’un procédé de traitement du premier sous-ensemble de données de scénario DS1 comprenant les données de mouvements de lacet relatives au scénario S1. La représente un ordinogramme d’un procédé de traitement du deuxième sous-ensemble DS2 comprenant les données de mouvements selon les autres degrés de liberté de la cabine 21. Dans chacun de ces ordinogrammes on retrouve les étapes 301 à 306 précédemment décrites, ainsi qu’une étape 307 de synthèse perceptions sensorielles issues des étapes 304 et 306 par l’usager. Dans la , dans l’étape 308, on détermine à partir des données de l’étape 303 une référence 401-DS1 des signaux d’accélération et de vitesse de lacet à reproduire. L’étape 309 représente le fonctionnement des canaux semi-circulaires permettant de convertir l’écart entre un mouvement à simuler 401-DS1 défini dans l’étape 303 et un mouvement simuler 402-DS1 en une grandeur DD-DS1 réellement perçue par l’homme. Cet écart de mouvement perçu doit être minimisé par le procédé OPT. Dans la , dans l’étape 308, on détermine à partir des données de l’étape 303 une référence 401-DS2 des signaux d’accélération et de vitesse à reproduire sur les degrés de liberté autres que le lacet. L’étape 309 représente le fonctionnement du système otolithe permettant de convertir l’écart entre un mouvement à simuler 401-DS2 défini dans l’étape 303 et un mouvement simuler 402-DS2 en une grandeur DD-DS2 réellement perçue par l’homme. Cet écart de mouvement perçu doit être minimisé par le procédé OPT. Finalement, le procédé de génération de commandes selon l’invention permet de minimiser un écart entre un déplacement simulé défini dans un scénario et un déplacement ressenti par un usager d’une plateforme de simulation déroulant le scénario. Pour cela, il met en œuvre des méthodes d’optimisation d’une fonction de coût définie dans le domaine fréquentiel, et non dans le domaine temporel, ce qui le différencie des procédés de génération de commandes existants. L’effet de cette différence et de réduire fortement le temps de calcul de l’optimisation, ce qui permet d’appliquer l’optimisation de la fonction de coût sur une durée totale d’une simulation. Ainsi, dans le procédé selon l’invention, il n’est plus nécessaire de segmenter la durée totale de simulation en intervalles de temps et d’optimiser la fonction de coût sur chaque segment pris individuellement, comme c’est le cas pour une optimisation dans le domaine temporel. Le procédé selon l’invention améliore ainsi la qualité de l’optimisation de la fonction de coût en prenant en compte l’ensemble de la simulation. Grace à l’amélioration de l’optimisation de la fonction de coût, le procédé de génération de commandes selon l’invention permet de générer des commandes d’une plateforme de simulation qui restituent à un usager de la plateforme des sensations de mouvements cohérentes avec le scénario de déplacement du véhicule simulé, notamment cohérentes avec les perceptions visuelles projetées dans la cabine de simulation. Procédé de génération de commandes d'un système de simulation (100) d’un véhicule automobile, le système de simulation (100) comprenant une cabine (21) équipée d'un écran destiné à afficher des images simulant une perception visuelle d’un usager de la cabine (21), et des actionneurs (E A ) aptes à déplacer la cabine (21) selon un ensemble de degrés de liberté (E DL ), le procédé comprenant une étape de transformation d’un scénario (S1) de déplacement de la cabine (21) en une série de commandes des actionneurs (E A ), caractérisé en ce que l’étape de transformation comprend une optimisation (OPT), selon au moins un degré de liberté donné parmi ledit ensemble de degrés de liberté (E DL ), d’une fonction de coût (J) définie dans le domaine fréquentiel, et définie en fonction d’un écart calculé (DD), pour chaque au moins un degré de liberté donné, entre d'une part un premier déplacement défini par la projection d'images sur l'écran selon l’au moins un degré de liberté donné, et d'autre part un deuxième déplacement déterminé en fonction d'un ressenti par l'oreille interne d'un usager se trouvant dans la cabine (21) selon l’au moins un degré de liberté donné. Procédé de génération de commandes selon la revendication précédente, la cabine (21) présentant un centre de rotation et un premier axe perpendiculaire à un sol de la cabine et passant par le centre de rotation, caractérisé en ce que l’au moins un degré de liberté comprend une rotation de la cabine autour du premier axe. Procédé de génération de commandes selon l’une des revendications précédentes caractérisé en ce que l’écart calculé (DD) est calculé sur une durée totale du scénario (S1) de déplacement de la cabine. Procédé de génération de commandes selon l’une des revendications précédentes, le système de simulation (100) présentant des limites de déplacement de la cabine (21), caractérisé en ce qu’il comprend - une optimisation (OPT100) dite quasi-optimale de la fonction de coût (J) comprenant une étape d'optimisation (E107) qui ne prend pas en compte les limites de déplacement de la cabine (21), l’étape d’optimisation (E107) étant suivie d’une étape d’ajustement (E108), en fonction des limites de déplacement de la cabine (21), de la série de commandes des actionneurs obtenue à l’issue de l’étape d’optimisation (E107), et/ou - une optimisation (OPT200) dite optimale de la fonction de coût (J) comprenant une étape d’optimisation (E207) prenant en compte les limites de déplacement de la cabine (21). Procédé de génération de commandes selon la revendication précédente, caractérisé en ce que l’étape d’optimisation (E207) de l’optimisation optimale (OPT200) comprend une résolution en programmation quadratique de la fonction de coût (J) définie dans le domaine fréquentiel. Procédé de génération de commandes selon la revendication 4 ou 5, caractérisé en ce que les limites de déplacement de la cabine (21) comprennent : - une amplitude maximale de déplacement en translation de la cabine (21), et/ou - un angle maximal d’un mouvement d’inclinaison de la cabine (21), et/ou - une vitesse maximale du mouvement d’inclinaison de la cabine (21), et/ou - une accélération maximale du mouvement d’inclinaison de la cabine (21), un angle d’inclinaison de la cabine étant déterminé pour reproduire un effet d’une accélération linéaire de la cabine (21). Procédé de génération de commandes selon l’une des revendications précédentes caractérisé en ce que le deuxième déplacement est calculé par application d’un filtre modélisant une perception dudit deuxième déplacement par un système otolithique, et/ou par des canaux semi-circulaires d’un système auditif de l’usager de la cabine (21). Procédé d'utilisation d'un système de simulation, caractérisé en ce qu'il comprend : - un procédé de génération de commandes selon l'une des revendications précédentes, transformant un scénario (S1) de déplacement de la cabine (21) en une série de commandes d’actionneurs aptes à déplacer la cabine (21), et - un procédé de simulation d'un déplacement d’un véhicule autonome, un utilisateur étant passif dans la cabine du système de simulation, le procédé déplaçant la cabine (21) selon la série de commandes d’actionneurs. Dispositif (10) de génération de commandes d'un système de simulation (100) d’un véhicule automobile, le simulateur étant équipé d’une plateforme de simulation (20) comprenant une cabine (21), une table de lacet (22), un hexapode (23), des rails (24, 25), un ensemble d’actionneurs (E A ), le dispositif comprenant des éléments (11, 12, 13, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212) matériels et/ou logiciels mettant en œuvre le procédé selon l’une des revendications 1 à 7, notamment des éléments matériels (11, 12, 13) et/ou logiciels conçus pour mettre en œuvre le procédé selon l’une des revendications 1 à 7.