Siconos/Multibody - bipop.inrialpes.fr · • ANSYS (Leader mondial en simulation mécanique)....

20
Siconos/Multibody. Vers une extension pour la simulation des systèmes multi–corps pour la robotique et la commande. Campagne ADT 2012 Récapitulatif (1 page max en tout) Titre & Acronyme : Siconos/Multibody. Vers une extension pour la simulation des systèmes multi–corps pour la robotique et la commande. Porteur de l’ADT : Vincent Acary Courriel : [email protected] CRI : Grenoble – Rhône–Alpes. EPI : Il s’agit d’une nouvelle ADT pour deux ans : Oui Les partenaires internes (EPI/CRI) et externes (autres labos, industriels) de l’ADT : • EPI BIPOP. Responsable Bernard Brogliato. [email protected] Contact Vincent Acary. [email protected] • Collaborations extérieures: ANSYS, Schneider Electric, Trasys Space Budget : 2012 2013 2014 (3 mois) (12 mois) (9 mois) Total Budget (en ke) Total des ressources demandées pour l’ADT : 0.8 ETP (ingénieur SED) 2 ETP (Ingénieur Jeune Diplômé) Total des ressources demandées pour la 1ère année : 0.4 ETP (ingénieur SED) 1 ETP (Ingénieur Jeune Diplômé) Résumé : Cette demande d’ADT concerne la conception architecturale et le développe- ment d’une bibliothèque de simulation des systèmes multi–corps rigides et flexibles. Par- tant d’un prototype déjà développé au cours de l’ANR Saladyn (Appel ANR COSINUS 2008), il s’agit de repenser l’architecture du prototype, d’en augmenter ses fonction- nalités et d’améliorer sa généricité et de répondre à trois principales applications : la simulation des disjoncteurs électriques en collaboration avec Schneider Electric, la sim- ulation et la commande des rovers martiens et lunaires avec TRASYS SPACE ainsi que le développement de nouveaux algorithmes avec ANSYS. En termes de fonctionnalités, on souhaite renforcer les liens entre les modèles mécaniques de Siconos et les moteurs géométriques et de détection de collision. En termes d’architecture, on veillera à pro- poser une structure modulaire avec des API ouvertes pour pouvoir s’adapter à différents outils de visualisation, de CAO et de détection de collision.

Transcript of Siconos/Multibody - bipop.inrialpes.fr · • ANSYS (Leader mondial en simulation mécanique)....

Siconos/Multibody.Vers une extension pour la simulation des systèmesmulti–corps pour la robotique et la commande.

Campagne ADT 2012

Récapitulatif (1 page max en tout)

• Titre & Acronyme : Siconos/Multibody.Vers une extension pour la simulation des systèmes multi–corps pour la robotique et lacommande.

• Porteur de l’ADT : Vincent Acary Courriel : [email protected]

CRI : Grenoble – Rhône–Alpes. EPI :

• Il s’agit d’une nouvelle ADT pour deux ans : Oui

• Les partenaires internes (EPI/CRI) et externes (autres labos, industriels) del’ADT :

• EPI BIPOP. Responsable Bernard Brogliato. [email protected] Vincent Acary. [email protected]

• Collaborations extérieures: ANSYS, Schneider Electric, Trasys Space

• Budget :

2012 2013 2014(3 mois) (12 mois) (9 mois) Total

Budget (en ke) – – – –

Total des ressources demandées pour l’ADT : 0.8 ETP (ingénieur SED) 2 ETP(Ingénieur Jeune Diplômé)

Total des ressources demandées pour la 1ère année : 0.4 ETP (ingénieur SED) 1ETP (Ingénieur Jeune Diplômé)

• Résumé : Cette demande d’ADT concerne la conception architecturale et le développe-ment d’une bibliothèque de simulation des systèmes multi–corps rigides et flexibles. Par-tant d’un prototype déjà développé au cours de l’ANR Saladyn (Appel ANR COSINUS2008), il s’agit de repenser l’architecture du prototype, d’en augmenter ses fonction-nalités et d’améliorer sa généricité et de répondre à trois principales applications : lasimulation des disjoncteurs électriques en collaboration avec Schneider Electric, la sim-ulation et la commande des rovers martiens et lunaires avec TRASYS SPACE ainsi quele développement de nouveaux algorithmes avec ANSYS. En termes de fonctionnalités,on souhaite renforcer les liens entre les modèles mécaniques de Siconos et les moteursgéométriques et de détection de collision. En termes d’architecture, on veillera à pro-poser une structure modulaire avec des API ouvertes pour pouvoir s’adapter à différentsoutils de visualisation, de CAO et de détection de collision.

Siconos/Multibody 2

1 Introduction (10 lignes max en tout)

