Projet Sharp

Précédent : Grands domaines d'application
Remonter : Projet SHARP, Programmation automatique et
Suivant : Résultats nouveaux
Résumé : Il s'agit de développer une librairie pour la
simulation dynamique utilisable via FTP par l'ensemble de notre
communauté scientifique. Cette librairie intègre les
algorithmes les plus récents en matière de modèles géométriques
et calcul de distances, ainsi que les modèles déformables et
algorithmes développés au sein du projet Sharp. Afin de
garantir la portabilité et l'évolutivité, l'ensemble est basé
sur les standards actuels (C++, STL, OpenGL). Il est à noter
que la partie géométrique de ces librairies peut aussi être
considérée comme une base pour un logiciel de CAO-robotique.
est un simulateur dynamique qui
permet de calculer le mouvement d'un objet, ses déformations
ainsi que les interactions avec les autres objets et
l'environnement. Deux versions du système existent : une
version sous Unix qui utilise Geomview pour la visualisation 3D,
et une sous Windows 95/NT qui utilise la bibliothèque graphique
OpenGL pour la visualisation 3D.
Les caractéristiques principales de ce système sont les
suivantes :
- Intégration de la dynamique d'objets rigides et
déformables.
- Simulation de comportements visco-élastique et
visco-plastique.
- Prise en compte de trois types d'interactions : les
collisions, les frottements (statique et dynamique), et la
viscosité du milieu.
- Utilisation d'une approche adaptative pour résoudre
l'équation différentielle qui caractérise le comportement
dynamique des objets. Cette approche permet d'accélérer le
temps de calcul, d'éviter la divergence numérique et d'estimer
l'erreur commise.
- Construction semi-automatique du modèle dynamique d'un
objet à partir de son modèle géométrique, tout en respectant
ses propriétés d'inertie et en optimisant le niveau de
discrétisation.
- Utilisation d'un algorithme de détection de contact dont la
complexité est linéaire pour les objets déformables et
constante pour les objets rigides.
- Utilisation d'un algorithme d'identification qui permet
d'identifier les paramètres physiques d'un objet (rigidité,
viscosité) et de respecter certaines contraintes (définies par
l'utilisateur) sur le comportement de l'objet.
- La complexité totale de l'algorithme qui calcule, à chaque
pas de temps, la nouvelle position d'un objet polyédrique est
linéaire en fonction du nombre de ses sommets.
La première version de
a déjà été
intégrée dans la machine d'effets spéciaux 3D Psy développée et
commercialisées par Getris-Images GDI. Un ``plug-in'' pour le
système 3DStudio Max (de Kinetix) a également été développé. Une
nouvelle version de
(utilisant les
notions de programmation orientée objet, programmation orientée
donnée et programmation générique) est en cours de développement.
Cette version comportera en plus les caractéristiques
suivantes:
- Une interface programmable par l'utilisateur grâce à un
interpréteur Lisp intégré.
- La possibilité pour l'utilisateur de définir des
contraintes dynamiques qui lui permettent de traiter des objets
dont le comportement n'est pas visco-élastique ou
visco-plastique.
- L'approche orientée objet nous permettra d'optimiser le
choix des algorithmes et des modèles à appliquer au cas par
cas, et ceci en fonction des propriétés des objets
considérés : rigide ou déformable, convexe ou concave,
complexe ou simple, besoin de précision numérique ou non.
- La nouvelle architecture permettra l'exécution en parallèle
sur plusieurs processeurs.
- Le simulateur pourra intégrer plusieurs modèle dynamiques
(système de particules, dynamique d'objets rigides, dynamique
de chaînes articulées, éléments finis, etc.).
Précédent : Grands domaines d'application
Remonter : Projet SHARP, Programmation automatique et
Suivant : Résultats nouveaux