23.12.2013 Views

THÈSE

THÈSE

THÈSE

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!