• Aucun résultat trouvé

CHAPITRE 1 : REVUE DE LITTÉRATURE SCIENTIFIQUE

1.3 La modélisation mathématique

1.3.4 Le modèle dynamique

Tous les paramètres déterminés précédemment sont exprimés sous la forme d’un mo- dèle dynamique, c’est-à-dire d’un système d’équations qui caractérise la dynamique du

mouvement du système multi-corps. La complexité associée à la représentation du corps influence le modèle dynamique de même que le temps de résolution des calculs nécessaires à la simulation [116]. Ainsi, la deuxième loi de Newton et le théorème du moment cinétique (Euler) peuvent être utilisés dans le cas d’un modèle simple à peu de segments avec une for- mulation «à la main» (par exemple Hiley et Yeadon [85]). Toutefois, lorsqu’il s’agit d’un modèle complexe, il est préférable d’utiliser un générateur d’équations symboliques tels que MapleSim et HuMAnS (Humanoid Motion and Analysis) [168] permettent de générer les équations du mouvement sous la forme de code source. Ces générateurs d’équations expriment la dynamique du système multi-corps grâce aux équations du mouvement et génèrent des algorithmes sous différents formalismes [65]. Les différents formalismes com- muns sont ceux de Kane, de Newton-Euler [3,13,108], de Euler-Lagrange [116, 136] et de Hamilton. Le choix du formalisme utilisé influence ensuite le choix de la méthode choisie pour l’intégration des équations du mouvement [50]. En effet, la stabilité des équations différentielles est déterminante de l’application de la méthode numérique [117]. Le for- malisme d’Euler-Lagrange présente l’avantage de calculer la dynamique en une opération puisqu’il n’est pas itératif à la différence des équations de Newton-Euler [94]. Pour utiliser la simulation de manière interactive dans un environnement virtuel, il est nécessaire que les algorithmes permettent la simulation en temps réel [176]. Alors que durant les années 1990, il était encore difficile d’effectuer la simulation en temps réel [27], l’augmentation de la vitesse des processeurs utilisés maintenant a permis d’accélérer considérablement la simulation [192]. Dans les travaux de Murthy et Keerthi [136], celle-ci pouvait même être beaucoup plus lente : La simulation d’un plongeon du 10 m d’une durée d’environ 1,5 s avec un modèle à 4 degrés de liberté prenait un minimum de 10 minutes. Du côté de Wooten et Hodgins [176], la simulation du plongeon était environ 7,5 fois plus lente que le mouvement réel en fonction des ordinateurs utilisés. De plus, la façon dont les équations sont écrites influence le temps de calcul et peut être responsable de temps de calcul jusqu’à 10 fois plus long [136]. De nos jours, la simulation d’un plongeon du 5 m peut être 3,7 fois plus rapide que le mouvement en temps réel avec un modèle tel que celui à 26 degrés de

liberté développé par Zhao [192].

Étant donné la complexité des équations qui forment le modèle dynamique, l’intégration de l’équation se fait à l’aide d’un solveur d’équations differentielles ordinaires (EDO). La précision et la stabilité des méthodes numériques disponibles sont des aspects importants à considérer en plus du coût de calcul. Les méthodes de résolution d’Euler figurent parmi les moins stables et les moins précises, même lorsqu’elles sont comparées à des méthodes qui utilisent le même pas (stepsize) [144]. Les méthodes Runge-Kutta, Adams, Burlisch-Stoer et prédictrice-correctrice2 (Euler’s predictor-corrector ) figurent parmi les plus populaires et les plus développées [92, 153]. Souvent utilisée en ingénierie, la méthode Runge-Kutta de second ordre, aussi connue sous le nom de «méthode d’Euler améliorée», implique que l’équation soit intégrée à deux reprises à chaque intervalle. Elle est seulement un tantinet plus précise que la méthode d’Euler. Le fonctionnement général de ces méthodes est de trouver une solution sur un intervalle en combinant l’information obtenue à chaque pas. Meilleures que la méthode d’Euler, les méthodes Runge-Kutta offrent un bon compromis quant à la précision, à la stabilité et aux temps de calcul.

De façon générale, une méthode Runge-Kutta ayant un ordre plus élevé pourra pro- duire des résultas plus précis. Ceci n’est toutefois pas le cas lorsqu’il s’agit d’une méthode Runge-Kutta d’ordre 5. En effet, bien que cette méthode soit théoriquement plus pré- cise, le fait qu’il ne soit pas possible de contrôler l’erreur de troncature, c’est-à-dire la différence entre la vraie réponse et la réponse obtenue à l’aide de calculs, affecte l’intérêt d’utiliser cette méthode puisqu’il n’est pas possible de vérifier l’exactitude des résultats [144]. Les méthodes Runge-Kutta dites intégrées permettent de pallier ce problème en estimant l’erreur de troncature de chaque pas, ce qui permet le contrôle automatique de celle-ci par la variation de la taille du pas. La grande flexibilité dans la taille du pas variable permet aux méthodes Runge-Kutta intégrées d’être plus performantes que les méthodes d’Adams [36]. Les méthodes Runge-Kutta intégrées sont les méthodes les plus largement utilisées [25,58,92,94,108,157]. Parmi les multiples variantes, les méthodes de

Fehlberg, Dormand-Prince et Cash-Karp correspondent à une combinaison des méthodes Runge-Kutta d’ordre 4 et d’ordre 5. La méthode de Dormand-Prince s’intéressent à l’erreur globale sur l’intervalle [59] afin de gérer le comportement de la méthode numérique [153]. Ce contrôle est effectué à l’aide de l’implémentation d’un régulateur tel que le régulateur proportionnel intégral dérivé (contrôleur PID) et permet d’augmenter la stabilité ainsi que la précision. Si le problème est instable, l’erreur locale à chaque pas sera propagée et souvent amplifiée sur les pas suivants ce qui influence l’erreur globale et la solution numé- rique. Ce régulateur agit de trois manières avant d’adapter automatiquement la taille du pas intial de l’intervalle. Ainsi, l’action proportionnelle implique l’erreur à l’instant voulu, l’action intégrale concerne l’accumulation des erreurs précédentes et finalement, l’action dérivée s’intéresse à l’erreur future. Lorsque l’erreur est sous le seuil de tolérance, le pas est accepté. Au fur et à mesure que les pas sont acceptés et que le code se stabilise, l’algo- rithme augmente progressivement la taille des pas. Cependant, une augmentation soudaine de l’erreur fera réagir le contrôleur qui diminuera drastiquement la taille des pas. Ce rejet du pas tenté est couteux en temps puisqu’il implique de reprendre le processus avec une taille de pas plus petite jusqu’à ce que le celui-ci soit accepté. Pour minimiser les temps de calculs, il est pertinent de mettre l’emphase sur l’amélioration du contrôleur. La méthode Dormand-Prince est celle implémentée dans Maltlab sous la fonction ode45 ainsi que la méthode par défault utilisée par Simulink. Cette fonction a été utilisée par plusieurs [94] et est suffisamment précise, stable et rapide pour s’appliquer à la simulation de la phase aérienne de plongeons.