Cette demande d’ADT concerne la conception architecturale et le développement d’unebibliothèque de simulation des systèmes multi–corps rigides et flexibles. Partant d’unprototype déjà développé au cours de l’ANR Saladyn (Appel ANR COSINUS 2008), il s’agitde repenser l’architecture du prototype, d’en augmenter ses fonctionnalités et d’améliorer sagénérosité et de répondre à trois principales applications : la simulation des disjoncteursélectriques en collaboration avec Schneider Electric, la simulation et la commande desrovers martiens et lunaires avec TRASYS SPACE ainsi que le développement de nouveauxalgorithmes avec ANSYS. En termes de fonctionnalités, on souhaite renforcer les liens desmodèles mécaniques lagrangiens et de Newton/Euler de Siconos avec des descriptionstextuelles de systèmes (XML/Python) de mécanismes et avec les moteurs géométriques etde détection de collision. En termes d’architecture, on veillera à proposer une structuremodulaire avec des API ouvertes pour pouvoir s’adapter à différents outils de visualisation,de CAO et de détection de collision.

Siconos/Multibody 3

2 Contexte : état des lieux (1⁄2 page min, 2 pages max)

2.1 Contexte scientifique

Les systèmes dynamiques non réguliers qui préoccupent l’équipe-projet BIPOP de l’INRIARhône–Alpes, rassemblent l’ensemble des systèmes qui, d’une part, comportent des dis-continuités dans leur évolution en temps et qui, d’autre part utilisent des lois multivaluéesnon différentiables pour décrire leur comportement. Les systèmes mécaniques soumis à descontraintes unilatérales et des impacts sont un exemple caractéristique de systèmes dy-namiques non réguliers pour lesquels le projet BIPOP possède déjà une grande expérience.Les circuits électroniques avec des composants idéaux ou linéaires par morceaux, une partiedes systèmes hybrides sont eux aussi des systèmes dynamiques non réguliers pour lesquelsle projet a entamé des travaux de recherche depuis plus de 5 ans. Les compétences duprojet sont de deux ordres : l’une théorique en analyse mathématique et en contrôle de cessystèmes, l’autre concerne les aspects de la simulation numérique avec le développementde la plate-forme de calcul scientifique Siconos.1

Pour ce qui intéresse cette ADT, les applications principales sont développées au traversdes collaborations industrielles suivantes :

• ANSYS (Leader mondial en simulation mécanique). Thèse CIFRE (2012–2014)sur les méthodes numériques pour la simulation de systèmes mécaniques. ANSYSa entrepris depuis 5 ans le développement d’un simulateur de systèmes mécaniquesrigides et a fait appel à nous pour développer les algorithmes de contact frottantet les méthodes de résolution en temps. Dans le cadre de cette thèse un nouveauprototype commun sera développé. Il s’agira a travers cette ADT d’implémenter lessolutions optimales dans logiciel “maison” afin de pérenniser le savoir–faire Bipop surces sujets.

• Schneider Electric. Thèse sur financement industriel (2012–2014) sur la simulationde disjoncteurs électriques (cf. Figure 2.1). La poursuite des développements duprototype Saladyn permettra d’envisager un transfert vers un éditeur logiciel (projetGRAVIT envisagé)

• TRASYS/Space. Intégration d’un simulateur de systèmes mécaniques pour lesrovers lunaires et martiens ainsi que du bras robotique MSST (cf. Figure 2.3). Pourla validation des commandes des systèmes robotiques en mission spatiale, l’ESA(Agence Spatiale Européenne) est aujourd’hui à la recherche d’un moteur de sim-ulation dynamique apte à s’intégrer dans un environnement informatique complexecomportant la visualisation, la gestion des commande et des tâches et la simulation“système” (mécanique, thermique, puissance, commande, environnement virtuel, ...).

1Pour plus de détails, on pourra consulter les références suivantes :[1] V. Acary & B. Brogliato “Numerical Methods for Nonsmooth Dynamical Systems: Applications in

Mechanics and Electronics” Lecture Notes in Applied and Computational Mechanics. Vol. 36, SpringerVerlag. 540 p. 2008 [978-3-540-75391-9][2] V. Acary, O. Bonnefon & B. Brogliato “Nonsmooth Modeling and Simulation for Switching Circuits

Springer”, Lecture Notes in Electrical Engineering , Vol. 69, 2010

Siconos/Multibody 4

Une sortie de cette ADT permettrait une première évaluation des outils INRIA/Bipopet des principaux moteurs de détection de collision dans ce contexte.

2.2 Contexte technologique

Dans le cadre du projet européen SICONOS IST (2002-2006) coordonné par B. Brogliato,un des objectifs principaux a été la conception et le développement d’une plate-forme decalcul scientifique pour les systèmes dynamiques non réguliers (Work package 2, respons-able. V. Acary). Les fonctionnalités de cette plate-forme sont la modélisation, l’analyse,la simulation et le contrôle des systèmes dynamiques non réguliers. Après ce projet eu-ropéen, cet effort de développement a été poursuivi à travers des applications en électron-ique, mécanique et commande des systèmes. Les fonctionnalités supplémentaires ont étéimplémentées au cours du projet ANR VAL-AMS2. La conception et le développement dela plate-forme se sont inscrits dans une démarche de qualité logicielle afin d’obtenir unlogiciel distribuable et qui fédère des développements. Ce travail s’est basé sur les normesd’assurance qualité de l’agence spatiale européenne (ESA) et sur les recommandations dedéveloppement de l’INRIA. Siconos est désormais l’outil de base dans deux projets ANR: Saladyn (Appel COSINUS 2009-2012) coordonné par V. Acary 3 et Chaslim (Appel Blanc20011-2014) coordonné par B. Brogliato4

