Aplicación de técnicas modernas para reducir drásticamente el tiempo de desarrollo del modelo, proporcionando una mayor comprensión del comportamiento del sistema, y producir simulaciones rápidas de alta fidelidad.

Nao es un pequeño robot humanoide creado por Aldebaran Robotics. Con una altura de 58 cm, Nao es utilizado para enseñar programación a los estudiantes de todo el mundo y para dar a los ingenieros y desarrolladores de software una plataforma para experimentación y aplicaciones robóticas. ¡Nao fue incluso adoptado recientemente por una institución financiera en Japón para utilizarlos como cajeros de banco!

Los ingenieros de Maplesoft decidieron ver si podían crear un modelo de Nao en MapleSim, el avanzado sistema de modelado a nivel de sistema y herramienta de simulación que aplica técnicas modernas para reducir drásticamente el tiempo de desarrollo de modelos, proporcionando una mayor comprensión del comportamiento del sistema, y produciendo rápidas simulaciones de alta fidelidad.

Construcción del modelo

Nao es un mecanismo multicuerpo de gran complejidad con 25 grados de libertad. Utilizando la librería multicuerpo de MapleSim, los ingenieros de Maplesoft crearon un modelo utilizando la convención de Denavit-Hartenberg (DH) para definir los marcos de coordenadas de las articulaciones del robot. Entonces se importaron los modelos CAD para definir la masa del cuerpo, la inercia rotacional y el centro de masas. Como que MapleSim es un sistema de modelado físico, el diagrama del modelo se corresponde en gran medida con el sistema físico en sí, como se puede observar en la Figura 1.

En cada articulación aparecen servomotores para gestionar el movimiento. Las señales del controlador activan el motor para reposicionar cada articulación. En combinación, estos servomotores individuales determinan como se mueve Nao.


Figura 1. Modelo multicuerpo del robot Nao

Los ingenieros también fueron capaces de modelar el contacto entre el pie de Nao y el suelo. Esto se realizó creando componentes personalizados en MapleSim, y proporcionándoles las ecuaciones matemáticas que gobiernan la fricción y la fuerza normal. Estos componentes se incluyeron en el modelo en cada punto de contacto en la base de cada pie.

El modelo de MapleSim también incluye un modelo de paquete de baterías de ión de Litio de la librería de baterías de MapleSim que alimenta el motor, de forma que el comportamiento de la batería y sus interacciones con el resto del sistema también pueden ser modelados.

Las lecturas del sensor de cada articulación se exportaron desde Aldebaran Robotics Choregraphe™ a MapleSim a través de una tabla de consultar temporal. Entonces se utilizaron como la señal de comando para cada articulación. El modelo respondió del mismo modo que lo hacía el robot físico. Por ejemplo, el modelo de MapleSim puede realizar Tai Chi tan hábilmente como su contrapartida física.

Enseñar nuevos trucos a Nao

Ahora que tenían un modelo que simulaba los movimientos del robot Nao, los ingenieros de Maplesoft entonces quisieron ver si no solo podían simular su comportamiento con precisión, sino también enseñarle a hacer algo nuevo.

Utilizando la capacidad de MapleSim para extraer y analizar las ecuaciones matemáticas de movimiento de un modelo, así como sus herramientas de análisis multicuerpo, determinaron la solución simbólica para invertir el problema cinemático para el movimiento del brazo del robot. Con esta solución, podrían calcular los movimientos de articulación necesarios para posicionar el brazo en una posición arbitraria en el espacio. Utilizaron esta información para añadir un nuevo componente personalizado al modelo que tomaba la posición final deseada y calculaba los movimientos necesarios para alcanzarla. Entonces, enseñaron al Nao virtual a dibujar.

Crearon una aplicación que permitía al humanoide dibujar una forma, imagen, o palabra utilizando un ratón. El dibujo es analizado para determinar las coordenadas de las líneas, y entonces la información es volcada en el modelo de simulación. ¿Cuál fue el resultado? ¡Nao mueve su brazo y dibuja la misma cosa!

Además, aprovechando la capacidad de MapleSim de resolver problemas cinemáticos inversos, los ingenieros de Maplesoft también han enseñado a Nao otros nuevos trucos, incluyendo varios tipos de bailes, jugar al voleibol, y el seguimiento de un cuadrocóptero.


Figura 2. Servomotores para cada articulación que dirigen el movimiento del brazo del robot


Figura 3. Se utilizaron componentes personalizados basados en ecuaciones para modelar los puntos de contacto entre el pie y el suelo

¿Por qué ésto tiene interés?

Si está trabajando en una investigación de robótica o en un proyecto de diseño donde es importante comprender las interacciones multidominio, entonces utilizar una plataforma de modelado multidominio como MapleSim, como demuestra este ejemplo, permitirá juntar todos los aspectos del proyecto en un único lugar.

  • Modelado multicuerpo 3D: Aprovecha las funcionalidades de modelado multicuerpo 3D, simulation y visualización
  • Modelos parametrizados: Acceso conveniente a los parámetros del sistema para aplicar rápidamente los cambios del diseño y considerar una familia de diseños o productos
  • Soporte multidominio: Aumenta el sistema mecánico dinámico con modelos precisos de motores eléctricos, controladores y baterías
  • Pruebas y análisis virtuales: Investiga el comportamiento a nivel de sistema e interacción de subsistemas multidominio, sin la necesidad de construir prototipos físicos caros e impredecibles
  • Dimensionado de componentes: Corre fácilmente lotes de simulación y procesado en paralelo, y recoge datos que pueden ser utilizados para asistir en el dimensionado de componentes
  • Acceso completo: Aprovecha el acceso directo a las ecuaciones y un lenguaje de programación completo para ampliar el mismo modelo de simulación para que sea parte de las tareas del diseño del diseño y optimización de trayectoria
  • Generación de código optimizada: Genera código c muy optimizado desde el modelo para una parte esencial del diseño de control basado en el modelo


Figura 4. Se utilizó cinemática inversa para enseñar a dibujar al modelo de Nao