Simulation 3D et contrôle d'un robot humanoide

De fablab
Aller à : navigation, rechercher

Cadre du projet

  • Encadrant : Lionel Reveret.
  • Nombre d'étudiants : 3 à 4.
  • Lieu : le projet aura lieu en salle FabLab, ou équivalente, à l'Ensimag.
  • Prérequis : programmation C++.


Contexte

Un kit de robot humanoïde de la série Bioloid est disponible au FabLab. Le but de ce projet est de mettre en oeuvre la programmation de ce kit. La programmation des mouvements de ces robots peut se faire via une interface C, puis être embarquée. Une bibliothèque Python a été aussi récemment proposée et permet d'aborder la programmation depuis plus haut niveau. Les servo-moteurs fonctionnent en boucle ouverte. Dans ce cadre très simple, on commencera par implémenter les mouvements de base proposés par le fabricant. Des capteurs sont disponibles et peuvent être couplés au robot. On pourra donc envisager d'implémenter un contrôle d'équilibre pour résister à des perturbations extérieures (poussée, terrain non plat, etc). En complément de la tâche de robotique, il est attendu pour ce projet de développer une simulation physique informatique des éléments et des mouvements du robot. Cette simulation permettra, d'une part de mesurer les limitations d'une simulation par rapport à un cas concret, et d'autre part, ouvrir des pistes de développement pour des nouveaux contrôleurs en servant de plateforme de test pour le robot.

Bioloid.jpg

Le robot humanoide utilisé.


Travail demandé

Le travail porte à la fois sur la programmation du robot et sur la réalisation d'un code de simulation en 3D. Le kit robotique est bien sûr fourni. La programmation de la simulation se fera en utilisant un code fournit par des étudiants.

Le projet comporte plusieurs étapes :

  • 1. prise en main du kit de base bioloid
  • 2. évaluation de la bibliothèque python pypot pour le contrôle du robot
  • 3. simulation 3D du contrôle d'équilibre
  • 4. implémentation du contrôle d'équilibre sur le robot

Ce travail demande une bonne organisation, plusieurs étapes pouvant avantageusement se réaliser en parallèle.


Détails techniques

La programmation se fera en C ou python pour le robot et en C++ pour la simulation. Les sites suivant fournissent des bases de code :

  • Simulation Bioloid : projet étudiants, repris et actualisés par des étudiants 2A de cette année en module "FabLab et Innovation"
  • pypot : bibliothèque python pour le contrôle des servo-moteur utilisé par Bioloid


Bibliographie

  • Une très bonne introduction à la simulation physique a été faite et est considérée comme un standard en animation. Il est recommandé de lire tous les chapitres, au moins de prendre connaissance avec les transparents. Ces concepts seront repris avec l'encadrant.

Cours de A. Witkin et D. Baraff

  • D'autres bibliothèques existent pour la simulation physique, telle que ODE ou Bullet. On trouve sur le site d'ODE une bonne introduction aux moteurs de physiques.

Sur le site ODE, consulter les "slides".