2.2.1 Architecture et fonctionnalités

La plate-forme est constituée d’un noyau de modélisation et de simulation. Les routinesnumériques (Siconos/Numerics) sont en Fortran 77 et en C pour des raisons de per-formance. Cette bibliothèque d’outils numériques est surmontée d’un module en C++(environ 100 000 lignes) (Siconos/Kernel) se chargeant de la modélisation et du pi-lotage les simulations. L’interface de commande (Siconos/Front-end) en mode expertest aujourd’hui en Python et pour les utilisateurs finaux, une toolbox Scilab a été initiée.Les extensions de fonctionnalités de la plate-forme sont en cours de réalisation sur les as-pects “commande” des systèmes dynamiques non réguliers (Siconos/Control). Sur laFigure 2.1, un organigramme montre comment la plate-forme Siconos est organisée. Onpeut utiliser directement la librairie grâce au Front-End ou alors utiliser un modeleur dédiéà une application scientifique capable de générer un modèle d’équations pour Siconos viaune interface.

Si on se focalise sur la Mécanique, un prototype de bibliothèque de simulation de multi–corps a été développé au sein du projet Saladyn. Ce prototype utilise Siconos commemoteur de calcul, propose une librairie de modélisation des mécanismes multi–corps avecliaisons parfaites, jeux, contact, impact et frottement. Il est lié à la librairie professionnelle

2Partenaires : VERIMAG LJK. Objectif. Vérification pour les circuits électriques commutés.3 Partenaires : LMGC (UMR CNRS/Université de Montpellier II) LAMSID (UMR CNRS/EDF) et

des partenaires industriels : Schneider Electric, EDF Objectif : couplage des codes Siconos, LMGC90et Code_Aster (EDF) et intégration dans Salome en vue d’une plate-forme intégrée de simulation dessystèmes mécaniques multi–corps et multi–contact

4 Partenaires : EPI NON-A INRIA Lille, IRCyn Nantes. Objectif : Vers une toolbox pour la commandeà modes glissants.

Siconos/Multibody 5

Mechanical Modeler Dynamical system modeler

Electrical Modeler

Hybrid systems modeler

Siconos/Front end Siconos/Kernel

Siconos/Numerics

Figure 2.1: Siconos Environment

de CAO Opencascade. Sur la figure 2.2, la modélisation et la simulation d’un disjoncteurC60 de Schneider Electric grâce au prototype sont représentées.

Sur le figure 2.3, des exemples d’applications de Trasys sont illustrées. La simulationet la modélisation du bras robotique sur la dernière image ont été faites avec Siconos et unrapport a été remis à l’ESA sur ce sujet.

2.2.2 Positionnement par rapport à l’existant

La plate-forme Siconos est née de la longue expérience de la simulation des systèmesdynamiques non réguliers dans le domaine de la Mécanique. En particulier, le logicielLMGC90, développé à Montpellier est le fruit de 20 années de travail dans cette direction.Le principal inconvénient de ce logiciel est qu’il est fermé à d’autres applications des sciencesde l’ingénierie et en particulier à son utilisation par des ingénieurs en modélisation quisouhaiteraient aborder d’autres domaines. Un des objectifs de la plate-forme est d’ouvrir lechamp d’application de ces méthodes. L’autre objectif est l’emploi de méthodes modernesde génie logiciel pour la conception, le développement et la maintenance de la plate-forme.

Pour ce qui est de la simulation des systèmes multi–corps, il existe très peu de codesopen-source hormis MbDyn 5 développé au Politecnico di Milano mais qui ne gère pasle contact avec frottement. Pour ce qui est des codes commerciaux, il n’y a pas pourle moment de codes capables de simuler des systèmes avec du contact, du frottement deCoulomb pour des systèmes 3D. C’est ce qui fait l’intérêt de nos collaborateurs industriels.

5http://www.aero.polimi.it/mbdyn/

Siconos/Multibody 6

(a) C60 Schneider Electric’sCircuit Breaker.

NewtonEulerDS(q01,v01,OCCm,OCCI1);

PivotJointR(Part1,Part2,P2,A2);

NewtonImpactNSL(e);

PrismaticJointR(beam3,axe1);

OCCRelation // Geometrical computation from the CAD model

(b) Modeling as a multibody system. (c) Multibody system inour prototype.

(d) Contacts and joints with clear-ances.

(e) Reaction on the hook (f) Reaction on the handle

Figure 2.2: Modeling and simulation of a Circuit breaker

Siconos/Multibody 7

Figure 2.3: Exomars applications

Siconos/Multibody 8

3 Objectifs de l’ADT (10 lignes max en tout)

Voici les objectifs principaux de cette ADT :

1. Refonte de l’architecture et intégration du prototype développé dans le cadre de Sala-dyn au sein de l’environnement Siconos pour créer Siconos/Multibody. Assurerla cohérence et le respect de l’architecture entre les différents développements dansles projets associés: collaborations industrielles, thèses et projets ANR. Pérenniserle savoir–faire au sein de Bipop à travers du code et de la documentation en vue dela collaboration avec ANSYS.

