Alion a des bras

En attendant de trouver la forme idéale du pied d’Alion, et suite à cet article , j’ai décidé de m’attaquer au problème des bras. Normalement, pour arriver à gérer un bras robotique, si on veut placer le bout du bras à des coordonnées précises, il faut calculer les angles de chaque articulation pour obtenir cette position. C’est ce que l’on appelle un calcul de modèle géométrique inverse.

Un modèle géométrique direct permet de connaitre les coordonnées de la main connaissant chaque articulation. Ce problème est simple puisqu’il n’y a qu’une solution.

Par contre, le calcul d’un modèle inverse est plus hard pour plusieurs raisons :

- la géométrie à inverser est souvent complexe et possède plein de fonctions trigonométriques inverses

- il peut y avoir plein de solutions possibles.

Il existe des applications qui calculent ce modèle mais c’est une véritable usine à gaz. Ces applications peuvent même gérer des modèles dynamiques inverses quand on a besoin de suivre des trajectoires précises.

Comme je l’avais dit dans l’article sur les gestes, la trajectoire précise ne m’intéresse pas. Ce qui m’intéresse c’est la crédibilité d’un geste.

C’est pour cela que j’ai conçu ce tronc :

Comme pour les jambes, la structure électromécanique est simple : des servos AX-18 reliés par des lattes en alu 3mm + un mini abat-jour.

Restait enfin le plus dur : le soft.

J’ai décidé d’appliquer ce que j’appelle l’émulation musculo-squelettique. J’ai codé un modèle du même robot en C# avec les équations de la dynamique et un solveur d’équations différentielles.

Ensuite, j’ai 5 points d’attache dans mon modèle : les deux mains, les deux coudes et le haut de la tête sur lesquels je peux appliquer des forces.

Enfin, les valeurs des articulations sont recopiées sur les consignes des servomoteurs.

Imaginez qu’on « ecartèle » le robot avec deux fils… cela donne cette petite video qui est le premier test :

[youtube]http://www.youtube.com/watch?v=O-jcCOWpSks[/youtube]

Bon j’ai encore à filtrer les mouvements conçus pour éviter les acoups (le modèle est actualisé toutes les 100ms). Il me suffira ensuite qu’à appliquer les forces au robot virtuel pour qu’il fasse les mouvements que je veux. La partie la plus fun arrive enfin :-)

Related posts:

Un commentaire

  • 27 avril 2012 - 10 h 57 min | Permalien

    Bravo, content de voir le petit bonhomme évoluer :D A quand une web cam et face tracking (avec openCv, d’autant que tu sais le faire) mais au lieu que ce soit la tête, ce serait avec le bras :P

  • Laisser un commentaire

    Featuring Recent Posts WordPress Widget development by YD