Bonjour,
Je m'adresse aux utilisateurs vétérans de simulink...
Comme certains le savent peut-être déjà, je travaille sur un projet ("confidentiel" --> je ne peux pas poster les sources de ce sur quoi je bosse, donc pas simple pour demander de l'aide ) : les pilotes automatiques d'hélicoptères.
Une partie de mon travail consiste à intégrer un pilote automatique (créé sur simulink) sur simulateur. Jusque là tout va "à peu près bien"... là où ça se corse, c'est que le simulateur est utilisé par beaucoup de personnes, donc je ne peux pas faire mes modifications et mes tests directement dessus, car sinon ça coûterait trop cher.
Bref, tout ça pour en arriver à l'introduction de mon problème... j'ai créé sur simulink un "faux simulateur" qui ne fait que des simulations temporelles de mon système, et sur lequel j'ai intégré mon pilote automatique. Vous pouvez imaginer le gros "bordel" (des centaines de variables, des blocs, des sous-sous-blocs etc... qui s'imbriquent dans tous les sens, des boucles de régulations à gogo, etc...).
Et mon problème est le suivant : dans ce gros bordel - excusez-moi l'expression, mais c'est le cas - je ne suis plus sûr de savoir où commence ma simulation... c'est vrai : où est-ce que simulink débute sa simulation ?
J'ai une grosse envie : remettre à plat mon "faux simulateur" en utilisant des méthodes d'utilisation de simulink un peu plus structurée que ce que j'ai fait jusqu'à maintenant. Du coup, est-ce que quelqu'un pourraît m'indiquer des conseils, tutos, voire même exemples un peu complexes sur l'utilisation de simulink... ?
Si je pose ce genre de question, c'est en particulier à cause d'un souci que j'ai : ma simulation débute bien à l'instant "0", mais les variables sont toutes initialisées à 0 pendant genre 0.02 secondes, alors qu'elles devraient débuter à des valeurs non nulles... Après ces 0.02 secondes, la simulation débute "correctement", mais pendant ces 0.02 secondes, une grande partie de mes variables sont à 0, alors qu'elles ne devraient pas l'être !
Petite précision : je travaille avec des variables discrètes, des représentations d'état ayant des conditions initiales spécifiées correctement, mais j'ai l'impression que ces valeurs ne sont pas prises en compte à l'instant initial... mais correctement aux instants suivants... (à partir de l'instant T0 + 2). De plus j'ai utilisé un "Embedded Model" pour appeler mon module de "pilote automatique" dans mon modèle complet (qui utilise les mêmes paramètres temporels et de calcul que mon modèle global). Par ailleurs, j'ai dû utiliser des blocs "Memory" et "RateTransition" pour enlever des erreurs que j'avais dans mes simulations.
Cordialement,
Partager