2. Définition et développement des API génériques en lien avec les moteurs géométriques,de détection de collision et de visualisation. (Bullet, OpenCascade, Ogre, Asys,PhysX,. . . ). En particulier, le lien entre les différents formalismes mécaniques etleurs paramètrisations possibles (Lagrange, Newton/Euler, Calcul récursif, ) et lesoutils de détection de collision et moteurs géométriques sera réalisé.

3. Validation sur des applications industrielles : Intégration dans un environnementprofessionnel de simulation, de visualisation et de contrôle des systèmes robotiquespour le spatial et simulation des disjoncteurs électriques.

Siconos/Multibody 9

4 Sortie : positionnement après l’ADT (1 page min, 3 pages max)

A la sortie de l’ADT, on souhaite disposer d’un outil de simulation des systèmes multi–corps bien documenté et suffisamment générique pour pouvoir s’appuyer sur plusieursbibliothèques de détection de collision, de modeleurs géométriques et d’environnementintégré de modélisation, de visualisation et de commande.

4.1 Impact scientifique

L’intérêt scientifique d’un tel outil–logiciel est la validation sur des applications indus-trielles des méthodes numériques et des lois de commandes développées dans Bipop6. Cetoutil nous permettra en effet d’avoir accès et de traiter des exemples qui ne sont pas sim-plement des exemples académiques simples (Chaînes cinématiques complexes, problèmesmal conditionnés, contraintes temps de calcul/temps réel/embarqué,. . . ). De plus, uneconfrontation avec les problèmes industriels a toujours intérêt en termes de retombées plusfondamentales. De plus sur les aspects “commande”, il permettrait de tester des comman-des par modes glissant sur des systèmes mécaniques avec contact (Collaboration en coursavec Yuri Orlov, CICESE, Mexique) 7

4.2 Intérêt stratégique

Concernant notre collaboration avec ANSYS, l’existence d’un tel outil suffisamment évoluéen termes d’API permet de garder le savoir–faire en interne et de faire progresser nos out-ils pour garder la longueur d’avance que nous avons avant la thèse CIFRE engagée aveceux. En termes de propriété intellectuelle le travail avec un éditeur logiciel est toujourscompliqué. Avoir un développement indépendant, de qualité et proche en termes de fonc-tionnalités d’ANSYS est un argument intéressant.

6voir pour cela

1. Higher order event capturing time–stepping schemes for nonsmooth multibody systems with uni-lateral constraints and impacts. Vincent Acary Applied Numerical Mathematics, Elsevier, 2011, Toappear.

2. A formulation of the linear discrete Coulomb friction problem via convex optimization VincentAcary; Florent Cadoux; Claude Lemarechal; Jérôme Malick ZAMM / Z angew Math Mech;Zeitschrift für Angewandte Mathematik und Mechanik, Wiley, 2011, 91 (2), pp. 155-175

3. A Nonsmooth Newton Solver for Capturing Exact Coulomb Friction in Fiber Assemblies FlorenceBertails-Descoubes; Florent Cadoux; Gilles Daviet; Vincent Acary ACM Transactions on Graphics,ACM, 2011

4. Timestepping schemes for nonsmooth dynamics based on discontinuous Galerkin methods: definitionand outlook Thorsten Schindler; Vincent Acary [Research Report], 2011. RR-7625

7Chattering-free digital sliding-mode control with state observer and disturbance rejection VincentAcary; Bernard Brogliato; Yuri Orlov IEEE Transactions on Automatic Control, IEEE, 2011, In Press

Siconos/Multibody 10

4.3 Débouchés technologiques

La liste de débouchés technologiques et des verrous levés par un tel outil est longue. Citonsdans ce qui suit ceux qui nous intéressent le plus. On rappelle que ces applications nepeuvent pas être aujourd’hui traitées sans un environnement logiciel robuste et efficaceayant un lien fort vers les bibliothèques de collision et de visualisation déjà existantes.

4.3.1 Un moteur de simulation intégré pour des mécanismes 3D

Comme on l’a rappelé dans le paragraphe précèdent, il n’y a pas aujourd’hui de logiciel libreou privé capables de remplir ces fonctionnalités. Pourtant, la demande est très forte de parle nombre grandissant d’applications en sciences de l’ingénierie : Mécanismes (disjoncteurs,horlogerie, machines outils, MEMS/NEMS, ...), procédés industriels (fabrications de clips,tamis, vibreurs, trieurs), Robotique (robotique humanoïde, spatiale, industrielle, machinesagricoles, . . . ), transports (transmission et direction automobile, dynamique des bogiesferroviaires, trains d’atterrissage, ...) et énergie (éoliennes, turbines, vannes, . . . ).

Pour notre application principale dans ce domaine, la simulation des disjoncteurs élec-triques avec Schneider Electric, il s’agit a travers cette ADT de montrer que l’on peutrépondre avec cet outil de simulation aux problèmes que les experts se posent dans leursbureau d’études. Le prototype qui existe aujourd’hui a déjà été validé par la “businessUnit”, “Power” de Schneider (Michel Abadie, Eybens). Il est aussi évalué par la directionde l’innovation (Emmanuel Frangin, Alice Boussagol, Grenoble) pour planifier la suite àdonner à ce projet (projet GRAVIT, soutien direct, lobbying auprès d’un éditeur (ANSYS,ProEngineer, ...)).

