Amélioration de l’API Python de ViSP une bibliothèque de robotique et de vision par ordinateur


Stage de niveau B.U.T., L3 ou Master 1

Lieu : Centre Inria de l’Université de Rennes, Campus Universitaire de Beaulieu, 35042 Rennes Cedex

Equipe de recherche : Rainbow

Encadrants : Samuel Felton et Fabien Spindler

Rémunération : SMIC

Durée : 2 à 3 mois

Lien vers le sujet en pdf


Contexte

Ce stage est proposé dans le Centre Inria de l’Université de Rennes au sein de l’équipe de recherche Rainbow dont l’une des thématiques de recherche concerne la commande de systèmes robotiques à partir d’images acquises par une caméra et leur contrôle par asservissement visuel. Depuis 2005, l’équipe développe et diffuse en tant que logiciel libre ViSP, une librairie en C++ utilisée à travers le monde principalement dans des applications de suivi d’objets dans des images pour les localiser en temps réel, ou de commande de robots pour aller jusqu’à la saisie. De nombreux exemples et de tutoriels complètent la documentation de l’API C++.

Python, de par son large écosystème et ses qualités pour le prototypage, est une cible de choix pour ViSP. Tout récemment, des bindings ont été introduits pour pouvoir utiliser les nombreuses fonctionnalités de ViSP directement en Python. Les bindings sont en partie générés de manière automatique à partir des headers C++. L’API Python est donc améliorable, autant en termes de performance que d’utilisabilité. De plus, la documentation utilisateur de cette API Python mise en ligne est moins fournie que celle de l’API C++. Elle reste à compléter avec de nombreux exemples de code Python pour illustrer et faciliter sa prise en main.


Objectifs du stage

Le stagiaire devra :

  • Prendre en main la librairie ViSP, son installation, son fonctionnement puis se familiariser avec son API C++ et son pendant en Python ;
  • A partir d’exemples de code existants en C++, développer leurs équivalents en Python puis les intégrer à la documentation ;
  • Tester différentes manipulations sur une plateforme de robotique et créer des vidéos de démonstrations ;
  • Développer des tests d’intégration continue spécifiques à l’API Python ;
  • Développer des interfaces entre ViSP et matplotlib pour par exemple simplifier l’affichage de primitives visuelles (points, lignes, cercles…) sur des images au format ViSP ;
  • Proposer et implémenter des évolutions de l’API pour la « pythoniser » et la rendre plus facile d’utilisation.

Compétences requises

  • Bon niveau en programmation en Python, connaissances de base en C++
  • Savoir utiliser des outils de développement logiciel (IDE, git)
  • Maitrise de l’anglais
  • Curiosité, rigueur et autonomie

Candidature

Merci d’envoyer votre CV et lettre de motivation à Samuel Felton et Fabien Spindler


Comments are closed.