FR 3084491 A1 20200131 FR 1800818 A 20180726 Le domaine technique de l' il est celui des procédés permettant de corriger les données lors de communications entre différents processus. Il est classique dans les systèmes automatisés de voir communiquer différents processus, l'un des processus (ou processus consommateur) utilisant: une ou plusieurs données issues d'un autre processus (dit processus producteur). Généralement chaque processus est piloté par un processeur et engendre différentes données qui sont utilisées 10 par différents organes du Lorsque le même processeur pilote les deux processus, ces derniers sont synchronisés car ils utilisent la. même horloge Les données du processus producteur sont donc fournies au processus consommateur la fréquence de travail de ce 15 dernier Les données sont donc toujours d'actualité et en phase entre les processus. Lorsque les - deux processus fonctionnent avec des processeurs distincts Pt qui utilisent des horloges n/ayant pas la même fréquence d'échantillonnage, risque de se 20 produire un décalage temporel entre les processus. Lorsque par ailleurs le processus consommateur est plus rapide que le processus prodticteur, les données dont dispose le processus consdrumateur vont se trouver périodiquement trop anciennes et. pourront conduire â une imprécision des résultats obtenus par 25 le processus consolimateur. A titre d'exemple, si on considère un. dispositif d'entraînennt au tir qui associeune tourelle dotée de son électronique de contrôle et d/asservissement et. un logiciel de simulation animant un. mondevirtuel dans lequel doit 30 opérer la tourelle, l'électronique de commande de la tourelle va se trouver pilotée par les ordres issus du logiciel de simulation. En particulier l'opérateur va désigner des cibles dans le inonde virtuel et la tourelle va devoir pointer sur ces cibles éventuellement animées. ûr les logiciels de simulation. fonctionnent de façon périodique, le plus souvent avec une fréquence qui n'excède pas celle de rafraichissement des écrans (60Hz) alors que les calculateurs de conduite de tir et. de commande de pointage de tourelle fonctionnent avec une fréquence de l'ordre de 100 Hz. i/asservssement de la conduite de tir va donc devoir se faire sur la base de données de cibles simulées qui parviendront avec une fréquence plus faible, donc avec des déphasages (c'est à dire les écarts temporels les instants de production et de consommation d'une donnée) variant entre 0 et une période du processus producteur. Ces déphasages sont assimilables à du bruit de mesure, et engendrent des erreurs sur les pointages obtenus. n'est lé but de l'invention que_ de proposer un procédé. permettant de corriger les données issues du processus producteur pour. permettre au processus consommateur de fonctionner.. de façon plus fiable. Ledit procédé permet donc de diminuer le bruit de mesure des données consommées par le processus consommateur. Ainsi l'invention e pour objet un procédé de correction de données entre un. premier processus périodique, dit processus producteur, et. un. second processus périodique dit processus consommateur, incorporés dans un système automatisé 25 sans horloge commune, le processus consommateur utilisant au moins une donnée fournie par le processus producteur pour élaborer au moins une information d'état du système, et la période du processus producteur étant supérieure à la. période du processus consonmateur, procédé caractérisé en ce qu'on 30 utilise au moins deux données successives issues du processus producteur pour élaborer une donnée corrigée qui est Utilisée par le processus consommateur à la. place de la donnée` la plus récente reçue du processus broducteux. 3 La donnée corrigée utilisée par le processus consommateur pourra être élaborée en appliquant une formule d/extrapolation d'ordre n au moins égal à 1, formule combinant les n+1 dernières données du processus producteur 5 et au moins un horizon d'extrapolation défini comme une moyenne des écarts en temps qui interviennent entre la production dos données par le processus producteur et la consommation desdites données par le processus consommateur pour le type de données considéré et sur une période globale. 10 On pourra en particulier définir au moins deux horizons extrapolation différents, un premier horizon d'extrapolation associé aux données reçues pour la première fois par le processus consommateur et un deuxième horizon d'extrapolation associé aux données n'ayant. pas été 15 rafraTchies depuis la période précédente du processus consommateur. Selon un mode particulieeo de réalisation, la période du Processus producteur et la période du processus consommateur sont commensurables ou peuvent être rendues commensurables avec une échelle de mesure donnée. Selon un autre mode de réalisation, la période du processus producteur et la période du processus consommateur sont pas commensurables mais sont remplacées dans le calcul des données corrigées et des horizons d'extrapolation par des approximations numériques desdites périodes, approximations réalisées par arrondissement à 10' prés d'une unité de temps commune, les approximations pouvant ainsi être rendues entières et commensurables avec une échelle de mesure donnee Avantageusement période globale pourra être finie comme le PPCM des périodes du processus producteur. et du processus consommateur ou de leurs approximations entières, exprimées en nombre entier d'une échelle de mesure. 4 La formule d'extrapolation pourra être du type développement limité. Selon un mode particulier de réalisation, le développement. limité est du 1' ordxe, soit Dcor - H (Fa,- 5 p.i.)), 2A) Selon un autre mode de réalisation, le eiéveloppement limité est du 2nd ordre, soit D' = Dii-(Hj/TA)[3(Di Di -2 ) j /2+ (H1 /T,) 2i ( - 1 (D1-1--Di-2) / 2 - L'invention a également pour objet un système automatisé W mettant en oeuvre un tel procédé, système caractérisé en ce qu'il est constitué par. un dispositif d'entraînement au tir, associant d'une part une tourelle canon. et un calculateur de pointage tourelle et d'autre part un calculateur de siimulaton d'un environnement virtuel, le calculateur de pointage mettant en oeuvre le processus consommateur pour élaborer un pointage de la. tourelle et le calculateur de simulation mettant en oeuvre le processus producteur. pour élaborer une image virtuelle dans laquelle le pointage de l'arme commandé par un utilisateur est incorporé, 20 calculateur de pointage utilisant les données issues du calculateur de simulation pour commandés le pointage de la. tourelle en. fonction des informations de localisation de cible fournies par le calculateur de simulation. L'invention sera mieux comprise à la lecture de la 25 description qui va suivre d'un exemple de réalisation, description faite en référence aux dessins annexés et dans lesquels : - La figure 1 est un schéma d.' un système automatisé selon un exemple de réalisation de l'invention ; 30 La figure 2 montre un chronogramme représentant en parallèle la conduite de deux processus périodiques avant des périodes différentes ; - Les figures 3a à , sont. des chronogrammeà permettant de visualiser les différents écarts observés entre les données ; - La. figure s est un logigramme schématisant les 5 principales étapes du procédé selon l'invention. En se reportant. à la figure 1, un système automatisé 1 selon un mode de réalisation de l'invention est constitué par r - un dispositif d'entraînement au tir 1 associant, d'une 10 part une tourelle canon 2 et un calculateur 3 de pointage tourelle, et d'autre part un. calculateur 4 de simulation d'un environnement virtuel relié à un écran de visualisation Pour. des raisons de réalisme de la simulation, le calculateur 3 de pointage ainsi que les motorisations a 15 tourelle sont identiques aux. équipements présents dans un véhicule. réel. Le calculateur. a un fonctionnement périodique cadencé à une fréquence de 100 Hz (soit une période de rafraîchissement des signaux qui est égale à 10 millisecondes). 20 Ce calculateur 3 met en oeuvre un processus B, dit consommateur, qui élabore le pointage de la tourelle à partir des informations fournies par le calculateur de simulation 4 sur lequel agit l'opérateur utilisant le simulateur 1. 25 Le calculateur de simulation 4 génère sur l'écran 5 une image d'un environnement vHtuel dans lequel évolue le véhicule équipé de la tourelle 2, Cet environnement inclut des cibles dont le calculateur de simulation 4 peut élaborer les coordonnées et l'opérateur gui souhaite traiter les 30 cibles va interagir avec le calculateur de simulation 4 par le bilis d'une interface homme / machine 6, afin de commander la tourelle 2 pour assurer un pointage en direction de la cible et éventuellement permettre une poursuite automatique de la cible si cette dernière est mobile. Les coordonnées de pointage sont, donc périodiquement élaborées et rafraîchies par un. processus A, dit processus producteux, qui est piloté par le calculateur de simulation 4. Ces données D sont fournies au processus consommateur B 5 qui est conduit par le calculateur de pointage 3. Ainsi, le processus producteux A permet d'élaborer une Lmage virtuelle dans laquelle le pointage de l'arme commandé par un utilisateur est incorporé, et le calculateur de pointage 3 utilise les données D issues du calculateur de 10 simulation 4 pour commander le pointage de la tourelle 2 en fonction des informations de localisation de cible fournies oar le calculateur de simulation 4. Le calculateur de simulation 4 a une fréquence de fonctionnement de son processus producteur A gui est de 60 15 Hz. Cette fréquence est en. effet celle de la plupart des a_fficheu_cs numériques et il est inutile d'adopter une fréquence supérieure qui ne permettrait pas de rafraîchir l'affichage sur l'écran 5. La. période TA de rafraîchissement des données D fournies par le processus producteur A est donc 20 égale à 16,67 millisecondes (période arrondie au centième de milliseconde le plus proche). Dans la suite de la description, pour la simplicité des représentations graphiques, on considérera un processus producteur A ayant. une période TA égale à 12 millisecondes et 25 un processus consommateur B ayant une période TB égale à 8 millisecondes. La figure 2 montre ainsi sur un. chronogramme et de façon. schématique la succession le long de l'échel1e des temps (t1 des processus producteur A ét consommateur B. Les processus 30 sont reorésen Ps sous forme de réglettes divisées en unités de temps, ici une milliseconde entre chaque graduation. On. retrouve sur chaque réglette des blocs, séparés par des lignes pointillées, et correspondant à un cycle (CA ou CB) du processus considéré. Chaque bloc a une longueur proportionnelle à la période ou T5 du processus en question. D'une façon simplifiée le processus consommateur B utilise pour fonctionner les dernières données D reçues du 5 processus producteur A. Du fait de la différence de période des deux processus, le processus consommateur. B est donc périodiquement obligé d'utiliser pour au moins deux cycles successifs CN (deux périodes successives TE3) les mémés valeurs E données D issues du processus producteur A. en résulte un bruit de mesure pouvant nuire au pointage de la tourelle. On notera q l' inve rse, processus x :odu entre Ti, et 2'ire . 17: sont plus E Dans ces cas, il pourra. y avoir: des écarts dits 20 tertiaires ou d'une façon générale d'ordre n, lorsque les données fournies par le processus producteur A sont utilisées par le processus consommateur B trois fois ou n fois. On définira alors d'autres horizons d'extrapolation. Hi toujours par le calcul des moyennes des écarts en temps 25 d'ordre n possibles entre le processus producteur A et le processus consommateur B pour la période globale TAB. Par ailleurs la formule d'extrapolation d'ordre 1 décrite précédemment pourrait être remplacée par une formule d'extrapolation d'ordre supérieur utilisant plus de deux 30 valeurs successives de la donnée Di. Par exemple une formule d'extrapolation parabolique (ordre 2) telle que Dcor - DP- (Hi /Th) u3 -(Dp1 Di-2) ] /2 (H1 /TA) 2 ( ) -- ( Di -1.-Dis-21 1 /2 13 Les p inc ipes décrits précédemment sont appliqués de la même façon avec. un orocesus producteur A ayant une eériode TA de 16,67 millisecondes (soit la période correspondant à une fréquence de 60Hz, arrondie au centième de mililseconde) 5 et un processus consommateur 13 avant une période TB de 10 ms (100Hz). Avec ces deux processus périodiques, 3,TA - 5.TE, et la succession des écarts évolue donc encore périodiquement avec une période de 50 millisecondes. Le nombre des en;:,rte. M possibles est. là encore fini. au cours de la période globale TAD - 50ms et il est possible de calculer les moyennes des écarts primaires et secondaires La valeur D' ainsi calculée est utilisée par le processus consommateur B à la place de la donnée la plus 5 récente Di reçue du processus producteur A. L'invention a été décrite dans une application dans laquelle les processus producteur et consommateuront des périodes commensurables avec une unité de temps donnée. Il est possible égaleraent de mettre en oeuvre l'invention. 20 avec des périodes qui ne sont pas commensurables. Dans ce cas on applique toujours; une formule d'extrapolation. d'ordre n au moins égal à. 1, formule coMeinant les n+1 dernières données du processus producteur et au moins un horizon d'extrapolation défini comme une 1S moyenne des écarts en. temps gui interviennent entre la production des données par le processus producteur et la consommation desdites données par le processus consommateur pour le type de données considéré et sur une période globale. Pour appliquer cette formule on va réaliser tout d'abord 30 une approximation. numérique entière des périodes TA et Tg des processus producteur (TA) et consommateur (Ti.). On pourra noter rri..n et Tun les approximations numériques entières de TA et T13 obtenues' après que. TA Ta aient été arrondis à 10' près d'une unité de temps commune - ou échelle de mesure 14 (secondes, llisecondes, microsecondes, nanosecondes ou autres...). Cette approximation conduit considérer des . . périodes TA' et. Ti," qui deviennent entières et donc commensurables. 5 11 est donc possible d'appliquer le procédé décrit précédemment et de calculer le PPCM des périodes TA et qui correspond à la période globale TA.B. sur laquelle on. calculera les écarts en temps E, possibles entre. les deux processus. 17 Corme dans le mode de réalisation précédent on dl des horizons de mesure différents en fbnction de l'ancienneté de la donnée considérée. Si la donnée reçue est datée de moins d'une période 121,11 on choisira un premier horizon HI, si la donnée reçub est 15 datée de plus a une période TB' et de moins de deux période TF.,n, on choisira un horizon R. Si la donnée reçue est datée de plus de deux périodes Tj et de moins de 3 pri odes Tir, on choisira un horizon H3, et ainsi de suite, Chaque horizon Hi pourra être calculé sur une ou 20 plusieurs périodes globales au cours d'une phase préalable d'apprentissage puis mémorisé pour être utilisé ensuite dans les formules d'extrapolations. Les performances du procédé selon l'invention dépendront de la précision de l'approximation choisie. Pour' une 25 approximation d'ordre donc lorsque les périodes TA et TB des pro cessns producteur A ct consommateur B sont remplacées dans l'évaluation de la correction à apporter par des périodes TAI" et TH", valeurs entières obtenues après que TA et 1,3 aient été arrondis à 10'1 près d'une unité de temps 30 coKmune, on pourra donc évaluer des horizons d'extrapolation. d'ordre n notés Hi". Plus la valeur de n est importante, plus la précision apportéb à la définition des horizons est. écalement importante, et plus la correction des données est précise. 15 A titre d'exemple, on considère un processus producteur Ts= n secondes et un processus consommateur TB = seconde. Un premier niveau d'approximation. isi:era. à remplacer, pour le calcul de La correction, TA et Is par TAI et Tè ava 3 secondes et Tj = I seconde. Les horizons d'extrapolation pour ce premier niveau d'extrapolation seront alors notés H11' H r 1131 et seront évalués pour une période globale TAS = 3 secondes (horizons exprimés en seconde). Un deuxième niveau d'approximation consistera lu remplacer, pour le calcul de la correction, TA et TB par et Tê avec = 31 dixièmes de seconde et T32 10 dixièmes de seconde. Les horizons d'extrapolation. pour. ce deuxième niveau d'extrapolation seront alors notés ETk2 seront évalués pour une période globale TAB - 310 dixièmes de second. (horizons exprimés en dixièmes de seconde.). Un. troisième niveau d'approximation consistera remplacer., pour le calcul de la correction, et TE par T2 et iisavec T3 c 314 centièmes de seconde et T33 = centièmes de seconde. Les horizons d'extrapolation pour 20 troisième niveau d'extrapolation seront alors notés H13, H23, nt seront évalués pour une période globale .TAS -= 15700 centièmes de seconde (horizons exprimés en centièmes de seconde). Nota 1,700 est le PION de 314 et de 100. Bien entendu le choix de la précision souhaitée pour ta 25 correction sera effectué par l'Homme du Métier après différentes simulations adaptées aux processus à mettre en oeuvre. L'Homme du Métier prendra notamment en compte les précisions avec lesquelles sont connues les périodes et. TE. 30 T figure 4 schématise les différentes é apes du procédé selon l'invention. Au cours d'une première étape Si d'un cycle Ci du processus consommateur B, ce processus identifie la dernière donnée Di reçue du processus producteur A et mesure son. ancienneté exprimée en périodes du processus B. Les données Bi sont parallèlement mises en mémoire par le processus B, au. fur et à mesure de leur réception, et marquées par les numéros respectifs du cycle 02 du processus consommateur B au 5 cours desquels elles sont parvenues au. processus B. Au cours de la deuxième étape 52, cette donnée reçue Di est associée à son horizon H d'extrapolation Qui est choisi selon. le retard entre le cycle courant du processus B et le cycle au cours duquel Di est parvenue au processus B. 10 Au cours de la troisième étape SI on calcule une donnée corrigée 0cor par la formule d'extraoolation F extra visée précédemment. Cette donnée corrigée D'- est utilisée par le processus consommateur P en lieu. et place de la dernière donnée Di reçue du processus producteur A. Les différentes étapes du procédé selon l'invention seront incorporéesavantageusement sous forme de code logiciel en entrée du calculateur de pointage 3, en a=nt du processus consommateur B. 20 Grâce à l'invention ainsi une « anticipation » des commamdes transmises par le processus producteur A et un signal de commande moins bruité entre les deux processus A et On a pu ainsi vérifier que, pour le pilotage des moteurs 25 de commande de pointage en gisement et en site de la tourelle 2, les écarts entre la consigne de pointage (ligne de visée) et le pointage effectif se trouvaient réduits dans les proportions suivantes : Ecart maximum réduit de 2/3 30 Ecart moyen : réduit de 1/3. Ces performances assurant une condui e de la b mul at oc pi conforme à la réalité en matière de pointage. 17 L'invention e été décrite MM dans son application à a système automatisé de type dispositif d'entraînement au Sc Il est clair qu'il est possible d'appliquer l'invention pour corriger les données entre deux processus périodiaues fonctionnant. sans base de temps communei Il en résultera les mêmes avantages en termes de réduction de bruit de mesure pour le processus consommateur. On pourra par exemple appliquor procédé selon l'invention à un :Dtème associant plusieurs systèmes de simulation distribués (« fédération de simulations ») où Lnaçue simulation. fonctionne selon période Prêt:Jim, générée localement et échanue des données avec les autres systèm.es. 18