Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
72 Chapitre 5. Le modèle géométrique dans HuMAnS<br />
favoriser les contributions extérieures afin de développer des applications tant en robotique<br />
qu’en biomécanique. Cette seconde partie de notre travail entre dans cette démarche de<br />
développement en biomécanique.<br />
Ce logiciel fonctionne sous trois environnements de programmation : Maple TM , un<br />
compilateur C et Scilab. Maple TM est tout d’abord utilisé pour la génération symbolique<br />
des matrices et vecteurs des équations de la dynamique. Cette génération symbolique<br />
permet des calculs aisés de la dynamique et de la cinématique directe ou inverse. Les<br />
algorithmes récurrents décrits dans Featherstone et Orin (55) (présentés au chapitre 7)<br />
sont programmés grâce au principe de récursivité proposé par Maple (une fonction peut<br />
s’appeler elle-même). Le modèle analytique est généré en fonctions C puis compilé dans<br />
une librairie dynamique appelée finalement dans Scilab.<br />
5.2 Architecture du simulateur<br />
5.2.1 La dynamique du système<br />
La Figure 5.1 illustre l’architecture globale du simulateur. La dynamique est obtenue<br />
par résolution d’équations différentielles interrompue par des événements (e.g. impacts,<br />
butées articulaires, commandes). Les événements sont ensuite gérés par modification des<br />
coordonnées ou des vitesses généralisées, ainsi que par modification des commandes (e.g.<br />
tensions des moteurs, etc.). Cette résolution est effectuée entre un temps initial et un<br />
temps final selon un pas pré-déterminé. L’équation différentielle est celle du mouvement<br />
d’un système multicorps où les vitesses et accélérations généralisées ( ˙q, ¨q) dépendent des<br />
variables d’état. La dynamique d’un système multicorps libre a la forme suivante :<br />
M(q)¨q + N(q, ˙q) ˙q + G(q) = T(q)u (9)<br />
avec q, ˙q et ¨q les vecteurs des coordonnées, vitesses et accélérations généralisées, M(q)<br />
la matrice d’inertie exprimée dans l’espace articulaire, N(q, ˙q) le vecteur des effets non<br />
linéaires de Coriolis et centrifuges, G(q) le vecteur s’opposant aux effets de gravité, u le<br />
vecteur de commande et T(q) les effets de cette commande sur le système. L’introduction<br />
de contacts (ϕ(q)) ajoute des contraintes :<br />
M(q)¨q + N(q, ˙q) ˙q + G(q) = T(q)u + C T λ (10)<br />
où C = ∂ϕ/∂q est la jacobienne des contacts. Les multiplicateurs de Lagrange λ traduisent<br />
l’amplitude des efforts des contraintes.