Développement d'un logiciel pour la planification et la commande optimale de systèmes multi-agents coopératifs

The offer description be low is in French

Level of qualifications required : Graduate degree or equivalent

Other valued qualifications : These de doctorat en Robotique ou Traitement du signal

Fonction : Temporary scientific engineer

Level of experience : Recently graduated

About the research centre or Inria department

Le centre Inria d'Université Côte d'Azur regroupe 42 équipes de recherche et 9 services d’appui. Le personnel du centre (500 personnes environ) est composé de scientifiques de différentes nationalités, d’ingénieurs, de techniciens et d’administratifs. Les équipes sont principalement implantées sur les campus universitaires de Sophia Antipolis et Nice ainsi que Montpellier, en lien étroit avec les laboratoires et les établissements de recherche et d'enseignement supérieur (Université Côte d’Azur, CNRS, INRAE, INSERM ...), mais aussi avec les acteurs économiques du territoire.

Présent dans les domaines des neurosciences et biologie computationnelles, la science des données et la modélisation, le génie logiciel et la certification, ainsi que la robotique collaborative, le Centre Inria d’Université Côte d’Azur est un acteur majeur en termes d'excellence scientifique par les résultats obtenus et les collaborations tant au niveau européen qu'international.

Context

Le contexte est celui de l’aide à la décision pour un système multi-agent autonomes collaboratifs ayant un objectif commun et qui essayent de contourner des "obstacles" qui, à leur tour, essayent de les empêcher d’atteindre leurs objectifs. Dans le cadre d'une collaboration avec NAVAL GROUP nous souhaitons étudier un certain nombre de problématiques liées à la planification et commande optimale de systèmes multi-agents coopératifs.

L’objectif de ce poste d’ingénieur de 6 mois est, tout d'abord, de mettre en place une architecture logicielle pour la perception, décision et commande et, ensuite, d’implémenter des briques logicielles permettant de générer des trajectoires répondant à un ensemble de contraintes, dictées par les intérêts, les modes de perception, et le comportement de ces acteurs. Ce poste nécessitera des développements logiciel en Matlab, puis en C sous OpenRox (une suite logicielle open-source développée dans l’équipe ACENTAURI) avec des résultats attendus en terme de performances.

Concernant la perception, les principaux algorithmes à implémenter sont le suivi multi-cible et l'estimation d'état (position, vitesse, ...). Des algorithmes de filtrage seront également nécessaires afin de tenir compte des incertitudes sur les mesures. 

Concernant la décision, les développements principaux concernent la stratégie à adopter pendant le jeu. La stratégie consiste à définir "l’ensemble d'actions coordonnées, d'opérations habiles, de manœuvres en vue d'atteindre un objectif précis". Dans ce cadre, l’ingénieur implémentera des modules d'analyse de situation, prise de décision et planification de tâches.

Concernant la commande, les développements principaux concernent la tactique à suivre pendant le jeu afin de mettre en œuvre la stratégie choisie. Dans ce cadre, l’ingénieur implémentera des techniques de type MPC (Model Predictive Control) et MPPI (Model Predictive Path Integral) qui permettent de prédire sur un horizon donné l’évolution du système et donc de prendre la meilleure décision d’action sur la base des connaissances à l’instant t.

Assignment

Les missions confiées à l’ingénieur seront principalement les suivantes :

  • Définition et implémentation d’une architecture de perception, décision et commande
  • Implémentation d'algorithmes de perception: suivi de cible, observateur d’état, filtrage, ...
  • Implémentation d'algorithmes de décision: stratégies haut niveaux, analyse de la situation, prise de décision, planification de taches et de trajectoires, ...
  • Implémentation d'algorithmes de commande: Model Predictive Control (MPC), Model Predictive Path Integral Control (MPPI), ...
  • Support à l’intégration des contributions d'un postdoc
  • Développement de tests unitaires et de non régression
  • Évaluation des tests d’intégration et compatibilité ascendante des versions
  • Mise en place de démonstrations
  • Soutien aux simulations
  • Rapport et documentation

Main activities

Principales activés :

  • Analyser les besoins des partenaires
  • Proposer des solutions
  • Développer des programmes/ des applications/ des interfaces
  • Rédiger la documentation

Activités complémentaires :

  • Rédiger les rapports
  • Rédiger des comptes rendus de réunion
  • Tester, modifier jusqu’à valider

Skills

Le(a) candidat(e) doit avoir obtenu un diplome d'ingenieur ou un Master 2 en Robotique (un doctorat est un plus).

Le(a) candidat(e) doit avoir des bases solides en développement logiciel (Matlab, C/C ++, Python, Git, ...).

Il/elle doit égale ment être doté(e) d'une passion prononcée pour les études pluridisciplinaires et tous les aspects de la recherche allant du travail fondamental au travail expérimental. Enfin, un bon niveau en anglais lu/écrit/parlé est aussi important.

Benefits package

  • Restauration subventionnée
  • Transports publics remboursés partiellement
  • Congés : 7 semaines de congés annuels + 10 jours de RTT (base temps plein) + possibilité d'autorisations d'absence exceptionnelle (ex : enfants malades, déménagement)
  • Possibilité de télétravail et aménagement du temps de travail
  • Équipements professionnels à disposition (visioconférence, prêts de matériels informatiques, etc.)
  • Prestations sociales, culturelles et sportives (Association de gestion des œuvres sociales d'Inria)
  • Accès à la formation professionnelle
  • Participation mutuelle (sous conditions)

Remuneration

A partir de 2692 € brut mensuel (selon diplôme et expérience).