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.