4.3.2 Un outil de simulation et de validation des lois de commandes pour lessystèmes robotiques spatiaux

L’aspect “simulation de la commande” pour ces systèmes non–réguliers serait aussi nouveau.Il n’existe pas de toolbox de simulation mécanique intégrant une partie commande. L’ESAa aujourd’hui besoin d’un tel outil et commence une phase de veille technologique sur cesujet. On souhaite pouvoir se placer comme un acteur crédible d’un point de vue logiciel.

Dans le contexte de la préparation de futures missions de l’ESA pour l’explorationplanétaire Européenne (Missions : ExoMars, Mars Sample Return, Moon exploration),Trasys développe un outil de spécification des opérations de systèmes robotiques associés.Ces systèmes sont les rovers d’exploration du terrain mais également les instruments pourprélever des échantillons où les bras manipulateurs pour manipuler les échantillons et lesinstruments. La spécification des missions nécessite un outil de modélisation 3D qui intègredes librairies de détection de contacts et s’interface avec des outils de modélisation et derésolution de modèles dynamiques de systèmes articulés avec des contacts.

4.4 Public visé, diffusion, transfert, innovation

A travers cette plate-forme, il s’agit avant tout de fédérer une communauté d’utilisateurset de développeurs autour d’un outil de simulation de systèmes mécaniques non réguliers.

Siconos/Multibody 11

Dans un second temps, il s’agit de fournir un support technique pérenne des ingénieursexperts et doctorants des projets ANR et industriels pour ce qui concerne le coeur dela plate-forme Siconos. Enfin, il s’agira de proposer un prototype pre–industriel pourenvisager sereinement un transfert vers un éditeur logiciel (Projet GRAVIT, ...) Le logi-ciel Siconos a fait l’objet de deux dépôts A.P.P. et est distribué sous licence GPL. Lesdéveloppements envisagés dans cet ADT seront aussi distribués en open source sous licenceGPL. La possibilité d’un système de “double–licensing” n’est pas à exclure.

4.5 Mode de gestion après l’ADT

Le logiciel résultant sera maintenu dans le giron de Siconos (portage et validation sur Pipolchaque nuit, suivi de bugs et distribution sur la forge). Il restera avant tout un prototypepré–industriel servant les collaborations et les développements de Bipop. Comme pourSiconos., on tâchera d’animer une communauté open–source, de se rapprocher des outilsopen–sources (Sage, pythonOcc, PAL, bullet) pour élargir le spectre des utilisateurs. Unevalorisation par l’INRIA n’est pas a exclure mais elle se fera sûrement avec une implantationnouvelle et complète du logiciel et un changement de licence.

Siconos/Multibody 12

5 Mise en œuvre prévisionnelle de l’ADT

5.1 Identification des rôles et organisation

Définition des différents rôles correspondant à des types de tâches identifiées:

• Responsable de l’ADT et la valorisation: Vincent Acary• Responsable(s) technique(s) : Maurice Brémond• Conception et Développement : Ingénieur Jeune Diplômé• Responsable des développements applications en lien SE : DO Hong ha (Ingenieurexpert Saladyn)

• Responsable des développements applications en lien Trasys/Space : Roger Pissard• Responsable des développements applications en lien ANSYS : Vincent Acary

EPI BIPOP :

• Vincent ACARY (CR1), travaille sur les méthodes numériques pour la dynamiquenon régulière. Il est le principal maître d’œuvre de la plate-forme Siconos . Il serale responsable de l’ADT et veillera à la bonne coordination du projet.

• Hong Ha Nguyen DO(IE) , ingénieur expert INRIA sur le projet Saladyn, travaillesur l’interface entre Siconos et le prototype de simulation de systèmes multi corps.

• Mounia Haddouni, (These CIFRE), doctorante en collaboration avec ANSYS sur lesméthodes numériques pour les mécanismes

• Narendra Akhadkar (Thèse INRIA), doctorant financé sur contrat de recherche avecSchneider Electric sur la simulation des disjoncteurs électriques.

SED Rhône Alpes

• Ingénieur SED (IR) travaillera une partie de son temps sur les objectifs de l’ADT etsera responsable technique de l’ADT

• Ingénieur Jeune Diplômé (IJD)

Étant donne la taille de cette ADT, il est difficile et sûrement illusoire de mettre en placeun plan d’assurance qualité complet comme cela a été fait pour Siconos8 et Saladyn. Lerisque est que le rédacteur des rapports de validation soit aussi celui qui a défini le plan devalidation, ce qui en termes de qualité est mauvais. Il sera privilégié un mode de gestionplus simple. Cependant, les mesures suivantes seront suivies :

• Le suivi du planning se fera par le responsable de l’ADT au cours des réunionsd’avancement qui seront bi–mensuelles.

• Les livrables seront semestriels et coïncideront avec les jalons et la fin de séries detâches.

8http://siconos.gforge.inria.fr/SiconosProjectOverview/qa-plan.html

Siconos/Multibody 13

• Les jalons, les tâches et les livrables portant sur la validation du logiciel sur desapplications industrielles se feront conjointement avec nos collaborateurs industriels.

