Actualización de plantillas de Custom Component a MapleSim 2017
- Detalles
- Categoría: MapleSim
- Visto: 5114
Los cambios en las plantillas de MapleSim desde la versión del 2011 hasta ahora han simplificado el trabajo de programación en muchos aspectos, pero esto nos ha aportado nuevas preguntas que resolver.
En este ejemplo de cinemática inversa, utilizando las herramientas que nos ofrece MapleSim 2017 encontramos un pequeño problema en el momento de generar el Custom Component: las soluciones que retorna Maple al resolver las ecuaciones obtenidas en el análisis de sistemas multicuerpo (Multibody Analysis) no vienen expresadas en variables dependientes del tiempo. La solución a este inconveniente pasa por expresar estas variables como variables dependientes del tiempo; de lo contrario, MapleSim interpreta que son parámetros y no es posible crear el Custom Component.
Analicemos el problema y su solución en un caso concreto.
Esta es la imagen del sistema, restringido en un punto para obtener las ecuaciones que luego emplearemos en la creación del Custom Component.
El siguiente paso es realizar el Multibody Analysis para visualizar las ecuaciones. Esta app se encuentra en la pestaña de app y plantillas del programa.
Dentro de la app solo hace falta pulsar el botón de Extract Multibody Equations y obtendremos todas las ecuaciones del sistema y el código que usaremos posteriormente para solucionar las ecuaciones. Hay que seleccionar la opción de Position Constraints para obtener lo que necesitamos.
El siguiente paso es copiar el código que hemos obtenido y abrir un Maple Worksheet para procesar la ecuación obtenida. Escribiendo el código a continuación, daremos con la solución. La diferencia con las líneas de código anteriores es que guardaremos la ecuación anterior en una variable para en la siguiente línea de código encontrar las soluciones.
Estas son las soluciones que obtenemos al ejecutar el código:
Ahora sólo nos queda insertar la ecuación en la plantilla de Custom Components, pero aquí aparece el problema principal de este artículo.
Así es como deben quedar las ecuaciones dentro de la plantilla, pero cuando lo ejecutemos en el apartado de parámetros y variables veremos que tanto Tx como Ty no forman parte de las variables y no podrán ser usadas como puertos en la sección posterior.
En el apartado de ayuda de inserción de ecuaciones, MapleSim clarifica que las variables del sistema deben ser funciones de la variable independiente t:
Como la solución que nos ha proporcionado Maple contiene Tx y no Tx(t), tenemos que utilizar un editor de texto para reemplazar todos esos parámetros por su correspondiente nomenclatura.
Cuando hayamos realizado este paso, podemos volver a la plantilla de Custom Components y volver a insertar la ecuación.
Ahora al ejecutar ya no encontraremos ninguna variable escrita y en el apartado de variables tendremos tanto Tx(t) como Ty(t).
El último paso es conectar los puertos prestando especial atención al de salida, el cual contara con cuatro variables y que deberán mantener el mismo orden.
Siguiendo estos pasos podremos compilar el componente y añadirlo a nuestro sistema. Si el resto del sistema es como el del ejemplo de la versión anterior, solo hará falta conectar el componente y podremos visualizar el resultado.