Tout d'abord bonjour à tous,

Cherchant un forum où exposer mon soucis, je suis tombé ici et me suis donc tout naturellement inscrit.

Voici donc mon soucis. Il y a deux ans un portage à été réalisé de Matrix-X vers Matlab à l'aide des librairies Sb2SL (portage semi-automatique on va dire). Actuellement, je suis en train de reprendre ce modèle de façon à en supprimer tous les blocs Stateflow et Sb2Sl de telle sorte qu'il ne soit composé que de blocs classiques.

Il y a un bloc qui me pose un sérieux problème cependant:

Voir ici

Grosso modo, on entre une consigne d'effort ainsi que la pente vue par le système, et le bloc en ressort une accélération et la vitesse.

La vitesse calculée en sortie est bien sur utilisée comme entrée à l'intérieur du bloc, il y a donc une condition initiale de vitesse V0.

Sur le screen on peut voir dans le scope gauche l'écart entre les deux sorties accélération cet écart est de l'ordre de 1e-17.

Une fois l'accélération intégrée l'écart n'est plus que de 1e-4.

Le truc c'est que j'ai ici modifié le modèle de façon à entrer une mesure de la vitesse enregistrée à partir d'une simulation du vieux modèle et à la réinsérer directement en même temps que les entrées qui vont bien (enregistrées lors de la même simulation). Ainsi ça permet de mettre en évidence le soucis (passer de 1e-17 à 1e-4).

Le problème c'est qu'en théorie il y a une boucle fermée sur la vitesse.

Ici une vue intérieure du bloc

Ainsi vous pouvez voir que normalement la vitesse est rebouclée sur les blocs motricié et résistance.

Ce problème s'amplifie donc pour donner des résultats de ce type lorsque la vitesse est bouclée:

ici

De plus, l'information de vitesse étant utilisée pour calculer divers autre paramètres dont notamment la consigne d'effort qui revient en entrée du bloc dynamique.... cela me pose un sérieux problème, les sorties ayant des écarts de l'ordre de 1e-3 ce qui n'est pas acceptable, qui plus est les sorties de deux blocs en particuliers étant multipliées par des masses (importantes) celà conduit à des écarts ponctuels importants (450 ou 300 selon la branche, mais uniquement sur une itération, phénomène répétable de temps en temps sur la simulation).

Ce que je cherche à résoudre donc, c'est, qu'elle solution pourrait être envisagée pour conserver un écart négligeable entre les sorties de vitesse. Je précise que les intégrateurs sont les même, que les entrées ont les même périodes d'échantillonage, et que les conditions initiales sont bonnes.

De plus j'ai fais le test de prendre un signal en entrée de deux intégrateurs, et pour l'un rajouter un bruit blanc de demi-amplitude 1e-16, au final je me retrouve bien avec un écart sur la sortie de l'ordre 1e-15, donc je ne comprends pas ce qui se passe là -_-

Merci à ceux qui essaieront/sauront m'aider

Cordialement,