Puis-je utiliser un logiciel d'animation numérique pour définir les mouvements des robots humanoïdes?

11

Je travaille avec un robot humanoïde de taille réelle (~ 130 cm) (Hubo +) et je cherche un moyen de programmer facilement de nouveaux mouvements et gestes en lui. Évidemment, je pourrais écrire mon propre outil, mais je suis à la recherche d'une solution qui peut tirer parti des outils existants ou des normes pour le mouvement du robot. Ma première pensée a été d'essayer d'utiliser un logiciel d'animation comme Blender ou Maya, et d'écrire un script pour extraire les angles communs aux images clés. Cependant, peu de chercheurs en robotique sont probablement compétents avec Maya. (Je sais que je ne le suis pas!)

Existe-t-il déjà une sorte d'outil de pose 3D pour la robotique qui est un standard? La seule chose que j'ai vue jusqu'à présent qui se rapproche est l' utilitaire de pose dans RoboPlus et Choregraphe pour Nao, mais les deux programmes semblent limités à des robots particuliers et ne semblent pas être extensibles à Hubo.

Mes questions sont donc:

  • Existe-t-il des formats de fichiers standard pour le mouvement du robot? Pas de mouvement de robot à roues 2D. Mouvement des bras et des jambes! Quelque chose d'équivalent au format de fichier .bvh utilisé dans la capture de mouvement.
  • Connaissez-vous un outil WYSIWYGish pour créer un mouvement de robot à l'aide d'images clés et d'une cinématique inverse?
William Hilton
la source
Bienvenue sur Stack Exchange William, j'ai édité vos remerciements car ils ne sont pas vraiment nécessaires sur les questions d'échange de pile et distraient simplement les gens de la question elle-même. Par défaut, nous pensons bien aux gens, nous supposons donc que les gens seront reconnaissants lorsque les autres nous aideront avec leurs commentaires et leurs réponses. * 8 ')
Mark Booth
3
Pour ce que ça vaut, pour les modèles virtuels humanoïdes, il existe le standard H-Anim . Et bien que peu de roboticiens connaissent Maya, Blender trouve en effet une utilisation dans des projets de robotique
ThomasH
@ Mark-Booth, c'est une attitude très saine, je pense!
William Hilton
@ThomasH, je me suis inscrit à la liste de diffusion Blender Robotics l'autre jour, en fait! Je n'avais pas vu leur page wiki cependant, merci.
William Hilton
1
Avez-vous vu cette? coppeliarobotics.com
Shahbaz

Réponses:

3

La réponse courte est que je ne pense pas qu'il existe un bon format de fichier de mouvement standardisé et je ne pense pas qu'il existe de bons outils génériques de pose de robots wysiwyg. Un certain niveau de programmation personnalisée va être nécessaire.

RE: Formats de fichiers standard pour le mouvement du robot

Collada est conçu comme un format de fichier d'échange de données 3D normalisé, et il prend en charge le stockage des informations de base de type animation et physique avec un modèle. La prise en charge n'est pas cohérente entre les outils, en particulier pour les données d'animation / physique.

Au-delà de cela, il est peu probable que vous trouviez des formats de fichier à usage général pour stocker l'animation robotique. (Bien que n'étant pas 100% comparable, consultez la liste wikipedia des formats de fichiers de mouvements / gestes .) Tout ce que j'ai vu est spécifique à la plate-forme et / ou propriétaire. Considérez que les industries du jeu et de la CAO sont des ordres de grandeur plus grands et plus spécifiques que la robotique. Ils ont des exigences similaires, mais il n'y a pas de format de fichier de facto.

Si vous êtes intéressé par une vue plus programmatique des données de ces systèmes propriétaires, alors regarder les outils spécialisés utilisés par ces industries pourrait vous donner quelques options et idées supplémentaires. Exemples:

La création, le stockage et l'exécution d'animation de personnages (souvent humanoïdes), en particulier, sont bien représentés et très avancés dans l'industrie du développement de jeux. Pour un prix. Je crois que la plupart des grands studios ont une équipe entière dédiée à ne rien faire de plus que de convertir les données d'un système à un autre et de les alimenter via un pipeline de production.

Un problème récurrent avec l'utilisation d'outils de développement de jeux (ou d'outils 3D de type créatif en général) pour la robotique est que dans les jeux / films, c'est généralement normal si l'animation ne modélise pas la réalité exactement. Cela peut entraîner des problèmes lorsqu'il est appliqué à des robots du monde réel.

RE: Outils de pose

Les simulateurs robotiques (comme le V-REP de Coppelia ou même MS Robotics Studio ) pourraient être utiles s'ils fournissaient une API / exportation quelconque et étaient capables de simuler des robots de type humanoïde. Je n'en connais aucun qui supporte un modèle humanoïde complet. La plupart sont uniquement destinés à la modélisation de bras et de robots à roues. Pourtant, peut-être pourriez-vous modéliser vos mouvements humanoïdes comme une collection de sous-systèmes de bras indépendants? c'est-à-dire que la jambe gauche est un bras robotique. Si c'est le cas, alors quelques outils wsyiwyg supplémentaires vous seront ouverts.

Flowstone est un autre outil visuel qui pourrait être utilisé pour poser, mais probablement pas le wysiwyg que vous aviez en tête.

Si vous n'avez pas besoin de WYSIWYG et êtes ouvert à une certaine programmation, vous voudrez peut-être consulter PyPose et Nuke .

De même, mais nécessitant une programmation plus avancée, divers moteurs physiques pourraient être intéressants pour prendre en compte toutes les entrées (modèles 3D et paramètres associés), puis fournir des résultats de mouvement en appliquant des forces et une cinématique inverse. Les exemples incluent la physique ODE et Bullet . Une option inclinée programmatique similaire consisterait à utiliser ROS. J'ai vu quelques projets et notes concernant le support potentiel de ROS pour les mouvements de type humanoïde.

Tout cela dit ... bien que difficile à apprendre, je pense toujours que Blender3D a le potentiel d'être l'une des meilleures options globales pour la pose de robotique de type hobbiest avancée et le travail de mouvement, en particulier en raison de son intégration étroite avec le langage de programmation Python. Quelqu'un a déjà souligné le wiki Blender Robotics dans les commentaires. Vous devriez également consulter la vidéo YouTube de Grantlo321 utilisant un mélangeur pour contrôler les servos jouant d'un piano, ainsi que le billet de blog de Justin Daily où il décrit l'utilisation de Blender / Python pour le contrôle des servos. Je suis d'accord que Blender3D est difficile à apprendre, mais cela va probablement être vrai avec presque tous les logiciels de type wysiwyg 3D à moins que sa concentration ne soit très étroite.

Kaliatech
la source
0

Si vous souhaitez concevoir votre robot, vous pouvez utiliser le logiciel SolidWork, CATIA ou ADAMS, puis vous pouvez animer votre robot. Mais vous pouvez utiliser le simulateur de robot de plate-forme standard (NAO) Aldebaran. Ce simulateur peut vous être utile, mais le robot NAO est un robot de taille enfant avec de bons capteurs.

Erfan Jazeb Nikoo
la source