Le rôle de l’ingénieur SED est crucial dans la réussite de cette ADT. Il permet en effetde maintenir la cohérence des nouveaux développements, de veiller a la mise en oeuvredes bonnes pratiques en termes de développement et de conseiller l’IJD sur les choix tech-nologiques les plus adaptés. Dans le cas où la demande d’IJD serait refusée, le projet seraitréaménagé. Avec l’aide d’un IR (40% ETP) du SED, le travail pourrait être alors restreintà l’objectif 1 sans les aspects pérennisation des travaux avec ANSYS et l’objectif 3 sansles applications Schneider Electric. On se focalisera sur les tâches 1.a, 1.b, 2.a, 3.d et 6.bet les développements resteront plus confidentiels.

Le principal risque n’est pas technique mais humain et concerne le recrutement d’uningenieur qui doit être réalisé dans les temps et qui doit rester sur le temps de l’ADT.

5.2 Planification prévisionnelle

La démarche générale reposera sur les principes de méthodes agiles en privilégiant desitérations de conception & développement relativement court, l’intégration des utilisateursdans ces itérations et la légèreté des process. Coté programmation objet, on recommanderad’utiliser les patrons de conception.

L’ensemble des tâches est décrit dans le tableau 1. Leur dépendance mutuelle estspécifíee. Leur organisation dans leur temps est évidente à la lecture du tableau. Cetensemble de tâches contribue aux objectifs de la façon suivante :

• Objectif 1: Tâches 0.a, 0.b, 1.a, 1.b, 2.a, 3.d.

• Objectif 2: Tâches 2.b, 2.c, 2.d, 3.a, 3.b, 3.c, 4.a, 4.b, 4.c, 5.b, 5.c.

• Objectif 3: Tâches 6.a, 6.b,

Les tâches de coordination, d’animation et gestion du projet ne sont explicitées ici. Ellessont assurées par le responsable de l’ADT.

Les jalons suivants sont définis afin de faire le point général sur le projet et de n’engagerla phase suivante que si tout va bien:

• Jalon 1 T0+6: Refonte du prototype Saladyn et Conception architecturale

– Tâches accomplies : de 0.a à 1.d,

– Commentaire : On veillera à une bonne appropriation des outils et des méth-odes.

• Jalon 2 T0+9: Conception architecturale

– Tâches accomplies : de 2.a à 2.d,

– Commentaire : On veillera à la faisabilité des développements en regard desressources limitées. Travail de conception en étroite collaboration avec nospartenaires.

Siconos/Multibody 14

• Jalon 3 T0+12: Développement et validation de la version 1.0

– Tâches accomplies : de 3.a à 4.d,

– Commentaire : Le développement devra se faire de manière conjointe autantque faire se peut.

• Jalon 5 T0+18: Développement de la version 2.0 et validation

– Tâches accomplies : de 5.a à 5.d,

– Commentaire : Le développement devra se faire de manière conjointe autantque faire se peut.

• Jalon 6 T0+24: Validations industrielles

– Tâches accomplies : de 6.a et 6.b,

– Commentaire : Travail en étroite collaboration avec nos partenaires.

5.2.1 Intervention des partenaires extérieurs.

Trasys propose d’assurer une compatibilité de son outil 3D avec Siconos. Ceci nécessitele développement d’une API générique qui permettrait de faire une abstraction du moteurdynamique tenant en compte finement des phénomènes de contact. Cette compatibilitépermettrait de démontrer la capacité de Siconos de traiter des exemples variés dans unnouveau domaine d’application. Il permettrait également de comparer ses performancesavec d’autres moteurs.Schneider Electric met à notre disposition des modèles géométriques et mécaniques dedisjoncteurs et participera à la validation des outils à deux niveaux:

• Calcul scientifique : une validation de la qualité numérique des résultats sera faitepar des experts de la direction de l’innovation.

• Interface informatique : une validation de l’ergonomie de l’outil sera faite par uneingénieur design de “Power business” et par le doctorant Schneider Electric.

Sic

onos/M

ult

ibody

15

Tâche Description Ressources(HM)

date

butoir

(T0+

)# / Objectifs

dépe

ndan

ce

Apprentissage des méthodes et des outils0.a Apprentissage de Siconos. 1(IJD) – 10.b Apprentissage de Gazebo 1(IJD) – 10.c Apprentissage de Choreonoid 1(IJD) – 10.d Apprentissage de 3DROV 1(IJD) – 1

Développement des modules dédiés à la robotique1.a Algorithmes récursifs d’évaluation de la dynamique 1(IJD)

1(IR)0 5

1.b Développement des types de liaisons manquantes et des liaisons “moteurs” 1(IJD) 1.a 6

Définition et développement des API génériques d’interfaçage2.a Premier prototype de branchement avec Gazebo 1(IJD)

1(IR)1(CR)

2.a 9

2.b Première version de l’interface Gazebo (développement & distribution) 1(IJD)0.5(IR)0.25(CR)

2.a 9

2.c Première version de l’interface Choreonoid (développement & distribution) 1(IJD)0.5(IR)0.25(CR)

2.a 9

2.d Première version de l’interface 3DROV (développement & distribution) 1(IJD)0.5(IR)0.25(CR)

