Le Python Gourmand
Sommaire
Objectif #
Le problème de la cinématique inverse est un problème du domaine de la robotique et de l’animation par ordinateur. Pour le comprendre définissons d’abord celui de la cinématique dite directe. Lorsque l’on veut définir la pose d’un robot ou d’un personnage virtuel nous devons donner des angles à ses articulations. Ces angles définissent la pose et grâce à ces angles et les distances entre les articulations nous pouvons calculer la position de chacune des articulations. Ce procédé consistant à calculer les positions à partir des angles s’appelle la cinématique directe. La cinématique inverse est le procédé inverse, c’est-à-dire celui qui consiste à calculer les angles en fonction des positions des articulations. Le problème devient intéressant lorsque nous voulons résoudre le problème quand nous n’avons pas toutes les positions des articulations, mais typiquement qu’une seule : la dernière. Le problème consiste alors à trouver la pose du robot ou du personnage de telle façon qu’il puisse atteindre une cible donnée (par exemple pour attraper ou toucher un objet).
Dans ce stage, vous étudierez, implémenterez et comparerez différentes méthodes de calcul pour le problème de la cinématique inverse, et ce pour plusieurs configurations d’articulations. Nous nous limiterons tout de même à des configurations à une, deux et trois articulations possédant un dégrée de liberté chacun (une seule rotation le long d’un seul axe) et dans un environnement à deux dimensions. Le personnage sera un serpent (un python, comme le langage 😊) qui devra atteindre une pomme avec sa bouche.
Télécharger le sujet complet du stage
Environnement de développement #
L’implémentation informatique des méthodes de cinématique inverse sera réalisée en Python. Une base de code est fournie avec le sujet. L’interface graphique est réalisée avec Tkinter et la gestion des images est réalisée avec le module pillow. La partie optionnelle sur l’apprentissage automatique utilise le module sklearn. Tous ces modules sont déjà installés sur les ordinateurs de l’université à votre disposition. Vous n’avez que à vous connecter sur une machine sous Windows avec les identifiants fournis et ouvrir/éditer/exécuter les scripts Python avec l’éditeur Spyder.
Télécharger la base de code du stage
Pour des tutoriels sur le langage Python : https://courspython.com/
La documentation officielle de Python : https://docs.python.org/3/
Équipe encadrante #
Nicolas Pronost (maître de conférences, équipe SAARA) et Nathan Salazar (doctorant, équipe SAARA)
Disponibilités #
- Nathan Salazar sera présent le vendredi 19 juin toute la matinée
- Nicolas Pronost sera présent le mardi 16 juin toute la matinée et le mardi 23 juin toute la matinée
- Nathan Salazar et Nicolas Pronost passeront au moins 1 fois à chaque demi-journée de travail sur le projet de recherche