SOFA est un logiciel libre dédié à la simulation mécanique interactive, particulièrement utilisé pour des applications robotiques et biomédicales. De par sa licence permissive (LGPL), SOFA intègre les résultats de recherche depuis plus de 18 ans, tout en permettant la création de douze entreprises à travers le monde. Aujourd’hui, SOFA bénéficie d’une large communauté internationale composée de centres de recherche et d’entreprises.
Dans le cadre de l’axe « infrastructure ouverte » du projet TIRREX (https://tirrex.fr/), la plateforme SOFA a été sélectionnée pour le développement de jumeaux numériques en robotique.
Les équipes de recherche impliquées dans SOFA relèvent des défis scientifiques et technologiques tels que le développement d’une plateforme numérique de tests. Cette plateforme permet la conception, le prototypage et l’évaluation d’une nouvelle génération de robots dans un environnement virtuel, interactif et sécurisé. La plateforme open-source SOFA est également essentielle pour l’efficacité des collaborations industrielles et la pérennisation des résultats du projet.
C’est dans ce contexte que l’équipe DEFROST chez Inria, impliquée dans le projet TIRREX et contributrice majeure à SOFA, recherche un(e) ingénieur(e) pour apporter certaines fonctionnalités manquantes, devenues essentielles étant donné les nouveaux contextes d’utilisation. En effet, nous souhaitons utiliser SOFA Framework dans les contextes suivants: 1) entrainement et planification du contrôle d’un robot par apprentissage par renforcement via le projet https://github.com/SofaDefrost/SofaGym/, 2) optimisation de certains paramètres du robot comme la géométrie, les paramètres mécaniques etc. Pour ce faire, il doit être possible de sauvegarder des états de simulations pour les recharger plus tard. La solution devra être performante, facile d’utilisation (utilisateurs et développeurs) et robuste aux changements de code.
Responsabilités:
– Design et implémentation en C++ d’une preuve de concept de sauvegarde/chargement d’une simulation. Application à une partie limitée du code source.
– Validation avec l’équipe de développement
– Tests rigoureux et documentation
– Développement d’une interface Python
– Démonstration de l’interface dans un projet d’apprentissage par renforcement, et dans un solveur basé optimisation.
– Généralisation de la solution à l’intégralité de SOFA
Au cours de la mission, il sera nécessaire de répondre à certaines questions encore non élucidées, comme la gestion d’un graphe de scène dynamique, la gestion des changements de code etc.
Profil recherché:
Expérience: au minimum stages et projets liés au développement informatique en C++. Une expérience professionnelle sera appréciée.
Soft skills:
– rigueur et méthode dans le développement
– résolution de problèmes
– capacité à communiquer dans une équipe de développement
– autonomie et formation rapide
Hard skills:
– Diplôme d’ingénieur ou master (BAC+5) en informatique
– Expérience avancée en C++
– Expérience en Python
– Maitrise de la programmation orientée objet
– Maitrise du français ou de l’anglais
– Une expérience en physique, simulation ou robotique sera appréciée
Comment postuler:
Envoyer CV, lettre de motivation et tout autre travaux ou projets pertinents à:
– Alexandre Bilger: alexandre.bilger@inria.fr
– Hugo Talbot: hugo.talbot@inria.fr
Durée du contrat: 18 mois
Date de début du contrat: dès que possible en tenant compte des délais et contraintes administratifs