FR 2788143 A1 20000707 FR 9816705 A 19981231 -4 SYSTEME ET PROCEDE DE CALIBRATION AUTOMATIQUE D'UN LOGICIEL DE CONTROLE L'invention concerne un système de calibration automatique d'un logiciel de contrôle-commande d'un organe mécanique, plus particulièrement d'un moteur à combustion interne de véhicule automobile. Elle concerne également un procédé de fonctionnement du système. Les logiciels de contrôle et de commande d'organes mécaniques, exécutés sur un micro-ordinateur, permettent de contrôler et de pilotei le fonctionnement de tels organes à l'aide de capteurs et d'actionneurs associés. Des applications particulièrement intéressantes sont par exemple le contrôle et la commande de l'injection électronique de carburant dans un moteur à combustion interne, ou le pilotage des changements de vitesse d'une boîte automatique. Dans le cas de logiciels appliqués à un véhicule automobile, ces logiciels de contrôle s'exécutent sur un calculateur, de type micro-ordinateur, embarqué à bord du véhicule et doté de modules électroniques périphériques, lui permettant de communiquer avec des capteurs et des actionneurs. Ces logiciels de contrôle comprennent de nombreuses cartographies, ainsi que d'autres paramètres par exemple de configuration, de linéarisation des lois de capteurs, de géométrie d'organes..., afin qu'un même logiciel puisse contrôler plusieurs organes d'une même famille, plusieurs moteurs par exemple, ou bien afin d'adapter un logiciel à un organe que l'on n'appréhende pas parfaitement. De plus, grâce à ces cartographies, il est possible de prendre en compte les caractéristiques d'efficacité du calculateur sur lequel le logiciel va être exécuté. Le choix de ces paramètres, appelés calibrations, s'appelle la mise au point ou la calibration. Calibrer une loi de contrôle et de commande, implémentée sur un calculateur, consiste à choisir un ensemble de calibrations. Actuellement, une technique pour calibrer un contrôleur d'organe comme un moteur à essence consiste à calibrer directement sur banc moteur ou dans le contexte d'utilisation réelle de l'organe, avec un calculateur sensiblement identique à celui qui sera mis en série ultérieurement. Pour cela, un mécanisme de mémoire partagée autorise l'accès aux calibrations se trouvant mémorisées dans le calculateur, afin de mettre au point le logiciel dans son contexte d'utilisation. Cette technique, qui nécessite un grand nombre d'essais avec l'organe à commander, est longue et coûteuse. Le but de la présente invention est de pallier ces inconvénients en réduisant le nombre d'essais. Elle propose une calibration automatique par bouclage du calculateur avec un environnement simulé. L'accès aux calibrations mises en mémoire est partagé entre le calculateur et l'outil permettant de les régler, par un moyen tel que la technique de "probing" ou de "bypass", décrit par exemple dans le brevet français 2 719 683 au nom de RENAULT. L'objet de l'invention est un procédé de calibration automatique d'un logiciel de contrôle-commande de l'organe implémenté dans un calculateur électronique, destiné à choisir un ensemble de paramètres, caractérisé en ce qu'il comprend une phase d'exécution dudit logiciel, à partir de scénarios de test système, par le calculateur en boucle fermée avec une simulation de l'organe contrôlé et de son environnement, suivie d'une phase d'analyse des résultats en sortie du calculateur selon des critères de fonctionnement déterminé de l'organe contrôlé. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description d'un exemple de réalisation, illustrée par les figures suivantes qui sont: - la figure 1: un schéma fonctionnel du système de calibration selon l'invention; - la figure 2: un mode de réalisation du système de calibration selon l'invention. Comme le montre le schéma fonctionnel de la figure 1, le système de calibration automatique selon l'invention est associé à un calculateur de contrôle et de commande d'un organe, auquel il envoie des scénarios de mise au point ou tests pour qu'il les exécute en fonction du fonctionnement de l'organe simulé et de son environnement également simulé. Le système comporte de plus un analyseur de résultats déterminant les calibrations qui satisfont les critères de bon fonctionnement de l'organe mécanique à contrôler. Le système 1 de calibration automatique selon l'invention comprend un fichier 11 de scénarios de tests, qui sont lus les uns à la suite des autres de sorte que chaque scénario est exécuté après que le scénario précédent soit lui-même exécuté complètement. Un scénario de test système d'une part comprend la caractérisation d'une calibration C à évaluer, calibration se trouvant physiquement à l'adresse A de la mémoire 20 du calculateur 2, et d'autre part prend en compte la description du contexte de la mise au point. Il s'agit du contexte de fonctionnement de l'organe mécanique à contrôler et du contexte de fonctionnement de l'environnement dudit organe. Les scénarios de test peuvent être générés automatiquement en parcourant entièrement des espaces cartographiés avec une granularité déterminée. Il est possible, pour une cartographie, dont chaque champ est défini sur 8 bits, ce qui représente 256 valeurs, de choisir par exemple une granularité 8 et de balayer les valeurs 0, 7, 15, .. Selon d'autres méthodes, les scénarios de test sont écrits à la main, ou bien encore ils sont définis à partir de méthodes heuristiques exploitant ou non les résultats obtenus auparavant, avec ou sans utilisation d'un modèle de l'organe mécanique à contrôler. Ils peuvent enfin être générés aléatoirement. Le scénario de test système comprend de plus un appel d'une routine d'écriture pour donner à la calibration C la ou les valeurs à tester. Il peut comprendre enfin..DTD: des critères d'évaluation spécifiques à la calibration. Le contexte 12 de fonctionnement de l'organe mécanique contrôlé, est défini par un ensemble de paramètres caractérisant son fonctionnement statique et dynamique et déterminés par des essais en phase de conception de l'organe. Le contexte 13 de fonctionnement de l'environnement de l'organe, constitué notamment par les actionneurs et capteurs qui lui sont associés, est défini par un ensemble de paramètres statiques et dynamiques. Par exemple, il s'agit de la température extérieure, de la climatisation mise en action ou la prise en compte de tout autre organe. On peut également ajouter des critères d'optimisation qui tiennent compte de données internes aux modèles d'organes, telles que la pression dans les cylindres dans le cas d'un modèle de moteur à combustion interne, qui sont inaccessibles autrement sur les organes. Pour que le premier scénario de test système soit exécuté, il faut que le calculateur 2 reçoive un ensemble 14 de paramètres de fonctionnement au début de la simulation de l'organe et de son environnement. Selon l'invention, le système de calibration automatique comprend un module 15 simulateur de l'organe contrôlé qui reçoit les paramètres définissant le contexte 12 de fonctionnement de l'organe et fonctionne en boucle fermée avec le calculateur 2. Ce peut être par exemple un modèle de couple moteur. Il comprend aussi un module 16 de simulation de l'environnement de l'organe, constitué par les actionneurs et capteurs du véhicule, qui reçoit les paramètres définissant le contexte 13 de fonctionnement de l'environnement du véhicule. Ce simulateur est simple et est constitué soit d'un ensemble de valeurs fixes, soit d'un scénario en boucle ouverte avec l'organe. Le calculateur 2 reçoit les paramètres initiaux de fonctionnement 14, puis des valeurs issues de la simulation de l'organe et de son environnement, pour réaliser une calibration automatique par une méthode de bouclage avec l'environnement simulé de l'organe. Le calculateur 2 est adapté à une possibilité de lecture/écriture sur les zones de mémoire o sont stockées les calibrations à mettre au point. Il comprend une mémoire 20 partagée, pointant sur les calibrations à mettre au point, par une technique entièrement physique de "probing" ou de "bypass" pour lire et écrire en zone de calibration, sans perturber le calculateur, ou par une technique logicielle modifiant les données dans la zone mémoire dédiée aux calibrations. L'unité de traitement électronique du calculateur 2 fonctionne en temps réel, comme il fonctionnerait sur un banc d'essais ou sur un véhicule dans un environnement réel. Aussi, le système comprend un module 30 de synchronisation des deux modules 15 et 16 de simulation avec le calculateur 2 en temps réel par opposition au temps simulé. Il n'y a pas d'acte de synchronisation, mais la simulation de l'environnement doit être exécutée rapidement dans son échange de signaux avec le calculateur. Ce module 30 de synchronisation permet, en fonction des possibilités hardware du calculateur 2, d'avoir un fonctionnement ralenti et d'utiliser des modèles de simulation plus lents et plus performants. Les valeurs de sortie d'un scénario de test délivrées par le calculateur 2 sont analysées par un module 17, à partir de critères 18 et des jeux de données produits lors de la simulation en boucle fermée entre le calculateur, l'organe contrôlé et son environnement. Le système comporte également un fichier 19 de stockage des calibrations retenues à la suite d'une analyse positive des résultats d'un scénario de test réussi. Pour chaque calibration, sont mémorisées son nom, son adresse, sa valeur et un indice d'évaluation de sa pertinence. Les tests qui échouent ne laissent pas de trace. Enfin, ces calibrations peuvent être visualisées sur un écran 21. Selon le mode de réalisation de la figure 2, le système de calibration peut être réalisé par un calculateur 30, ayant une zone de mémoire 31 qui contient les calibrations à mettre au point. Cette zone de mémoire est accessible à la fois par l'outil de calibration automatique et par le calculateur. Il comprend aussi un moyen 32 de lecture et d'écriture, par l'outil de calibration automatique, sur la zone de mémoire 31 contenant les calibrations. Des stimuli 33 sont générés à partir du modèle de l'organe à l'intention du calculateur 30, sur les entrées-sorties 34 duquel circulent d'une part les signaux émis par le calculateur et d'autre part les signaux générés à partir du modèle de l'organe à l'intention du calculateur. Une interface 35, de type PC, permet de visualiser les résultats et de commander le procédé de calibration automatique selon l'invention. La calibration d'un régulateur linéaire faisant partie d'une unité de traitement électronique de contrôle du moteur, tel que la régulation du ralenti par exemple, est réalisée selon le procédé classique suivant. Un type de modèle linéaire Gt(pi) est choisi, par exemple un intégrateur ou un retard pur avec Pi comme paramètres du modèle Gt, pour approximer le comportement du moteur en fonction de transfert réel et les paramètres Pi de ce modèle sont calés à partir d'une série d'essais sur le moteur à calibrer. On regarde par exemple la réponse en régime moteur à un échelon de quantité de carburant injecté. Ensuite sont déduits les paramètres ci du régulateur, soit les paramètres Kp et Ki d'un correcteur proportionnel intégral, en appliquant une méthodologie de déduction ci = f(pi) à partir des paramètres Pi du modèle Gt. Il existe plusieurs méthodologies de déduction, telles que marge de gain - marge de phase, minimisation d'un critère quadratique, etc.... Dans le cas de la méthode marge de gain marge de phase, les paramètres Mg et Mp sont choisis arbitrairement et constituent le résultat d'un compromis entre robustesse et efficacité du contrôle. Pour connaître au mieux les valeurs des paramètres Pi du modèle Gt, sur un intervalle [Pi - 6Pi, Pi + SPi]' on réduit la taille de cet intervalle en augmentant le nombre d'essais, c'est-à-dire de réponses à des échelons d'entrée, à condition que la famille de fonctions de transfert Gt soit réellement proche de la fonction réelle G dans la zone de fonctionnement. Si le nombre d'essais est limité, pour des raisons de coût notamment, dpi reste grand et tous les coefficients ci dans l'intervalle [ci - Sci, ci + &ci] sont équivalents pour le critère choisi, avec 6ci = (dci/dPi)*Spi. On constate par conséquent qu'il n'est pas toujours avantageux de construire et d'utiliser une base d'essais dynamiques sur un moteur réel pour régler un contrôleur linéaire. Une première source d'incertitude provient de l'incertitude sur les paramètres Pi du modèle Gt, d'autant plus grande que les essais sont peu nombreux. Et la seconde source d'incertitude (dci/dpi) est caractéristique de l'écart entre un système non linéaire et son modèle linéaire approché. Aussi, le réglage d'un régulateur à partir d'une simulation de l'organe par un modèle bien adapté est bien meilleur. De plus, le principal avantage de cette invention est la réduction considérable de la durée de la calibration et donc de son coût par diminution du nombre des essais avec l'organe contrôlé. R E V E N D I C A T IONS 1. Procédé de calibration automatique d'un logiciel de contrôle-commande de l'organe implémenté dans un calculateur électronique, destiné à choisir un ensemble de paramètres, caractérisé en ce qu'il comprend une phase d'exécution dudit logiciel, à partir de scénarios de test système, par le calculateur en boucle fermée avec une simulation de l'organe contrôlé et de son environnement, suivie d'une phase d'analyse des résultats en sortie du calculateur selon des critères de fonctionnement déterminé de l'organe contrôlé. 2. Système de calibration automatique d'un logiciel de contrôle-commande d'organe, implémenté dans un calculateur électronique, mettant en oeuvre le procédé selon la revendication 1, caractérisé en ce qu'il comporte: un premier module (15) de simulation de l'organe contrôlé en boucle fermée avec le calculateur (2); - un second module (16) de simulation de l'environnement de l'organe contrôlé en boucle fermée avec le calculateur (2) et en boucle ouverte avec le premier module (15) simulateur d'organe; - un fichier (11) de scénarios de tests systèmes destinés à être lus et exécutés par le calculateur (2); - un module (17) d'analyse des résultats déterminant les calibrations; un fichier (18) de mémorisation des calibrations retenues après analyse. 3. Système de calibration automatique selon la revendication 2, caractérisé en ce qu'un scénario de test système comprend: - la caractérisation d'une calibration (C) à mettre au point, se trouvant à une adresse (A) donnée dans la mémoire (20) du calculateur électronique (2); - la description du contexte de la mise au point, soit l'ensemble des paramètres caractérisant le fonctionnement statique et dynamique de l'organe contrôlé, l'ensemble des paramètres caractérisant le fonctionnement statique et dynamique de l'environnement dudit organe contrôlé, des critères d'optimisation tenant compte de données internes à l'organe et à son environnement simulé et l'ensemble des paramètres de fonctionnement du calculateur (2) au début de la simulation; - un appel d'une routine d'écriture pour donner à ladite calibration (C) la ou les valeurs à tester stockées dans la mémoire (20) du calculateur (2). 4. Système de calibration automatique selon la revendication 3, caractérisé en ce qu'un scénario de test système comprend de plus des critères d'évaluation spécifiques à la calibration (C). 5. Système de calibration automatique selon la revendication 2, caractérisé en ce que le calculateur électronique (2) comporte une mémoire (20) partagée pointant sur les calibrations à mettre au point, par une technique de "probing" ou de "bypass" permettant de lire et écrire dans la zone dédiée aux calibrations sans perturbation du fonctionnement du calculateur, ou par un programme embarqué dans le calculateur, destiné à modifier les données dans la zone mémoire dédiée aux calibrations. 6. Système de calibration automatique selon la revendication 2, caractérisé en ce que la simulation de l'organe contrôlé et de son environnement sont exécutées en temps réel avec le fonctionnement du calculateur (2). 7. Système de calibration automatique selon la revendication 6, caractérisé en ce qu'il comporte de plus un module (30) de synchronisation des modules de simulation (15) de l'organe contrôlé et (16) de son environnement, permettant d'obtenir un fonctionnement ralenti et d'utiliser des modèles de simulation plus lents et plus performants en fonction des possibilités hardware du calculateur (2).