2.a 9

Sic

onos/M

ult

ibody

16

2.e Deuxième version de l’interface Gazebo (développement & distribution) 1(IJD)0.5(IR)0.25(CR)

2.a 9

2.f Troisième version de l’interface Gazebo (développement & distribution) 1(IJD)0.5(IR)0.25(CR)

2.a 9

Définition et réalisation de benchmarks comparatifs3.a Définition des benchmarks (scenarii de simulation dans Gazebo) 1(IJD) 2.b 123.b Développement d’un premier ensemble de benchmark. Comparaison avec les autres

moteur (rapport de validation et performances des simulations)1(IJD) 2.c 12

3.c Développement d’un deuxième ensemble de benchmark. Comparaison avec les autresmoteur (rapport de validation et performances des simulations)

1(IJD) 2.d 12

Amélioration des perfomances4.a Revue de la structure des données. Amélioration de la taille mémoire et de

l’utilisation des caches. (vecteur de taille fixe et utilisation des memory pool BoostC++/pool)

1(IJD)0.5(IR)0.25(CR)

3.a 15

4.b Parallélisation. Distribution des boucles de préparation des calculs. 4.c Parallélisation.Distribu-tion desalgorithmesitératifs decalcul descontacts.

1(IJD)0.5(IR)0.25(CR)

3.a

15Table 1: Listes des tâches

Siconos/Multibody 17

6 Ressources (1⁄2 page minimum, 11⁄2 page maximum)

6.1 Ressources humaines

Ressources humaines nécessaires à la réalisation de l’ADT :• Ressources humaines mobilisées directement au sein de BIPOP :

• Vincent Acary (CR1) 20 %• Hong ha Do (IE) 20 %• Narendra Akhakar (Doc) 20%• Mounia Haddouni participation ponctuelle pour la validation des API

• Ressources humaines en CDD demandées dans le cadre de cet appel:

• Ingénieur jeune diplomé (100%) : ingénieur diplômé en informatique/mathématiquesappliquées avec des connaissances en modèles physiques et en mécanique.

• Ressources humaines demandées en provenance des services de l’Inria :

• Ingénieur SED 40% ETP

Les feuilles de route sont déductibles directement du tableau car il n’y a pas d’ambiguïtésur les intervenants.

6.2 Aspects budgétaires

Ressourcesdemandées(en ke)

2012(3 mois)

versement 1en sept.-oct.

2013(12 mois)

versement 2 et 3 enjan.-fév. et mai-juin

2014(9 mois)

versement 4en jan.-fév.

Total

Missions 0 0 0 0Animation 0 0 0 0Matériel scientifique 0 0 0 0Prestations externes 0 0 0 0Autre (préciser) 0 0 0 0TOTAL 0 0 0 0

Ressourcesdisponibles(en ke)

2012 2013 2014 Total

Missions 0 0 0 0Animation 0 0 0 0Matériel scientifique 0 0 0 0Stagiaires 0 0 0 0Prestations externes 0 0 0 0Autre (préciser) 0 0 0 0TOTAL 0 0 0 0

Siconos/Multibody 18

7 Suivi et évaluation (1⁄2 page minimum, 1 page maximum)

Voici les éléments de suivi prévus :

• Livrables et version logicielle :

1. Jalon 1 Documentation de description des formulations mécaniques et de leurliens avec la géométrie. Paquets binaires pour L’inox (debian, ubuntu,fedora),MacOsX 10.7 & Windows 7.

2. Jalon 2 Documentation de conception architecturale et fichiers “headers” desAPI.

3. Jalon 3 Version 1.0 et documentation doxygen

4. Jalon 4 Documentation de validation de la version 1.0 (rapports de tests etexécution des “use cases”)

5. Jalon 5 Version 2.0 et documentation doxygen. Documentation de validationde la version 2.0 (rapports de tests et exécution des “use cases”)

6. Jalon 6 Documentation de validation des applications industrielles et manuelutilisateur

• Comptes rendus de réunion de validation avec les partenaires industrielles

1. Jalon 2 Réunion de validation de l’architecture et des API avec Trasys Spaceet Schneider Electric

2. Jalon 4 Réunion de validation de la version 1.0 avec Trasys Space et SchneiderElectric

3. Jalon 5 Réunion de validation de la version 2.0 avec Trasys Space et SchneiderElectric

4. Jalon 6 Réunion de validation des applications industrielles avec Trasys Spaceet Schneider Electric

Annexe A : Description des partenaires

Présentation de l’équipe-projet BIPOPLa thématique de cette équipe-projet est centrée autour des systèmes dynamiques non

réguliers et de leur modélisation, leur commande ainsi que leur simulation numérique.C’est une équipe qui implique donc des travaux relevant de la mécanique non-régulière,de l’automatique, de l’optimisation non différentiable et de l’analyse convexe (et/ou nonrégulière - "non- smooth" en anglais).

Axes de recherche Les applications principales se trouvent dans les systèmes mé-caniques (systèmes multicorps avec contraintes unilatérales, frottement, lois de comporte-ment interfaciales non régulières) et électriques (circuits avec diodes, transistors MOS).Certains problèmes abstraits (comme la commande optimale avec contraintes sur l’état,la commande prédictive généralisée) peuvent se mettre sous ce formalisme. Les domaines

