¿Puedo usar software de animación digital para definir los movimientos de los robots humanoides?

11

Estoy trabajando con un robot humanoide de tamaño natural (~ 130 cm) (Hubo +) y estoy buscando una manera de programar fácilmente nuevos movimientos y gestos en él. Obviamente, podría escribir mi propia herramienta, pero estoy buscando una solución que pueda aprovechar las herramientas o estándares existentes para el movimiento del robot. Mi primer pensamiento fue tratar de usar software de animación como Blender o Maya, y escribir un guión para extraer los ángulos comunes en los fotogramas clave. Sin embargo, pocos investigadores de robótica probablemente sean competentes con Maya. (¡Sé que no lo soy!)

¿Existe algún tipo de herramienta de presentación 3D para robótica que sea estándar? Lo único que he visto hasta ahora que se acerca es Pose Utility en RoboPlus y Choregraphe para Nao, pero ambos programas parecen limitados a robots particulares y no parecen ser extensibles a Hubo.

Entonces mis preguntas son:

  • ¿Existen formatos de archivo estándar para el movimiento del robot? No es un movimiento de robot con ruedas 2D. Movimiento de brazos y piernas! Algo equivalente al formato de archivo .bvh utilizado en la captura de movimiento.
  • ¿Conoces alguna herramienta WYSIWYGish para crear movimiento de robot usando fotogramas clave y cinemática inversa?
William Hilton
fuente
Bienvenido a Stack Exchange William, he editado tu agradecimiento ya que realmente no son necesarios en las preguntas de intercambio de pila y solo distraen a las personas de la pregunta en sí. De manera predeterminada, pensamos bien en las personas, por lo que asumimos que las personas estarán agradecidas cuando otros ayuden con comentarios y respuestas. * 8 ')
Mark Booth
3
Por lo que vale, para los modelos virtuales humanoides existe el estándar H-Anim . Y aunque pocos robotistas conocen a Maya, Blender está encontrando uso en proyectos de robótica
ThomasH
@ mark-booth, ¡creo que es una actitud muy saludable!
William Hilton
@ThomasH, ¡me registré en la lista de correo de Blender Robotics el otro día, en realidad! Sin embargo, no había visto su página wiki, gracias.
William Hilton
1
¿Has visto esto? coppeliarobotics.com
Shahbaz

Respuestas:

3

La respuesta corta es que no creo que exista un buen formato de archivo de movimiento estandarizado y no creo que haya buenas herramientas genéricas de posicionado de robots wysiwyg. Se requerirá cierto nivel de programación personalizada.

RE: formatos de archivo estándar para el movimiento del robot

Collada se entiende como un formato de archivo de intercambio de datos 3D estandarizado, y tiene soporte para almacenar información básica de animación y tipo de física con un modelo. Sin embargo, el soporte no es consistente en todas las herramientas, especialmente para los datos de animación / física.

Más allá de eso, es poco probable que encuentre formatos de archivo de uso general para almacenar animación robótica. (Aunque no es 100% comparable, consulte la lista de formatos de archivos de movimiento / gestos de Wikipedia ). Todo lo que he visto es específico de la plataforma y / o propietario. Considere que las industrias de juegos y CAD son órdenes de magnitud más grandes y más específicas que la robótica. Tienen requisitos similares, pero no hay un formato de archivo de facto.

Sin embargo, si está interesado en una vista más programática de los datos de estos sistemas patentados, mirar las herramientas especializadas utilizadas por estas industrias podría brindarle algunas opciones e ideas adicionales. Ejemplos:

La creación, el almacenamiento y la ejecución de la animación de personajes (a menudo humanoide), en particular, está bien representada y es muy avanzada en la industria del desarrollo de juegos. Por un precio Creo que la mayoría de los estudios más grandes tienen un equipo completo dedicado a hacer nada más que convertir datos de un sistema a otro y alimentarlos a través de una tubería de producción.

Un problema recurrente con el uso de herramientas de desarrollo de juegos (o herramientas 3D de tipo creativo en general) para la robótica es que en los juegos / películas, es normal que la animación no modele la realidad exactamente. Eso puede causar problemas cuando se aplica a robots del mundo real.

RE: Herramientas de presentación

Los simuladores robóticos (como V-REP de Coppelia o incluso MS Robotics Studio ) podrían ser útiles si proporcionaran una API / exportación de algún tipo y pudieran simular robots de tipo humanoide. Sin embargo, no conozco ninguno que admita un modelo humanoide completo. La mayoría son solo para modelar armas y robots con ruedas. Aún así, ¿tal vez podría modelar sus movimientos humanoides como una colección de subsistemas de brazos independientes? es decir, la pierna izquierda es un brazo robótico. Si es así, entonces algunas herramientas wsyiwyg más estarán disponibles para usted.

Flowstone es otra herramienta visual que podría usarse para posar, pero probablemente no sea el wysiwyg que tenía en mente.

Si no necesita WYSIWYG y está abierto a alguna programación, puede consultar PyPose y Nuke .

Del mismo modo, pero requiere una programación más avanzada, varios motores de física pueden ser interesantes para tomar todas las entradas (modelos 3D y parámetros asociados) y luego proporcionar resultados de movimiento mediante la aplicación de fuerzas y cinemática inversa. Los ejemplos incluyen ODE y física de bala . Una opción inclinada programática similar sería utilizar ROS. He visto algunos proyectos y notas sobre el posible soporte de ROS para movimientos de tipo humanoide.

Dicho todo esto ... aunque es difícil de aprender, sigo pensando que Blender3D tiene el potencial de ser una de las mejores opciones para la robótica de tipo avanzado y el trabajo de movimiento, particularmente debido a su estrecha integración con el lenguaje de programación Python. Alguien ya señaló la wiki de Blender Robotics en los comentarios. También debe revisar el video de YouTube de Grantlo321 usando Blender para controlar los servos tocando un piano, así como la publicación de blog de Justin Daily donde describe el uso de Blender / Python para el control del servo. Estoy de acuerdo en que Blender3D es difícil de aprender, pero eso probablemente sea cierto con casi cualquier software de tipo wysiwyg 3D a menos que su enfoque sea muy limitado.

kaliatech
fuente
0

Si desea diseñar su robot, puede usar el software SolidWork, CATIA o ADAMS y luego puede animar su robot. Pero puede usar el simulador de robot de plataforma estándar (NAO) de Aldebarán. Este simulador puede ser útil para usted, pero el robot NAO es un robot de tamaño infantil con buenos sensores.

Erfan Jazeb Nikoo
fuente