Siconos/Multibody 19

concernés sont, entre autres: automobile (commande, simulation), espace (commande, sim-ulation), systèmes électromécaniques (modélisation, simulation), robotique (commande derobots marcheurs, jongleurs, sauteurs, coureurs, manipulation non-préhensile). Les prob-lèmes ouverts sont encore très nombreux dans ce domaine, aussi bien au niveau théorique(théorie des systèmes - commandabilité, observabilité, stabilisation, analyse mathématique- existence, unicité, dépendance continue, modélisation - problèmes de chocs multiples, loisde contact non monotones), que des aspects numériques et logiciels.

Responsable scientifique: Bernard BROGLIATO, [email protected], +334 76 61 53 93

Annexe B : Description des logiciels

Siconos

• Vincent Acary [email protected] http://siconos.gforge.inria.fr• Domaine: Mathématiques appliquées, calcul et simulation Thème Modélisation, opti-misation et contrôle de systèmes dynamiques

• Dans le cadre du projet européen SICONOS IST (2002-2006) coordonné par B. Brogliato,un des objectifs principaux a été la conception et le développement d’une plate-formede calcul scientifique pour les systèmes dynamiques non réguliers (Work package 2, re-sponsable. V. Acary). Les fonctionnalités de cette plate-forme sont la modélisation,l’analyse, la simulation et le contrôle des systèmes dynamiques non réguliers. Après ceprojet européen, cet effort de développement a été poursuivi à travers des applicationsen électronique, mécanique et commande des systèmes. Les fonctionnalités supplémen-taires ont été implémentées au cours du projet ANR VAL-AMS9. La conception et ledéveloppement de la plate-forme se sont inscrits dans une démarche de qualité logicielleafin d’obtenir un logiciel distribuable et qui fédère des développements. Ce travail s’estbasé sur les normes d’assurance qualité de l’agence spatiale européenne (ESA) et surles recommandations de développement de l’INRIA.

• Le logiciel Siconos a fait l’objet de deux dépôts A.P.P. et est distribué sous licenceGPL.

• Environnement : ligne de commande et interpréteur Python, OS : Linux, MacOsX Re-quirements: cppunit, boost, Libxml2 LAPACK/BLAS, MUMPS, swig, python, numpy

• Deux url principales :

1. http://siconos.gforge.inria.fr/ documentation utilisateur.

2. http://siconos.gforge.inria.fr/SiconosProjectOverview documentation développeuret https://gforge.inria.fr/docman/?group_id=9

Prototype Multibody Saladyn0• Vincent Acary [email protected] http://saladyn.gforge.inria.fr

9Partenaires : VERIMAG LJK. Objectif. Vérification pour les circuits électriques commutés.

Siconos/Multibody 20

• Domaine: Mathématiques appliquées, calcul et simulation Thème Modélisation, opti-misation et contrôle de systèmes dynamiques

• Prototype écrit dans le cadre du projet Saladyn par Olivier Bonnefon (Ingénieur expertINRIA sur projet Saladyn) & Vincent Acary

• pas de dépôt pour l’instant, pas de distribution pas de licence.• Environnement : ligne de commande et interpréteur Python, OS : Linux, MacOsXRequirements: OpenCascade, PythonOcc

Annexe C : Bilan de l’ADT Siconos (2009–2011)

Ingénierie sur l’infrastruture logicielle Une infrastructure CMake a été mise en placepour cibler différents systèmes et plateformes matérielles afin d’améliorer la portabilité etla diffusabilité du code. Les tests ont été automatisés sur la plateforme pipol. Il fautnoter que les automatisations misent en place pour Siconos servent quotidiennement unedouzaine de projets aujourd’hui.

Techniques de programmation, ingénierie autour de C++ et Python La gestionmémoire au sein du code C++ a été revue à l’aide de techniques aujourd’hui dans lestandard C++11. Des patrons de conception offrent des solutions pour les articulationsdans le code entre la simulation et la modélisation. L’API publique C++ a été revue. L’APIPython développée met l’accent sur l’interaction simple avec les bibiliothèques numériquesnumpy et scipy et la possibilité d’héritage de Python depuis C++ pour prototyper desméthodes directement. Un nouveau module d’entrée-sortie permet la sérialisation entièrede la mémoire sur disque pour des re-démarrages à froid.

Ingénierie algorithmique Les structure de données pour décrire les modélisations desystèmes et d’intéractions ont été redéfinies avec des graphes dynamiques. L’implémentationutilise la "boost graph library". La construction du problème non régulier à partir de cegraphe ne bloque pas le passage à l’échelle.

Au niveau des solveurs numériques, un solveur global "Alart et Curnier" a été implé-menté autour de la résolution de systèmes linéaires par le logiciel MUMPS en vue de larésolution de problèmes issus de modélisation par éléments finis. La génération automa-tique de code C pour le calcul de gradients a été réalisée à partir de sympy.

Enfin, des travaux ont été menés pour développer un prototype de gestion de collisionen lien avec une librairie externe (Bullet). Ces travaux serviront de base pour l’objectif 1de cette ADT.